aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorLiang Qi <liang.qi@qt.io>2019-10-04 12:05:10 +0200
committerLiang Qi <liang.qi@qt.io>2019-10-06 21:49:30 +0200
commit3813848266ae2e28de840965fdcd3ebb455e1bad (patch)
tree1188c12cbd1e33941039f93b02ed7211335aeaf8
parent68fdf9c0be5feedc0446f45fc635467488250825 (diff)
parent44cf8f65a216d1f83f15b1254a487b5381b8d3e3 (diff)
Merge "Merge remote-tracking branch 'origin/5.15' into dev"
-rw-r--r--coin/platform_configs/default.yaml49
-rw-r--r--coin/platform_configs/qt5.yaml50
-rw-r--r--coin/platform_configs/qtbase.yaml2
-rw-r--r--coin/platform_configs/qtdeclarative.yaml4
-rw-r--r--coin/platform_configs/qtsaferenderer.yaml7
-rwxr-xr-xcoin/provisioning/common/linux/android_linux.sh19
-rw-r--r--coin/provisioning/common/linux/devel_languages_go.SUSE_repo_key.pub19
-rwxr-xr-xcoin/provisioning/common/linux/disable-notifications.sh4
-rwxr-xr-xcoin/provisioning/common/linux/disable-ntp_linux.sh4
-rwxr-xr-xcoin/provisioning/common/linux/qnx_660.sh2
-rw-r--r--coin/provisioning/common/linux/telegraf-coin.conf47
-rwxr-xr-xcoin/provisioning/common/macos/homebrew.sh13
-rwxr-xr-xcoin/provisioning/common/macos/increase_limits.sh70
-rwxr-xr-xcoin/provisioning/common/macos/install-commandlinetools.sh2
-rw-r--r--coin/provisioning/common/macos/libiodbc.rb23
-rwxr-xr-xcoin/provisioning/common/macos/libiodbc.sh3
-rw-r--r--coin/provisioning/common/macos/limit.maxfiles.plist20
-rw-r--r--coin/provisioning/common/macos/limit.maxproc.plist20
-rw-r--r--coin/provisioning/common/macos/telegraf-coin.conf51
-rw-r--r--coin/provisioning/common/shared/telegraf/influxdb.repo_key.pub52
-rw-r--r--coin/provisioning/common/shared/telegraf/telegraf-ioping.sh26
-rw-r--r--coin/provisioning/common/shared/telegraf/telegraf_packages.sha256.txt6
-rwxr-xr-xcoin/provisioning/common/unix/DownloadURL.sh93
-rw-r--r--coin/provisioning/common/unix/common.sourced.sh139
-rwxr-xr-xcoin/provisioning/common/unix/install_protobuff.sh2
-rwxr-xr-xcoin/provisioning/common/unix/squishInstall.sh4
-rwxr-xr-xcoin/provisioning/common/unix/telegraf_install.sh98
-rwxr-xr-xcoin/provisioning/common/unix/telegraf_password.sh60
-rw-r--r--coin/provisioning/common/windows/disable-schedule-tasks.ps188
-rw-r--r--coin/provisioning/common/windows/disable-update-orchestrator.ps116
-rw-r--r--coin/provisioning/common/windows/disable-windefender.ps151
-rw-r--r--coin/provisioning/common/windows/disable-windows-file-protector.ps14
-rw-r--r--coin/provisioning/common/windows/disable-windows-module-installer.ps14
-rw-r--r--coin/provisioning/common/windows/disable-windows-update-medic.ps125
-rw-r--r--coin/provisioning/common/windows/helpers.ps122
-rw-r--r--coin/provisioning/common/windows/install_telegraf.ps168
-rw-r--r--coin/provisioning/common/windows/python.ps15
-rw-r--r--coin/provisioning/common/windows/python3.ps16
-rw-r--r--coin/provisioning/common/windows/telegraf-coin.conf41
-rw-r--r--coin/provisioning/common/windows/telegraf_password.ps139
-rwxr-xr-xcoin/provisioning/qtci-linux-RHEL-6.6-x86_64/01-install_telegraf.sh3
-rwxr-xr-xcoin/provisioning/qtci-linux-RHEL-6.6-x86_64/03-install-rhel-epel.sh3
-rwxr-xr-xcoin/provisioning/qtci-linux-RHEL-7.4-x86_64/01-install_telegraf.sh3
-rwxr-xr-xcoin/provisioning/qtci-linux-RHEL-7.6-x86_64/02-enable-repos.sh1
-rwxr-xr-xcoin/provisioning/qtci-linux-RHEL-7.6-x86_64/03-install-rhel-epel.sh3
-rwxr-xr-xcoin/provisioning/qtci-linux-SLES-12-x86_64/01-install_telegraf.sh3
-rwxr-xr-xcoin/provisioning/qtci-linux-SLES-12-x86_64/01-systemsetup.sh69
-rwxr-xr-xcoin/provisioning/qtci-linux-SLES-12-x86_64/02-disable-gnome-notifications.sh4
-rwxr-xr-xcoin/provisioning/qtci-linux-SLES-12-x86_64/02-disable-ntp.sh3
-rwxr-xr-xcoin/provisioning/qtci-linux-SLES-12-x86_64/02-zypperpackages.sh96
-rwxr-xr-xcoin/provisioning/qtci-linux-SLES-12-x86_64/08-libclang.sh7
-rwxr-xr-xcoin/provisioning/qtci-linux-SLES-12-x86_64/08-pythondev.sh59
-rwxr-xr-xcoin/provisioning/qtci-linux-SLES-12-x86_64/09-cmake.sh5
-rwxr-xr-xcoin/provisioning/qtci-linux-SLES-12-x86_64/09-install-openssl.sh6
-rwxr-xr-xcoin/provisioning/qtci-linux-SLES-12-x86_64/18-icc.sh86
-rwxr-xr-xcoin/provisioning/qtci-linux-SLES-12-x86_64/22-mqtt_broker.sh37
-rwxr-xr-xcoin/provisioning/qtci-linux-SLES-12-x86_64/55-emsdk.sh39
-rwxr-xr-xcoin/provisioning/qtci-linux-SLES-12-x86_64/90-squish.sh4
-rwxr-xr-xcoin/provisioning/qtci-linux-SLES-12-x86_64/99-unset-proxy.sh39
-rwxr-xr-xcoin/provisioning/qtci-linux-SLES-12-x86_64/99-version.sh48
-rwxr-xr-xcoin/provisioning/qtci-linux-SLES-15-x86_64/01-install_telegraf.sh3
-rwxr-xr-xcoin/provisioning/qtci-linux-SLES-15-x86_64/01-systemsetup.sh71
-rwxr-xr-xcoin/provisioning/qtci-linux-SLES-15-x86_64/02-disable-gnome-notifications.sh4
-rwxr-xr-xcoin/provisioning/qtci-linux-SLES-15-x86_64/02-disable-ntp.sh3
-rwxr-xr-xcoin/provisioning/qtci-linux-SLES-15-x86_64/02-zypperpackages.sh94
-rwxr-xr-xcoin/provisioning/qtci-linux-SLES-15-x86_64/08-libclang.sh7
-rwxr-xr-xcoin/provisioning/qtci-linux-SLES-15-x86_64/08-pythondev.sh58
-rwxr-xr-xcoin/provisioning/qtci-linux-SLES-15-x86_64/09-install-openssl.sh6
-rwxr-xr-xcoin/provisioning/qtci-linux-SLES-15-x86_64/18-icc.sh86
-rwxr-xr-xcoin/provisioning/qtci-linux-SLES-15-x86_64/22-mqtt_broker.sh37
-rwxr-xr-xcoin/provisioning/qtci-linux-SLES-15-x86_64/55-emsdk.sh39
-rwxr-xr-xcoin/provisioning/qtci-linux-SLES-15-x86_64/90-squish.sh4
-rwxr-xr-xcoin/provisioning/qtci-linux-SLES-15-x86_64/99-unset-proxy.sh39
-rwxr-xr-xcoin/provisioning/qtci-linux-SLES-15-x86_64/99-version.sh48
-rwxr-xr-xcoin/provisioning/qtci-linux-Ubuntu-16.04-x86/01-install_telegraf.sh3
-rwxr-xr-xcoin/provisioning/qtci-linux-Ubuntu-16.04-x86_64/01-install_telegraf.sh3
-rwxr-xr-xcoin/provisioning/qtci-linux-Ubuntu-18.04-x86_64/01-install_telegraf.sh3
-rwxr-xr-xcoin/provisioning/qtci-linux-Ubuntu-18.04-x86_64/03-qemu.sh38
-rwxr-xr-xcoin/provisioning/qtci-linux-Ubuntu-18.04-x86_64/04-yocto.sh38
-rwxr-xr-xcoin/provisioning/qtci-linux-openSUSE-42.3-x86_64/01-install_telegraf.sh3
-rwxr-xr-xcoin/provisioning/qtci-macos-10.12-x86_64/01-increase_limits.sh3
-rwxr-xr-xcoin/provisioning/qtci-macos-10.12-x86_64/01-install_telegraf.sh3
-rwxr-xr-xcoin/provisioning/qtci-macos-10.12-x86_64/26-p7zip.sh2
-rwxr-xr-xcoin/provisioning/qtci-macos-10.13-x86_64/01-increase_limits.sh3
-rwxr-xr-xcoin/provisioning/qtci-macos-10.13-x86_64/01-install_telegraf.sh3
-rwxr-xr-xcoin/provisioning/qtci-macos-10.13-x86_64/26-p7zip.sh2
-rwxr-xr-xcoin/provisioning/qtci-macos-10.13-x86_64/55-signtools.sh16
-rwxr-xr-xcoin/provisioning/qtci-macos-10.14-x86_64/01-increase_limits.sh3
-rwxr-xr-xcoin/provisioning/qtci-macos-10.14-x86_64/01-install_telegraf.sh3
-rwxr-xr-xcoin/provisioning/qtci-macos-10.14-x86_64/30-android.sh3
-rwxr-xr-xcoin/provisioning/qtci-macos-10.14-x86_64/36-emsdk.sh6
-rwxr-xr-xcoin/provisioning/qtci-macos-10.14-x86_64/55-signtools.sh16
-rw-r--r--coin/provisioning/qtci-windows-10-x86/00-disable-windefender.ps1 (renamed from coin/provisioning/qtci-windows-10-x86/01-disable-windefender.ps1)0
-rw-r--r--coin/provisioning/qtci-windows-10-x86/00-install-sevenzip.ps1 (renamed from coin/provisioning/qtci-windows-10-x86/03-install-sevenzip.ps1)0
-rw-r--r--coin/provisioning/qtci-windows-10-x86/01-install_telegraf.ps11
-rw-r--r--coin/provisioning/qtci-windows-10-x86_64/00-disable-windefender.ps1 (renamed from coin/provisioning/qtci-windows-10-x86_64/01-disable-windefender.ps1)0
-rw-r--r--coin/provisioning/qtci-windows-10-x86_64/00-install-sevenzip.ps1 (renamed from coin/provisioning/qtci-windows-10-x86_64/03-install-sevenzip.ps1)0
-rw-r--r--coin/provisioning/qtci-windows-10-x86_64/01-install_telegraf.ps11
-rw-r--r--coin/provisioning/qtci-windows-10-x86_64/98-disable-file-protector.ps11
-rw-r--r--coin/provisioning/qtci-windows-10-x86_64/98-disable-schedule-tasks.ps11
-rw-r--r--coin/provisioning/qtci-windows-10-x86_64/98-disable-update-orchestrator.ps11
-rw-r--r--coin/provisioning/qtci-windows-10-x86_64/98-disable-windows-module-installer.ps11
-rw-r--r--coin/provisioning/qtci-windows-10-x86_64/98-disable-windows-update-medic.ps12
-rw-r--r--coin/provisioning/qtci-windows-7-x86/00-disable-windefender.ps1 (renamed from coin/provisioning/qtci-windows-7-x86/04-disable-windefender.ps1)0
-rw-r--r--coin/provisioning/qtci-windows-7-x86/00-install-sevenzip.ps1 (renamed from coin/provisioning/qtci-windows-7-x86/03-install-sevenzip.ps1)0
-rw-r--r--coin/provisioning/qtci-windows-7-x86/01-install_telegraf.ps11
-rw-r--r--coin/provisioning/qtci-windows-7-x86_64/00-disable-windefender.ps1 (renamed from coin/provisioning/qtci-windows-7-x86_64/04-disable-windefender.ps1)0
-rw-r--r--coin/provisioning/qtci-windows-7-x86_64/00-install-sevenzip.ps1 (renamed from coin/provisioning/qtci-windows-7-x86_64/03-install-sevenzip.ps1)0
-rw-r--r--coin/provisioning/qtci-windows-7-x86_64/01-install_telegraf.ps11
-rw-r--r--coin/provisioning/qtci-windows-8.1-x86/00-disable-windefender.ps1 (renamed from coin/provisioning/qtci-windows-8.1-x86/04-disable-windefender.ps1)0
-rw-r--r--coin/provisioning/qtci-windows-8.1-x86/00-install-sevenzip.ps1 (renamed from coin/provisioning/qtci-windows-8.1-x86/03-install-sevenzip.ps1)0
-rw-r--r--coin/provisioning/qtci-windows-8.1-x86/01-install_telegraf.ps11
-rw-r--r--coin/provisioning/qtci-windows-8.1-x86_64/00-disable-windefender.ps1 (renamed from coin/provisioning/qtci-windows-8.1-x86_64/04-disable-windefender.ps1)0
-rw-r--r--coin/provisioning/qtci-windows-8.1-x86_64/00-install-sevenzip.ps1 (renamed from coin/provisioning/qtci-windows-8.1-x86_64/03-install-sevenzip.ps1)0
-rw-r--r--coin/provisioning/qtci-windows-8.1-x86_64/01-install_telegraf.ps11
115 files changed, 2334 insertions, 104 deletions
diff --git a/coin/platform_configs/default.yaml b/coin/platform_configs/default.yaml
index 40c7bdaf..f2048551 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-7-x86-3'
Compiler: 'Mingw73'
@@ -8,6 +11,14 @@
Features: ['Packaging']
Configure arguments: '-opensource -confirm-license -verbose -prefix c:\Users\qt\work\install -debug-and-release -release -force-debug-info -nomake tests -opengl dynamic -nomake examples -openssl -I %OPENSSL_INCLUDE_x64% -L %OPENSSL_LIB_x64% -no-sql-mysql -plugin-sql-sqlite -plugin-sql-odbc -I %MYSQL_INCLUDE_x64% -L %MYSQL_LIB_x64% -plugin-sql-psql -I %POSTGRESQL_INCLUDE_x64% -L %POSTGRESQL_LIB_x64%'
-
+ Template: 'qtci-windows-10-x86_64-14'
+ Target os: 'Android_ANY'
+ Target arch: 'x86'
+ Compiler: 'Mingw73'
+ Target compiler: 'Clang'
+ Features: ['Packaging', 'DisableTests']
+ Configure arguments: '-opensource -confirm-license -verbose -prefix c:\Users\qt\work\install -release -nomake tests -nomake examples -no-sql-mysql -no-dbus -opengl es2 -sysconfdir /etc/xdg -openssl -I c:\utils\openssl-android-master\include -xplatform android-clang -android-sdk C:\Utils\Android -android-ndk c:\Utils\Android\android-ndk-r20 -android-arch x86'
+-
Template: 'qtci-linux-Ubuntu-18.04-x86_64'
Compiler: 'GCC'
Configure arguments: '-opensource -confirm-license -verbose -prefix /home/qt/work/install -force-debug-info -nomake tests -no-widgets -nomake examples -R . -openssl -I {{.Env.OPENSSL_HOME}}/include -L {{.Env.OPENSSL_HOME}}/lib'
@@ -28,15 +39,20 @@
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 -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 -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.13-x86_64-2'
Target os: 'IOS_ANY'
@@ -59,35 +75,52 @@
Features: ['DisableTests']
Configure arguments: '-opensource -confirm-license -verbose -prefix /Users/qt/work/install -debug-and-release -nomake tests -nomake examples -no-sql-mysql -no-sql-psql -plugin-sql-sqlite -xplatform macx-watchos-clang'
-
- Template: 'qtci-linux-RHEL-7.6-x86_64'
+ Template: 'qtci-macos-10.13-x86_64-2'
Target os: 'Android_ANY'
- Target arch: 'armv7'
+ Target arch: 'x86'
Compiler: 'Clang'
Target compiler: 'Clang'
Features: ['Packaging', 'DisableTests']
- Configure arguments: '-opensource -confirm-license -verbose -prefix /home/qt/work/install -release -nomake tests -nomake examples -no-sql-mysql -no-dbus -no-qpa-platform-guard -no-use-gold-linker -sysconfdir /etc/xdg -opengl es2 -openssl -I {{.Env.OPENSSL_ANDROID_HOME}}/include -android-sdk /opt/android/sdk -android-ndk /opt/android/android-ndk-r20 -android-ndk-host linux-x86_64 -android-arch armeabi-v7a -xplatform android-clang'
+ Configure arguments: '-opensource -confirm-license -verbose -prefix /Users/qt/work/install -release -nomake tests -nomake examples -no-sql-mysql -no-dbus -no-qpa-platform-guard -opengl es2 -sysconfdir /etc/xdg -openssl -I /usr/local/opt/openssl/include -xplatform android-clang -android-sdk /opt/android/sdk -android-ndk /opt/android/android-ndk-r20 -android-ndk-host darwin-x86_64 -android-arch x86'
-
Template: 'qtci-linux-RHEL-7.6-x86_64'
Target os: 'Android_ANY'
- Target arch: 'arm64'
+ Target arch: 'multi'
Compiler: 'Clang'
Target compiler: 'Clang'
Features: ['Packaging', 'DisableTests']
- Configure arguments: '-opensource -confirm-license -verbose -prefix /home/qt/work/install -release -nomake tests -nomake examples -no-sql-mysql -no-dbus -no-qpa-platform-guard -no-use-gold-linker -sysconfdir /etc/xdg -opengl es2 -openssl -I {{.Env.OPENSSL_ANDROID_HOME}}/include -android-sdk /opt/android/sdk -android-ndk /opt/android/android-ndk-r20 -android-ndk-host linux-x86_64 -android-arch arm64-v8a -xplatform android-clang'
+ Configure arguments: '-opensource -confirm-license -verbose -prefix /home/qt/work/install -release -nomake tests -nomake examples -no-sql-mysql -no-dbus -no-use-gold-linker -no-qpa-platform-guard -opengl es2 -sysconfdir /etc/xdg -openssl -I {{.Env.OPENSSL_ANDROID_HOME}}/include -xplatform android-clang -android-sdk /opt/android/sdk -android-ndk /opt/android/android-ndk-r20 -android-ndk-host linux-x86_64'
+-
+ Template: 'qtci-linux-RHEL-7.6-x86_64'
+ Target os: 'Android_ANY'
+ Target arch: 'x86'
+ Compiler: 'GCC'
+ Target compiler: 'Clang'
+ Features: ['Packaging', 'DisableTests']
+ Configure arguments: '-opensource -confirm-license -verbose -prefix /home/qt/work/install -release -nomake tests -nomake examples -no-sql-mysql -no-dbus -no-use-gold-linker -no-qpa-platform-guard -opengl es2 -sysconfdir /etc/xdg -openssl -I {{.Env.OPENSSL_ANDROID_HOME}}/include -xplatform android-clang -android-sdk /opt/android/sdk -android-ndk /opt/android/android-ndk-r20 -android-ndk-host linux-x86_64 -android-arch x86'
-
Template: 'qtci-linux-Ubuntu-18.04-x86_64'
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/qt5.yaml b/coin/platform_configs/qt5.yaml
index c164eb44..84fff9e9 100644
--- a/coin/platform_configs/qt5.yaml
+++ b/coin/platform_configs/qt5.yaml
@@ -37,11 +37,35 @@
-
Template: 'qtci-linux-RHEL-7.6-x86_64'
Target os: 'Android_ANY'
- Target arch: 'x86'
+ Target arch: 'armv7'
+ Compiler: 'Clang'
+ Target compiler: 'Clang'
+ Features: ['Packaging', 'DisableTests']
+ Configure arguments: '-opensource -confirm-license -verbose -prefix /home/qt/work/install -release -nomake tests -nomake examples -no-sql-mysql -no-dbus -no-qpa-platform-guard -no-use-gold-linker -sysconfdir /etc/xdg -opengl es2 -openssl -I {{.Env.OPENSSL_ANDROID_HOME}}/include -android-sdk /opt/android/sdk -android-ndk /opt/android/android-ndk-r20 -android-ndk-host linux-x86_64 -android-arch armeabi-v7a -xplatform android-clang'
+-
+ Template: 'qtci-linux-RHEL-7.6-x86_64'
+ Target os: 'Android_ANY'
+ Target arch: 'x86_64'
Compiler: 'GCC'
Target compiler: 'Clang'
Features: ['Packaging', 'DisableTests']
- Configure arguments: '-opensource -confirm-license -verbose -prefix /home/qt/work/install -release -nomake tests -nomake examples -no-sql-mysql -no-dbus -no-use-gold-linker -no-qpa-platform-guard -opengl es2 -sysconfdir /etc/xdg -openssl -I {{.Env.OPENSSL_ANDROID_HOME}}/include -xplatform android-clang -android-sdk /opt/android/sdk -android-ndk /opt/android/android-ndk-r20 -android-ndk-host linux-x86_64 -android-arch x86'
+ Configure arguments: '-opensource -confirm-license -verbose -prefix /home/qt/work/install -release -nomake tests -nomake examples -no-sql-mysql -no-dbus -no-use-gold-linker -no-qpa-platform-guard -opengl es2 -sysconfdir /etc/xdg -openssl -I {{.Env.OPENSSL_ANDROID_HOME}}/include -xplatform android-clang -android-sdk /opt/android/sdk -android-ndk /opt/android/android-ndk-r20 -android-ndk-host linux-x86_64 -android-arch x86_64'
+-
+ Template: 'qtci-linux-RHEL-7.6-x86_64'
+ Target os: 'Android_ANY'
+ Target arch: 'arm64'
+ Compiler: 'Clang'
+ Target compiler: 'Clang'
+ Features: ['Packaging', 'DisableTests']
+ Configure arguments: '-opensource -confirm-license -verbose -prefix /home/qt/work/install -release -nomake tests -nomake examples -no-sql-mysql -no-dbus -no-qpa-platform-guard -no-use-gold-linker -sysconfdir /etc/xdg -opengl es2 -openssl -I {{.Env.OPENSSL_ANDROID_HOME}}/include -android-sdk /opt/android/sdk -android-ndk /opt/android/android-ndk-r20 -android-ndk-host linux-x86_64 -android-arch arm64-v8a -xplatform android-clang'
+-
+ Template: 'qtci-windows-10-x86_64-14'
+ Target os: 'Android_ANY'
+ Target arch: 'multi'
+ Compiler: 'Mingw73'
+ Target compiler: 'Clang'
+ Features: ['Packaging', 'DisableTests']
+ Configure arguments: '-opensource -confirm-license -verbose -prefix c:\Users\qt\work\install -release -nomake tests -nomake examples -no-sql-mysql -no-dbus -opengl es2 -sysconfdir /etc/xdg -openssl -I c:\utils\openssl-android-master\include -xplatform android-clang -android-sdk C:\Utils\Android -android-ndk c:\Utils\Android\android-ndk-r20'
-
Template: 'qtci-windows-10-x86_64-14'
Target os: 'Android_ANY'
@@ -61,11 +85,11 @@
-
Template: 'qtci-windows-10-x86_64-14'
Target os: 'Android_ANY'
- Target arch: 'x86'
+ Target arch: 'x86_64'
Compiler: 'Mingw73'
Target compiler: 'Clang'
Features: ['Packaging', 'DisableTests']
- Configure arguments: '-opensource -confirm-license -verbose -prefix c:\Users\qt\work\install -release -nomake tests -nomake examples -no-sql-mysql -no-dbus -opengl es2 -sysconfdir /etc/xdg -openssl -I c:\utils\openssl-android-master\include -xplatform android-clang -android-sdk C:\Utils\Android -android-ndk c:\Utils\Android\android-ndk-r20 -android-arch x86'
+ Configure arguments: '-opensource -confirm-license -verbose -prefix c:\Users\qt\work\install -release -nomake tests -nomake examples -no-sql-mysql -no-dbus -opengl es2 -sysconfdir /etc/xdg -openssl -I c:\utils\openssl-android-master\include -xplatform android-clang -android-sdk C:\Utils\Android -android-ndk c:\Utils\Android\android-ndk-r20 -android-arch x86_64'
-
Template: 'qtci-macos-10.13-x86_64-2'
Target os: 'Android_ANY'
@@ -77,6 +101,14 @@
-
Template: 'qtci-macos-10.13-x86_64-2'
Target os: 'Android_ANY'
+ Target arch: 'multi'
+ Compiler: 'Clang'
+ Target compiler: 'Clang'
+ Features: ['Packaging', 'DisableTests']
+ Configure arguments: '-opensource -confirm-license -verbose -prefix /Users/qt/work/install -release -nomake tests -nomake examples -no-sql-mysql -no-dbus -no-qpa-platform-guard -opengl es2 -sysconfdir /etc/xdg -openssl -I /usr/local/opt/openssl/include -xplatform android-clang -android-sdk /opt/android/sdk -android-ndk /opt/android/android-ndk-r20 -android-ndk-host darwin-x86_64'
+-
+ Template: 'qtci-macos-10.13-x86_64-2'
+ Target os: 'Android_ANY'
Target arch: 'arm64'
Compiler: 'Clang'
Target compiler: 'Clang'
@@ -85,11 +117,11 @@
-
Template: 'qtci-macos-10.13-x86_64-2'
Target os: 'Android_ANY'
- Target arch: 'x86'
+ Target arch: 'x86_64'
Compiler: 'Clang'
Target compiler: 'Clang'
Features: ['Packaging', 'DisableTests']
- Configure arguments: '-opensource -confirm-license -verbose -prefix /Users/qt/work/install -release -nomake tests -nomake examples -no-sql-mysql -no-dbus -no-qpa-platform-guard -opengl es2 -sysconfdir /etc/xdg -openssl -I /usr/local/opt/openssl/include -xplatform android-clang -android-sdk /opt/android/sdk -android-ndk /opt/android/android-ndk-r20 -android-ndk-host darwin-x86_64 -android-arch x86'
+ Configure arguments: '-opensource -confirm-license -verbose -prefix /Users/qt/work/install -release -nomake tests -nomake examples -no-sql-mysql -no-dbus -no-qpa-platform-guard -opengl es2 -sysconfdir /etc/xdg -openssl -I /usr/local/opt/openssl/include -xplatform android-clang -android-sdk /opt/android/sdk -android-ndk /opt/android/android-ndk-r20 -android-ndk-host darwin-x86_64 -android-arch x86_64'
-
Template: 'qtci-macos-10.13-x86_64-2'
Target os: 'QNX_700'
@@ -133,6 +165,12 @@
Features: ['Packaging', 'DisableTests']
Configure arguments: '-opensource -confirm-license -verbose -prefix /home/qt/work/install -release -nomake tests -nomake examples -no-sql-mysql -no-use-gold-linker -opengl es2 -qpa qnx -xplatform qnx-x86-64-qcc'
-
+ Template: 'qtci-windows-10-x86_64-14'
+ Target os: 'WebAssembly'
+ Compiler: 'Mingw73'
+ Features: ['Packaging', 'DisableTests']
+ Configure arguments: '-opensource -confirm-license -verbose -prefix c:\Users\qt\work\install -release -nomake examples -nomake tests -no-feature-thread -static -no-dbus -no-headersclean -no-ssl -no-warnings-are-errors -no-pch -platform win32-g++ -xplatform wasm-emscripten'
+-
Template: 'qtci-macos-10.13-x86_64-2'
Target os: 'WebAssembly'
Compiler: 'Clang'
diff --git a/coin/platform_configs/qtbase.yaml b/coin/platform_configs/qtbase.yaml
index 16fa518d..cb45370a 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/android_linux.sh b/coin/provisioning/common/linux/android_linux.sh
index 1e151efe..44bd2281 100755
--- a/coin/provisioning/common/linux/android_linux.sh
+++ b/coin/provisioning/common/linux/android_linux.sh
@@ -80,14 +80,22 @@ else
sudo chown -R qt:users "$targetFolder"
fi
+# Run the following command under `eval` or `sh -c` so that the shell properly splits it
+sdkmanager_no_progress_bar_cmd="tr '\r' '\n' | grep -v '^\[[ =]*\]'"
+
echo "Running SDK manager for platforms;$sdkApiLevel, platform-tools and build-tools;$sdkBuildToolsVersion."
# shellcheck disable=SC2031
if [ "$http_proxy" != "" ]; then
proxy_host=$(echo "$proxy" | cut -d'/' -f3 | cut -d':' -f1)
proxy_port=$(echo "$proxy" | cut -d':' -f3)
- echo "y" |"$sdkTargetFolder/tools/bin/sdkmanager" --no_https --proxy=http --proxy_host="$proxy_host" --proxy_port="$proxy_port" "platforms;$sdkApiLevel" "platform-tools" "build-tools;$sdkBuildToolsVersion"
+ echo "y" | "$sdkTargetFolder/tools/bin/sdkmanager" \
+ --no_https --proxy=http --proxy_host="$proxy_host" --proxy_port="$proxy_port" \
+ "platforms;$sdkApiLevel" "platform-tools" "build-tools;$sdkBuildToolsVersion" \
+ | eval $sdkmanager_no_progress_bar_cmd
else
- echo "y" |"$sdkTargetFolder/tools/bin/sdkmanager" "platforms;$sdkApiLevel" "platform-tools" "build-tools;$sdkBuildToolsVersion"
+ echo "y" | "$sdkTargetFolder/tools/bin/sdkmanager" \
+ "platforms;$sdkApiLevel" "platform-tools" "build-tools;$sdkBuildToolsVersion" \
+ | eval $sdkmanager_no_progress_bar_cmd
fi
echo "Checking the contents of Android SDK..."
@@ -106,8 +114,11 @@ echo "Android SDK API level = $sdkApiLevel" >> ~/versions.txt
echo "Android NDK = $ndkVersion" >> ~/versions.txt
cd "$sdkTargetFolder/tools/bin"
-./sdkmanager --install "emulator"
-echo "y" | ./sdkmanager --install "system-images;android-21;google_apis;x86"
+./sdkmanager --install "emulator" \
+ | eval $sdkmanager_no_progress_bar_cmd
+echo "y" | ./sdkmanager --install "system-images;android-21;google_apis;x86" \
+ | eval $sdkmanager_no_progress_bar_cmd
+
echo "Checking the contents of Android SDK again..."
ls -l "$sdkTargetFolder"
diff --git a/coin/provisioning/common/linux/devel_languages_go.SUSE_repo_key.pub b/coin/provisioning/common/linux/devel_languages_go.SUSE_repo_key.pub
new file mode 100644
index 00000000..48162c56
--- /dev/null
+++ b/coin/provisioning/common/linux/devel_languages_go.SUSE_repo_key.pub
@@ -0,0 +1,19 @@
+-----BEGIN PGP PUBLIC KEY BLOCK-----
+Version: GnuPG v1.4.5 (GNU/Linux)
+
+mQGiBEyvJq8RBAD64FtKbU3VFsZ4PAzcSi9rETc1qXZLVQYtrE38niriIJUuT/tC
+kxGjkduD7ozP6rxL+M8fk9UdbbmzhHhXzQT2blyYy2iwpZP5+AFeQawz+oyMRVze
+x6IY5qO31TiRu+aEBptk6nco4DULlKABlvtjKI+gJ4buJm+TumyrPaxe9wCgpFwl
+O0fEjpOfQd+6Du0sCnPX7+8D/3xYVj9q5ILmrJ9zehBKjRYEcaP0rZVqudH51FUS
+I0LQNHsJdzKLzhT+Zj7TJU4KnCN4sX7amfYL3GT9qyZEBDx2alubvEsI36wtNq0i
+ewU4XmyZ+Rd7Q4mAPNoBGe5DsUA8wn/7iHGg9aJHu+GXvH7T3DVoUxW5W2KqPw+h
+jzqGBACWGuuCefa683uf6aKqpTS3JB+01BDPf+sG9qJ+k7xcJOsEiXIe1X5vH9ov
+kEvTM12kzY7SGwlsFsTDT1xioDl62g5nPlZMXErUBVnjoMtjl9bDwUPJY/vP1S9M
+VaONBMoJEON3HRui9jhdEK25LTdrcFlFpRzJI3AgdXwy8aQyiLRGZGV2ZWw6bGFu
+Z3VhZ2VzOmdvIE9CUyBQcm9qZWN0IDxkZXZlbDpsYW5ndWFnZXM6Z29AYnVpbGQu
+b3BlbnN1c2Uub3JnPohmBBMRAgAmBQJc9DoCAhsDBQkUY8NTBgsJCAcDAgQVAggD
+BBYCAwECHgECF4AACgkQr0z+TTB9e/lQZgCfXIjj30HyCPvUbSbSd6zOS0seAegA
+n3DXayMpRphNmyJgLvl5qKfsX7f6iEYEExECAAYFAkyvJq8ACgkQOzARt2udZSOg
+qQCeOba7kjk7CI+64GOkhhTGSdjnjdQAn2IC5tx+PW38XKwl3Jr5YVp0RyR0
+=AOj6
+-----END PGP PUBLIC KEY BLOCK-----
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..dc592553 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
+ sudo systemctl disable ntpd || sudo /sbin/chkconfig ntpd off
fi
diff --git a/coin/provisioning/common/linux/qnx_660.sh b/coin/provisioning/common/linux/qnx_660.sh
index 2add6901..eb6fd5f0 100755
--- a/coin/provisioning/common/linux/qnx_660.sh
+++ b/coin/provisioning/common/linux/qnx_660.sh
@@ -49,7 +49,7 @@ echo "$sha1 $targetFile" | sha1sum --check
if [ ! -d "$targetFolder" ]; then
mkdir -p $targetFolder
fi
-sudo tar -C $targetFolder -xvzf $targetFile
+sudo tar -C $targetFolder -xzf $targetFile
sudo chown -R qt:users "$targetFolder"/"$folderName"
# Verify that we have last file in tar
diff --git a/coin/provisioning/common/linux/telegraf-coin.conf b/coin/provisioning/common/linux/telegraf-coin.conf
new file mode 100644
index 00000000..33a9c6de
--- /dev/null
+++ b/coin/provisioning/common/linux/telegraf-coin.conf
@@ -0,0 +1,47 @@
+[global_tags]
+[agent]
+ interval = "10s"
+ round_interval = true
+ metric_batch_size = 100
+ metric_buffer_limit = 10000
+ collection_jitter = "0s"
+ flush_interval = "10s"
+ flush_jitter = "5s"
+ precision = ""
+ logfile = "/var/log/telegraf-coin.log"
+ hostname = "$COIN_UNIQUE_JOB_ID"
+ omit_hostname = false
+[[outputs.influxdb]]
+ urls= ["https://qtinfluxdb01.intra.qt.io:8086"]
+ insecure_skip_verify = true
+ database = "coin_vms"
+ skip_database_creation = true
+ username = "coin_vms_writer"
+ password = "COIN_VMS_WRITER_PASS"
+[[inputs.cpu]]
+ percpu = true
+ totalcpu = true
+ collect_cpu_time = false
+ report_active = false
+[[inputs.disk]]
+ ignore_fs = ["tmpfs", "devtmpfs", "devfs", "iso9660", "overlay", "aufs", "squashfs"]
+[[inputs.diskio]]
+[[inputs.kernel]]
+[[inputs.mem]]
+[[inputs.processes]]
+[[inputs.swap]]
+[[inputs.system]]
+[[inputs.kernel_vmstat]] # linux-only
+[[inputs.netstat]]
+
+
+# Monitor Coin process
+[[inputs.procstat]]
+ exe = "coin-"
+ pid_finder = "native"
+
+
+# Monitor I/O latency
+[[inputs.exec]]
+ data_format = "influx"
+ commands = [ "/usr/bin/telegraf-ioping.sh /" ]
diff --git a/coin/provisioning/common/macos/homebrew.sh b/coin/provisioning/common/macos/homebrew.sh
index a6efe123..715477c0 100755
--- a/coin/provisioning/common/macos/homebrew.sh
+++ b/coin/provisioning/common/macos/homebrew.sh
@@ -1,3 +1,12 @@
#!/usr/bin/env bash
-# Will install homebrew package manager for macOS
-/usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)" </dev/null
+
+
+# Will install homebrew package manager for macOS.
+# WARNING: Requires commandlinetools
+
+# TODO audit and cache this file locally, see QTQAINFRA-3134
+curl -L -o /tmp/homebrew_install https://raw.githubusercontent.com/Homebrew/install/master/install
+
+/usr/bin/ruby /tmp/homebrew_install </dev/null
+
+brew update
diff --git a/coin/provisioning/common/macos/increase_limits.sh b/coin/provisioning/common/macos/increase_limits.sh
new file mode 100755
index 00000000..040c55e8
--- /dev/null
+++ b/coin/provisioning/common/macos/increase_limits.sh
@@ -0,0 +1,70 @@
+#!/bin/sh
+
+#############################################################################
+##
+## 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$
+##
+#############################################################################
+
+
+# Increase the soft and hard RLIMIT_NOFILE and RLIMIT_NPROC limits.
+# By default they are 256/unlimited and 709/1064
+# and they sometimes create problems to the build process and telegraf.
+
+
+set -e
+
+PROVISIONING_DIR="$(dirname "$0")/../../"
+. "$PROVISIONING_DIR"/common/unix/common.sourced.sh
+
+
+echo "Current limits are:"
+ulimit -a
+launchctl limit
+
+$CMD_INSTALL -m 644 -o root -g wheel \
+ $PROVISIONING_DIR/common/macos/limit.maxfiles.plist \
+ $PROVISIONING_DIR/common/macos/limit.maxproc.plist \
+ /Library/LaunchDaemons/
+
+# Activate the new limits immediately (not for the current session though)
+sudo launchctl load -w /Library/LaunchDaemons/limit.maxfiles.plist
+sudo launchctl load -w /Library/LaunchDaemons/limit.maxproc.plist
+
+echo "After adjusting, limits are:"
+ulimit -a
+launchctl limit
+
+
+# NOTE: If the limits are not increased enough, it might be because of
+# restrictions set by the kernel. They can be temporarily altered with:
+
+# sudo sysctl -w kern.maxproc=xxxx
+# sudo sysctl -w kern.maxprocperuid=xxx
diff --git a/coin/provisioning/common/macos/install-commandlinetools.sh b/coin/provisioning/common/macos/install-commandlinetools.sh
index 7b0ead98..b9f81534 100755
--- a/coin/provisioning/common/macos/install-commandlinetools.sh
+++ b/coin/provisioning/common/macos/install-commandlinetools.sh
@@ -50,7 +50,7 @@ function InstallCommandLineTools {
hdiutil attach "/tmp/$packageName"
cd "/Volumes/Command Line Developer Tools"
echo "Installing"
- sudo installer -verbose -pkg ./*.pkg -target /
+ sudo installer -pkg ./*.pkg -target /
cd /
# Let's fait for 5 second before unmounting. Sometimes resource is busy and cant be unmounted
sleep 3
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..d620c71d 100755
--- a/coin/provisioning/common/macos/libiodbc.sh
+++ b/coin/provisioning/common/macos/libiodbc.sh
@@ -40,8 +40,7 @@ set -ex
# shellcheck source=../unix/SetEnvVar.sh
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/common/macos/limit.maxfiles.plist b/coin/provisioning/common/macos/limit.maxfiles.plist
new file mode 100644
index 00000000..1bf85214
--- /dev/null
+++ b/coin/provisioning/common/macos/limit.maxfiles.plist
@@ -0,0 +1,20 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
+<plist version="1.0">
+ <dict>
+ <key>Label</key>
+ <string>limit.maxfiles</string>
+ <key>ProgramArguments</key>
+ <array>
+ <string>launchctl</string>
+ <string>limit</string>
+ <string>maxfiles</string>
+ <string>65536</string>
+ <string>524288</string>
+ </array>
+ <key>RunAtLoad</key>
+ <true/>
+ <key>ServiceIPC</key>
+ <false/>
+ </dict>
+</plist>
diff --git a/coin/provisioning/common/macos/limit.maxproc.plist b/coin/provisioning/common/macos/limit.maxproc.plist
new file mode 100644
index 00000000..0c2cc0e9
--- /dev/null
+++ b/coin/provisioning/common/macos/limit.maxproc.plist
@@ -0,0 +1,20 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
+<plist version="1.0">
+ <dict>
+ <key>Label</key>
+ <string>limit.maxproc</string>
+ <key>ProgramArguments</key>
+ <array>
+ <string>launchctl</string>
+ <string>limit</string>
+ <string>maxproc</string>
+ <string>8192</string>
+ <string>32768</string>
+ </array>
+ <key>RunAtLoad</key>
+ <true/>
+ <key>ServiceIPC</key>
+ <false/>
+ </dict>
+</plist>
diff --git a/coin/provisioning/common/macos/telegraf-coin.conf b/coin/provisioning/common/macos/telegraf-coin.conf
new file mode 100644
index 00000000..24440a05
--- /dev/null
+++ b/coin/provisioning/common/macos/telegraf-coin.conf
@@ -0,0 +1,51 @@
+[global_tags]
+[agent]
+ interval = "10s"
+ round_interval = true
+ metric_batch_size = 100
+ metric_buffer_limit = 10000
+ collection_jitter = "0s"
+ flush_interval = "10s"
+ flush_jitter = "5s"
+ precision = ""
+ logfile = "/var/log/telegraf-coin.log"
+ hostname = "$COIN_UNIQUE_JOB_ID"
+ omit_hostname = false
+[[outputs.influxdb]]
+ urls= ["https://qtinfluxdb01.intra.qt.io:8086"]
+ insecure_skip_verify = true
+ database = "coin_vms"
+ skip_database_creation = true
+ username = "coin_vms_writer"
+ password = "COIN_VMS_WRITER_PASS"
+#[[inputs.cpu]] # linux-only
+# percpu = true
+# totalcpu = true
+# collect_cpu_time = false
+# report_active = false
+[[inputs.disk]]
+ ignore_fs = ["tmpfs", "devtmpfs", "devfs", "iso9660", "overlay", "aufs", "squashfs"]
+#[[inputs.diskio]] # linux-only
+[[inputs.kernel]]
+[[inputs.mem]]
+[[inputs.processes]]
+[[inputs.swap]]
+[[inputs.system]]
+#[[inputs.kernel_vmstat]] # linux-only
+[[inputs.netstat]]
+
+
+# Monitor Coin process
+[[inputs.procstat]]
+ exe = "coin-"
+ # Buggy on macOS if using the "native" pid_finder, see:
+ # https://github.com/influxdata/telegraf/issues/6265
+ # Tested 1.12.1 version that "native" pid_finder has been fixed,
+ # but it is slow and times out frequently
+ pid_finder = "pgrep"
+
+
+# Monitor I/O latency
+[[inputs.exec]]
+ data_format = "influx"
+ commands = [ "/usr/bin/telegraf-ioping.sh /" ]
diff --git a/coin/provisioning/common/shared/telegraf/influxdb.repo_key.pub b/coin/provisioning/common/shared/telegraf/influxdb.repo_key.pub
new file mode 100644
index 00000000..c97d5933
--- /dev/null
+++ b/coin/provisioning/common/shared/telegraf/influxdb.repo_key.pub
@@ -0,0 +1,52 @@
+-----BEGIN PGP PUBLIC KEY BLOCK-----
+Version: GnuPG v1
+
+mQINBFYJmwQBEADCw7mob8Vzk+DmkYyiv0dTU/xgoSlp4SQwrTzat8MB8jxmx60l
+QjmhqEyuB8ho4zzZF9KV+gJWrG6Rj4t69JMTJWM7jFz+0B1PC7kJfNM+VcBmkTnj
+fP+KJjqz50ETnsF0kQTG++UJeRYjG1dDK0JQNQJAM6NQpIWJI339lcDf15vzrMnb
+OgIlNxV6j1ZZqkle4fvScF1NQxYScRiL+sRgVx92SI4SyD/xZnVGD/szB+4OCzah
++0Q/MnNGV6TtN0RiCDZjIUYiHoeT9iQXEONKf7T62T4zUafO734HyqGvht93MLVU
+GQAeuyx0ikGsULfOsJfBmb3XJS9u+16v7oPFt5WIbeyyNuhUu0ocK/PKt5sPYR4u
+ouPq6Ls3RY3BGCH9DpokcYsdalo51NMrMdnYwdkeq9MEpsEKrKIN5ke7fk4weamJ
+BiLI/bTcfM7Fy5r4ghdI9Ksw/ULXLm4GNabkIOSfT7UjTzcBDOvWfKRBLX4qvsx4
+YzA5kR+nX85u6I7W10aSqBiaLqk6vCj0QmBmCjlSeYqNQqSzH/6OoL6FZ7lP6AiG
+F2NyGveJKjugoXlreLEhOYp20F81PNwlRBCAlMC2Q9mpcFu0dtAriVoG4gVDdYn5
+t+BiGfD2rJlCinYLgYBDpTPcdRT3VKHWqL9fcC4HKmic0mwWg9homx550wARAQAB
+tDFJbmZsdXhEQiBQYWNrYWdpbmcgU2VydmljZSA8c3VwcG9ydEBpbmZsdXhkYi5j
+b20+iQI3BBMBCgAhBQJWCZsEAhsDBQsJCAcDBRUKCQgLBRYDAgEAAh4BAheAAAoJ
+EGhKFM8lguDF9XEQAK9rREnZt6ujh7GXfeNki35bkn39q8GYh0mouShFbFY9o0i3
+UJVChsxokJSRPgFh9GOhOPTupl3rzfdpD+IlWI2Myt6han2HOjZKNZ4RGNrYJ5UR
+uxt4dKMWlMbpkzL56bhHlx97RoXKv2d2zRQfw9nyZb6t3lw2k2kKXsMxjGa0agM+
+2SropwYOXdtkz8UWaGd3LYxwEvW3AuhI8EEEHdLetQaYe9sANDvUEofgFbdsuICH
+9QLmbYavk7wyGTPBKfPBbeyTxwW2rMUnFCNccMKLm1i5NpZYineBtQbX2cfx9Xsk
+1JLOzEBmNal53H2ob0kjev6ufzOD3s8hLu4KMCivbIz4YT3fZyeExn0/0lUtsQ56
+5fCxE983+ygDzKsCnfdXqm3GgjaI90OkNr1y4gWbcd5hicVDv5fD3TD9f0GbpDVw
+yDz8YmvNzxMILt5Glisr6aH7gLG/u8jxy0D8YcBiyv5kfY4vMI2yXHpGg1cn/sVu
+ZB01sU09VVIM2BznnimyAayI430wquxkZCyMx//BqFM1qetIgk1wDZTlFd0n6qtA
+fDmXAC4s5pM5rfM5V57WmPaIqnRIaESJ35tFUFlCHfkfl/N/ribGVDg1z2KDW08r
+96oEiIIiV4GfXl+NprJqpNS3Cn+aCXtd7/TsDScDEgs4sMaR29Lsf26cuWk8uQIN
+BFYJmwQBEADDPi3fmwn6iwkiDcH2E2V31cHlBw9OdJfxKVUdyAQEhTtqmG9P8XFZ
+ERRQF155XLQPLvRlUlq7vEYSROn5J6BAnsjdjsH9LmFMOEV8CIRCRIDePG/Mez2d
+nIK5yiU6GkS3IFaQg2T9/tOBKxm0ZJPfqTXbT4jFSfvYJ3oUqc+AyYxtb8gj1GRk
+X283/86/bA3C98u7re1vPtiDRyM8r0+lhEc59Yx/EAOL+X2gZyTgyUoH+LLuOWQK
+s1egI8y80R8NZfM1nMiQk2ywMsTFwQjSVimScvzqv5Nt8k8CvHUQ3a6R+6doXGNX
+5RnUqn9Qvmh0JY5sNgFsoaGbuk2PJrVaGBRnfnjaDqAlZpDhwkWhcCcguNhRbRHp
+N7/a0pQr70bAG9VikzLyGC17EU0sxney/hyNHkr4Uyy2OXHpuJvRjVKy/BwZ3fxA
+AYX2oZIOxQB3/OulzO/DppaCVhRtp1bt+Z5f+fpisiVb5DvZcMdeyAoQ4+oOr7v3
+EasIs2XYcQ+kOE3Y2kdlHWBeuXzxgWgJZ1OOpwGMjR3Uy6IwhuSWtreJBA4er+Df
+vgSPwKBsRLNLbPe3ftjArnC5GfMiGgikVdAUdN4OkEqvUbkRoAVGKTOMLUKm+ZkG
+OskJOVYS+JAina0qkYEFF7haycMjf9olhqLmTIC+6X7Ox9R2plaOhQARAQABiQIf
+BBgBCgAJBQJWCZsEAhsMAAoJEGhKFM8lguDF8ZIP/1q9Sdz8oMvf9AJXZ7AYxm77
+V+kJzJqi62nZLWJnrFXDZJpU+LkYlb3fstsZ1rvBhnrEPSmFxoj72CP0RtcyX7wJ
+dA7K1Fl9LpJi5H8300cC7UyG94MUYbrXijbLTbnFTfNr1tGx4a1T/7Yyxx/wZGrT
+H/X8cvNybkl33SxDdlQQ9kx3lFOwC41e3TkGsUWxn3TCfvDh8VdA6Py6JeSPFGOb
+MEO2/q7oUgvjfV+ivN5ayZi9bWgeqm1sgtmTHHQ4RqwwKrAb5ynXpn1b9QrkevgT
+b91uzMA22Prl4DuzKiaMYDcZOQ3vtf0eFBP0GOSSgUKS4bQ3dGgi1JmQ7VuAM4uj
++Ug5TnGoLwclTwLksc7v89C5MMPgm2vVXvCUDzyzQA7bIHFeX+Rziby4nymec4Nr
+eeXYNBJWrEp8XR7UNWmEgroXRoN1x9/6esh5pnoUXGAIWuKzSLQM70/wWxS67+v2
+aC1GNb+pXXAzYeIIiyLWaZwCSr8sWMvshFT9REk2+lnb6sAeJswQtfTUWI00mVqZ
+dvI3Wys2h0IyIejuwetTUvGhr9VgpqiLLfGzGlt/y2sg27wdHzSJbMh0VrVAK26/
+BlvEwWDCFT0ZJUMG9Lvre25DD0ycbougLsRYjzmGb/3k3UktS3XTCxyBa/k3TPw3
+vqIHrEqk446nGPDqJPS5
+=9iF7
+-----END PGP PUBLIC KEY BLOCK-----
diff --git a/coin/provisioning/common/shared/telegraf/telegraf-ioping.sh b/coin/provisioning/common/shared/telegraf/telegraf-ioping.sh
new file mode 100644
index 00000000..ad95eadc
--- /dev/null
+++ b/coin/provisioning/common/shared/telegraf/telegraf-ioping.sh
@@ -0,0 +1,26 @@
+#!/bin/sh
+
+# Measure I/O latency once, return data in InfluxDB format
+#
+# Run one ioping command for read, and one for write.
+# Each one sends 3 requests and reports the minimum time, in nanoseconds.
+# (Because of limitations of ioping, we can't just send one request and get
+# the number back in the batch format. Additionally, the number seems to be
+# fluctuating quite a bit so taking the smallest number out of 3 requests is
+# stabilising it a bit.)
+
+
+set -e
+
+[ x"$1" = x ] && echo "$0 takes a path as a first argument" && exit 1
+
+# Try to run in high priority to avoid slow-downs because of
+# factors other than I/O.
+renice -n -10 -p $$ >/dev/null 2>&1 || true
+
+
+rlatency="$(ioping -B -k -c 3 -i 0.1 "$1" | cut -d " " -f 5)"
+wlatency="$(ioping -B -k -c 3 -i 0.1 -W "$1" | cut -d " " -f 5)"
+
+printf "ioping,path=$1 read_latency_ns=%u,write_latency_ns=%u\n" \
+ $rlatency $wlatency
diff --git a/coin/provisioning/common/shared/telegraf/telegraf_packages.sha256.txt b/coin/provisioning/common/shared/telegraf/telegraf_packages.sha256.txt
new file mode 100644
index 00000000..7d1cdada
--- /dev/null
+++ b/coin/provisioning/common/shared/telegraf/telegraf_packages.sha256.txt
@@ -0,0 +1,6 @@
+https://dl.influxdata.com/telegraf/releases/telegraf-1.12.1_windows_i386.zip d2dea67a28fd7a9e21395d14f0b7ce1b6413e85cc9ffd89cc7ff8f35e8af5837
+https://dl.influxdata.com/telegraf/releases/telegraf-1.12.1_windows_amd64.zip 88d8c8146b561f43726e61688b42d0b5ab88fc22607b94df5a2c8245bbb27e29
+https://dl.influxdata.com/telegraf/releases/telegraf-1.12.1_darwin_amd64.tar.gz 58a2b294c1b6408c396b5526719cf7cad557f7075fed10ff0b2a74141ea2d629
+https://dl.influxdata.com/telegraf/releases/telegraf-1.12.1_linux_amd64.tar.gz 070a76800d1a5f33413b8948286f75caa55ebd924f6fb6996a753b9979799ef5
+https://dl.influxdata.com/telegraf/releases/telegraf-1.12.1_linux_i386.tar.gz 964077b6846708f579a100d7ea6090e2d8350ace75ec735d539bc452bc551038
+https://dl.influxdata.com/telegraf/releases/telegraf-1.12.1-static_linux_amd64.tar.gz bb03814c99c037ce0758e3884660910f2f6fd78f3d49a8e1ef531693b3cfe25d
diff --git a/coin/provisioning/common/unix/DownloadURL.sh b/coin/provisioning/common/unix/DownloadURL.sh
index 996c99da..0579451f 100755
--- a/coin/provisioning/common/unix/DownloadURL.sh
+++ b/coin/provisioning/common/unix/DownloadURL.sh
@@ -1,8 +1,8 @@
-#!/usr/bin/env bash
+#!/bin/sh
#############################################################################
##
-## 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.
@@ -33,31 +33,78 @@
##
#############################################################################
+
# A helper script used for downloading a file from a URL or an alternative
-# URL. Also the SHA1 is checked for the file. Target filename should also
-# be given.
-#
-# If called directly from another script, it will exit the parent script
-# as well, if not called in its own subshell with parentheses.
+# URL. Also the SHA is checked for the file (SHA algorithm is autodetected
+# based on the SHA length). Target filename should also be given.
+
+############################ BOILERPLATE ###############################
+command -v sha1sum >/dev/null || alias sha1sum='shasum -a 1'
+command -v sha256sum >/dev/null || alias sha256sum='shasum -a 256'
+command -v sha384sum >/dev/null || alias sha384sum='shasum -a 384'
+command -v sha512sum >/dev/null || alias sha512sum='shasum -a 512'
+########################################################################
+
+
+Download () {
+ url="$1"
+ targetFile="$2"
+
+ command -v curl >/dev/null \
+ && curl --fail -L --retry 5 --retry-delay 5 -o "$targetFile" "$url" \
+ || wget --tries 5 -O "$targetFile" "$url"
+}
-set -ex
+VerifyHash () {
+ file=$1
+ expectedHash=$2
-function DownloadURL {
+ if [ ! -f "$file" ]
+ then return 2 # file does not exist
+ fi
+
+
+ hashLength="$(echo "$expectedHash" | wc -c | sed 's/ *//g')"
+ # Use backticks because of bug with bash-3 (default on macOS),
+ # caused when there are unbalanced parentheses inside $()
+ # shellcheck disable=SC2006
+ hash=`case "$hashLength" in
+ 41) sha1sum "$file" ;;
+ 65) sha256sum "$file" ;;
+ 97) sha384sum "$file" ;;
+ 129) sha512sum "$file" ;;
+ *) echo "FATAL! Unknown hash length: $hashLength" 1>&2 && exit 1 ;;
+ esac | cut -d ' ' -f 1`
+
+ if [ ! "$expectedHash" = "$hash" ]
+ then
+ echo "FAIL! wrong file hash: $file $hash" 1>&2
+ return 1
+ fi
+ echo "OK verified integrity of: $file"
+}
+
+# Check if file already exists and is good, otherwise download it
+DownloadURL () {
url=$1
- url_alt=$2
- expectedSha1=$3
+ url2=$2
+ expectedHash=$3
targetFile=$4
- echo "Downloading from primary URL '$url'"
- curl --fail -L --retry 5 --retry-delay 5 -o "$targetFile" "$url" || {
- echo "Failed to download '$url' multiple times"
- echo "Downloading from alternative URL '$url_alt'"
- curl --fail -L --retry 5 --retry-delay 5 -o "$targetFile" "$url_alt" || { echo 'Failed to download even from alternative url'; exit 1; }
- }
-
- echo "Checking SHA1 on PKG '$targetFile'"
- echo "$expectedSha1 *$targetFile" > "$targetFile.sha1"
- sha1sum --check "$targetFile.sha1"
- rm -f "$targetFile.sha1"
+ if VerifyHash "$targetFile" "$expectedHash"
+ then
+ echo "Skipping download, found and validated existing file: $targetFile"
+ else
+ echo "Downloading from primary URL: $url"
+ if ! Download "$url" "$targetFile"
+ then
+ echo "FAIL! to download, trying alternative URL: $url2" 1>&2
+ if ! Download "$url" "$targetFile"
+ then
+ echo 'FAIL! to download even from alternative url' 1>&2
+ return 1
+ fi
+ fi
+ VerifyHash "$targetFile" "$expectedHash"
+ fi
}
-
diff --git a/coin/provisioning/common/unix/common.sourced.sh b/coin/provisioning/common/unix/common.sourced.sh
new file mode 100644
index 00000000..a52880b2
--- /dev/null
+++ b/coin/provisioning/common/unix/common.sourced.sh
@@ -0,0 +1,139 @@
+#!/bin/sh
+
+
+#############################################################################
+##
+## 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$
+##
+#############################################################################
+
+
+# Script to be sourced from everywhere you need a common environment. Defines:
+export PROVISIONING_DIR
+export PROVISIONING_OS
+export PROVISIONING_OS_ID
+export PROVISIONING_ARCH
+export CMD_PKG_INSTALL
+export CMD_PKG_LOCALINSTALL
+export CMD_INSTALL
+
+
+
+if [ x"$IS_PROVISIONING_COMMON_SOURCED" != x ]
+then
+ echo "common.sourced.sh has already been sourced, re-sourcing skipped"
+ return
+fi
+
+# Do not export; you want children to re-source, because they only inherit the
+# variables but not the functions
+IS_PROVISIONING_COMMON_SOURCED=1
+
+
+fatal () {
+ echo "$1" 1>&2
+ if [ x"$2" != x ]
+ then exit "$2"
+ else exit
+ fi
+}
+
+is_script_executed () {
+ [ x"$(basename "$0")" = x"$1" ]
+}
+
+
+is_script_executed common.sourced.sh \
+ && fatal "Script common.sourced.sh should always be sourced, not executed"
+
+
+set_common_environment () {
+ # Unfortunately we can't find the provisioning directory from a sourced
+ # script in a portable way
+ # PROVISIONING_DIR="$(dirname "$0")/../../"
+
+ [ x"$PROVISIONING_DIR" = x ] \
+ && fatal "PROVISIONING_DIR variable needs to be set before calling set_common_environment"
+
+ uname_s="$(uname -s)"
+ case "$uname_s" in
+ Linux)
+ PROVISIONING_OS=linux
+ . /etc/os-release
+ PROVISIONING_OS_ID="$ID"
+ case "$PROVISIONING_OS_ID" in
+ suse|sles|opensuse*)
+ CMD_PKG_INSTALL="sudo zypper -nq install"
+ CMD_PKG_LOCALINSTALL="sudo zypper --no-gpg-checks -nq install"
+ ;;
+ debian|ubuntu)
+ CMD_PKG_INSTALL="sudo apt -y install"
+ CMD_PKG_LOCALINSTALL="sudo apt -y install"
+ ;;
+ rhel|centos|fedora)
+ CMD_PKG_INSTALL="sudo yum -y install"
+ CMD_PKG_LOCALINSTALL="sudo yum -y --nogpgcheck localinstall"
+ ;;
+ *) fatal "Unknown ID in /etc/os-release: $PROVISIONING_OS_ID" ;;
+ esac
+ ;;
+ Darwin)
+ PROVISIONING_OS=macos
+ PROVISIONING_OS_ID=macos
+ CMD_PKG_INSTALL="brew install"
+ CMD_PKG_LOCALINSTALL="echo 'TODO how to install a package file on macOS'"
+ ;;
+ *)
+ fatal "Unknown system in uname: $uname_s" 42
+ ;;
+ esac
+
+ uname_m="$(uname -m)"
+ case "$uname_m" in
+ x86_64|amd64) PROVISIONING_ARCH=amd64 ;;
+ i[3456]86) PROVISIONING_ARCH=x86 ;;
+ *) fatal "Unknown architecture in uname: $uname_m" 43 ;;
+ esac
+
+ CMD_INSTALL="sudo install"
+}
+
+set_common_environment
+
+set_dry_run () {
+ if [ x"$PROVISIONING_DRY_RUN" != x ]
+ then
+ CMD_PKG_INSTALL="echo DRYRUN: $CMD_PKG_INSTALL"
+ CMD_PKG_LOCALINSTALL="echo DRYRUN: $CMD_PKG_LOCALINSTALL"
+ CMD_INSTALL="echo DRYRUN: $CMD_INSTALL"
+ fi
+}
+
+set_dry_run
diff --git a/coin/provisioning/common/unix/install_protobuff.sh b/coin/provisioning/common/unix/install_protobuff.sh
index 59e9b699..a9b2cfd0 100755
--- a/coin/provisioning/common/unix/install_protobuff.sh
+++ b/coin/provisioning/common/unix/install_protobuff.sh
@@ -64,7 +64,7 @@ if uname -a |grep -q Darwin; then
else
./configure
fi
-make
+make -j5
sudo make install
# Refresh shared library cache if OS isn't macOS
diff --git a/coin/provisioning/common/unix/squishInstall.sh b/coin/provisioning/common/unix/squishInstall.sh
index b40c1922..f1b5e6b5 100755
--- a/coin/provisioning/common/unix/squishInstall.sh
+++ b/coin/provisioning/common/unix/squishInstall.sh
@@ -122,7 +122,7 @@ function MountAndInstall {
sudo cp $targetFileMount /tmp
UnMount
sudo hdiutil attach "/tmp/$targetFile"
- sudo /Volumes/froglogic\ Squish/Install\ Squish.app/Contents/MacOS/Squish unattended=1 targetdir="$targetDirectory/package" qtpath="$targetDirectory" > /dev/null 2>&1
+ sudo /Volumes/froglogic\ Squish/Install\ Squish.app/Contents/MacOS/Squish unattended=1 targetdir="$targetDirectory/package" qtpath="$targetDirectory" > /dev/null
mountFolder="/Volumes/froglogic Squish"
UnMount
elif [[ $targetFile == *.run ]]; then
@@ -130,7 +130,7 @@ function MountAndInstall {
sudo cp $targetFileMount $targetDirectory
UnMount
sudo chmod +x $targetDirectory/$targetFile
- sudo $targetDirectory/$targetFile unattended=1 targetdir="$targetDirectory/package" qtpath="$targetDirectory" > /dev/null 2>&1
+ sudo $targetDirectory/$targetFile unattended=1 targetdir="$targetDirectory/package" qtpath="$targetDirectory" > /dev/null
sudo rm -fr "$targetDirectory/$targetFile"
if uname -a |grep -q "Ubuntu"; then
sudo mkdir /usr/lib/tcl8.6
diff --git a/coin/provisioning/common/unix/telegraf_install.sh b/coin/provisioning/common/unix/telegraf_install.sh
new file mode 100755
index 00000000..1412650e
--- /dev/null
+++ b/coin/provisioning/common/unix/telegraf_install.sh
@@ -0,0 +1,98 @@
+#!/bin/sh
+
+#############################################################################
+##
+## 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$
+##
+#############################################################################
+
+
+# This script installs telegraf and ioping and our script telegraf-ioping.sh
+# to the /usr/bin directory.
+#
+# The reasons we don't install to /usr/local/bin are:
+# 1. On SLES and RHEL, the PATH of sudo (secure_path setting in /etc/sudoers)
+# does not include /usr/local/bin.
+# 2. On macOS /usr/local/bin does not even exist early in provisioning.
+
+
+######################## BOILERPLATE ###########################
+set -e
+
+
+PROVISIONING_DIR="$(dirname "$0")/../../"
+. "$PROVISIONING_DIR"/common/unix/common.sourced.sh
+
+. "$PROVISIONING_DIR"/common/unix/DownloadURL.sh
+
+is_script_executed telegraf_install.sh \
+ || fatal "Script telegraf_install.sh should be executed, not sourced"
+
+################################################################
+
+
+[ "$PROVISIONING_OS" = linux ] \
+ && ioping_sha256=259abf04bcb84f4126ff97c04b6651e1cf5ea6d8a9ff364c769a26c95b6eeb44 \
+ || ioping_sha256=55de6a2f1a5343e0ce8df31d82d47a9e79c7e612edbc6dfb39b5fc6fb358b2e3
+DownloadURL "http://ci-files01-hki.intra.qt.io/input/ioping/ioping.${PROVISIONING_OS}-${PROVISIONING_ARCH}" \
+ '' "$ioping_sha256" ioping
+$CMD_INSTALL -m 755 ./ioping /usr/bin/
+rm -f ioping
+
+# 2. Install custom ioping monitoring script
+$CMD_INSTALL -m 755 "$PROVISIONING_DIR"/common/shared/telegraf/telegraf-ioping.sh /usr/bin/
+
+# 3. Download and install telegraf
+
+[ x"$PROVISIONING_OS" = xmacos ] && os=darwin || os=linux
+[ x"$PROVISIONING_ARCH" = xx86 ] && arch=i386 || arch=amd64
+package_filename=telegraf-1.12.1_${os}_${arch}.tar.gz
+package_sha256_list="$PROVISIONING_DIR"/common/shared/telegraf/telegraf_packages.sha256.txt
+package_sha256=$(sed -n "s/.*$package_filename *//p" "$package_sha256_list")
+
+DownloadURL \
+ http://ci-files01-hki.intra.qt.io/input/telegraf/"$package_filename" \
+ https://dl.influxdata.com/telegraf/releases/"$package_filename" \
+ "$package_sha256" \
+ telegraf.tar.gz
+
+tar -xzf ./telegraf.tar.gz -C /tmp
+telegraf_binary=$(find /tmp/telegraf* -name telegraf -type f | grep /bin/ | head -1)
+$CMD_INSTALL -m 755 "$telegraf_binary" /usr/bin/
+rm -rf /tmp/telegraf*
+
+# 4. Edit config file with passwords
+"$PROVISIONING_DIR"/common/unix/telegraf_password.sh
+
+# 5. Start telegraf in background (-b) and with retaining the environment (-E)
+# in order to report as hostname = $COIN_UNIQUE_JOB_ID.
+/usr/bin/sudo -b -E telegraf --config /etc/telegraf-coin.conf >/dev/null 2>&1
+
+echo DONE: "Installed and started telegraf: $package_filename"
diff --git a/coin/provisioning/common/unix/telegraf_password.sh b/coin/provisioning/common/unix/telegraf_password.sh
new file mode 100755
index 00000000..efbed142
--- /dev/null
+++ b/coin/provisioning/common/unix/telegraf_password.sh
@@ -0,0 +1,60 @@
+#!/bin/sh
+
+#############################################################################
+##
+## 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$
+##
+#############################################################################
+
+
+######################## BOILERPLATE ###########################
+set -e
+
+
+PROVISIONING_DIR="$(dirname "$0")/../../"
+. "$PROVISIONING_DIR"/common/unix/common.sourced.sh
+
+is_script_executed telegraf_password.sh \
+ || fatal "Script telegraf_password.sh should be executed, not sourced, to avoid leaking secrets in the logs"
+# Avoid leaking secrets in the logs
+set +x
+################################################################
+
+
+# Provisioning should run even without the secrets repository
+influxdb_password=$(cut -d : -f 2 ~qt/work/influxdb/coin_vms_writer.auth) \
+ || influxdb_password=no_password_provided
+
+rm -f ~qt/work/influxdb/coin_vms_writer.auth
+sed "s|COIN_VMS_WRITER_PASS|$influxdb_password|" \
+ "$PROVISIONING_DIR"/common/"$PROVISIONING_OS"/telegraf-coin.conf \
+ > .telegraf-coin.conf.final
+$CMD_INSTALL -m 600 .telegraf-coin.conf.final /etc/telegraf-coin.conf
+rm -f .telegraf-coin.conf.final
diff --git a/coin/provisioning/common/windows/disable-schedule-tasks.ps1 b/coin/provisioning/common/windows/disable-schedule-tasks.ps1
new file mode 100644
index 00000000..351f10c6
--- /dev/null
+++ b/coin/provisioning/common/windows/disable-schedule-tasks.ps1
@@ -0,0 +1,88 @@
+. "$PSScriptRoot\helpers.ps1"
+
+# This script will remove unneeded Tasks from Task Scheduler
+
+# Application Experience 'Microsoft Compatibility Appraiser' - "Collects program telemetry information if opted-in to the Microsoft Customer Experience Improvement Program."
+DisableSchedulerTask "Application Experience\Microsoft Compatibility Appraiser"
+
+# Application Experience 'ProgramDataUpdater' - "Collects program telemetry information if opted-in to the Microsoft Customer Experience Improvement Program"
+DisableSchedulerTask "Application Experience\ProgramDataUpdater"
+
+# Autochk 'Proxy' - "This task collects and uploads autochk SQM data if opted-in to the Microsoft Customer Experience Improvement Program."
+DisableSchedulerTask "Autochk\Proxy"
+
+# Chkdsk 'ProactiveScan' - "NTFS Volume Health Scan"
+DisableSchedulerTask "Chkdsk\ProactiveScan"
+
+# Chkdsk 'SyspartRepair'
+DeleteSchedulerTask "Chkdsk\SyspartRepair"
+
+# Customer Experience Improvement Program 'Consolidator' - "If the user has consented to participate in the Windows Customer Experience Improvement Program, this job collects and sends usage data to Microsoft."
+DisableSchedulerTask "Customer Experience Improvement Program\Consolidator"
+
+# Customer Experience Improvement Program 'sbCeip' - "The USB CEIP (Customer Experience Improvement Program) task collects Universal Serial Bus related statistics and information about your machine and sends it to the Windows Device Connectivity engineering group at Microsoft. The information received is used to help improve the reliability, stability, and overall functionality of USB in Windows. If the user has not consented to participate in Windows CEIP, this task does not do anything."
+DisableSchedulerTask "Customer Experience Improvement Program\UsbCeip"
+
+# Device Information 'Device'
+DisableSchedulerTask "Device Information\Device"
+
+# Diagnosis 'Scheduled' - "The Windows Scheduled Maintenance Task performs periodic maintenance of the computer system by fixing problems automatically or reporting them through Security and Maintenance."
+DisableSchedulerTask "Diagnosis\Scheduled"
+
+# DiskDiagnostic 'Microsoft-Windows-DiskDiagnosticDataCollector' - "The Windows Disk Diagnostic reports general disk and system information to Microsoft for users participating in the Customer Experience Program."
+DisableSchedulerTask "DiskDiagnostic\Microsoft-Windows-DiskDiagnosticDataCollector"
+
+# ExploitGuard 'ExploitGuard MDM policy Refresh' - "Task for applying changes to the machine's Exploit Protection settings."
+DisableSchedulerTask "ExploitGuard\ExploitGuard MDM policy Refresh"
+
+# Feedback/Siuf 'DmClient'
+DisableSchedulerTask "Feedback\Siuf\DmClient"
+
+# Feedback/Siuf 'DmClient'OnScenarioDownload'
+DisableSchedulerTask "Feedback\Siuf\DmClientOnScenarioDownload"
+
+# File Classification Infrastructure 'Property Definition Sync'
+DisableSchedulerTask "File Classification Infrastructure\Property Definition Sync"
+
+# InstallService 'ScanForUpdates'
+DisableSchedulerTask "InstallService\ScanForUpdates"
+
+# InstallService 'ScanForUpdatesAsUser'
+DisableSchedulerTask "InstallService\ScanForUpdatesAsUser"
+
+# LanguageComponentsInstaller 'Installation' - "Install language components that match the user's language list."
+DisableSchedulerTask "LanguageComponentsInstaller\Installation"
+
+# LanguageComponentsInstaller 'ReconcileLanguageResources' - "Install language components that match the user's language list."
+DisableSchedulerTask "LanguageComponentsInstaller\ReconcileLanguageResources"
+
+# PI 'Secure-Boot-Update' - "This task updates the Secure Boot variables."
+DisableSchedulerTask "PI\Secure-Boot-Update"
+
+# PI 'Sqm-Tasks' - "This task gathers information about the Trusted Platform Module (TPM), Secure Boot, and Measured Boot."
+DisableSchedulerTask "PI\Sqm-Tasks"
+
+# Power Efficiency Diagnotics 'AnalyzeSystem' - "This task analyzes the system looking for conditions that may cause high energy use."
+DisableSchedulerTask "PushToInstall\Registration"
+
+# Servicing 'StartComponentCleanup'
+DisableSchedulerTask "Servicing\StartComponentCleanup"
+
+# SettingSync 'BackgroundUploadTask'
+DeleteSchedulerTask "SettingSync\BackgroundUploadTask"
+
+# SoftwareProtectionPlatform 'SvcRestartTask' - "This task restarts the Software Protection Platform service at the specified time"
+DeleteSchedulerTask "SoftwareProtectionPlatform\SvcRestartTask"
+
+# SoftwareProtectionPlatform 'SvcRestartTaskLogon' - "This task restarts the Software Protection Platform service at the specified time"
+DisableSchedulerTask "SoftwareProtectionPlatform\SvcRestartTaskLogon"
+
+# SoftwareProtectionPlatform 'SvcRestartTaskNetwork' - "This task restarts the Software Protection Platform service when a new network is detected"
+DisableSchedulerTask "SoftwareProtectionPlatform\SvcRestartTaskNetwork"
+
+# UNP 'RunUpdateNotificationMgr'
+DeleteSchedulerTask "UNP\RunUpdateNotificationMgr"
+
+
+
+
diff --git a/coin/provisioning/common/windows/disable-update-orchestrator.ps1 b/coin/provisioning/common/windows/disable-update-orchestrator.ps1
new file mode 100644
index 00000000..5ae8fb0d
--- /dev/null
+++ b/coin/provisioning/common/windows/disable-update-orchestrator.ps1
@@ -0,0 +1,16 @@
+# Disable UpdateOrchestrator
+
+$name = "UpdateOrchestrator"
+$path = "C:\Windows\System32\Tasks\Microsoft\Windows\$name"
+
+takeown /F $path /A /R
+icacls $path /grant Administrators:F /T
+SCHTASKS /Change /TN "Microsoft\Windows\$name\Reboot" /DISABLE
+del "$path\Schedule Scan"
+del "$path\Schedule Scan Static Task"
+del "$path\Backup Scan"
+del "$path\UpdateModelTask"
+del "$path\USO_UxBroker"
+
+# Disable Update orchestrator service
+reg.exe ADD "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\UsoSvc" /V Start /T REG_dWORD /D 4 /F
diff --git a/coin/provisioning/common/windows/disable-windefender.ps1 b/coin/provisioning/common/windows/disable-windefender.ps1
index e508641e..02ed54da 100644
--- a/coin/provisioning/common/windows/disable-windefender.ps1
+++ b/coin/provisioning/common/windows/disable-windefender.ps1
@@ -1,3 +1,36 @@
+###########################################################################
+##
+## 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$
+##
+#############################################################################
+
# Turning off win defender.
#
# If disabled manually, windows will automatically enable it after
@@ -6,3 +39,21 @@
. "$PSScriptRoot\helpers.ps1"
Run-Executable "reg.exe" "ADD `"HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Windows Defender`" /V DisableAntiSpyware /T REG_dWORD /D 1 /F"
+
+# 'Windows Defender Cache Maintenance' - "Periodic maintenance task."
+DisableSchedulerTask "Windows Defender\Windows Defender Cache Maintenance"
+
+# 'Windows Defender Cleanup' - "Periodic cleanup task."
+DisableSchedulerTask "Windows Defender\Windows Defender Cleanup"
+
+# 'Windows Defender Scheduled Scan' - "Periodic scan task."
+DisableSchedulerTask "Windows Defender\Windows Defender Scheduled Scan"
+
+# 'Windows Defender Verification' - "Periodic verification task."
+DisableSchedulerTask "Windows Defender\Windows Defender Verification"
+
+# Disable 'QueueReporting' - "Windows Error Reporting task to process queued reports."
+DisableSchedulerTask "Windows Error Reporting\QueueReporting"
+
+# Disable WindowsUpdate from Task Scheduler
+DisableSchedulerTask "WindowsUpdate\Scheduled Start"
diff --git a/coin/provisioning/common/windows/disable-windows-file-protector.ps1 b/coin/provisioning/common/windows/disable-windows-file-protector.ps1
new file mode 100644
index 00000000..f1d09fb5
--- /dev/null
+++ b/coin/provisioning/common/windows/disable-windows-file-protector.ps1
@@ -0,0 +1,4 @@
+# Disable Windows File Protection
+# Windows File Protection feature in Microsoft Windows prevents programs from replacing critical Windows system files.
+
+reg.exe ADD "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon" /V SFCDisable /T REG_dWORD /D 0xffffff9d /F
diff --git a/coin/provisioning/common/windows/disable-windows-module-installer.ps1 b/coin/provisioning/common/windows/disable-windows-module-installer.ps1
new file mode 100644
index 00000000..c7f85ff7
--- /dev/null
+++ b/coin/provisioning/common/windows/disable-windows-module-installer.ps1
@@ -0,0 +1,4 @@
+# Disable Windows Module Installer (Trusted Installer).
+# Trusted Installe enables installation, modification, and removal of Windows updates and optional components.
+# If this service is disabled, install or uninstall of Windows updates might fail for this computer.
+sc.exe config TrustedInstaller start=disabled
diff --git a/coin/provisioning/common/windows/disable-windows-update-medic.ps1 b/coin/provisioning/common/windows/disable-windows-update-medic.ps1
new file mode 100644
index 00000000..6accbd3b
--- /dev/null
+++ b/coin/provisioning/common/windows/disable-windows-update-medic.ps1
@@ -0,0 +1,25 @@
+# Windows Update Medic Service (WaaSMedicSvc)'PerformRemediation' helps recover update-related services to the supported configuration.
+# WaasMedicSvc keeps re-starting Windows Update, even if it disabled manually.
+# Even Admin user don't have privileged to disable PerformRemediation from Task Scheduler which means that WaaSMedicSvc.dll need's to be removed from the system
+
+$limit = (Get-Date).AddMinutes(20)
+$path = "C:\Windows\System32\WaaSMedicSvc.dll"
+
+DO {
+ takeown /F $path
+ icacls $path /grant Administrators:f
+ Write-host "Deleting $path"
+
+ Try {
+ del $path
+ }
+ Catch [System.UnauthorizedAccessException] {
+ Write-host "Access to the path '$path' is denied."
+ Continue
+ }
+
+ if ((Get-Date) -gt $limit) {
+ exit 1
+ }
+
+}while (Test-Path -Path "$path")
diff --git a/coin/provisioning/common/windows/helpers.ps1 b/coin/provisioning/common/windows/helpers.ps1
index 100f14ae..8599791d 100644
--- a/coin/provisioning/common/windows/helpers.ps1
+++ b/coin/provisioning/common/windows/helpers.ps1
@@ -3,7 +3,7 @@ function Verify-Checksum
Param (
[string]$File=$(throw("You must specify a filename to get the checksum of.")),
[string]$Expected=$(throw("Checksum required")),
- [ValidateSet("sha1","md5")][string]$Algorithm="sha1"
+ [ValidateSet("sha256","sha1","md5")][string]$Algorithm="sha1"
)
Write-Host "Verifying checksum of $File"
$fs = new-object System.IO.FileStream $File, "Open"
@@ -254,3 +254,23 @@ function Remove {
}
}
}
+
+function DisableSchedulerTask {
+
+ Param (
+ [string]$Task = $(BadParam("a task"))
+ )
+
+ Write-Host "Disabling $Task from Task Scheduler"
+ SCHTASKS /Change /TN "Microsoft\Windows\$Task" /DISABLE
+}
+
+function DeleteSchedulerTask {
+
+ Param (
+ [string]$Task = $(BadParam("a task"))
+ )
+
+ Write-Host "Disabling $Task from Task Scheduler"
+ SCHTASKS /DELETE /TN "Microsoft\Windows\$Task" /F
+}
diff --git a/coin/provisioning/common/windows/install_telegraf.ps1 b/coin/provisioning/common/windows/install_telegraf.ps1
new file mode 100644
index 00000000..258c6c59
--- /dev/null
+++ b/coin/provisioning/common/windows/install_telegraf.ps1
@@ -0,0 +1,68 @@
+#############################################################################
+##
+## 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$
+##
+#############################################################################
+
+. "$PSScriptRoot\..\..\common\windows\helpers.ps1"
+
+
+# Install a specific version of Telegraf
+# https://github.com/influxdata/telegraf/releases
+
+$version = "1.12.1"
+
+if (Is64BitWinHost) {
+ $arch = "amd64"
+ $sha256 = "88d8c8146b561f43726e61688b42d0b5ab88fc22607b94df5a2c8245bbb27e29"
+} else {
+ $arch = "i386"
+ $sha256 = "d2dea67a28fd7a9e21395d14f0b7ce1b6413e85cc9ffd89cc7ff8f35e8af5837"
+}
+
+$filename = "telegraf-" + $version + "_windows_" + $arch + ".zip"
+
+$url_cache = "\\ci-files01-hki.intra.qt.io\provisioning\windows\" + $filename
+$url_official = "https://dl.influxdata.com/telegraf/releases/" + $filename
+$tempfile = "C:\Windows\Temp\" + $filename
+
+Write-Host "Fetching Telegraf $version..."
+Download $url_official $url_cache $tempfile
+Verify-Checksum $tempfile $sha256 sha256
+
+Write-Host "Installing telegraf.exe under C:\Utils\telegraf"
+Extract-7Zip $tempfile C:\Utils "telegraf"
+Copy-Item "$PSScriptRoot\..\..\common\windows\telegraf-coin.conf" C:\telegraf-coin.conf
+
+. "$PSScriptRoot\telegraf_password.ps1"
+
+Start-Process -FilePath C:\Utils\telegraf\telegraf.exe -ArgumentList "--config C:\telegraf-coin.conf"
+
+Write-Output "Telegraf = $version" >> ~\versions.txt
diff --git a/coin/provisioning/common/windows/python.ps1 b/coin/provisioning/common/windows/python.ps1
index aee4c199..342358d5 100644
--- a/coin/provisioning/common/windows/python.ps1
+++ b/coin/provisioning/common/windows/python.ps1
@@ -1,6 +1,6 @@
#############################################################################
##
-## Copyright (C) 2016 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.
@@ -75,6 +75,9 @@ if (($archVer -eq 32) -And (Is64BitWinHost)) {
Run-Executable "$targetDir\python.exe" "-m ensurepip"
+Write-Host "Upgrade pip to the latest version available."
+Run-Executable "$targetDir\python.exe" "-m pip install --upgrade pip"
+
# Install python virtual env
if (IsProxyEnabled) {
$proxy = Get-Proxy
diff --git a/coin/provisioning/common/windows/python3.ps1 b/coin/provisioning/common/windows/python3.ps1
index c05c022c..8fbd615c 100644
--- a/coin/provisioning/common/windows/python3.ps1
+++ b/coin/provisioning/common/windows/python3.ps1
@@ -1,6 +1,6 @@
#############################################################################
##
-## Copyright (C) 2017 The Qt Company Ltd.
+## Copyright (C) 2019 The Qt Company Ltd.
## Copyright (C) 2017 Pelagicore AG
## Contact: http://www.qt.io/licensing/
##
@@ -79,6 +79,10 @@ if (IsProxyEnabled) {
Write-Host "Using proxy ($proxy) with pip"
$pip_args = "--proxy=$proxy"
}
+
+Write-Host "Upgrade pip3 to the latest version available."
+Run-Executable "$install_path\python.exe" "-m pip install --upgrade pip"
+
Run-Executable "$install_path\Scripts\pip3.exe" "$pip_args install virtualenv wheel"
# Install all needed packages in a special wheel cache directory
diff --git a/coin/provisioning/common/windows/telegraf-coin.conf b/coin/provisioning/common/windows/telegraf-coin.conf
new file mode 100644
index 00000000..9a4d22e8
--- /dev/null
+++ b/coin/provisioning/common/windows/telegraf-coin.conf
@@ -0,0 +1,41 @@
+[global_tags]
+[agent]
+ interval = "10s"
+ round_interval = true
+ metric_batch_size = 100
+ metric_buffer_limit = 10000
+ collection_jitter = "0s"
+ flush_interval = "10s"
+ flush_jitter = "5s"
+ precision = ""
+ logfile = "C:\\telegraf-coin.log"
+ hostname = "$COIN_UNIQUE_JOB_ID"
+ omit_hostname = false
+[[outputs.influxdb]]
+ urls= ["https://qtinfluxdb01.intra.qt.io:8086"]
+ insecure_skip_verify = true
+ database = "coin_vms"
+ skip_database_creation = true
+ username = "coin_vms_writer"
+ password = "COIN_VMS_WRITER_PASS"
+[[inputs.cpu]]
+ percpu = true
+ totalcpu = true
+ collect_cpu_time = false
+ report_active = false
+[[inputs.disk]]
+ ignore_fs = ["tmpfs", "devtmpfs", "devfs", "iso9660", "overlay", "aufs", "squashfs"]
+[[inputs.diskio]]
+[[inputs.kernel]]
+[[inputs.mem]]
+#[[inputs.processes]]
+[[inputs.swap]]
+[[inputs.system]]
+#[[inputs.kernel_vmstat]] # linux-only
+[[inputs.netstat]]
+
+
+# Monitor Coin process
+[[inputs.procstat]]
+ exe = "coin-"
+ pid_finder = "native"
diff --git a/coin/provisioning/common/windows/telegraf_password.ps1 b/coin/provisioning/common/windows/telegraf_password.ps1
new file mode 100644
index 00000000..11d04dbc
--- /dev/null
+++ b/coin/provisioning/common/windows/telegraf_password.ps1
@@ -0,0 +1,39 @@
+#############################################################################
+##
+## 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$
+##
+#############################################################################
+
+
+$colon_file = Get-Content "C:\Users\qt\work\influxdb\coin_vms_writer.auth"
+$influxdb_password = $colon_file.Substring($colon_file.LastIndexOf(':') + 1)
+$telegraf_conf = "C:\telegraf-coin.conf"
+(Get-Content $telegraf_conf) | ForEach-Object { $_.Replace("COIN_VMS_WRITER_PASS", $influxdb_password) } | Out-File -Encoding UTF8 $telegraf_conf
+Remove-Item "C:\Users\qt\work\influxdb\coin_vms_writer.auth"
diff --git a/coin/provisioning/qtci-linux-RHEL-6.6-x86_64/01-install_telegraf.sh b/coin/provisioning/qtci-linux-RHEL-6.6-x86_64/01-install_telegraf.sh
new file mode 100755
index 00000000..729f9003
--- /dev/null
+++ b/coin/provisioning/qtci-linux-RHEL-6.6-x86_64/01-install_telegraf.sh
@@ -0,0 +1,3 @@
+#!/bin/sh
+
+"$(dirname "$0")"/../common/unix/telegraf_install.sh
diff --git a/coin/provisioning/qtci-linux-RHEL-6.6-x86_64/03-install-rhel-epel.sh b/coin/provisioning/qtci-linux-RHEL-6.6-x86_64/03-install-rhel-epel.sh
index 21a45506..91097dbf 100755
--- a/coin/provisioning/qtci-linux-RHEL-6.6-x86_64/03-install-rhel-epel.sh
+++ b/coin/provisioning/qtci-linux-RHEL-6.6-x86_64/03-install-rhel-epel.sh
@@ -44,6 +44,5 @@ targetFile="/tmp/$package"
DownloadURL "$primaryUrl" "$cacheUrl" "$sha1" "$targetFile"
-sudo rpm -ivh "$targetFile"
+sudo yum -y install "$targetFile"
rm "$targetFile"
-
diff --git a/coin/provisioning/qtci-linux-RHEL-7.4-x86_64/01-install_telegraf.sh b/coin/provisioning/qtci-linux-RHEL-7.4-x86_64/01-install_telegraf.sh
new file mode 100755
index 00000000..729f9003
--- /dev/null
+++ b/coin/provisioning/qtci-linux-RHEL-7.4-x86_64/01-install_telegraf.sh
@@ -0,0 +1,3 @@
+#!/bin/sh
+
+"$(dirname "$0")"/../common/unix/telegraf_install.sh
diff --git a/coin/provisioning/qtci-linux-RHEL-7.6-x86_64/02-enable-repos.sh b/coin/provisioning/qtci-linux-RHEL-7.6-x86_64/02-enable-repos.sh
index 548cb9ca..28f7faa0 100755
--- a/coin/provisioning/qtci-linux-RHEL-7.6-x86_64/02-enable-repos.sh
+++ b/coin/provisioning/qtci-linux-RHEL-7.6-x86_64/02-enable-repos.sh
@@ -38,6 +38,7 @@ set -ex
echo "set WritePreparedUpdates=false" | sudo tee -a /etc/PackageKit/PackageKit.conf
sudo systemctl stop packagekit
sudo systemctl disable packagekit
+sudo yum -y remove PackageKit gnome-software
sudo subscription-manager config --rhsm.manage_repos=0
sudo subscription-manager refresh
diff --git a/coin/provisioning/qtci-linux-RHEL-7.6-x86_64/03-install-rhel-epel.sh b/coin/provisioning/qtci-linux-RHEL-7.6-x86_64/03-install-rhel-epel.sh
index 5cdf7df0..0a29d842 100755
--- a/coin/provisioning/qtci-linux-RHEL-7.6-x86_64/03-install-rhel-epel.sh
+++ b/coin/provisioning/qtci-linux-RHEL-7.6-x86_64/03-install-rhel-epel.sh
@@ -46,6 +46,5 @@ targetFile="/tmp/$package"
DownloadURL "$primaryUrl" "$cacheUrl" "$sha1" "$targetFile"
-sudo rpm -ivh "$targetFile"
+sudo yum -y install "$targetFile"
rm "$targetFile"
-
diff --git a/coin/provisioning/qtci-linux-SLES-12-x86_64/01-install_telegraf.sh b/coin/provisioning/qtci-linux-SLES-12-x86_64/01-install_telegraf.sh
new file mode 100755
index 00000000..729f9003
--- /dev/null
+++ b/coin/provisioning/qtci-linux-SLES-12-x86_64/01-install_telegraf.sh
@@ -0,0 +1,3 @@
+#!/bin/sh
+
+"$(dirname "$0")"/../common/unix/telegraf_install.sh
diff --git a/coin/provisioning/qtci-linux-SLES-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-install_telegraf.sh b/coin/provisioning/qtci-linux-SLES-15-x86_64/01-install_telegraf.sh
new file mode 100755
index 00000000..729f9003
--- /dev/null
+++ b/coin/provisioning/qtci-linux-SLES-15-x86_64/01-install_telegraf.sh
@@ -0,0 +1,3 @@
+#!/bin/sh
+
+"$(dirname "$0")"/../common/unix/telegraf_install.sh
diff --git a/coin/provisioning/qtci-linux-SLES-15-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-16.04-x86/01-install_telegraf.sh b/coin/provisioning/qtci-linux-Ubuntu-16.04-x86/01-install_telegraf.sh
new file mode 100755
index 00000000..729f9003
--- /dev/null
+++ b/coin/provisioning/qtci-linux-Ubuntu-16.04-x86/01-install_telegraf.sh
@@ -0,0 +1,3 @@
+#!/bin/sh
+
+"$(dirname "$0")"/../common/unix/telegraf_install.sh
diff --git a/coin/provisioning/qtci-linux-Ubuntu-16.04-x86_64/01-install_telegraf.sh b/coin/provisioning/qtci-linux-Ubuntu-16.04-x86_64/01-install_telegraf.sh
new file mode 100755
index 00000000..729f9003
--- /dev/null
+++ b/coin/provisioning/qtci-linux-Ubuntu-16.04-x86_64/01-install_telegraf.sh
@@ -0,0 +1,3 @@
+#!/bin/sh
+
+"$(dirname "$0")"/../common/unix/telegraf_install.sh
diff --git a/coin/provisioning/qtci-linux-Ubuntu-18.04-x86_64/01-install_telegraf.sh b/coin/provisioning/qtci-linux-Ubuntu-18.04-x86_64/01-install_telegraf.sh
new file mode 100755
index 00000000..729f9003
--- /dev/null
+++ b/coin/provisioning/qtci-linux-Ubuntu-18.04-x86_64/01-install_telegraf.sh
@@ -0,0 +1,3 @@
+#!/bin/sh
+
+"$(dirname "$0")"/../common/unix/telegraf_install.sh
diff --git a/coin/provisioning/qtci-linux-Ubuntu-18.04-x86_64/03-qemu.sh b/coin/provisioning/qtci-linux-Ubuntu-18.04-x86_64/03-qemu.sh
index 4ca84072..3006af47 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
@@ -48,6 +48,7 @@ cd "$tempDir"
git checkout c7f1cf01b8245762ca5864e835d84f6677ae8b1f
git cherry-pick 75e5b70e6b5dcc4f2219992d7cffa462aa406af0
git cherry-pick 04b33e21866412689f18b7ad6daf0a54d8f959a7
+git cherry-pick cd8133679f7e0e2c292f631f1c78b2452d2435c7
git submodule update --init pixman
patch -p1 <<EOT
@@ -121,6 +122,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-linux-openSUSE-42.3-x86_64/01-install_telegraf.sh b/coin/provisioning/qtci-linux-openSUSE-42.3-x86_64/01-install_telegraf.sh
new file mode 100755
index 00000000..729f9003
--- /dev/null
+++ b/coin/provisioning/qtci-linux-openSUSE-42.3-x86_64/01-install_telegraf.sh
@@ -0,0 +1,3 @@
+#!/bin/sh
+
+"$(dirname "$0")"/../common/unix/telegraf_install.sh
diff --git a/coin/provisioning/qtci-macos-10.12-x86_64/01-increase_limits.sh b/coin/provisioning/qtci-macos-10.12-x86_64/01-increase_limits.sh
new file mode 100755
index 00000000..08669e52
--- /dev/null
+++ b/coin/provisioning/qtci-macos-10.12-x86_64/01-increase_limits.sh
@@ -0,0 +1,3 @@
+#!/bin/sh
+
+"$(dirname "$0")"/../common/macos/increase_limits.sh
diff --git a/coin/provisioning/qtci-macos-10.12-x86_64/01-install_telegraf.sh b/coin/provisioning/qtci-macos-10.12-x86_64/01-install_telegraf.sh
new file mode 100755
index 00000000..729f9003
--- /dev/null
+++ b/coin/provisioning/qtci-macos-10.12-x86_64/01-install_telegraf.sh
@@ -0,0 +1,3 @@
+#!/bin/sh
+
+"$(dirname "$0")"/../common/unix/telegraf_install.sh
diff --git a/coin/provisioning/qtci-macos-10.12-x86_64/26-p7zip.sh b/coin/provisioning/qtci-macos-10.12-x86_64/26-p7zip.sh
index 15511332..1138ad3f 100755
--- a/coin/provisioning/qtci-macos-10.12-x86_64/26-p7zip.sh
+++ b/coin/provisioning/qtci-macos-10.12-x86_64/26-p7zip.sh
@@ -3,5 +3,5 @@
set -ex
-brew update
+
brew install p7zip
diff --git a/coin/provisioning/qtci-macos-10.13-x86_64/01-increase_limits.sh b/coin/provisioning/qtci-macos-10.13-x86_64/01-increase_limits.sh
new file mode 100755
index 00000000..08669e52
--- /dev/null
+++ b/coin/provisioning/qtci-macos-10.13-x86_64/01-increase_limits.sh
@@ -0,0 +1,3 @@
+#!/bin/sh
+
+"$(dirname "$0")"/../common/macos/increase_limits.sh
diff --git a/coin/provisioning/qtci-macos-10.13-x86_64/01-install_telegraf.sh b/coin/provisioning/qtci-macos-10.13-x86_64/01-install_telegraf.sh
new file mode 100755
index 00000000..729f9003
--- /dev/null
+++ b/coin/provisioning/qtci-macos-10.13-x86_64/01-install_telegraf.sh
@@ -0,0 +1,3 @@
+#!/bin/sh
+
+"$(dirname "$0")"/../common/unix/telegraf_install.sh
diff --git a/coin/provisioning/qtci-macos-10.13-x86_64/26-p7zip.sh b/coin/provisioning/qtci-macos-10.13-x86_64/26-p7zip.sh
index 15511332..1138ad3f 100755
--- a/coin/provisioning/qtci-macos-10.13-x86_64/26-p7zip.sh
+++ b/coin/provisioning/qtci-macos-10.13-x86_64/26-p7zip.sh
@@ -3,5 +3,5 @@
set -ex
-brew update
+
brew install p7zip
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/01-increase_limits.sh b/coin/provisioning/qtci-macos-10.14-x86_64/01-increase_limits.sh
new file mode 100755
index 00000000..08669e52
--- /dev/null
+++ b/coin/provisioning/qtci-macos-10.14-x86_64/01-increase_limits.sh
@@ -0,0 +1,3 @@
+#!/bin/sh
+
+"$(dirname "$0")"/../common/macos/increase_limits.sh
diff --git a/coin/provisioning/qtci-macos-10.14-x86_64/01-install_telegraf.sh b/coin/provisioning/qtci-macos-10.14-x86_64/01-install_telegraf.sh
new file mode 100755
index 00000000..729f9003
--- /dev/null
+++ b/coin/provisioning/qtci-macos-10.14-x86_64/01-install_telegraf.sh
@@ -0,0 +1,3 @@
+#!/bin/sh
+
+"$(dirname "$0")"/../common/unix/telegraf_install.sh
diff --git a/coin/provisioning/qtci-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"
diff --git a/coin/provisioning/qtci-windows-10-x86/01-disable-windefender.ps1 b/coin/provisioning/qtci-windows-10-x86/00-disable-windefender.ps1
index 8f94b3d5..8f94b3d5 100644
--- a/coin/provisioning/qtci-windows-10-x86/01-disable-windefender.ps1
+++ b/coin/provisioning/qtci-windows-10-x86/00-disable-windefender.ps1
diff --git a/coin/provisioning/qtci-windows-10-x86/03-install-sevenzip.ps1 b/coin/provisioning/qtci-windows-10-x86/00-install-sevenzip.ps1
index a9044256..a9044256 100644
--- a/coin/provisioning/qtci-windows-10-x86/03-install-sevenzip.ps1
+++ b/coin/provisioning/qtci-windows-10-x86/00-install-sevenzip.ps1
diff --git a/coin/provisioning/qtci-windows-10-x86/01-install_telegraf.ps1 b/coin/provisioning/qtci-windows-10-x86/01-install_telegraf.ps1
new file mode 100644
index 00000000..77fa8cbf
--- /dev/null
+++ b/coin/provisioning/qtci-windows-10-x86/01-install_telegraf.ps1
@@ -0,0 +1 @@
+. "$PSScriptRoot\..\common\windows\install_telegraf.ps1"
diff --git a/coin/provisioning/qtci-windows-10-x86_64/01-disable-windefender.ps1 b/coin/provisioning/qtci-windows-10-x86_64/00-disable-windefender.ps1
index 8f94b3d5..8f94b3d5 100644
--- a/coin/provisioning/qtci-windows-10-x86_64/01-disable-windefender.ps1
+++ b/coin/provisioning/qtci-windows-10-x86_64/00-disable-windefender.ps1
diff --git a/coin/provisioning/qtci-windows-10-x86_64/03-install-sevenzip.ps1 b/coin/provisioning/qtci-windows-10-x86_64/00-install-sevenzip.ps1
index a9044256..a9044256 100644
--- a/coin/provisioning/qtci-windows-10-x86_64/03-install-sevenzip.ps1
+++ b/coin/provisioning/qtci-windows-10-x86_64/00-install-sevenzip.ps1
diff --git a/coin/provisioning/qtci-windows-10-x86_64/01-install_telegraf.ps1 b/coin/provisioning/qtci-windows-10-x86_64/01-install_telegraf.ps1
new file mode 100644
index 00000000..77fa8cbf
--- /dev/null
+++ b/coin/provisioning/qtci-windows-10-x86_64/01-install_telegraf.ps1
@@ -0,0 +1 @@
+. "$PSScriptRoot\..\common\windows\install_telegraf.ps1"
diff --git a/coin/provisioning/qtci-windows-10-x86_64/98-disable-file-protector.ps1 b/coin/provisioning/qtci-windows-10-x86_64/98-disable-file-protector.ps1
new file mode 100644
index 00000000..79802f24
--- /dev/null
+++ b/coin/provisioning/qtci-windows-10-x86_64/98-disable-file-protector.ps1
@@ -0,0 +1 @@
+. "$PSScriptRoot\..\common\windows\disable-windows-file-protector.ps1"
diff --git a/coin/provisioning/qtci-windows-10-x86_64/98-disable-schedule-tasks.ps1 b/coin/provisioning/qtci-windows-10-x86_64/98-disable-schedule-tasks.ps1
new file mode 100644
index 00000000..9134a735
--- /dev/null
+++ b/coin/provisioning/qtci-windows-10-x86_64/98-disable-schedule-tasks.ps1
@@ -0,0 +1 @@
+. "$PSScriptRoot\..\common\windows\disable-schedule-tasks.ps1"
diff --git a/coin/provisioning/qtci-windows-10-x86_64/98-disable-update-orchestrator.ps1 b/coin/provisioning/qtci-windows-10-x86_64/98-disable-update-orchestrator.ps1
new file mode 100644
index 00000000..67dcce60
--- /dev/null
+++ b/coin/provisioning/qtci-windows-10-x86_64/98-disable-update-orchestrator.ps1
@@ -0,0 +1 @@
+. "$PSScriptRoot\..\common\windows\disable-update-orchestrator.ps1"
diff --git a/coin/provisioning/qtci-windows-10-x86_64/98-disable-windows-module-installer.ps1 b/coin/provisioning/qtci-windows-10-x86_64/98-disable-windows-module-installer.ps1
new file mode 100644
index 00000000..fb8ec541
--- /dev/null
+++ b/coin/provisioning/qtci-windows-10-x86_64/98-disable-windows-module-installer.ps1
@@ -0,0 +1 @@
+. "$PSScriptRoot\..\common\windows\disable-windows-module-installer.ps1"
diff --git a/coin/provisioning/qtci-windows-10-x86_64/98-disable-windows-update-medic.ps1 b/coin/provisioning/qtci-windows-10-x86_64/98-disable-windows-update-medic.ps1
new file mode 100644
index 00000000..7a6ab935
--- /dev/null
+++ b/coin/provisioning/qtci-windows-10-x86_64/98-disable-windows-update-medic.ps1
@@ -0,0 +1,2 @@
+. "$PSScriptRoot\..\common\windows\disable-windows-update-medic.ps1"
+
diff --git a/coin/provisioning/qtci-windows-7-x86/04-disable-windefender.ps1 b/coin/provisioning/qtci-windows-7-x86/00-disable-windefender.ps1
index 8f94b3d5..8f94b3d5 100644
--- a/coin/provisioning/qtci-windows-7-x86/04-disable-windefender.ps1
+++ b/coin/provisioning/qtci-windows-7-x86/00-disable-windefender.ps1
diff --git a/coin/provisioning/qtci-windows-7-x86/03-install-sevenzip.ps1 b/coin/provisioning/qtci-windows-7-x86/00-install-sevenzip.ps1
index a9044256..a9044256 100644
--- a/coin/provisioning/qtci-windows-7-x86/03-install-sevenzip.ps1
+++ b/coin/provisioning/qtci-windows-7-x86/00-install-sevenzip.ps1
diff --git a/coin/provisioning/qtci-windows-7-x86/01-install_telegraf.ps1 b/coin/provisioning/qtci-windows-7-x86/01-install_telegraf.ps1
new file mode 100644
index 00000000..77fa8cbf
--- /dev/null
+++ b/coin/provisioning/qtci-windows-7-x86/01-install_telegraf.ps1
@@ -0,0 +1 @@
+. "$PSScriptRoot\..\common\windows\install_telegraf.ps1"
diff --git a/coin/provisioning/qtci-windows-7-x86_64/04-disable-windefender.ps1 b/coin/provisioning/qtci-windows-7-x86_64/00-disable-windefender.ps1
index 8f94b3d5..8f94b3d5 100644
--- a/coin/provisioning/qtci-windows-7-x86_64/04-disable-windefender.ps1
+++ b/coin/provisioning/qtci-windows-7-x86_64/00-disable-windefender.ps1
diff --git a/coin/provisioning/qtci-windows-7-x86_64/03-install-sevenzip.ps1 b/coin/provisioning/qtci-windows-7-x86_64/00-install-sevenzip.ps1
index a9044256..a9044256 100644
--- a/coin/provisioning/qtci-windows-7-x86_64/03-install-sevenzip.ps1
+++ b/coin/provisioning/qtci-windows-7-x86_64/00-install-sevenzip.ps1
diff --git a/coin/provisioning/qtci-windows-7-x86_64/01-install_telegraf.ps1 b/coin/provisioning/qtci-windows-7-x86_64/01-install_telegraf.ps1
new file mode 100644
index 00000000..77fa8cbf
--- /dev/null
+++ b/coin/provisioning/qtci-windows-7-x86_64/01-install_telegraf.ps1
@@ -0,0 +1 @@
+. "$PSScriptRoot\..\common\windows\install_telegraf.ps1"
diff --git a/coin/provisioning/qtci-windows-8.1-x86/04-disable-windefender.ps1 b/coin/provisioning/qtci-windows-8.1-x86/00-disable-windefender.ps1
index 8f94b3d5..8f94b3d5 100644
--- a/coin/provisioning/qtci-windows-8.1-x86/04-disable-windefender.ps1
+++ b/coin/provisioning/qtci-windows-8.1-x86/00-disable-windefender.ps1
diff --git a/coin/provisioning/qtci-windows-8.1-x86/03-install-sevenzip.ps1 b/coin/provisioning/qtci-windows-8.1-x86/00-install-sevenzip.ps1
index a9044256..a9044256 100644
--- a/coin/provisioning/qtci-windows-8.1-x86/03-install-sevenzip.ps1
+++ b/coin/provisioning/qtci-windows-8.1-x86/00-install-sevenzip.ps1
diff --git a/coin/provisioning/qtci-windows-8.1-x86/01-install_telegraf.ps1 b/coin/provisioning/qtci-windows-8.1-x86/01-install_telegraf.ps1
new file mode 100644
index 00000000..77fa8cbf
--- /dev/null
+++ b/coin/provisioning/qtci-windows-8.1-x86/01-install_telegraf.ps1
@@ -0,0 +1 @@
+. "$PSScriptRoot\..\common\windows\install_telegraf.ps1"
diff --git a/coin/provisioning/qtci-windows-8.1-x86_64/04-disable-windefender.ps1 b/coin/provisioning/qtci-windows-8.1-x86_64/00-disable-windefender.ps1
index 8f94b3d5..8f94b3d5 100644
--- a/coin/provisioning/qtci-windows-8.1-x86_64/04-disable-windefender.ps1
+++ b/coin/provisioning/qtci-windows-8.1-x86_64/00-disable-windefender.ps1
diff --git a/coin/provisioning/qtci-windows-8.1-x86_64/03-install-sevenzip.ps1 b/coin/provisioning/qtci-windows-8.1-x86_64/00-install-sevenzip.ps1
index a9044256..a9044256 100644
--- a/coin/provisioning/qtci-windows-8.1-x86_64/03-install-sevenzip.ps1
+++ b/coin/provisioning/qtci-windows-8.1-x86_64/00-install-sevenzip.ps1
diff --git a/coin/provisioning/qtci-windows-8.1-x86_64/01-install_telegraf.ps1 b/coin/provisioning/qtci-windows-8.1-x86_64/01-install_telegraf.ps1
new file mode 100644
index 00000000..77fa8cbf
--- /dev/null
+++ b/coin/provisioning/qtci-windows-8.1-x86_64/01-install_telegraf.ps1
@@ -0,0 +1 @@
+. "$PSScriptRoot\..\common\windows\install_telegraf.ps1"