aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--.gitmodules83
-rw-r--r--_clang-format2
-rw-r--r--coin/platform_configs/default.txt1
-rw-r--r--coin/platform_configs/qt5.txt6
-rwxr-xr-xcoin/provisioning/common/linux/docker.sh7
-rwxr-xr-xcoin/provisioning/common/linux/docker_testserver.sh (renamed from coin/provisioning/common/linux/testserver/docker_testserver.sh)35
-rwxr-xr-xcoin/provisioning/common/macos/docker.sh (renamed from coin/provisioning/qtci-linux-Ubuntu-16.04-x86/01-systemsetup.sh)48
-rwxr-xr-xcoin/provisioning/common/macos/docker_testserver.sh (renamed from coin/provisioning/qtci-linux-Ubuntu-16.04-x86/02-apt.sh)48
-rw-r--r--coin/provisioning/common/shared/testserver/apache2/Dockerfile (renamed from coin/provisioning/common/linux/testserver/apache2/Dockerfile)0
-rw-r--r--coin/provisioning/common/shared/testserver/danted/Dockerfile (renamed from coin/provisioning/common/linux/testserver/danted/Dockerfile)0
-rwxr-xr-xcoin/provisioning/common/shared/testserver/danted/danted (renamed from coin/provisioning/common/linux/testserver/danted/danted)0
-rwxr-xr-xcoin/provisioning/common/shared/testserver/danted/danted-authenticating (renamed from coin/provisioning/common/linux/testserver/danted/danted-authenticating)0
-rwxr-xr-xcoin/provisioning/common/shared/testserver/docker_machine.sh (renamed from coin/provisioning/qtci-linux-Ubuntu-16.04-x86_64/02-git_lfs.sh)19
-rw-r--r--coin/provisioning/common/shared/testserver/ftp-proxy/Dockerfile (renamed from coin/provisioning/common/linux/testserver/ftp-proxy/Dockerfile)0
-rw-r--r--[-rwxr-xr-x]coin/provisioning/common/shared/testserver/settings.sh (renamed from coin/provisioning/qtci-linux-Ubuntu-16.04-x86_64/60-qnx660.sh)5
-rw-r--r--coin/provisioning/common/shared/testserver/squid/Dockerfile (renamed from coin/provisioning/common/linux/testserver/squid/Dockerfile)0
-rw-r--r--[-rwxr-xr-x]coin/provisioning/common/shared/testserver/testserver_util.sh (renamed from coin/provisioning/qtci-linux-Ubuntu-16.04-x86_64/40-android_linux.sh)11
-rw-r--r--coin/provisioning/common/shared/testserver/vsftpd/Dockerfile (renamed from coin/provisioning/common/linux/testserver/vsftpd/Dockerfile)0
-rw-r--r--coin/provisioning/common/windows/android-openssl.ps16
-rw-r--r--coin/provisioning/common/windows/msys.ps1 (renamed from coin/provisioning/qtci-windows-7-x86/04-msys.ps1)2
-rwxr-xr-xcoin/provisioning/qtci-linux-Ubuntu-16.04-x86/01-disable-cracklib.sh4
-rwxr-xr-xcoin/provisioning/qtci-linux-Ubuntu-16.04-x86/01-disable-mlocate.sh4
-rwxr-xr-xcoin/provisioning/qtci-linux-Ubuntu-16.04-x86/01-remove_update-manager4
-rwxr-xr-xcoin/provisioning/qtci-linux-Ubuntu-16.04-x86/90-squish.sh3
-rwxr-xr-xcoin/provisioning/qtci-linux-Ubuntu-16.04-x86_64/01-disable-cracklib.sh4
-rwxr-xr-xcoin/provisioning/qtci-linux-Ubuntu-16.04-x86_64/01-disable-mlocate.sh4
-rwxr-xr-xcoin/provisioning/qtci-linux-Ubuntu-16.04-x86_64/01-remove_update-manager4
-rwxr-xr-xcoin/provisioning/qtci-linux-Ubuntu-16.04-x86_64/01-systemsetup.sh64
-rwxr-xr-xcoin/provisioning/qtci-linux-Ubuntu-16.04-x86_64/02-apt.sh184
-rwxr-xr-xcoin/provisioning/qtci-linux-Ubuntu-16.04-x86_64/02-disable-ntp.sh3
-rwxr-xr-xcoin/provisioning/qtci-linux-Ubuntu-16.04-x86_64/04-libclang.sh5
-rwxr-xr-xcoin/provisioning/qtci-linux-Ubuntu-16.04-x86_64/22-mqtt_broker.sh36
-rwxr-xr-xcoin/provisioning/qtci-linux-Ubuntu-16.04-x86_64/30-fbx.sh6
-rwxr-xr-xcoin/provisioning/qtci-linux-Ubuntu-16.04-x86_64/40-cmake.sh5
-rwxr-xr-xcoin/provisioning/qtci-linux-Ubuntu-16.04-x86_64/50-open62541.sh36
-rwxr-xr-xcoin/provisioning/qtci-linux-Ubuntu-16.04-x86_64/70-qnx700.sh38
-rwxr-xr-xcoin/provisioning/qtci-linux-Ubuntu-16.04-x86_64/90-squish.sh4
-rwxr-xr-xcoin/provisioning/qtci-linux-Ubuntu-18.04-x86_64/02-apt.sh5
-rwxr-xr-xcoin/provisioning/qtci-macos-10.12-x86_64/80-docker.sh (renamed from coin/provisioning/qtci-linux-Ubuntu-16.04-x86_64/80-docker.sh)2
-rwxr-xr-xcoin/provisioning/qtci-macos-10.13-x86_64/80-docker.sh4
-rw-r--r--coin/provisioning/qtci-windows-10-x86_64/04-msys.ps11
-rw-r--r--coin/provisioning/qtci-windows-10-x86_64/10-openssl_for_android.ps1 (renamed from coin/provisioning/qtci-windows-7-x86/31-android_openssl.ps1)0
-rw-r--r--coin/provisioning/qtci-windows-10-x86_64/40-android.ps1 (renamed from coin/provisioning/qtci-windows-7-x86/30-android.ps1)0
m---------qt3d0
m---------qtactiveqt0
m---------qtandroidextras0
m---------qtbase0
m---------qtcanvas3d0
m---------qtcharts0
m---------qtconnectivity0
m---------qtdatavis3d0
m---------qtdeclarative0
m---------qtdoc0
m---------qtgamepad0
m---------qtgraphicaleffects0
m---------qtimageformats0
m---------qtlocation0
m---------qtmacextras0
m---------qtmultimedia0
m---------qtnetworkauth0
m---------qtpurchasing0
m---------qtquickcontrols0
m---------qtquickcontrols20
m---------qtremoteobjects0
m---------qtscript0
m---------qtscxml0
m---------qtsensors0
m---------qtserialbus0
m---------qtserialport0
m---------qtspeech0
m---------qtsvg0
m---------qttools0
m---------qttranslations0
m---------qtvirtualkeyboard0
m---------qtwayland0
m---------qtwebchannel0
m---------qtwebengine0
m---------qtwebglplugin0
m---------qtwebsockets0
m---------qtwebview0
m---------qtwinextras0
m---------qtx11extras0
m---------qtxmlpatterns0
83 files changed, 160 insertions, 533 deletions
diff --git a/.gitmodules b/.gitmodules
index 7657f30f..72184220 100644
--- a/.gitmodules
+++ b/.gitmodules
@@ -1,60 +1,60 @@
[submodule "qtbase"]
path = qtbase
url = ../qtbase.git
- branch = 5.12
+ branch = dev
status = essential
[submodule "qtsvg"]
depends = qtbase
path = qtsvg
url = ../qtsvg.git
- branch = 5.12
+ branch = dev
status = addon
[submodule "qtdeclarative"]
depends = qtbase
recommends = qtsvg
path = qtdeclarative
url = ../qtdeclarative.git
- branch = 5.12
+ branch = dev
status = essential
[submodule "qtactiveqt"]
depends = qtbase
path = qtactiveqt
url = ../qtactiveqt.git
- branch = 5.12
+ branch = dev
status = addon
[submodule "qtscript"]
depends = qtbase
recommends = qttools
path = qtscript
url = ../qtscript.git
- branch = 5.12
+ branch = dev
status = deprecated
[submodule "qtmultimedia"]
depends = qtbase
recommends = qtdeclarative
path = qtmultimedia
url = ../qtmultimedia.git
- branch = 5.12
+ branch = dev
status = essential
[submodule "qttools"]
depends = qtbase
recommends = qtdeclarative qtactiveqt
path = qttools
url = ../qttools.git
- branch = 5.12
+ branch = dev
status = essential
[submodule "qtxmlpatterns"]
depends = qtbase
recommends = qtdeclarative
path = qtxmlpatterns
url = ../qtxmlpatterns.git
- branch = 5.12
+ branch = dev
status = addon
[submodule "qttranslations"]
depends = qttools
path = qttranslations
url = ../qttranslations.git
- branch = 5.12
+ branch = dev
status = essential
priority = 30
[submodule "qtdoc"]
@@ -62,7 +62,7 @@
recommends = qtmultimedia qtquickcontrols qtquickcontrols2
path = qtdoc
url = ../qtdoc.git
- branch = 5.12
+ branch = dev
status = essential
priority = 40
[submodule "qtrepotools"]
@@ -83,14 +83,14 @@
recommends = qtdeclarative qtquickcontrols qtquickcontrols2 qtserialport
path = qtlocation
url = ../qtlocation.git
- branch = 5.12
+ branch = dev
status = addon
[submodule "qtsensors"]
depends = qtbase
recommends = qtdeclarative
path = qtsensors
url = ../qtsensors.git
- branch = 5.12
+ branch = dev
status = addon
[submodule "qtsystems"]
depends = qtbase
@@ -123,185 +123,186 @@
recommends = qtdeclarative qtandroidextras
path = qtconnectivity
url = ../qtconnectivity.git
- branch = 5.12
+ branch = dev
status = addon
[submodule "qtwayland"]
depends = qtbase
recommends = qtdeclarative
path = qtwayland
url = ../qtwayland.git
- branch = 5.12
+ branch = dev
status = addon
[submodule "qt3d"]
depends = qtbase
recommends = qtdeclarative qtimageformats qtgamepad
path = qt3d
url = ../qt3d.git
- branch = 5.12
+ branch = dev
status = addon
[submodule "qtimageformats"]
depends = qtbase
path = qtimageformats
url = ../qtimageformats.git
- branch = 5.12
+ branch = dev
status = addon
[submodule "qtgraphicaleffects"]
depends = qtdeclarative
path = qtgraphicaleffects
url = ../qtgraphicaleffects.git
- branch = 5.12
+ branch = dev
status = addon
[submodule "qtquickcontrols"]
depends = qtdeclarative
recommends = qtgraphicaleffects
path = qtquickcontrols
url = ../qtquickcontrols.git
- branch = 5.12
+ branch = dev
status = addon
[submodule "qtserialbus"]
- depends = qtserialport
+ depends = qtbase
+ recommends = qtserialport
path = qtserialbus
url = ../qtserialbus.git
- branch = 5.12
+ branch = dev
status = addon
[submodule "qtserialport"]
depends = qtbase
path = qtserialport
url = ../qtserialport.git
- branch = 5.12
+ branch = dev
status = addon
[submodule "qtx11extras"]
depends = qtbase
path = qtx11extras
url = ../qtx11extras.git
- branch = 5.12
+ branch = dev
status = addon
[submodule "qtmacextras"]
depends = qtbase
path = qtmacextras
url = ../qtmacextras.git
- branch = 5.12
+ branch = dev
status = addon
[submodule "qtwinextras"]
depends = qtbase
recommends = qtdeclarative qtmultimedia
path = qtwinextras
url = ../qtwinextras.git
- branch = 5.12
+ branch = dev
status = addon
[submodule "qtandroidextras"]
depends = qtbase
path = qtandroidextras
url = ../qtandroidextras.git
- branch = 5.12
+ branch = dev
status = addon
[submodule "qtwebsockets"]
depends = qtbase
recommends = qtdeclarative
path = qtwebsockets
url = ../qtwebsockets.git
- branch = 5.12
+ branch = dev
status = addon
[submodule "qtwebchannel"]
depends = qtbase
recommends = qtdeclarative qtwebsockets
path = qtwebchannel
url = ../qtwebchannel.git
- branch = 5.12
+ branch = dev
status = addon
[submodule "qtwebengine"]
depends = qtdeclarative
recommends = qtquickcontrols qtquickcontrols2 qtlocation qtwebchannel qttools
path = qtwebengine
url = ../qtwebengine.git
- branch = 5.12
+ branch = dev
status = addon
priority = 10
[submodule "qtcanvas3d"]
depends = qtdeclarative
path = qtcanvas3d
url = ../qtcanvas3d.git
- branch = 5.12
+ branch = dev
status = addon
[submodule "qtwebview"]
depends = qtdeclarative
recommends = qtwebengine
path = qtwebview
url = ../qtwebview.git
- branch = 5.12
+ branch = dev
status = addon
[submodule "qtquickcontrols2"]
depends = qtgraphicaleffects
recommends = qtimageformats
path = qtquickcontrols2
url = ../qtquickcontrols2.git
- branch = 5.12
+ branch = dev
status = essential
[submodule "qtpurchasing"]
depends = qtbase
recommends = qtdeclarative qtandroidextras
path = qtpurchasing
url = ../qtpurchasing.git
- branch = 5.12
+ branch = dev
status = addon
[submodule "qtcharts"]
depends = qtbase
recommends = qtdeclarative qtmultimedia
path = qtcharts
url = ../qtcharts.git
- branch = 5.12
+ branch = dev
status = addon
[submodule "qtdatavis3d"]
depends = qtbase
recommends = qtdeclarative qtmultimedia
path = qtdatavis3d
url = ../qtdatavis3d.git
- branch = 5.12
+ branch = dev
status = addon
[submodule "qtvirtualkeyboard"]
depends = qtbase qtdeclarative qtsvg
recommends = qtmultimedia qtquickcontrols
path = qtvirtualkeyboard
url = ../qtvirtualkeyboard.git
- branch = 5.12
+ branch = dev
status = addon
[submodule "qtgamepad"]
depends = qtbase
recommends = qtdeclarative
path = qtgamepad
url = ../qtgamepad.git
- branch = 5.12
+ branch = dev
status = addon
[submodule "qtscxml"]
depends = qtbase qtdeclarative
path = qtscxml
url = ../qtscxml.git
- branch = 5.12
+ branch = dev
status = addon
[submodule "qtspeech"]
depends = qtbase
recommends = qtdeclarative qtmultimedia
path = qtspeech
url = ../qtspeech.git
- branch = 5.12
+ branch = dev
status = addon
[submodule "qtnetworkauth"]
depends = qtbase
path = qtnetworkauth
url = ../qtnetworkauth.git
- branch = 5.12
+ branch = dev
status = addon
[submodule "qtremoteobjects"]
depends = qtbase
recommends = qtdeclarative
path = qtremoteobjects
url = ../qtremoteobjects.git
- branch = 5.12
+ branch = dev
status = addon
[submodule "qtwebglplugin"]
depends = qtbase qtwebsockets
recommends = qtdeclarative
path = qtwebglplugin
url = ../qtwebglplugin.git
- branch = 5.12
+ branch = dev
status = addon
diff --git a/_clang-format b/_clang-format
index ee000a1e..ff57c819 100644
--- a/_clang-format
+++ b/_clang-format
@@ -41,7 +41,7 @@ BraceWrapping:
AfterFunction: true
AfterNamespace: false
AfterObjCDeclaration: false
- AfterStruct: false
+ AfterStruct: true
AfterUnion: false
BeforeCatch: false
BeforeElse: false
diff --git a/coin/platform_configs/default.txt b/coin/platform_configs/default.txt
index 8878836c..e4da8523 100644
--- a/coin/platform_configs/default.txt
+++ b/coin/platform_configs/default.txt
@@ -7,7 +7,6 @@ qtci-windows-10-x86_64-10 MSVC2015
qtci-windows-10-x86_64-10 WinRT_10 x86 MSVC2015 Packaging DebugAndRelease Release ForceDebugInfo DisableTests
qtci-windows-10-x86_64-10 WinRT_10 armv7 MSVC2015 Packaging DebugAndRelease Release ForceDebugInfo DisableTests
qtci-windows-10-x86_64-10 MSVC2017 Packaging DebugAndRelease Release ForceDebugInfo OpenGLDynamic
-qtci-linux-Ubuntu-16.04-x86_64-2 GCC DeveloperBuild OutOfSourceBuild QtLibInfix QtNamespace BuildExamples
qtci-linux-Ubuntu-18.04-x86_64 GCC NoWidgets ForceDebugInfo
qtci-linux-Ubuntu-18.04-x86_64 GCC DeveloperBuild OutOfSourceBuild QtLibInfix QtNamespace BuildExamples Documentation
qtci-linux-openSUSE-42.3-x86_64 GCC DeveloperBuild NoPch
diff --git a/coin/platform_configs/qt5.txt b/coin/platform_configs/qt5.txt
index 5a189f25..3de18a74 100644
--- a/coin/platform_configs/qt5.txt
+++ b/coin/platform_configs/qt5.txt
@@ -8,9 +8,9 @@ qtci-windows-10-x86_64-10 Mingw73
qtci-windows-10-x86_64-10 WinRT_10 armv7 MSVC2017 Packaging DebugAndRelease Release ForceDebugInfo DisableTests
qtci-windows-10-x86_64-10 WinRT_10 MSVC2017 Packaging DebugAndRelease Release ForceDebugInfo DisableTests
qtci-linux-RHEL-7.4-x86_64 Android_ANY x86 GCC Clang Packaging Release DisableTests OpenGLES2 NoUseGoldLinker
-qtci-windows-7-x86-3 Android_ANY armv7 Mingw73 Clang Packaging Release DisableTests OpenGLES2
-qtci-windows-7-x86-3 Android_ANY arm64 Mingw73 Clang Packaging Release DisableTests OpenGLES2
-qtci-windows-7-x86-3 Android_ANY x86 Mingw73 Clang Packaging Release DisableTests OpenGLES2
+qtci-windows-10-x86_64-10 Android_ANY armv7 Mingw73 Clang Packaging Release DisableTests OpenGLES2
+qtci-windows-10-x86_64-10 Android_ANY arm64 Mingw73 Clang Packaging Release DisableTests OpenGLES2
+qtci-windows-10-x86_64-10 Android_ANY x86 Mingw73 Clang Packaging Release DisableTests OpenGLES2
qtci-macos-10.13-x86_64-2 Android_ANY armv7 Clang Clang Packaging Release DisableTests OpenGLES2
qtci-macos-10.13-x86_64-2 Android_ANY arm64 Clang Clang Packaging Release DisableTests OpenGLES2
qtci-macos-10.13-x86_64-2 Android_ANY x86 Clang Clang Packaging Release DisableTests OpenGLES2
diff --git a/coin/provisioning/common/linux/docker.sh b/coin/provisioning/common/linux/docker.sh
index 16af0a0a..1d9e8419 100755
--- a/coin/provisioning/common/linux/docker.sh
+++ b/coin/provisioning/common/linux/docker.sh
@@ -2,7 +2,7 @@
#############################################################################
##
-## Copyright (C) 2017 The Qt Company Ltd.
+## 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.
@@ -48,5 +48,8 @@ sudo docker info
sudo curl -L https://github.com/docker/compose/releases/download/1.21.0/docker-compose-$(uname -s)-$(uname -m) -o /usr/local/bin/docker-compose
sudo chmod +x /usr/local/bin/docker-compose
+# Install Avahi to discover Docker containers in the test network
+sudo apt-get install avahi-daemon -y
+
# Start testserver provisioning
-source "${BASH_SOURCE%/*}/testserver/docker_testserver.sh"
+source "${BASH_SOURCE%/*}/docker_testserver.sh"
diff --git a/coin/provisioning/common/linux/testserver/docker_testserver.sh b/coin/provisioning/common/linux/docker_testserver.sh
index 2534c416..2d5d9611 100755
--- a/coin/provisioning/common/linux/testserver/docker_testserver.sh
+++ b/coin/provisioning/common/linux/docker_testserver.sh
@@ -2,7 +2,7 @@
#############################################################################
##
-## Copyright (C) 2017 The Qt Company Ltd.
+## 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.
@@ -35,35 +35,28 @@
set -ex
+case ${BASH_SOURCE[0]} in
+ */linux/*) SERVER_PATH="${BASH_SOURCE[0]%/linux/*}/shared/testserver" ;;
+ */*) SERVER_PATH="${BASH_SOURCE[0]%/*}/../shared/testserver" ;;
+ *) SERVER_PATH="../shared/testserver" ;;
+esac
+
+# testserver shared scripts
+source "$SERVER_PATH/testserver_util.sh"
+
# Using SHA-1 of each server context as the tag of docker images. A tag labels a
# specific image version. It is used by docker compose file (docker-compose.yml)
# to launch the corresponding docker containers. If one of the server contexts
# (./apache2, ./danted, ...) gets changes, all the related compose files in
# qtbase should be updated as well.
-#
-# For example, here's how to get the SHA-1 of apache test server.
-# find ./apache2 -type f -print0 | sort -z | xargs -r0 sha1sum | \
-# awk '{ print $1 }' | sha1sum | awk '{ print $1 }'
-testserver='apache2 squid vsftpd ftp-proxy danted'
+source "$SERVER_PATH/settings.sh"
for server in $testserver
do
- context="${BASH_SOURCE%/*}/$server"
- sha1=$(find $context -type f -print0 | sort -z | xargs -r0 sha1sum | awk '{ print $1 }' | \
- sha1sum | awk '{ print $1 }')
- sudo docker build -t qt-test-server-$server:$sha1 $context
-
- # transition - The fixed tag is temporarily used by CI to pass the qtbase testing.
- case $server in
- apache2) fixed_tag="cc9ea678b92bdda33acb9fa0159bb4ad0f3cd947" ;;
- squid) fixed_tag="577d99307eea9a8cccfec944d25be2bce2fe99cc" ;;
- vsftpd) fixed_tag="18896604c7e90b543e56d80c8a8aabdb65a590d0" ;;
- ftp-proxy) fixed_tag="2c6c8f1ab6a364b540c43d705fb6f15a585cb2af" ;;
- danted) fixed_tag="327dd56c3c35db85b26fac93213a5a1918475bc7" ;;
- esac
- [ -z "$fixed_tag" ] || \
- sudo docker tag qt-test-server-$server:$sha1 qt-test-server-$server:$fixed_tag
+ context="$SERVER_PATH/$server"
+ # Sort files by their SHA-1 and use the accumulated result as the TAG
+ sudo docker build -t qt-test-server-$server:$(sha1tree $context) $context
done
sudo docker images
diff --git a/coin/provisioning/qtci-linux-Ubuntu-16.04-x86/01-systemsetup.sh b/coin/provisioning/common/macos/docker.sh
index ee6af148..96265454 100755
--- a/coin/provisioning/qtci-linux-Ubuntu-16.04-x86/01-systemsetup.sh
+++ b/coin/provisioning/common/macos/docker.sh
@@ -2,7 +2,7 @@
#############################################################################
##
-## Copyright (C) 2017 The Qt Company Ltd.
+## 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.
@@ -33,27 +33,31 @@
##
#############################################################################
-# This script modifies system settings for automated use
-
set -ex
-# shellcheck source=../common/unix/check_and_set_proxy.sh
-source "${BASH_SOURCE%/*}/../common/unix/check_and_set_proxy.sh"
-
-NTS_IP=10.212.2.216
-
-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
-echo "Disable questions on shutdown."
-gsettings set com.canonical.indicator.session suppress-logout-restart-shutdown true
-
-echo "Set Network Test Server address to $NTS_IP in /etc/hosts"
-echo "$NTS_IP qt-test-server qt-test-server.qt-test-net" | sudo tee -a /etc/hosts
-
-if [ "$proxy" != "" ]; then
- echo "Acquire::http::Proxy \"$proxy\";" | sudo tee -a /etc/apt/apt.conf
+# Download and install the Docker Toolbox for macOS (Docker Compose and Docker Machine).
+url="https://download.docker.com/mac/stable/DockerToolbox.pkg"
+target_file="DockerToolbox.pkg"
+
+if [ -x "$(command -v sha1sum)" ]
+then
+ # This part shall be used in CI environment only. The DownloadURL script needs sha1sum
+ # which is not included in the default macOS system. In addition, the cached pkg can't
+ # be downloaded out of the Qt internal network.
+ case ${BASH_SOURCE[0]} in
+ */macos/*) UNIX_PATH="${BASH_SOURCE[0]%/macos/*}/unix" ;;
+ */*) UNIX_PATH="${BASH_SOURCE[0]%/*}/../unix" ;;
+ *) UNIX_PATH="../unix" ;;
+ esac
+
+ source "$UNIX_PATH/DownloadURL.sh"
+ url_cached="http://ci-files01-hki.ci.local/input/windows/DockerToolbox.pkg"
+ sha1="7196d2d30648d486978d29adb5837ff7876517c1"
+ DownloadURL $url_cached $url $sha1 $target_file
+else
+ curl $url -o $target_file
fi
+sudo installer -pkg $target_file -target /
+
+# Start testserver provisioning
+source "${BASH_SOURCE%/*}/docker_testserver.sh"
diff --git a/coin/provisioning/qtci-linux-Ubuntu-16.04-x86/02-apt.sh b/coin/provisioning/common/macos/docker_testserver.sh
index bfbb6a8e..051386ea 100755
--- a/coin/provisioning/qtci-linux-Ubuntu-16.04-x86/02-apt.sh
+++ b/coin/provisioning/common/macos/docker_testserver.sh
@@ -2,7 +2,7 @@
#############################################################################
##
-## Copyright (C) 2017 The Qt Company Ltd.
+## 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.
@@ -33,23 +33,39 @@
##
#############################################################################
-# Install required packages with APT
-
set -ex
-echo "Disabling auto update"
-sudo sed -i 's/APT::Periodic::Update-Package-Lists "1";/APT::Periodic::Update-Package-Lists "0";/' /etc/apt/apt.conf.d/10periodic
-for service in apt-daily.timer apt-daily-upgrade.timer apt-daily.service apt-daily-upgrade.service; do
- sudo systemctl stop $service
- sudo systemctl disable $service
-done
+case ${BASH_SOURCE[0]} in
+ */macos/*) SERVER_PATH="${BASH_SOURCE[0]%/macos/*}/shared/testserver" ;;
+ */*) SERVER_PATH="${BASH_SOURCE[0]%/*}/../shared/testserver" ;;
+ *) SERVER_PATH="../shared/testserver" ;;
+esac
+
+# testserver shared scripts
+source "$SERVER_PATH/testserver_util.sh"
+
+# Nested virtualization - Print CPU features to verify that CI has enabled VT-X/AMD-v support
+cpu_features=$(sysctl -a | grep machdep.cpu.features)
+case $cpu_features in
+ *VMX*) ;;
+ *) echo "VMX not found error! Please make sure Coin has enabled VT-X/AMD-v." >&2; exit 1 ;;
+esac
-installPackages+=(git)
-installPackages+=(p7zip-full)
-installPackages+=(expect)
+# Create docker virtual machine (Boot2docker)
+source "$SERVER_PATH/docker_machine.sh"
-echo "Running update for apt"
-sudo apt-get update
-echo "Installing packages"
-sudo DEBIAN_FRONTEND=noninteractive apt-get -q -y install "${installPackages[@]}"
+# Using SHA-1 of each server context as the tag of docker images. A tag labels a
+# specific image version. It is used by docker compose file (docker-compose.yml)
+# to launch the corresponding docker containers. If one of the server contexts
+# (./apache2, ./danted, ...) gets changes, all the related compose files in
+# qtbase should be updated as well.
+
+source "$SERVER_PATH/settings.sh"
+
+for server in $testserver
+do
+ context="$SERVER_PATH/$server"
+ docker build -t qt-test-server-$server:$(sha1tree $context) $context
+done
+docker images
diff --git a/coin/provisioning/common/linux/testserver/apache2/Dockerfile b/coin/provisioning/common/shared/testserver/apache2/Dockerfile
index b39eb21e..b39eb21e 100644
--- a/coin/provisioning/common/linux/testserver/apache2/Dockerfile
+++ b/coin/provisioning/common/shared/testserver/apache2/Dockerfile
diff --git a/coin/provisioning/common/linux/testserver/danted/Dockerfile b/coin/provisioning/common/shared/testserver/danted/Dockerfile
index 67c1159b..67c1159b 100644
--- a/coin/provisioning/common/linux/testserver/danted/Dockerfile
+++ b/coin/provisioning/common/shared/testserver/danted/Dockerfile
diff --git a/coin/provisioning/common/linux/testserver/danted/danted b/coin/provisioning/common/shared/testserver/danted/danted
index 1da8203e..1da8203e 100755
--- a/coin/provisioning/common/linux/testserver/danted/danted
+++ b/coin/provisioning/common/shared/testserver/danted/danted
diff --git a/coin/provisioning/common/linux/testserver/danted/danted-authenticating b/coin/provisioning/common/shared/testserver/danted/danted-authenticating
index 7aa35db6..7aa35db6 100755
--- a/coin/provisioning/common/linux/testserver/danted/danted-authenticating
+++ b/coin/provisioning/common/shared/testserver/danted/danted-authenticating
diff --git a/coin/provisioning/qtci-linux-Ubuntu-16.04-x86_64/02-git_lfs.sh b/coin/provisioning/common/shared/testserver/docker_machine.sh
index b7adce5b..601056a4 100755
--- a/coin/provisioning/qtci-linux-Ubuntu-16.04-x86_64/02-git_lfs.sh
+++ b/coin/provisioning/common/shared/testserver/docker_machine.sh
@@ -33,11 +33,18 @@
##
#############################################################################
-# Install Git Large File Storage
-
set -ex
-sudo apt-add-repository 'deb https://packagecloud.io/github/git-lfs/ubuntu/ xenial main'
-sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys 37BBEE3F7AD95B3F
-sudo apt update
-sudo apt install git-lfs
+TestMachine='qt-test-server'
+
+# Deploy docker virtual machine (Boot2Docker) into VirtualBox only if it doesn't exist
+if [ -z $(docker-machine ls -q --filter "name=$TestMachine") ]
+then
+ docker-machine create -d virtualbox $TestMachine
+ docker-machine ip $TestMachine
+fi
+
+# Switch the docker engine to $TestMachine
+eval $(docker-machine env $TestMachine)
+
+docker-machine ls
diff --git a/coin/provisioning/common/linux/testserver/ftp-proxy/Dockerfile b/coin/provisioning/common/shared/testserver/ftp-proxy/Dockerfile
index c719c1eb..c719c1eb 100644
--- a/coin/provisioning/common/linux/testserver/ftp-proxy/Dockerfile
+++ b/coin/provisioning/common/shared/testserver/ftp-proxy/Dockerfile
diff --git a/coin/provisioning/qtci-linux-Ubuntu-16.04-x86_64/60-qnx660.sh b/coin/provisioning/common/shared/testserver/settings.sh
index 37aec494..041661f2 100755..100644
--- a/coin/provisioning/qtci-linux-Ubuntu-16.04-x86_64/60-qnx660.sh
+++ b/coin/provisioning/common/shared/testserver/settings.sh
@@ -1,5 +1,3 @@
-#!/bin/env bash
-
#############################################################################
##
## Copyright (C) 2018 The Qt Company Ltd.
@@ -35,4 +33,5 @@
set -ex
-source "${BASH_SOURCE%/*}/../common/linux/qnx_660.sh"
+# A list of test servers to be provisioned
+testserver='apache2 squid vsftpd ftp-proxy danted'
diff --git a/coin/provisioning/common/linux/testserver/squid/Dockerfile b/coin/provisioning/common/shared/testserver/squid/Dockerfile
index f0ed68b3..f0ed68b3 100644
--- a/coin/provisioning/common/linux/testserver/squid/Dockerfile
+++ b/coin/provisioning/common/shared/testserver/squid/Dockerfile
diff --git a/coin/provisioning/qtci-linux-Ubuntu-16.04-x86_64/40-android_linux.sh b/coin/provisioning/common/shared/testserver/testserver_util.sh
index 6784335a..c42fb5e0 100755..100644
--- a/coin/provisioning/qtci-linux-Ubuntu-16.04-x86_64/40-android_linux.sh
+++ b/coin/provisioning/common/shared/testserver/testserver_util.sh
@@ -1,8 +1,6 @@
-#!/bin/bash
-
#############################################################################
##
-## Copyright (C) 2017 The Qt Company Ltd.
+## 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.
@@ -35,4 +33,9 @@
set -ex
-source "${BASH_SOURCE%/*}/../common/linux/android_linux.sh"
+# Sort files by their SHA-1, and then return the accumulated result
+sha1tree () {
+ find "$@" -type f -print0 | \
+ xargs -0 shasum | cut -d ' ' -f 1 | \
+ sort | shasum | cut -d ' ' -f 1
+}
diff --git a/coin/provisioning/common/linux/testserver/vsftpd/Dockerfile b/coin/provisioning/common/shared/testserver/vsftpd/Dockerfile
index af6cd7c7..af6cd7c7 100644
--- a/coin/provisioning/common/linux/testserver/vsftpd/Dockerfile
+++ b/coin/provisioning/common/shared/testserver/vsftpd/Dockerfile
diff --git a/coin/provisioning/common/windows/android-openssl.ps1 b/coin/provisioning/common/windows/android-openssl.ps1
index 5390dfae..a6bcaaeb 100644
--- a/coin/provisioning/common/windows/android-openssl.ps1
+++ b/coin/provisioning/common/windows/android-openssl.ps1
@@ -53,9 +53,9 @@ Rename-Item C:\Utils\openssl-$version $destination
Remove-Item -Path $zip
Remove-Item C:\Utils\openssl-$version.tar
-Set-EnvironmentVariable "CC" "C:\utils\Android\android-ndk-r18b\toolchains\llvm\prebuilt\windows\bin\clang"
-Set-EnvironmentVariable "AR" "C:\utils\Android\android-ndk-r18b\toolchains\llvm\prebuilt\windows\bin\llvm-ar"
-Set-EnvironmentVariable "ANDROID_DEV" "C:\utils\Android\android-ndk-r18b\platforms\android-21\arch-arm\usr"
+# Set-EnvironmentVariable "CC" "C:\utils\Android\android-ndk-r18b\toolchains\llvm\prebuilt\windows\bin\clang"
+# Set-EnvironmentVariable "AR" "C:\utils\Android\android-ndk-r18b\toolchains\llvm\prebuilt\windows\bin\llvm-ar"
+# Set-EnvironmentVariable "ANDROID_DEV" "C:\utils\Android\android-ndk-r18b\platforms\android-21\arch-arm\usr"
# Make sure configure for openssl has a "make" and "perl" available
$env:PATH = $env:PATH + ";C:\msys\1.0\bin;C:\strawberry\perl\bin"
diff --git a/coin/provisioning/qtci-windows-7-x86/04-msys.ps1 b/coin/provisioning/common/windows/msys.ps1
index 24d7a5ca..df67cc20 100644
--- a/coin/provisioning/qtci-windows-7-x86/04-msys.ps1
+++ b/coin/provisioning/common/windows/msys.ps1
@@ -1,4 +1,4 @@
-. "$PSScriptRoot\..\common\windows\helpers.ps1"
+. "$PSScriptRoot\helpers.ps1"
# This script will install msys which is needed for configuring openssl for Android
diff --git a/coin/provisioning/qtci-linux-Ubuntu-16.04-x86/01-disable-cracklib.sh b/coin/provisioning/qtci-linux-Ubuntu-16.04-x86/01-disable-cracklib.sh
deleted file mode 100755
index 8590d4e4..00000000
--- a/coin/provisioning/qtci-linux-Ubuntu-16.04-x86/01-disable-cracklib.sh
+++ /dev/null
@@ -1,4 +0,0 @@
-#!/usr/bin/env bash
-
-# shellcheck source=../common/linux/disable-cracklib.sh
-source "${BASH_SOURCE%/*}/../common/linux/disable-cracklib.sh"
diff --git a/coin/provisioning/qtci-linux-Ubuntu-16.04-x86/01-disable-mlocate.sh b/coin/provisioning/qtci-linux-Ubuntu-16.04-x86/01-disable-mlocate.sh
deleted file mode 100755
index f12cff1e..00000000
--- a/coin/provisioning/qtci-linux-Ubuntu-16.04-x86/01-disable-mlocate.sh
+++ /dev/null
@@ -1,4 +0,0 @@
-#!/usr/bin/env bash
-BASEDIR=$(dirname "$0")
-# shellcheck source=../common/linux/disable-mlocate.sh
-"$BASEDIR/../common/linux/disable-mlocate.sh"
diff --git a/coin/provisioning/qtci-linux-Ubuntu-16.04-x86/01-remove_update-manager b/coin/provisioning/qtci-linux-Ubuntu-16.04-x86/01-remove_update-manager
deleted file mode 100755
index 12302976..00000000
--- a/coin/provisioning/qtci-linux-Ubuntu-16.04-x86/01-remove_update-manager
+++ /dev/null
@@ -1,4 +0,0 @@
-#!/usr/bin/env bash
-
-# shellcheck source=../common/linux/remove_update-manager.sh
-source "${BASH_SOURCE%/*}/../common/linux/remove_update-manager.sh"
diff --git a/coin/provisioning/qtci-linux-Ubuntu-16.04-x86/90-squish.sh b/coin/provisioning/qtci-linux-Ubuntu-16.04-x86/90-squish.sh
deleted file mode 100755
index 965112af..00000000
--- a/coin/provisioning/qtci-linux-Ubuntu-16.04-x86/90-squish.sh
+++ /dev/null
@@ -1,3 +0,0 @@
-#!/usr/bin/env bash
-BASEDIR=$(dirname "$0")
-"$BASEDIR/../common/unix/squishInstall.sh"
diff --git a/coin/provisioning/qtci-linux-Ubuntu-16.04-x86_64/01-disable-cracklib.sh b/coin/provisioning/qtci-linux-Ubuntu-16.04-x86_64/01-disable-cracklib.sh
deleted file mode 100755
index 8590d4e4..00000000
--- a/coin/provisioning/qtci-linux-Ubuntu-16.04-x86_64/01-disable-cracklib.sh
+++ /dev/null
@@ -1,4 +0,0 @@
-#!/usr/bin/env bash
-
-# shellcheck source=../common/linux/disable-cracklib.sh
-source "${BASH_SOURCE%/*}/../common/linux/disable-cracklib.sh"
diff --git a/coin/provisioning/qtci-linux-Ubuntu-16.04-x86_64/01-disable-mlocate.sh b/coin/provisioning/qtci-linux-Ubuntu-16.04-x86_64/01-disable-mlocate.sh
deleted file mode 100755
index f12cff1e..00000000
--- a/coin/provisioning/qtci-linux-Ubuntu-16.04-x86_64/01-disable-mlocate.sh
+++ /dev/null
@@ -1,4 +0,0 @@
-#!/usr/bin/env bash
-BASEDIR=$(dirname "$0")
-# shellcheck source=../common/linux/disable-mlocate.sh
-"$BASEDIR/../common/linux/disable-mlocate.sh"
diff --git a/coin/provisioning/qtci-linux-Ubuntu-16.04-x86_64/01-remove_update-manager b/coin/provisioning/qtci-linux-Ubuntu-16.04-x86_64/01-remove_update-manager
deleted file mode 100755
index 12302976..00000000
--- a/coin/provisioning/qtci-linux-Ubuntu-16.04-x86_64/01-remove_update-manager
+++ /dev/null
@@ -1,4 +0,0 @@
-#!/usr/bin/env bash
-
-# shellcheck source=../common/linux/remove_update-manager.sh
-source "${BASH_SOURCE%/*}/../common/linux/remove_update-manager.sh"
diff --git a/coin/provisioning/qtci-linux-Ubuntu-16.04-x86_64/01-systemsetup.sh b/coin/provisioning/qtci-linux-Ubuntu-16.04-x86_64/01-systemsetup.sh
deleted file mode 100755
index 938ef37c..00000000
--- a/coin/provisioning/qtci-linux-Ubuntu-16.04-x86_64/01-systemsetup.sh
+++ /dev/null
@@ -1,64 +0,0 @@
-#!/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 modifies system settings for automated use
-
-set -ex
-
-source "${BASH_SOURCE%/*}/../common/unix/check_and_set_proxy.sh"
-
-NTS_IP=10.212.2.216
-
-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
-echo "Disable questions on shutdown."
-gsettings set com.canonical.indicator.session suppress-logout-restart-shutdown true
-echo "Set grub timeout to 0"
-sudo sed -i 's|GRUB_TIMEOUT=10|GRUB_TIMEOUT=0|g' /etc/default/grub
-sudo update-grub
-
-echo "Set Network Test Server address to $NTS_IP in /etc/hosts"
-echo "$NTS_IP qt-test-server qt-test-server.qt-test-net" | sudo tee -a /etc/hosts
-
-if [ "$http_proxy" != "" ]; then
- echo "Acquire::http::Proxy \"$proxy\";" | sudo tee -a /etc/apt/apt.conf
-fi
-
-# This won't be needed for Ubuntu 17 and above, see QTBUG-67757.
-sudo sed -i '/-UnityDecoration-extents/c\ -UnityDecoration-extents: 0 0 0 0;' /usr/share/themes/Ambiance/gtk-3.0/apps/unity.css
diff --git a/coin/provisioning/qtci-linux-Ubuntu-16.04-x86_64/02-apt.sh b/coin/provisioning/qtci-linux-Ubuntu-16.04-x86_64/02-apt.sh
deleted file mode 100755
index 4559151e..00000000
--- a/coin/provisioning/qtci-linux-Ubuntu-16.04-x86_64/02-apt.sh
+++ /dev/null
@@ -1,184 +0,0 @@
-#!/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$
-##
-#############################################################################
-
-# Install required packages with APT
-
-set -ex
-
-echo "Disabling auto update"
-sudo sed -i 's/APT::Periodic::Update-Package-Lists "1";/APT::Periodic::Update-Package-Lists "0";/' /etc/apt/apt.conf.d/10periodic
-for service in apt-daily.timer apt-daily-upgrade.timer apt-daily.service apt-daily-upgrade.service; do
- sudo systemctl stop $service
- sudo systemctl disable $service
-done
-
-# aptdaemon is used by update notifiers and similar and there is no point in having those (the symptom is aptd holding a lock)
-for i in `seq 10`; do
- echo attempting to remove aptdaemon
- sudo DEBIAN_FRONTEND=noninteractive apt-get -q -y remove aptdaemon || true
- # check that aptdaemon is no longer installed
- which aptd > /dev/null || break
- if [[ $i -eq 10 ]]; then
- exit 1
- fi
- sleep 10
-done
-
-# Git is not needed by builds themselves, but is nice to have
-# immediately as one starts debugging
-installPackages+=(git)
-# 7zip is a needed decompressing tool
-installPackages+=(p7zip-full)
-# To be able to mount yocto-cache during builds
-installPackages+=(nfs-common)
-# libssl-dev provides headers for OpenSSL
-installPackages+=(libssl-dev)
-# Needed libraries for X11 support accordingly to https://wiki.qt.io/Building_Qt_5_from_Git
-installPackages+=("^libxcb.*")
-installPackages+=(libxkbcommon-dev)
-installPackages+=(libxkbcommon-x11-dev)
-installPackages+=(libx11-xcb-dev)
-installPackages+=(libglu1-mesa-dev)
-installPackages+=(libxrender-dev)
-installPackages+=(libxi-dev)
-# Enable linking to system dbus
-installPackages+=(libdbus-1-dev)
-# Needed libraries for WebEngine
-installPackages+=(libudev-dev)
-installPackages+=(libegl1-mesa-dev)
-installPackages+=(libfontconfig1-dev)
-installPackages+=(libxss-dev)
-# Common event loop handling
-installPackages+=(libglib2.0-dev)
-# MySQL support
-installPackages+=(libmysqlclient-dev)
-# PostgreSQL support
-installPackages+=(libpq-dev)
-# SQLite support
-installPackages+=(libsqlite3-dev)
-# ODBC support
-installPackages+=(unixodbc-dev)
-# Support for FreeType font engine
-installPackages+=(libfreetype6-dev)
-# Enable the usage of system jpeg libraries
-installPackages+=(libjpeg-dev)
-# Enable support for printer driver
-installPackages+=(libcups2-dev)
-# Install libraries needed for QtMultimedia to be able to support all plugins
-installPackages+=(libasound2-dev)
-installPackages+=(libgstreamer1.0-dev)
-installPackages+=(libgstreamer-plugins-base1.0-dev)
-installPackages+=(libgstreamer-plugins-good1.0-dev)
-installPackages+=(libgstreamer-plugins-bad1.0-dev)
-# Support for cross-building to x86 (needed by WebEngine boot2qt builds)
-installPackages+=(g++-multilib)
-# python2 development package
-installPackages+=(python-pip)
-# python3 development package
-installPackages+=(python3-dev)
-installPackages+=(python3-pip)
-installPackages+=(python3-virtualenv)
-installPackages+=(python3-wheel)
-# Needed to be able to build Yocto
-installPackages+=(chrpath)
-installPackages+=(gawk)
-installPackages+=(texinfo)
-# Automates interactive applications (Needed by RTA to automate configure testing)
-installPackages+=(expect)
-installPackages+=(mesa-common-dev)
-installPackages+=(libgl1-mesa-glx)
-installPackages+=(libgl1-mesa-dev)
-installPackages+=(libegl1-mesa-dev)
-installPackages+=(curl)
-installPackages+=(libicu-dev)
-installPackages+=(zlib1g-dev)
-installPackages+=(zlib1g)
-installPackages+=(zlib1g:i386)
-installPackages+=(openjdk-8-jdk)
-installPackages+=(libgtk-3-dev)
-installPackages+=(ninja-build)
-installPackages+=(libssl-dev)
-installPackages+=(libxcursor-dev)
-installPackages+=(libxcomposite-dev)
-installPackages+=(libxdamage-dev)
-installPackages+=(libxrandr-dev)
-installPackages+=(libfontconfig1-dev)
-installPackages+=(libxss-dev)
-installPackages+=(libsrtp0-dev)
-installPackages+=(libwebp-dev)
-installPackages+=(libjsoncpp-dev)
-installPackages+=(libopus-dev)
-installPackages+=(libminizip-dev)
-installPackages+=(libavutil-dev)
-installPackages+=(libavformat-dev)
-installPackages+=(libavcodec-dev)
-installPackages+=(libevent-dev)
-installPackages+=(bison)
-installPackages+=(flex)
-installPackages+=(gperf)
-installPackages+=(libasound2-dev)
-installPackages+=(libpulse-dev)
-installPackages+=(libxtst-dev)
-installPackages+=(libnspr4-dev)
-installPackages+=(libnss3-dev)
-installPackages+=(libopenal-dev)
-installPackages+=(libbluetooth-dev)
-#VirtualBox for RTA
-installPackages+=(virtualbox)
-installPackages+=(dkms)
-#Pypdf for QSR documentation
-installPackages+=(python-pypdf2)
-
-sudo tee "/etc/apt/sources.list" > /dev/null <<-EOC
-deb [arch=amd64] http://repo-clones.ci.qt.io/apt-mirror/mirror/ubuntu.trumpetti.atm.tut.fi/ubuntu/ xenial main restricted universe multiverse
-deb [arch=amd64] http://repo-clones.ci.qt.io/apt-mirror/mirror/ubuntu.trumpetti.atm.tut.fi/ubuntu/ xenial-updates main restricted universe multiverse
-deb [arch=amd64] http://repo-clones.ci.qt.io/apt-mirror/mirror/ubuntu.trumpetti.atm.tut.fi/ubuntu/ xenial-backports main restricted universe
-deb [arch=amd64] http://repo-clones.ci.qt.io/apt-mirror/mirror/ubuntu.trumpetti.atm.tut.fi/ubuntu/ xenial-security main restricted universe multiverse
-deb [arch=i386] http://repo-clones.ci.qt.io/apt-mirror/mirror/ubuntu.trumpetti.atm.tut.fi/ubuntu/ xenial main restricted universe multiverse
-deb [arch=i386] http://repo-clones.ci.qt.io/apt-mirror/mirror/ubuntu.trumpetti.atm.tut.fi/ubuntu/ xenial-updates main restricted universe multiverse
-deb [arch=i386] http://repo-clones.ci.qt.io/apt-mirror/mirror/ubuntu.trumpetti.atm.tut.fi/ubuntu/ xenial-backports main restricted universe
-deb [arch=i386] http://repo-clones.ci.qt.io/apt-mirror/mirror/ubuntu.trumpetti.atm.tut.fi/ubuntu/ xenial-security main restricted universe multiverse
-EOC
-
-echo "Running update for apt"
-sudo apt-get update
-echo "Installing packages"
-sudo DEBIAN_FRONTEND=noninteractive apt-get -q -y install "${installPackages[@]}"
-
-# Install all needed packages in a special wheel cache directory
-pip3 wheel --wheel-dir $HOME/python3-wheels -r ${BASH_SOURCE%/*}/../common/shared/requirements.txt
-
-source "${BASH_SOURCE%/*}/../common/unix/SetEnvVar.sh"
-SetEnvVar "PYTHON3_WHEEL_CACHE" "$HOME/python3-wheels"
diff --git a/coin/provisioning/qtci-linux-Ubuntu-16.04-x86_64/02-disable-ntp.sh b/coin/provisioning/qtci-linux-Ubuntu-16.04-x86_64/02-disable-ntp.sh
deleted file mode 100755
index ca31a876..00000000
--- a/coin/provisioning/qtci-linux-Ubuntu-16.04-x86_64/02-disable-ntp.sh
+++ /dev/null
@@ -1,3 +0,0 @@
-#!/usr/bin/env bash
-
-source "${BASH_SOURCE%/*}/../common/linux/disable-ntp_linux.sh"
diff --git a/coin/provisioning/qtci-linux-Ubuntu-16.04-x86_64/04-libclang.sh b/coin/provisioning/qtci-linux-Ubuntu-16.04-x86_64/04-libclang.sh
deleted file mode 100755
index 331a14d9..00000000
--- a/coin/provisioning/qtci-linux-Ubuntu-16.04-x86_64/04-libclang.sh
+++ /dev/null
@@ -1,5 +0,0 @@
-#!/usr/bin/env bash
-
-BASEDIR=$(dirname "$0")
-# shellcheck source=../common/unix/libclang.sh
-"$BASEDIR/../common/unix/libclang.sh"
diff --git a/coin/provisioning/qtci-linux-Ubuntu-16.04-x86_64/22-mqtt_broker.sh b/coin/provisioning/qtci-linux-Ubuntu-16.04-x86_64/22-mqtt_broker.sh
deleted file mode 100755
index c2331d16..00000000
--- a/coin/provisioning/qtci-linux-Ubuntu-16.04-x86_64/22-mqtt_broker.sh
+++ /dev/null
@@ -1,36 +0,0 @@
-#!/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$
-##
-#############################################################################
-
-source "${BASH_SOURCE%/*}/../common/unix/mqtt_broker.sh"
diff --git a/coin/provisioning/qtci-linux-Ubuntu-16.04-x86_64/30-fbx.sh b/coin/provisioning/qtci-linux-Ubuntu-16.04-x86_64/30-fbx.sh
deleted file mode 100755
index ca24a70e..00000000
--- a/coin/provisioning/qtci-linux-Ubuntu-16.04-x86_64/30-fbx.sh
+++ /dev/null
@@ -1,6 +0,0 @@
-#!/usr/bin/env bash
-
-set -ex
-
-BASEDIR=$(dirname "$0")
-$BASEDIR/../common/linux/fbx_linux.sh
diff --git a/coin/provisioning/qtci-linux-Ubuntu-16.04-x86_64/40-cmake.sh b/coin/provisioning/qtci-linux-Ubuntu-16.04-x86_64/40-cmake.sh
deleted file mode 100755
index 8f81a7dd..00000000
--- a/coin/provisioning/qtci-linux-Ubuntu-16.04-x86_64/40-cmake.sh
+++ /dev/null
@@ -1,5 +0,0 @@
-#!/bin/bash
-
-BASEDIR=$(dirname "$0")
-$BASEDIR/../common/linux/cmake_linux.sh
-
diff --git a/coin/provisioning/qtci-linux-Ubuntu-16.04-x86_64/50-open62541.sh b/coin/provisioning/qtci-linux-Ubuntu-16.04-x86_64/50-open62541.sh
deleted file mode 100755
index a4b63493..00000000
--- a/coin/provisioning/qtci-linux-Ubuntu-16.04-x86_64/50-open62541.sh
+++ /dev/null
@@ -1,36 +0,0 @@
-#!/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$
-##
-#############################################################################
-
-source "${BASH_SOURCE%/*}/../common/linux/open62541.sh"
diff --git a/coin/provisioning/qtci-linux-Ubuntu-16.04-x86_64/70-qnx700.sh b/coin/provisioning/qtci-linux-Ubuntu-16.04-x86_64/70-qnx700.sh
deleted file mode 100755
index c4740556..00000000
--- a/coin/provisioning/qtci-linux-Ubuntu-16.04-x86_64/70-qnx700.sh
+++ /dev/null
@@ -1,38 +0,0 @@
-#!/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
-
-source "${BASH_SOURCE%/*}/../common/linux/qnx_700.sh"
diff --git a/coin/provisioning/qtci-linux-Ubuntu-16.04-x86_64/90-squish.sh b/coin/provisioning/qtci-linux-Ubuntu-16.04-x86_64/90-squish.sh
deleted file mode 100755
index 27ff15c3..00000000
--- a/coin/provisioning/qtci-linux-Ubuntu-16.04-x86_64/90-squish.sh
+++ /dev/null
@@ -1,4 +0,0 @@
-#!/usr/bin/env bash
-BASEDIR=$(dirname "$0")
-$BASEDIR/../common/unix/squishInstall.sh
-
diff --git a/coin/provisioning/qtci-linux-Ubuntu-18.04-x86_64/02-apt.sh b/coin/provisioning/qtci-linux-Ubuntu-18.04-x86_64/02-apt.sh
index 1d567a3e..0e626936 100755
--- a/coin/provisioning/qtci-linux-Ubuntu-18.04-x86_64/02-apt.sh
+++ b/coin/provisioning/qtci-linux-Ubuntu-18.04-x86_64/02-apt.sh
@@ -159,6 +159,11 @@ installPackages+=(dkms)
installPackages+=(libspeechd-dev)
#Pypdf for PDF reading in RTA tests
installPackages+=(python-pypdf2)
+# Needed for b2qt
+installPackages+=(git-lfs)
+installPackages+=(chrpath)
+installPackages+=(gawk)
+installPackages+=(texinfo)
echo "Running update for apt"
waitLoop
diff --git a/coin/provisioning/qtci-linux-Ubuntu-16.04-x86_64/80-docker.sh b/coin/provisioning/qtci-macos-10.12-x86_64/80-docker.sh
index 4a6681f3..a5d362cb 100755
--- a/coin/provisioning/qtci-linux-Ubuntu-16.04-x86_64/80-docker.sh
+++ b/coin/provisioning/qtci-macos-10.12-x86_64/80-docker.sh
@@ -1,4 +1,4 @@
#!/bin/bash
BASEDIR=$(dirname "$0")
-$BASEDIR/../common/linux/docker.sh
+$BASEDIR/../common/macos/docker.sh
diff --git a/coin/provisioning/qtci-macos-10.13-x86_64/80-docker.sh b/coin/provisioning/qtci-macos-10.13-x86_64/80-docker.sh
new file mode 100755
index 00000000..a5d362cb
--- /dev/null
+++ b/coin/provisioning/qtci-macos-10.13-x86_64/80-docker.sh
@@ -0,0 +1,4 @@
+#!/bin/bash
+
+BASEDIR=$(dirname "$0")
+$BASEDIR/../common/macos/docker.sh
diff --git a/coin/provisioning/qtci-windows-10-x86_64/04-msys.ps1 b/coin/provisioning/qtci-windows-10-x86_64/04-msys.ps1
new file mode 100644
index 00000000..44efea92
--- /dev/null
+++ b/coin/provisioning/qtci-windows-10-x86_64/04-msys.ps1
@@ -0,0 +1 @@
+. "$PSScriptRoot\..\common\windows\msys.ps1"
diff --git a/coin/provisioning/qtci-windows-7-x86/31-android_openssl.ps1 b/coin/provisioning/qtci-windows-10-x86_64/10-openssl_for_android.ps1
index 25c6f28a..25c6f28a 100644
--- a/coin/provisioning/qtci-windows-7-x86/31-android_openssl.ps1
+++ b/coin/provisioning/qtci-windows-10-x86_64/10-openssl_for_android.ps1
diff --git a/coin/provisioning/qtci-windows-7-x86/30-android.ps1 b/coin/provisioning/qtci-windows-10-x86_64/40-android.ps1
index 69799974..69799974 100644
--- a/coin/provisioning/qtci-windows-7-x86/30-android.ps1
+++ b/coin/provisioning/qtci-windows-10-x86_64/40-android.ps1
diff --git a/qt3d b/qt3d
-Subproject 535f71053d3ca193666d7583f1961280d50da9f
+Subproject 59c18801b129ee81487ebd842641cecd0ce1850
diff --git a/qtactiveqt b/qtactiveqt
-Subproject d33a671b159f5316ddb7e39f375a07d8740c9d1
+Subproject ba28e35d7be1a79243812c09894c21dfa5bc6d0
diff --git a/qtandroidextras b/qtandroidextras
-Subproject 8f931f2d48ad6e4b1518142036d7631162f5791
+Subproject ae1a2533f65b3af2e09199b8112509577040fba
diff --git a/qtbase b/qtbase
-Subproject f05cc4144e06fd06eed12a3e427eb49e7ad1cf8
+Subproject 7f34e8b58ca51b8ce0b0d7757ae903ac9e940c8
diff --git a/qtcanvas3d b/qtcanvas3d
-Subproject f0552b1eb14568fa6802191d13a1123effdbb63
+Subproject 62d5d55f5630a02b8af9c86162aeee81955b23c
diff --git a/qtcharts b/qtcharts
-Subproject eb852ca7e5800577762663bc72b1f9d009cf7e5
+Subproject 0b346ad80094dc431c14dd07c83814ae558f7a3
diff --git a/qtconnectivity b/qtconnectivity
-Subproject 193e53e544ebbb5ee60d4ad798648df345679e5
+Subproject 2918cda96a4e8e81381d423ea94abab68c37ae0
diff --git a/qtdatavis3d b/qtdatavis3d
-Subproject 20f42d4c87162992fc2322e65aee1a1e2b1f28a
+Subproject 1b2e311b34b087ab99048e4064176c630fd1a73
diff --git a/qtdeclarative b/qtdeclarative
-Subproject c57681bc376d1d912d23b044c48932fa8f7816d
+Subproject dca7fc3e3a0fe428ed97762a44c15e83607e6d2
diff --git a/qtdoc b/qtdoc
-Subproject ec479952c079c4e3f6b0c015e82f7060af9706b
+Subproject 483b1ca0ed1d55002204e4140cb899850f5d807
diff --git a/qtgamepad b/qtgamepad
-Subproject 2d532f3d84654e75273af4a5a34310413555e00
+Subproject 5eaed740691d7df03424aab37dbae61596fbcc0
diff --git a/qtgraphicaleffects b/qtgraphicaleffects
-Subproject 5b24291329cdbd19b795b4c3d8aafc4ffd916a2
+Subproject 1f36922ea047e6a8c062318a779e9675022cb5b
diff --git a/qtimageformats b/qtimageformats
-Subproject 178b8572d71a34975ffd7ada87227e1b8ed7296
+Subproject 0f8ac893a7fad1d3cdfcc55b511b2d88e4645ba
diff --git a/qtlocation b/qtlocation
-Subproject 1e24cec7e3ebf5f62f5440d848caf6cd9db1e45
+Subproject 0a185f62659cecf15ddefcf8748f73ec79b609f
diff --git a/qtmacextras b/qtmacextras
-Subproject 5d10497214e0dbb3f7d5c2368e5757789ffbbda
+Subproject b0c88d2c4915418a61fed3544c7cec3a66850fb
diff --git a/qtmultimedia b/qtmultimedia
-Subproject 982d4c9505cf427709aac18346dd9df4a13f76c
+Subproject 6dc19a0b10444f33acb1196f1ff85301cb29fae
diff --git a/qtnetworkauth b/qtnetworkauth
-Subproject 71318ed079ddf7c0c3af9d70f64b9519e23b749
+Subproject 6c17b6a43e9340121f97e77f4958b1b5790bc80
diff --git a/qtpurchasing b/qtpurchasing
-Subproject 2de8d672b596c6a67afc2a72a293a08d0a3912d
+Subproject 4e587706797690320f3c37761a3bcc4e9fa6c75
diff --git a/qtquickcontrols b/qtquickcontrols
-Subproject 5e2dfd09b3ace43c2f3dc75c56933c7c723b50f
+Subproject d8f3fb7438bbbe0b807b124f26fe3204ce50c1e
diff --git a/qtquickcontrols2 b/qtquickcontrols2
-Subproject b563bd583a50442b52e47f8c5f149aebafb385f
+Subproject 8bf2dacabf0a9e5d37df6a202ef0a337995fc8e
diff --git a/qtremoteobjects b/qtremoteobjects
-Subproject b513d17fe19c3cf8790d989626521b52f6d1b3d
+Subproject 93b5baaf801e5940428bfe8a1fedd4247f5d9fe
diff --git a/qtscript b/qtscript
-Subproject b65a9693f730f625cda95684acfaefd21538a5d
+Subproject 94f1d4ad6db2e8eaad229cd091ed36f7cdc6d29
diff --git a/qtscxml b/qtscxml
-Subproject 1043e8abd566aa92f63acedbe188a51e83b9555
+Subproject fcf45723722da5b35eb2973337e497ad1c466d1
diff --git a/qtsensors b/qtsensors
-Subproject 36d12d57b0b291b660b2bdb9e1b3ae855e2fc4c
+Subproject 57691296b76125e7dbec26e56d9ccc73da78d1c
diff --git a/qtserialbus b/qtserialbus
-Subproject ce265ff81223bf7a5978e66dba59fb4b10469b9
+Subproject 1550439befd5a68185862b9422714d31790c79e
diff --git a/qtserialport b/qtserialport
-Subproject a15a7f1362454a575a4420cdd89498f42055fe4
+Subproject f39265ba3a3bdcc829c0cd69f69411e01efbf4e
diff --git a/qtspeech b/qtspeech
-Subproject f224e5309bc9ee6bf37eb9be2ed345f2cfcb4ce
+Subproject 6cbb69ae3c1860668709f5e1900f97885a8607f
diff --git a/qtsvg b/qtsvg
-Subproject aa7431fdabc0434bc30ae8af0753be8c1cb9b57
+Subproject 0810edfe82a8977aff4876d68b7ec4f0eb5fe97
diff --git a/qttools b/qttools
-Subproject 32897fd0b98966d22ecbd475a0e6a77ca8b1108
+Subproject b40942bbb86b4aca702b64106c849aceb99031b
diff --git a/qttranslations b/qttranslations
-Subproject 074b73089a4d8e4966ddcab5cdd5e9ec0ac6181
+Subproject 812d36d5f4f7e4858fecd23e18133b21a280dab
diff --git a/qtvirtualkeyboard b/qtvirtualkeyboard
-Subproject 5aaf55adcf3742e05283274ce1b8c721c7da7c8
+Subproject 8037bfb3d0fa5aa9abdb40ace91d7f546b94ce2
diff --git a/qtwayland b/qtwayland
-Subproject 09b6fcf3ec501cb94d89833745264a16c2a7420
+Subproject 5a6020f6efb4f09a77745614c6d1c0369bc5e36
diff --git a/qtwebchannel b/qtwebchannel
-Subproject a7bb269981ad50bd4e8140aa1d9af9e5abd0784
+Subproject a9546c1f49ad943c6a5a1706190a1522c7f4c63
diff --git a/qtwebengine b/qtwebengine
-Subproject 540ca045f883d9961a982573a6c30cb7256b7d2
+Subproject a8b73a1d045bd3d479ae3d7dc2e4fc32c4338a6
diff --git a/qtwebglplugin b/qtwebglplugin
-Subproject d0c4de38ddc18792c7a8a90ef2d0091b51736dd
+Subproject 1baafa8e6f207d6f5ab8b1faaa3c5f7043fe635
diff --git a/qtwebsockets b/qtwebsockets
-Subproject a53a28b971e3ae1a4a2baf7320ba60f5077f559
+Subproject 9440ee8df0cbf374a3cf54ff72543ebfa1ab789
diff --git a/qtwebview b/qtwebview
-Subproject a14a1174cdc7ee2142abd33f85ea820eca90c96
+Subproject 9583ee9ff9c9408475cf90694d6e767cb21de79
diff --git a/qtwinextras b/qtwinextras
-Subproject 669a0856ffb6908f02ee6212073fa5799c63fea
+Subproject e4d279862c6599aedb2992528dff561d93d6e4c
diff --git a/qtx11extras b/qtx11extras
-Subproject 12bfa3cb74b0fb3b9e793dbb2f67cac647e7157
+Subproject 9c9054369147cab72f07735f453af9ee362ebc6
diff --git a/qtxmlpatterns b/qtxmlpatterns
-Subproject 274f162fd41c4de88df7efda9e6ec16a1ca968b
+Subproject 6fc28d438aaac9723a8b40b87b6d77d6841d6dc