diff options
104 files changed, 2174 insertions, 282 deletions
diff --git a/.commit-template b/.commit-template index 26441ac5..aced2afa 100644 --- a/.commit-template +++ b/.commit-template @@ -11,6 +11,7 @@ # # One task per entry. Remember space after colon. #Task-number: +#Coverity-Id: # # ==[ Please wrap at 72 characters ]===================================| # diff --git a/.gitmodules b/.gitmodules index 6d20dc99..8be71f45 100644 --- a/.gitmodules +++ b/.gitmodules @@ -1,66 +1,66 @@ [submodule "qtbase"] path = qtbase url = ../qtbase.git - branch = 5.8 + branch = 5.9 status = essential [submodule "qtsvg"] depends = qtbase path = qtsvg url = ../qtsvg.git - branch = 5.8 + branch = 5.9 status = addon [submodule "qtdeclarative"] depends = qtbase recommends = qtsvg qtxmlpatterns path = qtdeclarative url = ../qtdeclarative.git - branch = 5.8 + branch = 5.9 status = essential [submodule "qtactiveqt"] depends = qtbase path = qtactiveqt url = ../qtactiveqt.git - branch = 5.8 + branch = 5.9 status = addon [submodule "qtscript"] depends = qtbase recommends = qttools path = qtscript url = ../qtscript.git - branch = 5.8 + branch = 5.9 status = deprecated [submodule "qtmultimedia"] depends = qtbase recommends = qtdeclarative path = qtmultimedia url = ../qtmultimedia.git - branch = 5.8 + branch = 5.9 status = essential [submodule "qttools"] depends = qtbase recommends = qtdeclarative qtactiveqt qtwebkit path = qttools url = ../qttools.git - branch = 5.8 + branch = 5.9 status = essential [submodule "qtxmlpatterns"] depends = qtbase path = qtxmlpatterns url = ../qtxmlpatterns.git - branch = 5.8 + branch = 5.9 status = addon [submodule "qttranslations"] depends = qttools path = qttranslations url = ../qttranslations.git - branch = 5.8 + branch = 5.9 status = essential priority = 30 [submodule "qtdoc"] depends = qtdeclarative path = qtdoc url = ../qtdoc.git - branch = 5.8 + branch = 5.9 status = essential priority = 40 [submodule "qtrepotools"] @@ -74,7 +74,7 @@ recommends = qtdeclarative qtlocation qtmultimedia qtsensors qtwebchannel qtxmlpatterns path = qtwebkit url = ../qtwebkit.git - branch = 5.8 + branch = 5.9 status = obsolete project = WebKit.pro priority = 20 @@ -82,7 +82,7 @@ depends = qtwebkit qttools path = qtwebkit-examples url = ../qtwebkit-examples.git - branch = 5.8 + branch = 5.9 status = obsolete [submodule "qtqa"] depends = qtbase @@ -93,17 +93,17 @@ priority = 50 [submodule "qtlocation"] depends = qtbase - recommends = qtdeclarative qtquickcontrols qtserialport + recommends = qtdeclarative qtquickcontrols qtquickcontrols2 qtserialport path = qtlocation url = ../qtlocation.git - branch = 5.8 + branch = 5.9 status = addon [submodule "qtsensors"] depends = qtbase recommends = qtdeclarative path = qtsensors url = ../qtsensors.git - branch = 5.8 + branch = 5.9 status = addon [submodule "qtsystems"] depends = qtbase @@ -136,27 +136,27 @@ recommends = qtdeclarative qtandroidextras path = qtconnectivity url = ../qtconnectivity.git - branch = 5.8 + branch = 5.9 status = addon [submodule "qtwayland"] depends = qtbase recommends = qtdeclarative path = qtwayland url = ../qtwayland.git - branch = 5.8 + branch = 5.9 status = addon [submodule "qt3d"] depends = qtdeclarative qtimageformats recommends = qtgamepad path = qt3d url = ../qt3d.git - branch = 5.8 + branch = 5.9 status = addon [submodule "qtimageformats"] depends = qtbase path = qtimageformats url = ../qtimageformats.git - branch = 5.8 + branch = 5.9 status = addon [submodule "qtquick1"] depends = qtscript @@ -169,51 +169,51 @@ depends = qtdeclarative path = qtgraphicaleffects url = ../qtgraphicaleffects.git - branch = 5.8 + branch = 5.9 status = addon [submodule "qtquickcontrols"] depends = qtdeclarative recommends = qtgraphicaleffects path = qtquickcontrols url = ../qtquickcontrols.git - branch = 5.8 + branch = 5.9 status = essential [submodule "qtserialbus"] depends = qtserialport path = qtserialbus url = ../qtserialbus.git - branch = 5.8 + branch = 5.9 status = addon [submodule "qtserialport"] depends = qtbase path = qtserialport url = ../qtserialport.git - branch = 5.8 + branch = 5.9 status = addon [submodule "qtx11extras"] depends = qtbase path = qtx11extras url = ../qtx11extras.git - branch = 5.8 + branch = 5.9 status = addon [submodule "qtmacextras"] depends = qtbase path = qtmacextras url = ../qtmacextras.git - branch = 5.8 + branch = 5.9 status = addon [submodule "qtwinextras"] depends = qtbase recommends = qtdeclarative qtmultimedia path = qtwinextras url = ../qtwinextras.git - branch = 5.8 + branch = 5.9 status = addon [submodule "qtandroidextras"] depends = qtbase path = qtandroidextras url = ../qtandroidextras.git - branch = 5.8 + branch = 5.9 status = addon [submodule "qtenginio"] depends = qtdeclarative @@ -226,94 +226,101 @@ recommends = qtdeclarative path = qtwebsockets url = ../qtwebsockets.git - branch = 5.8 + branch = 5.9 status = addon [submodule "qtwebchannel"] depends = qtbase recommends = qtdeclarative qtwebsockets path = qtwebchannel url = ../qtwebchannel.git - branch = 5.8 + branch = 5.9 status = addon [submodule "qtwebengine"] depends = qtquickcontrols qtwebchannel recommends = qtlocation qttools + serialize = qtwebkit path = qtwebengine url = ../qtwebengine.git - branch = 5.8 + branch = 5.9 status = addon priority = 10 [submodule "qtcanvas3d"] depends = qtdeclarative path = qtcanvas3d url = ../qtcanvas3d.git - branch = 5.8 + branch = 5.9 status = addon [submodule "qtwebview"] depends = qtdeclarative recommends = qtwebengine path = qtwebview url = ../qtwebview.git - branch = 5.8 + branch = 5.9 status = addon [submodule "qtquickcontrols2"] depends = qtgraphicaleffects path = qtquickcontrols2 url = ../qtquickcontrols2.git - branch = 5.8 + branch = 5.9 status = addon [submodule "qtpurchasing"] depends = qtbase qtandroidextras recommends = qtdeclarative path = qtpurchasing url = ../qtpurchasing.git - branch = 5.8 + branch = 5.9 status = addon [submodule "qtcharts"] depends = qtbase recommends = qtdeclarative qtmultimedia path = qtcharts url = ../qtcharts.git - branch = 5.8 + branch = 5.9 status = addon [submodule "qtdatavis3d"] depends = qtbase recommends = qtdeclarative qtmultimedia path = qtdatavis3d url = ../qtdatavis3d.git - branch = 5.8 + branch = 5.9 status = addon [submodule "qtvirtualkeyboard"] depends = qtbase qtdeclarative qtsvg recommends = qtmultimedia qtquickcontrols path = qtvirtualkeyboard url = ../qtvirtualkeyboard.git - branch = 5.8 + branch = 5.9 status = addon [submodule "qtgamepad"] depends = qtbase recommends = qtdeclarative path = qtgamepad url = ../qtgamepad - branch = 5.8 - status = preview + branch = 5.9 + status = addon [submodule "qtscxml"] depends = qtbase qtdeclarative path = qtscxml url = ../qtscxml - branch = 5.8 + branch = 5.9 status = addon [submodule "qtspeech"] depends = qtbase recommends = qtdeclarative qtmultimedia path = qtspeech url = ../qtspeech - branch = 5.8 + branch = 5.9 status = preview [submodule "qtnetworkauth"] depends = qtbase recommends = qtwebview path = qtnetworkauth url = ../qtnetworkauth - branch = 5.8 + branch = 5.9 + status = preview +[submodule "qtremoteobjects"] + depends = qtbase + path = qtremoteobjects + url = ../qtremoteobjects + branch = 5.9 status = preview diff --git a/coin/README b/coin/README index 2fb3fe2d..80f02fd4 100644 --- a/coin/README +++ b/coin/README @@ -3,6 +3,11 @@ Continuous Integration This directory contains files used by Qt's Continuous Integration system (Coin). +pre-provisioning +---------------- +Contains scripts which are used to install software to tier1 machines manually. +E.g. Visual studio installation takes too long to be included to automatic provisioning of tier2 templates. + provisioning ------------ Contains scripts that apply to different test machines in order to run automatic tests on them. diff --git a/coin/platform_configs/default.txt b/coin/platform_configs/default.txt index 58f7967c..5f9aba51 100644 --- a/coin/platform_configs/default.txt +++ b/coin/platform_configs/default.txt @@ -1,25 +1,26 @@ Template Target OS Target arch Compiler Features ----------------------------------- ------------------- ----------- ----------- ------------------------------------------------------------------------------------- -qtci-windows-8-x86_64 MSVC2013 DeveloperBuild Release BuildExamples -qtci-windows-10-x86_64 MSVC2015 DeveloperBuild Release QtNamespace QtLibInfix -qtci-windows-8-x86 MSVC2013 Packaging DebugAndRelease Release OpenGLDynamic -qtci-windows-8-x86_64 MSVC2013 Packaging DebugAndRelease Release OpenGLDynamic -qtci-windows-7-x86 Mingw53 Packaging DebugAndRelease Release OpenGLDynamic -qtci-windows-10-x86 MSVC2015 Packaging DebugAndRelease Release OpenGLDynamic -qtci-windows-10-x86_64 MSVC2015 Packaging DebugAndRelease Release OpenGLDynamic -qtci-windows-8-x86_64 Windows_Phone_8_1 armv4 MSVC2013 Packaging DebugAndRelease Release DisableTests -qtci-windows-8-x86_64 WinRT_8_1 MSVC2013 Packaging DebugAndRelease Release DisableTests -qtci-linux-Ubuntu-14.04-x86_64 GCC NoWidgets ForceDebugInfo -qtci-linux-Ubuntu-14.04-x86_64 GCC DeveloperBuild OutOfSourceBuild QtLibInfix QtNamespace +qtci-windows-8-x86_64-2 MSVC2013 DeveloperBuild Release BuildExamples +qtci-windows-10-x86_64-5 MSVC2015 DeveloperBuild Release QtNamespace QtLibInfix +qtci-windows-8-x86-2 MSVC2013 Packaging DebugAndRelease Release ForceDebugInfo OpenGLDynamic +qtci-windows-8-x86_64-2 MSVC2013 Packaging DebugAndRelease Release ForceDebugInfo OpenGLDynamic +qtci-windows-7-x86-2 Mingw53 Packaging DebugAndRelease Release OpenGLDynamic +qtci-windows-10-x86-4 MSVC2015 Packaging DebugAndRelease Release ForceDebugInfo OpenGLDynamic +qtci-windows-10-x86_64-5 MSVC2015 Packaging DebugAndRelease Release ForceDebugInfo OpenGLDynamic +qtci-windows-10-x86_64-5 WinRT_10 x86 MSVC2015 Packaging DebugAndRelease Release ForceDebugInfo DisableTests +qtci-windows-10-x86_64-5 WinRT_10 armv7 MSVC2015 Packaging DebugAndRelease Release ForceDebugInfo DisableTests +qtci-linux-Ubuntu-16.04-x86_64 GCC NoWidgets ForceDebugInfo +qtci-linux-Ubuntu-16.04-x86_64 GCC DeveloperBuild OutOfSourceBuild QtLibInfix QtNamespace qtci-linux-openSUSE-42.1-x86_64 GCC DeveloperBuild NoPch -qtci-linux-RHEL-6.6-x86_64 GCC Release +qtci-linux-RHEL-6.6-x86_64 GCC Release ForceDebugInfo qtci-linux-RHEL-7.2-x86_64 GCC Packaging Release NoUseGoldLinker +qtci-macos-10.12-x86_64-8 Clang DebugAndRelease Release DisableTests +qtci-osx-10.11-x86_64-3 Clang DeveloperBuild Release QtNamespace NoPch DisableTests qtci-osx-10.10-x86_64 Clang Packaging DebugAndRelease Release -qtci-osx-10.9-x86_64 Clang DeveloperBuild Release QtNamespace NoPch -qtci-osx-10.9-x86_64 Clang Release NoFramework +qtci-osx-10.10-x86_64 Clang DeveloperBuild Release QtNamespace NoPch +qtci-osx-10.10-x86_64 Clang Release NoFramework qtci-osx-10.10-x86_64 IOS_ANY x86_64 Clang Release DisableTests Static -qtci-linux-RHEL-6.6-x86_64 Android_ANY armv7 GCC Packaging Release DisableTests OpenGLES2 NoUseGoldLinker -qtci-linux-Ubuntu-14.04-x86_64 Boot2Qt_Jethro armv7 GCC DisableTests -qtci-linux-Ubuntu-15.04-x86_64 UbuntuTouch_15_04 armv7 GCC Packaging DisableTests OpenGLES2 +qtci-linux-RHEL-7.2-x86_64 Android_ANY armv7 GCC Packaging Release DisableTests OpenGLES2 NoUseGoldLinker +qtci-linux-Ubuntu-16.04-x86_64 Boot2Qt_Jethro x86_64 GCC DisableTests qtci-linux-RHEL-6.6-x86_64 QNX_660 armv7 GCC Packaging Release DisableTests OpenGLES2 NoUseGoldLinker -qtci-linux-Ubuntu-14.04-x86_64 GCC TestOnly LicenseCheck +qtci-linux-Ubuntu-16.04-x86_64 GCC TestOnly LicenseCheck diff --git a/coin/platform_configs/qt5.txt b/coin/platform_configs/qt5.txt index 797d62cd..822ef54c 100644 --- a/coin/platform_configs/qt5.txt +++ b/coin/platform_configs/qt5.txt @@ -1,17 +1,13 @@ Template Target OS Target arch Compiler Features --------------------------- ------------------- ----------- ----------- ------------------------------------------------------------------------------------- -qtci-windows-10-x86_64 WinRT_10 x86 MSVC2015 Packaging DebugAndRelease Release DisableTests -qtci-windows-10-x86_64 WinRT_10 MSVC2015 Packaging DebugAndRelease Release DisableTests -qtci-linux-RHEL-6.6-x86_64 Android_ANY x86 GCC Packaging Release DisableTests OpenGLES2 NoUseGoldLinker -qtci-windows-7-x86 Android_ANY armv7 Mingw49 Packaging Release DisableTests OpenGLES2 -qtci-windows-7-x86 Android_ANY x86 Mingw49 Packaging Release DisableTests OpenGLES2 -qtci-osx-10.10-x86_64 Android_ANY armv7 GCC Packaging Release DisableTests OpenGLES2 -qtci-osx-10.10-x86_64 Android_ANY x86 GCC Packaging Release DisableTests OpenGLES2 +qtci-windows-10-x86_64-5 WinRT_10 MSVC2015 Packaging DebugAndRelease Release DisableTests +qtci-linux-RHEL-7.2-x86_64 Android_ANY x86 GCC Packaging Release DisableTests OpenGLES2 NoUseGoldLinker +qtci-windows-7-x86-2 Android_ANY armv7 Mingw53 Packaging Release DisableTests OpenGLES2 +qtci-windows-7-x86-2 Android_ANY x86 Mingw53 Packaging Release DisableTests OpenGLES2 +qtci-macos-10.12-x86_64-8 Android_ANY armv7 GCC Packaging Release DisableTests OpenGLES2 +qtci-macos-10.12-x86_64-8 Android_ANY x86 GCC Packaging Release DisableTests OpenGLES2 qtci-linux-RHEL-6.6-x86_64 QNX_660 x86 GCC Packaging Release DisableTests OpenGLES2 NoUseGoldLinker -qtci-windows-7-x86 QNX_660 armv7 Mingw49 Packaging Release DisableTests OpenGLES2 -qtci-windows-7-x86 QNX_660 x86 Mingw49 Packaging Release DisableTests OpenGLES2 -qtci-windows-8-x86_64 Windows_Phone_8_1 x86 MSVC2013 Packaging DebugAndRelease Release DisableTests +qtci-windows-7-x86-2 QNX_660 armv7 Mingw53 Packaging Release DisableTests OpenGLES2 +qtci-windows-7-x86-2 QNX_660 x86 Mingw53 Packaging Release DisableTests OpenGLES2 qtci-osx-10.10-x86_64 IOS_ANY multi Clang Packaging DebugAndRelease DisableTests Static - -# target arch is used here only for documentation the value is ignored -qtci-windows-10-x86_64 WinRT_10 armv7 MSVC2015 Packaging DebugAndRelease Release DisableTests +qtci-linux-RHEL-7.2-x86_64 INTEGRITY_11_04 armv7 GCC Packaging Release DisableTests OpenGLES2 NoUseGoldLinker diff --git a/coin/platform_configs/qtdeclarative.txt b/coin/platform_configs/qtdeclarative.txt new file mode 100644 index 00000000..c7552671 --- /dev/null +++ b/coin/platform_configs/qtdeclarative.txt @@ -0,0 +1,3 @@ +Template Target OS Target arch Compiler Features +------------------------------- ------------------- ----------- ----------- ------------------------------------------------------------------------------------- +qtci-linux-Ubuntu-16.04-x86_64 Boot2Qt_Jethro x86_64 GCC DeveloperBuild diff --git a/coin/provisioning/common/msvc2015_update.ps1 b/coin/pre-provisioning/qtci-windows-10-x86/msvc2015_update.ps1 index 618c87c4..fb6a6594 100644 --- a/coin/provisioning/common/msvc2015_update.ps1 +++ b/coin/pre-provisioning/qtci-windows-10-x86/msvc2015_update.ps1 @@ -30,7 +30,7 @@ ## $QT_END_LICENSE$ ## ############################################################################# -. "$PSScriptRoot\helpers.ps1" +. "$PSScriptRoot\..\..\provisioning\common\helpers.ps1" # Install Visual Studio $version with $update_version # Original download page: https://www.visualstudio.com/en-us/news/releasenotes/vs2015-update3-vs diff --git a/coin/pre-provisioning/qtci-windows-10-x86/msvc2017.ps1 b/coin/pre-provisioning/qtci-windows-10-x86/msvc2017.ps1 new file mode 100644 index 00000000..46675c23 --- /dev/null +++ b/coin/pre-provisioning/qtci-windows-10-x86/msvc2017.ps1 @@ -0,0 +1,49 @@ +############################################################################ +## +## 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$ +## +############################################################################# + +. "$PSScriptRoot\..\common\helpers.ps1" + +# This script will install Visual Studio 2017 + +$version = "2017" +$url_cache = "http://ci-files01-hki.ci.local/input/windows/mu_visual_studio_professional_" + $version + "_x86_x64_10049787.exe" +$sha1 = "8d678d27735018a99dc22ddb5412e4e6868991ae" +$msvcPackage = "C:\Windows\Temp\$version.exe" + + +Download $url_cache $url_cache $msvcPackage +Verify-Checksum $msvcPackage $sha1 +cmd /c "$msvcPackage --all --norestart --quiet --wait" +echo "Cleaning $msvcPackage.." +Remove-Item -Recurse -Force "$msvcPackage" +echo "Visual Studio = $version" >> ~\versions.txt diff --git a/coin/pre-provisioning/qtci-windows-10-x86_64/msvc2015_update.ps1 b/coin/pre-provisioning/qtci-windows-10-x86_64/msvc2015_update.ps1 new file mode 100644 index 00000000..fb6a6594 --- /dev/null +++ b/coin/pre-provisioning/qtci-windows-10-x86_64/msvc2015_update.ps1 @@ -0,0 +1,58 @@ +############################################################################# +## +## 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$ +## +############################################################################# +. "$PSScriptRoot\..\..\provisioning\common\helpers.ps1" + +# Install Visual Studio $version with $update_version +# Original download page: https://www.visualstudio.com/en-us/news/releasenotes/vs2015-update3-vs +$version = "2015" +$update_version = "3" + +# Only way to install specific Visual studio release is to use feed.xml. +# Visual Studio $version setup will use the feed.xml that was available when $update_version released -> 'https://msdn.microsoft.com/en-us/library/mt653628.aspx' +# These parameters will install Visual Studio Enterprise Update $update_version (the original Update $update_version without any further Update $update_version-era updates) +$parameters = "/OverrideFeedURI http://download.microsoft.com/download/6/B/B/6BBD3561-D764-4F39-AB8E-05356A122545/20160628.2/enu/feed.xml" + +$msvc_web_installer = "vs" + $version + "_" + $update_version +$package = "C:\Windows\temp\$msvc_web_installer.exe" +$url_cache = "http://ci-files01-hki.ci.local/input/windows/$msvc_web_installer.exe" +$url_official = "https://go.microsoft.com/fwlink/?LinkId=691129" +$sha1 = "68abf90424aff604a04d6c61fb52adcd2cab2266" + +echo "Fetching Visual Studio $version update $update_version..." +Download $url_official $url_cache $package +Verify-Checksum $package $sha1 +echo "Installing Visual studio $version update $update_version..." +cmd /c "$package $parameters /norestart /Quiet" +remove-item $package + +echo "Visual Studio = $version update $update_version" >> ~\versions.txt diff --git a/coin/pre-provisioning/qtci-windows-10-x86_64/msvc2017.ps1 b/coin/pre-provisioning/qtci-windows-10-x86_64/msvc2017.ps1 new file mode 100644 index 00000000..46675c23 --- /dev/null +++ b/coin/pre-provisioning/qtci-windows-10-x86_64/msvc2017.ps1 @@ -0,0 +1,49 @@ +############################################################################ +## +## 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$ +## +############################################################################# + +. "$PSScriptRoot\..\common\helpers.ps1" + +# This script will install Visual Studio 2017 + +$version = "2017" +$url_cache = "http://ci-files01-hki.ci.local/input/windows/mu_visual_studio_professional_" + $version + "_x86_x64_10049787.exe" +$sha1 = "8d678d27735018a99dc22ddb5412e4e6868991ae" +$msvcPackage = "C:\Windows\Temp\$version.exe" + + +Download $url_cache $url_cache $msvcPackage +Verify-Checksum $msvcPackage $sha1 +cmd /c "$msvcPackage --all --norestart --quiet --wait" +echo "Cleaning $msvcPackage.." +Remove-Item -Recurse -Force "$msvcPackage" +echo "Visual Studio = $version" >> ~\versions.txt diff --git a/coin/provisioning/common/01-windows_removethemall.ps1 b/coin/provisioning/common/01-windows_removethemall.ps1 index 9e64a34d..ebbf15dd 100644 --- a/coin/provisioning/common/01-windows_removethemall.ps1 +++ b/coin/provisioning/common/01-windows_removethemall.ps1 @@ -55,11 +55,6 @@ Function Remove-Path { [System.Environment]::SetEnvironmentVariable($name,$value,$type) } -# Remove Python -Remove C:\Python27 -Remove-Path C:\python27\scripts -Remove-Path C:\python27 - # Remove Android sdk and ndk Remove C:\utils\android* [Environment]::SetEnvironmentVariable("ANDROID_NDK_HOME",$null,"User") diff --git a/coin/provisioning/common/DownloadURL.sh b/coin/provisioning/common/DownloadURL.sh index 9bf7fdb7..305f2675 100644 --- a/coin/provisioning/common/DownloadURL.sh +++ b/coin/provisioning/common/DownloadURL.sh @@ -79,6 +79,10 @@ function DownloadURL { echo "Failed downloading PKG from primary and alternative URLs" exit 1; ;; + $ExceptionSHA1) + echo "Failed checksum on $targetFile." + exit 1; + ;; esac } } diff --git a/coin/provisioning/common/InstallAppFromCompressedFileFromURL.sh b/coin/provisioning/common/InstallAppFromCompressedFileFromURL.sh new file mode 100644 index 00000000..b6072062 --- /dev/null +++ b/coin/provisioning/common/InstallAppFromCompressedFileFromURL.sh @@ -0,0 +1,127 @@ +#!/bin/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 receives URLs to a compressed file. It then downloads it, +# uncompresses it and installs it by default +# to /Applications/. This can be overridden by a target parameter. + +# shellcheck source=try_catch.sh +source "${BASH_SOURCE%/*}/try_catch.sh" +# shellcheck source=DownloadURL.sh +source "${BASH_SOURCE%/*}/DownloadURL.sh" + +ExceptionCreateTmpFile=100 +ExceptionCreateTmpDirectory=101 +ExceptionUncompress=102 +ExceptionMoveApp=103 +ExceptionDeleteTmpFile=104 +ExceptionRemoveTmpDirectory=105 +ExceptionUnknownFormat=106 + + +function InstallAppFromCompressedFileFromURL { + url=$1 + url_alt=$2 + expectedSha1=$3 + appPrefix=$4 + target=$5 + + if [ "" == "$target" ]; then + target="/Applications/" + fi + + try + ( + basefilename=${url##*/} + extension=${basefilename##*.} + filename=${basefilename%.*} + if [ "$extension" == "gz" ] && [ "${filename##*.}" == "tar" ]; then + extension="tar.gz" + fi + + echo "Extension for file: $extension" + echo "Creating temporary file and directory" + targetFile=$(mktemp "$TMPDIR$(uuidgen).$extension") || throw $ExceptionCreateTmpFile + targetDirectory=$(mktemp -d) || throw $ExceptionCreateTmpDirectory + DownloadURL "$url" "$url_alt" "$expectedSha1" "$targetFile" + echo "Uncompress $targetFile" + case $extension in + "tar.gz") + tar -xzf "$targetFile" --directory "$targetDirectory" || throw $ExceptionUncompress + ;; + "zip") + unzip "$targetFile" -d "$targetDirectory" || throw $ExceptionUncompress + ;; + *) + throw $ExceptionUnknownFormat + ;; + esac + echo "Moving app to '$target'" + sudo mv "$targetDirectory/$appPrefix/"* "$target" || throw $ExceptionMoveApp + echo "Removing file '$targetFile'" + rm "$targetFile" || throw $ExceptionDeleteTmpFile + echo "Removing directory '$targetDirectory'" + rm -rf "$targetDirectory" || throw $ExceptionRemoveTmpDirectory + ) + + catch || { + case $ex_code in + $ExceptionCreateTmpFile) + echo "Failed to create temporary file" + exit 1; + ;; + $ExceptionUncompress) + echo "Failed extracting compressed file." + exit 1; + ;; + $ExceptionMoveApp) + echo "Failed moving app to '$target'." + exit 1; + ;; + $ExceptionDeleteTmpFile) + echo "Failed deleting temporary file." + exit 1; + ;; + $ExceptionRemoveTmpDirectory) + echo "Failed deleting temporary file." + exit 1; + ;; + $ExceptionUnknownFormat) + echo "Unknown file format." + exit 1; + ;; + esac + } +} diff --git a/coin/provisioning/common/InstallFromCompressedFileFromURL.sh b/coin/provisioning/common/InstallFromCompressedFileFromURL.sh index 1f097d32..e3716597 100644 --- a/coin/provisioning/common/InstallFromCompressedFileFromURL.sh +++ b/coin/provisioning/common/InstallFromCompressedFileFromURL.sh @@ -80,7 +80,7 @@ function InstallFromCompressedFileFromURL { ;; esac echo "Moving app to $installDirectory" - sudo mkdir "$installDirectory" + sudo mkdir -p "$installDirectory" sudo mv "$targetDirectory/$appPrefix/"* "$installDirectory" || throw $ExceptionMoveApp echo "Removing file '$targetFile'" rm "$targetFile" || throw $ExceptionDeleteTmpFile diff --git a/coin/provisioning/common/InstallPKGFromURL.sh b/coin/provisioning/common/InstallPKGFromURL.sh new file mode 100644 index 00000000..07f23d62 --- /dev/null +++ b/coin/provisioning/common/InstallPKGFromURL.sh @@ -0,0 +1,103 @@ +#!/bin/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=try_catch.sh +source "${BASH_SOURCE%/*}/try_catch.sh" + +ExceptionCreateTmpFile=100 +ExceptionDownloadPrimaryUrl=101 +ExceptionDownloadAltUrl=102 +ExceptionSHA1=103 +ExceptionInstallerPKG=104 +ExceptionDeleteTmpFile=105 + + +function InstallPKGFromURL { + url=$1 + url_alt=$2 + expectedSha1=$3 + targetDirectory=$4 + + try + ( + echo "Creating temporary file" + targetFile=$(mktemp "$TMPDIR$(uuidgen).pkg") || trow $ExceptionCreateTmpFile + try + ( + echo "Downloading PKG from primary URL '$url'" + curl --fail -L --retry 5 --retry-delay 5 -o "$targetFile" "$url" || throw $ExceptionDownloadPrimaryUrl + ) + catch || { + case $ex_code in + $ExceptionDownloadPrimaryUrl) + echo "Failed to download '$url' multiple times" + echo "Downloading PKG from alternative URL '$url_alt'" + curl --fail -L --retry 5 --retry-delay 5 -o "$targetFile" "$url_alt" || throw $ExceptionDownloadAltUrl + ;; + esac + } + echo "Checking SHA1 on PKG '$targetFile'" + echo "$expectedSha1 *$targetFile" | shasum --check || throw $ExceptionSHA1 + echo "Run installer on PKG" + sudo installer -package "$targetFile" -target "$targetDirectory" || throw $ExceptionInstallerPKG + echo "Removing file '$targetFile'" + rm "$targetFile" || throw $ExceptionDeleteTmpFile + ) + + catch || { + case $ex_code in + $ExceptionCreateTmpFile) + echo "Failed to create temporary file" + exit 1; + ;; + $ExceptionDownloadAltUrl) + echo "Failed downloading PKG from primary and alternative URLs" + exit 1; + ;; + $ExceptionSHA1) + echo "Failed to check sha1sum." + exit 1; + ;; + $ExceptionInstallerPKG) + echo "Failed running installer on PKG." + exit 1; + ;; + $ExceptionDeleteTmpFile) + echo "Failed deleting temporary file." + exit 1; + ;; + esac + } +} diff --git a/coin/provisioning/common/helpers.ps1 b/coin/provisioning/common/helpers.ps1 index 191be290..af7f79ff 100644 --- a/coin/provisioning/common/helpers.ps1 +++ b/coin/provisioning/common/helpers.ps1 @@ -24,7 +24,7 @@ function Extract-7Zip echo "Extracting '$Source' to '$Destination'..." if ((Get-Command "7z.exe" -ErrorAction SilentlyContinue) -eq $null) { - $zipExe = join-path ${env:ProgramFiles(x86)} '7-zip\7z.exe' + $zipExe = join-path (${env:ProgramFiles(x86)}, ${env:ProgramFiles} -ne $null)[0] '7-zip\7z.exe' if (-not (test-path $zipExe)) { $zipExe = join-path ${env:ProgramW6432} '7-zip\7z.exe' if (-not (test-path $zipExe)) { diff --git a/coin/provisioning/common/install_xcode.sh b/coin/provisioning/common/install_xcode.sh new file mode 100755 index 00000000..f8336bad --- /dev/null +++ b/coin/provisioning/common/install_xcode.sh @@ -0,0 +1,83 @@ +#!/bin/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 installs Xcode +# Prerequisites: Have Xcode prefetched to local cache as xz compressed. +# This can be achieved by fetching Xcode_8.xip from Apple Store. +# Uncompress it with 'xar -xf Xcode_8.xip' +# Then get https://gist.githubusercontent.com/pudquick/ff412bcb29c9c1fa4b8d/raw/24b25538ea8df8d0634a2a6189aa581ccc6a5b4b/parse_pbzx2.py +# with which you can run 'python parse_pbzx2.py Content'. +# This will give you a file called "Content.part00.cpio.xz" that +# can be renamed to Xcode_8.xz for this script. + + + +# shellcheck source=../common/try_catch.sh +source "${BASH_SOURCE%/*}/try_catch.sh" + +function InstallXCode() +{ + ExceptionCPIO=103 + ExceptionAcceptLicense=105 + + sourceFile=$1 + version=$2 + + try + ( + echo "Uncompressing and installing '$sourceFile'" + xzcat < "$sourceFile" | (cd /Applications/ && sudo cpio -vdmi) || throw $ExceptionCPIO + + echo "Accept license" + sudo xcodebuild -license accept || throw $ExceptionAcceptLicense + + echo "Xcode = $version" >> ~/versions.txt + ) + catch || { + case $ex_code in + $ExceptionCPIO) + echo "Failed to unarchive .cpio." + exit 1; + ;; + $ExceptionAcceptLicense) + echo "Failed to accept license." + exit 1; + ;; + + esac + } + +} + diff --git a/coin/provisioning/common/02-python.ps1 b/coin/provisioning/common/python.ps1 index 32972830..3edbc412 100644 --- a/coin/provisioning/common/02-python.ps1 +++ b/coin/provisioning/common/python.ps1 @@ -30,39 +30,40 @@ ## $QT_END_LICENSE$ ## ############################################################################# - +param([Int32]$archVer=32) . "$PSScriptRoot\helpers.ps1" # This script installs Python $version. # Python is required for building Qt 5 from source. -$version = "2.7.10" +$version = "2.7.13" $package = "C:\Windows\temp\python-$version.msi" # check bit version -if ([System.Environment]::Is64BitProcess -eq $TRUE) { +if ( $archVer -eq 64 ) { + echo "Running in 64 bit system" $externalUrl = "https://www.python.org/ftp/python/$version/python-$version.amd64.msi" $internalUrl = "http://ci-files01-hki.ci.local/input/windows/python-$version.amd64.msi" - $sha1 = "f3a474f6ab191f9b43034c0fb5c98301553775d4" + $sha1 = "d9113142bae8829365c595735e1ad1f9f5e2894c" } else { $externalUrl = "https://www.python.org/ftp/python/$version/python-$version.msi" $internalUrl = "http://ci-files01-hki.ci.local/input/windows/python-$version.msi" - $sha1 = "9e62f37407e6964ee0374b32869b7b4ab050d12a" + $sha1 = "7e3b54236dbdbea8fe2458db501176578a4d59c0" } echo "Fetching from URL..." Download $externalUrl $internalUrl $package Verify-Checksum $package $sha1 echo "Installing $package..." -cmd /c "$package /q" +cmd /c "msiexec /passive /i $package ALLUSERS=1" # We need to change allowZip64 from 'False' to 'True' to be able to create ZIP files that use the ZIP64 extensions when the zipfile is larger than 2 GB echo "Chancing allowZip64 value to 'True'..." (Get-Content C:\Python27\lib\zipfile.py) | ForEach-Object { $_ -replace "allowZip64=False", "allowZip64=True" } | Set-Content C:\Python27\lib\zipfile.py echo "Remove $package..." del $package -Add-Path $path +[Environment]::SetEnvironmentVariable("Path", $env:Path + ";C:\Python27;C:\Python27\Scripts", [EnvironmentVariableTarget]::Machine) -& python -m ensurepip +C:\Python27\python.exe -m ensurepip # Install python virtual env -pip.exe install virtualenv +C:\Python27\Scripts\pip.exe install virtualenv diff --git a/coin/provisioning/qtci-linux-RHEL-6.6-x86_64/android_linux.sh b/coin/provisioning/qtci-linux-RHEL-6.6-x86_64/android_linux.sh index 1d0630ce..6bb7a37e 100644 --- a/coin/provisioning/qtci-linux-RHEL-6.6-x86_64/android_linux.sh +++ b/coin/provisioning/qtci-linux-RHEL-6.6-x86_64/android_linux.sh @@ -35,13 +35,13 @@ # This script install Android sdk and ndk. -# It also runs update for SDK API level 18, latest SDK tools, latest platform-tools and build-tools version 23.0.3 +# It also runs update for SDK API level 21, latest SDK tools, latest platform-tools and build-tools version 23.0.3 # Build-tools version 23.0.3 is the latest usable version for Red Hat 6. Newer version of build-tools, version 24.x.x, requires GLIBC_2.14, which is not available in Red Hat 6. # Android 16 is the minimum requirement for Qt 5.7 applications, but we need something more recent than that for building Qt itself. -# E.g The Bluetooth features that require Android 18 will disable themselves dynamically when running on an Android 16 device. -# That's why we need to use Andoid-18 API version and decision was made to use it also with Qt 5.6. +# E.g The Bluetooth features that require Android 21 will disable themselves dynamically when running on an Android 16 device. +# That's why we need to use Andoid-21 API version in Qt 5.9. set -e targetFolder="/opt/android" @@ -50,7 +50,7 @@ baseUrl="http://ci-files01-hki.ci.local/input/android" # SDK sdkPackage="android-sdk_r24.4.1-linux.tgz" sdkBuildToolsVersion="23.0.3" -sdkApiLevel="android-18" +sdkApiLevel="android-21" sdkUrl="$baseUrl/$sdkPackage" sdkSha1="725bb360f0f7d04eaccff5a2d57abdd49061326d" sdkTargetFile="$targetFolder/$sdkPackage" @@ -96,13 +96,11 @@ InstallAndroidPackage "$targetFolder" $sdkPackage $sdkUrl $sdkSha1 $sdkTargetFil echo "Installing Android NDK version $ndkPackage..." InstallAndroidPackage "$targetFolder" $ndkPackage $ndkUrl $ndkSha1 $ndkTargetFile "$ndkExtract" $ndkFolderName $ndkName -# run update for Android SDK and install SDK API version 18, latest SDK tools, platform-tools and build-tools -echo "Running Android SDK update for API version 18, SDK-tools, platform-tools and build-tools-$sdkBuildToolsVersion..." +# run update for Android SDK and install SDK API version 21, latest SDK tools, platform-tools and build-tools +echo "Running Android SDK update for API version 21, SDK-tools, platform-tools and build-tools-$sdkBuildToolsVersion..." echo "y" |"$targetFolder"/sdk/tools/android update sdk --no-ui --all --filter $sdkApiLevel,tools,platform-tools,build-tools-$sdkBuildToolsVersion || echo "Failed to run update" -# For Qt 5.6, we by default require API levels 10, 11, 16 and 18, but we can override this by setting ANDROID_API_VERSION=android-18 -# From Qt 5.7 forward, if android-16 is not installed, Qt will automatically use more recent one. -echo 'export ANDROID_API_VERSION=android-18' >> ~/.bashrc +echo 'export ANDROID_API_VERSION=android-21' >> ~/.bashrc # Storage version information to ~/versions.txt, which is used to print version information to provision log. echo "***** Android SDK *****" >> ~/versions.txt @@ -114,4 +112,3 @@ sdkTools="$(grep Pkg.Revision "$targetFolder"/sdk/tools/source.properties | cut echo "Android SDK Tools = $sdkTools" >> ~/versions.txt echo "***** Android NDK *****" >> ~/versions.txt echo "Android NDK Version = $ndkVersion" >> ~/versions.txt - diff --git a/coin/provisioning/qtci-linux-RHEL-6.6-x86_64/install_icu.sh b/coin/provisioning/qtci-linux-RHEL-6.6-x86_64/install_icu.sh index 02ddda3f..42db3716 100644 --- a/coin/provisioning/qtci-linux-RHEL-6.6-x86_64/install_icu.sh +++ b/coin/provisioning/qtci-linux-RHEL-6.6-x86_64/install_icu.sh @@ -68,3 +68,6 @@ sudo cp -a $tempDir/lib/* /usr/lib64 sudo cp -a $tempDir/* /usr/ sudo /sbin/ldconfig + +# Storage version information to ~/versions.txt, which is used to print version information to provision log. +echo "ICU = $icuVersion" >> ~/versions.txt diff --git a/coin/provisioning/qtci-linux-RHEL-7.2-x86_64/01-linux-removethemall.sh b/coin/provisioning/qtci-linux-RHEL-7.2-x86_64/01-linux-removethemall.sh new file mode 100644 index 00000000..38194671 --- /dev/null +++ b/coin/provisioning/qtci-linux-RHEL-7.2-x86_64/01-linux-removethemall.sh @@ -0,0 +1 @@ +"${BASH_SOURCE%/*}/../common/linux-removethemall.sh" diff --git a/coin/provisioning/qtci-linux-RHEL-7.2-x86_64/02-android_linux.sh b/coin/provisioning/qtci-linux-RHEL-7.2-x86_64/02-android_linux.sh new file mode 100644 index 00000000..87569d72 --- /dev/null +++ b/coin/provisioning/qtci-linux-RHEL-7.2-x86_64/02-android_linux.sh @@ -0,0 +1,117 @@ +#!/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 Android sdk and ndk. + +# It also runs update for SDK API level 21, latest SDK tools, latest platform-tools and build-tools version 23.0.3 + +# Build-tools version 23.0.3 is the latest usable version for Red Hat 6. Newer version of build-tools, version 24.x.x, requires GLIBC_2.14, which is not available in Red Hat 6. + +# Android 16 is the minimum requirement for Qt 5.7 applications, but we need something more recent than that for building Qt itself. +# E.g The Bluetooth features that require Android 21 will disable themselves dynamically when running on an Android 16 device. +# That's why we need to use Andoid-21 API version in Qt 5.9. + +set -e +targetFolder="/opt/android" +baseUrl="http://ci-files01-hki.ci.local/input/android" + +# SDK +sdkPackage="android-sdk_r24.4.1-linux.tgz" +sdkBuildToolsVersion="23.0.3" +sdkApiLevel="android-21" +sdkUrl="$baseUrl/$sdkPackage" +sdkSha1="725bb360f0f7d04eaccff5a2d57abdd49061326d" +sdkTargetFile="$targetFolder/$sdkPackage" +sdkExtract="tar -C $targetFolder -zxf $sdkTargetFile" +sdkFolderName="android-sdk-linux" +sdkName="sdk" + +# NDK +ndkVersion="r10e" +ndkPackage="android-ndk-$ndkVersion-linux-x86_64.zip" +ndkUrl="$baseUrl/$ndkPackage" +ndkSha1="f692681b007071103277f6edc6f91cb5c5494a32" +ndkTargetFile="$targetFolder/$ndkPackage" +ndkExtract="unzip $ndkTargetFile -d $targetFolder" +ndkFolderName="android-ndk-$ndkVersion" +ndkName="ndk" + +function InstallAndroidPackage { + targetFolder=$1 + version=$2 + url=$3 + sha1=$4 + targetFile=$5 + extract=$6 + folderName=$7 + name=$8 + + sudo wget --tries=5 --waitretry=5 --output-document="$targetFile" "$url" || echo "Failed to download '$url' multiple times" + echo "$sha1 $targetFile" | sha1sum --check || echo "Failed to check sha1sum" + sudo chmod 755 "$targetFile" + sudo $extract || echo "Failed to extract $url" + sudo chown -R qt:users "$targetFolder"/"$folderName" + sudo mv "$targetFolder"/"$folderName" "$targetFolder"/"$name" || echo "Failed to rename $name" + sudo rm -fr "$targetFolder"/"$version" +} + +sudo mkdir "$targetFolder" + +# Install Android SDK +echo "Installing Android SDK version $sdkPackage..." +InstallAndroidPackage "$targetFolder" $sdkPackage $sdkUrl $sdkSha1 $sdkTargetFile "$sdkExtract" $sdkFolderName $sdkName + +# Install Android NDK +echo "Installing Android NDK version $ndkPackage..." +InstallAndroidPackage "$targetFolder" $ndkPackage $ndkUrl $ndkSha1 $ndkTargetFile "$ndkExtract" $ndkFolderName $ndkName + +# run update for Android SDK and install SDK API version 18, latest SDK tools, platform-tools and build-tools +echo "Running Android SDK update for API version 18, SDK-tools, platform-tools and build-tools-$sdkBuildToolsVersion..." +echo "y" |"$targetFolder"/sdk/tools/android update sdk --no-ui --all --filter $sdkApiLevel,tools,platform-tools,build-tools-$sdkBuildToolsVersion || echo "Failed to run update" + +# For Qt 5.6, we by default require API levels 10, 11, 16 and 18, but we can override this by setting ANDROID_API_VERSION=android-18 +# From Qt 5.7 forward, if android-16 is not installed, Qt will automatically use more recent one. +# echo 'export ANDROID_API_VERSION=$sdkApiLevel' >> ~/.bashrc + +# Storage version information to ~/versions.txt, which is used to print version information to provision log. +echo "***** Android SDK *****" >> ~/versions.txt +echo "Android SDK Api Level = $sdkApiLevel" >> ~/versions.txt +echo "Android SDK Build Tools Version = $sdkBuildToolsVersion" >> ~/versions.txt +platformTools="$(grep Pkg.Revision "$targetFolder"/sdk/platform-tools/source.properties | cut -c14-)" +echo "Android Platform Tools = $platformTools" >> ~/versions.txt +sdkTools="$(grep Pkg.Revision "$targetFolder"/sdk/tools/source.properties | cut -c14-)" +echo "Android SDK Tools = $sdkTools" >> ~/versions.txt +echo "***** Android NDK *****" >> ~/versions.txt +echo "Android NDK Version = $ndkVersion" >> ~/versions.txt diff --git a/coin/provisioning/qtci-linux-RHEL-7.2-x86_64/30-integrity.sh b/coin/provisioning/qtci-linux-RHEL-7.2-x86_64/30-integrity.sh new file mode 100755 index 00000000..ae637a44 --- /dev/null +++ b/coin/provisioning/qtci-linux-RHEL-7.2-x86_64/30-integrity.sh @@ -0,0 +1,55 @@ +#!/bin/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 installs INTEGRITY + +source "${BASH_SOURCE%/*}/../common/InstallFromCompressedFileFromURL.sh" + +version="11.4.4" +PrimaryUrl="http://ci-files01-hki.ci.local/input/integrity/ghs_$version.tar.gz" +AltUrl="$PrimaryUrl" # we lack an external source for this +SHA1="4afa3c15e13c91734951b73f6b21388294c5d794" +targetFolder="/opt/ghs" +appPrefix="" + +InstallFromCompressedFileFromURL "$PrimaryUrl" "$AltUrl" "$SHA1" "$targetFolder" "$appPrefix" + +echo "export INTEGRITY_BSP=platform-cortex-a9" >> ~/.bashrc +echo "export INTEGRITY_PATH=$targetFolder/comp_201654" >> ~/.bashrc +echo "export INTEGRITY_DIR=$targetFolder/int1144" >> ~/.bashrc +echo "export INTEGRITY_GL_INC_DIR=\$INTEGRITY_DIR/INTEGRITY-include/Vivante/sdk/inc" >> ~/.bashrc +echo "export INTEGRITY_GL_LIB_DIR=\$INTEGRITY_DIR/libs/Vivante" >> ~/.bashrc + +echo "INTEGRITY = $version" >> ~/versions.txt diff --git a/coin/provisioning/qtci-linux-RHEL-7.2-x86_64/rhel_packages.sh b/coin/provisioning/qtci-linux-RHEL-7.2-x86_64/rhel_packages.sh index c322bcbf..daf3efab 100644 --- a/coin/provisioning/qtci-linux-RHEL-7.2-x86_64/rhel_packages.sh +++ b/coin/provisioning/qtci-linux-RHEL-7.2-x86_64/rhel_packages.sh @@ -1,9 +1,11 @@ # gstreamer 1 for QtMultimedia # gtk3 style for QtGui/QStyle # libusb1 for tqtc-boot2qt/qdb +# speech-dispatcher-devel for QtSpeech, otherwise it has no backend on Linux sudo yum install -y \ gstreamer1-devel gstreamer1-plugins-base-devel \ gtk3-devel \ - libusb1-devel + libusb1-devel \ + speech-dispatcher-devel diff --git a/coin/provisioning/qtci-linux-Ubuntu-16.04-x86_64/001-suppress-shutdown-indicator.sh b/coin/provisioning/qtci-linux-Ubuntu-16.04-x86_64/001-suppress-shutdown-indicator.sh deleted file mode 100644 index f11263b7..00000000 --- a/coin/provisioning/qtci-linux-Ubuntu-16.04-x86_64/001-suppress-shutdown-indicator.sh +++ /dev/null @@ -1,4 +0,0 @@ -#!/usr/bin/env sh - -# Disable questions on shutdown. -gsettings set com.canonical.indicator.session suppress-logout-restart-shutdown true diff --git a/coin/provisioning/qtci-linux-Ubuntu-16.04-x86_64/001-systemsetup.sh b/coin/provisioning/qtci-linux-Ubuntu-16.04-x86_64/001-systemsetup.sh new file mode 100755 index 00000000..1881ae0b --- /dev/null +++ b/coin/provisioning/qtci-linux-Ubuntu-16.04-x86_64/001-systemsetup.sh @@ -0,0 +1,87 @@ +#!/bin/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 + +# shellcheck source=../common/try_catch.sh +source "${BASH_SOURCE%/*}/../common/try_catch.sh" + +NTS_IP=10.212.2.216 + +ExceptionGsettings1=100 +ExceptionGsettings2=101 +ExceptionGsettings3=102 +ExceptionNTS=103 +ExceptionDISPLAY=104 + +try +( + echo "Timeout for blanking the screen (0 = never)" + gsettings set org.gnome.desktop.session idle-delay 0 || throw $ExceptionGsettings1 + echo "Prevents screen lock when screesaver goes active." + gsettings set org.gnome.desktop.screensaver lock-enabled false || throw $ExceptionGsettings2 + echo "Disable questions on shutdown." + gsettings set com.canonical.indicator.session suppress-logout-restart-shutdown true || throw $ExceptionGsettings3 + + 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 || throw $ExceptionNTS + echo "Set DISPLAY" + echo 'export DISPLAY=":0"' >> ~/.bashrc || throw $ExceptionDISPLAY +) +catch || { + case $ex_code in + $ExceptionGsettings1) + echo "Failed to disable black screen." + exit 1; + ;; + $ExceptionGsettings2) + echo "Failed to prevent screen lock." + exit 1; + ;; + $ExceptionGsettings3) + echo "Failed to disable questions on shutdown." + exit 1; + ;; + $ExceptionNTS) + echo "Failed to set network teset server address into /etc/hosts." + exit 1; + ;; + $ExceptionDISPLAY) + echo "Failed to set DISPLAY into ~/.bashrc." + exit 1; + ;; + esac +} + diff --git a/coin/provisioning/qtci-linux-Ubuntu-16.04-x86_64/002-apt.sh b/coin/provisioning/qtci-linux-Ubuntu-16.04-x86_64/002-apt.sh new file mode 100755 index 00000000..8b28c981 --- /dev/null +++ b/coin/provisioning/qtci-linux-Ubuntu-16.04-x86_64/002-apt.sh @@ -0,0 +1,102 @@ +#!/bin/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 + +source "${BASH_SOURCE%/*}/../common/try_catch.sh" + +ExceptionAPTUpdate=100 +ExceptionAPT=101 +ExceptionSED=102 + +try +( + 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 || throw $ExceptionSED + echo "Running update for apt" + sudo apt update + echo "Installing packages" + # Git is not needed by builds themselves, but is nice to have + # immediately as one starts debugging + sudo DEBIAN_FRONTEND=noninteractive apt -q -y install git || throw $ExceptionAPT + # 7zip is a needed decompressing tool + sudo DEBIAN_FRONTEND=noninteractive apt -q -y install p7zip || throw $ExceptionAPT + # libssl-dev provides headers for OpenSSL + sudo DEBIAN_FRONTEND=noninteractive apt -q -y install libssl-dev || throw $ExceptionAPT + # Needed libraries for X11 support accordingly to https://wiki.qt.io/Building_Qt_5_from_Git + sudo DEBIAN_FRONTEND=noninteractive apt -q -y install "^libxcb.*" libx11-xcb-dev libglu1-mesa-dev libxrender-dev libxi-dev || throw $ExceptionAPT + # Enable linking to system dbus + sudo DEBIAN_FRONTEND=noninteractive apt -q -y install libdbus-1-dev || throw $ExceptionAPT + # Needed libraries for WebEngine + sudo DEBIAN_FRONTEND=noninteractive apt -q -y install libudev-dev libegl1-mesa-dev libfontconfig1-dev libxss-dev || throw $ExceptionAPT + # Common event loop handling + sudo DEBIAN_FRONTEND=noninteractive apt -q -y install libglib2.0-dev || throw $ExceptionAPT + # MySQL support + sudo DEBIAN_FRONTEND=noninteractive apt -q -y install libmysqlclient-dev || throw $ExceptionAPT + # PostgreSQL support + sudo DEBIAN_FRONTEND=noninteractive apt -q -y install libpq-dev || throw $ExceptionAPT + # SQLite support + sudo DEBIAN_FRONTEND=noninteractive apt -q -y install libsqlite3-dev || throw $ExceptionAPT + # ODBC support + sudo DEBIAN_FRONTEND=noninteractive apt -q -y install unixodbc-dev || throw $ExceptionAPT + # Support for FreeType font engine + sudo DEBIAN_FRONTEND=noninteractive apt -q -y install libfreetype6-dev || throw $ExceptionAPT + # Enable the usage of system jpeg libraries + sudo DEBIAN_FRONTEND=noninteractive apt -q -y install libjpeg-dev || throw $ExceptionAPT + # Enable support for printer driver + sudo DEBIAN_FRONTEND=noninteractive apt -q -y install libcups2-dev || throw $ExceptionAPT + # Install libraries needed for QtMultimedia to be able to support all plugins + sudo DEBIAN_FRONTEND=noninteractive apt -q -y install libasound2-dev libgstreamer1.0-dev libgstreamer-plugins-base1.0-dev || throw $ExceptionAPT + sudo DEBIAN_FRONTEND=noninteractive apt -q -y install libgstreamer-plugins-good1.0-dev libgstreamer-plugins-bad1.0-dev || throw $ExceptionAPT + # Support for cross-building to x86 (needed by WebEngine boot2qt builds) + sudo DEBIAN_FRONTEND=noninteractive apt -q -y install g++-multilib || throw $ExceptionAPT +) +catch || { + case $ex_code in + $ExceptionAPTUpdate) + echo "Failed to run APT update." + exit 1; + ;; + $ExceptionAPT) + echo "Failed to install package." + exit 1; + ;; + $ExceptionSED) + echo "Failed to disable auto update." + exit 1; + ;; + esac +} + diff --git a/coin/provisioning/qtci-linux-Ubuntu-16.04-x86_64/003-apt-update.sh b/coin/provisioning/qtci-linux-Ubuntu-16.04-x86_64/003-apt-update.sh deleted file mode 100644 index 2f7e2e47..00000000 --- a/coin/provisioning/qtci-linux-Ubuntu-16.04-x86_64/003-apt-update.sh +++ /dev/null @@ -1,2 +0,0 @@ -#!/usr/bin/env bash -sudo apt-get update diff --git a/coin/provisioning/qtci-linux-Ubuntu-16.04-x86_64/003-qemu.sh b/coin/provisioning/qtci-linux-Ubuntu-16.04-x86_64/003-qemu.sh new file mode 100755 index 00000000..f978003b --- /dev/null +++ b/coin/provisioning/qtci-linux-Ubuntu-16.04-x86_64/003-qemu.sh @@ -0,0 +1,66 @@ +#!/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 -e +# build latest qemu to usermode +sudo apt-get -y install automake autoconf libtool + +tempDir=$(mktemp -d) || echo "Failed to create temporary directory" +git clone git://git.qemu.org/qemu.git "$tempDir" +cd "$tempDir" + +#latest commit from the master proven to work +git checkout c7f1cf01b8245762ca5864e835d84f6677ae8b1f +git submodule update --init pixman +./configure --target-list=arm-linux-user --static +make +sudo make install +rm -rf "$tempDir" + +# Enable binfmt support +sudo apt-get -y install binfmt-support + +# Install qemu binfmt +sudo update-binfmts --package qemu-arm --install arm \ +/usr/local/bin/qemu-arm \ +--magic \ +"\x7f\x45\x4c\x46\x01\x01\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02\x00\x28\x00" \ +--mask \ +"\xff\xff\xff\xff\xff\xff\xff\x00\xff\xff\xff\xff\xff\xff\xff\xff\xfe\xff\xff\xff" + +# First test using QFont fails if fonts-noto-cjk is installed. This happens because +# running fontcache for that font takes > 5 mins when run on QEMU. Running fc-cache +# doesn't help since host version creates cache for a wrong architecture and running +# armv7 fc-cache segfaults on QEMU. +sudo DEBIAN_FRONTEND=noninteractive apt-get -y remove fonts-noto-cjk diff --git a/coin/provisioning/qtci-macos-10.12-x86_64/003-bashprofile.sh b/coin/provisioning/qtci-macos-10.12-x86_64/003-bashprofile.sh new file mode 100644 index 00000000..0fbe7628 --- /dev/null +++ b/coin/provisioning/qtci-macos-10.12-x86_64/003-bashprofile.sh @@ -0,0 +1,5 @@ +#!/bin/sh + +# Read .bashrc if exist +printf -- "# Get the aliases and functions\nif [ -f ~/.bashrc ]; then\n . ~/.bashrc\nfi\n" >> ~/.bash_profile + diff --git a/coin/provisioning/qtci-macos-10.12-x86_64/005-systemsetup.sh b/coin/provisioning/qtci-macos-10.12-x86_64/005-systemsetup.sh new file mode 100755 index 00000000..48430389 --- /dev/null +++ b/coin/provisioning/qtci-macos-10.12-x86_64/005-systemsetup.sh @@ -0,0 +1,117 @@ +#!/bin/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 modified system settings for automated use + +# shellcheck source=../common/try_catch.sh +source "${BASH_SOURCE%/*}/../common/try_catch.sh" + +VNCPassword=qt +NTS_IP=10.212.2.216 + +ExceptionDisableScreensaver=100 +ExceptionSetInitialDelay=101 +ExceptionSetDelay=102 +ExceptionVNC=103 +ExceptionNTS=104 + +try +( + echo "Disable Screensaver" + mkdir -p "$HOME/Library/LaunchAgents" || throw $ExceptionDisableScreensaver + ( + cat >"$HOME/Library/LaunchAgents/no-screensaver.plist" <<EOT +<?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>org.qt.io.screensaver_disable</string> + <key>ProgramArguments</key> + <array> + <string>defaults</string> + <string>-currentHost</string> + <string>write</string> + <string>com.apple.screensaver</string> + <string>idleTime</string> + <string>0</string> + </array> + <key>RunAtLoad</key> + <true/> + <key>KeepAlive</key> + <false/> + </dict> +</plist> +EOT + ) || throw $ExceptionDisableScreensaver + + echo "Set keyboard type rates and delays" + # normal minimum is 15 (225 ms) + defaults write -g InitialKeyRepeat -int 15 || throw $ExceptionSetInitialDelay + # normal minimum is 2 (30 ms) + defaults write -g KeyRepeat -int 2 || throw $ExceptionSetDelay + + echo "Enable remote desktop sharing" + sudo /System/Library/CoreServices/RemoteManagement/ARDAgent.app/Contents/Resources/kickstart -activate -configure -access -on -clientopts -setvnclegacy -vnclegacy yes -clientopts -setvncpw -vncpw $VNCPassword -restart -agent -privs -all || throw $ExceptionVNC + + 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 || throw $ExceptionNTS + +) +catch || { + case $ex_code in + $ExceptionDisableScreensaver) + echo "Failed to disable screensaver." + exit 1; + ;; + $ExceptionSetInitialDelay) + echo "Failed to set initial delay of keyboard." + exit 1; + ;; + $ExceptionSetDelay) + echo "Failed to set delay of keyboard." + exit 1; + ;; + $ExceptionVNC) + echo "Failed to enable VNC." + exit 1; + ;; + $ExceptionNTS) + echo "Failed to set NTS." + exit 1; + ;; + esac +} diff --git a/coin/provisioning/qtci-osx-10.11-x86_64/crashreporter.sh b/coin/provisioning/qtci-macos-10.12-x86_64/006-crashreporter.sh index ba8dbdd3..ba8dbdd3 100644..100755 --- a/coin/provisioning/qtci-osx-10.11-x86_64/crashreporter.sh +++ b/coin/provisioning/qtci-macos-10.12-x86_64/006-crashreporter.sh diff --git a/coin/provisioning/qtci-windows-10-x86_64/06-msvc2015_update.ps1 b/coin/provisioning/qtci-macos-10.12-x86_64/015-xz.sh index 83ff3f48..eca6858c 100644..100755 --- a/coin/provisioning/qtci-windows-10-x86_64/06-msvc2015_update.ps1 +++ b/coin/provisioning/qtci-macos-10.12-x86_64/015-xz.sh @@ -1,3 +1,5 @@ +#!/bin/bash + ############################################################################# ## ## Copyright (C) 2017 The Qt Company Ltd. @@ -30,4 +32,19 @@ ## $QT_END_LICENSE$ ## ############################################################################# -. "$PSScriptRoot\..\common\msvc2015_update.ps1" + +# This script installs XZ-Utils + +# XZ-Utils are needed for uncompressing xz-compressed files + +# shellcheck source=../common/try_catch.sh +source "${BASH_SOURCE%/*}/../common/InstallPKGFromURL.sh" + +PrimaryUrl="http://ci-files01-hki.ci.local/input/mac/macos_10.12_sierra/XZ.pkg" +AltUrl="http://sourceforge.net/projects/macpkg/files/XZ/5.0.7/XZ.pkg" +SHA1="f0c1f82ebcffe0bd4b8b57b6a77805db56b2de67" +DestDir="/" + +InstallPKGFromURL "$PrimaryUrl" "$AltUrl" "$SHA1" "$DestDir" + +echo "XZ = 5.0.7" >> ~/versions.txt diff --git a/coin/provisioning/qtci-macos-10.12-x86_64/020-java.sh b/coin/provisioning/qtci-macos-10.12-x86_64/020-java.sh new file mode 100755 index 00000000..6ae54526 --- /dev/null +++ b/coin/provisioning/qtci-macos-10.12-x86_64/020-java.sh @@ -0,0 +1,128 @@ +#!/bin/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 installs JDK +echo "Installing Java Development Kit" + +# shellcheck source=../common/try_catch.sh +source "${BASH_SOURCE%/*}/../common/try_catch.sh" + +ExceptionDownloadPrimaryUrl=100 +ExceptionDownloadAltUrl=101 +ExceptionSHA1=102 +ExceptionAttachImage=103 +ExceptionInstall=104 +ExceptionDetachImage=105 +ExceptionRemoveTmpFile=106 +ExceptionDisableAutoUpdate=107 + + +url=http://ci-files01-hki.ci.local/input/mac/macos_10.12_sierra/jdk-8u102-macosx-x64.dmg +url_alt=http://download.oracle.com/otn-pub/java/jdk/8u102-b14/jdk-8u102-macosx-x64.dmg +targetFile=/tmp/jdk-8u102-macosx-x64.dmg +expectedSha1=1405af955f14e32aae187b5754a716307db22104 + +try +( + try + ( + echo "Downloading from primary URL '$url'" + curl --fail -L --retry 5 --retry-delay 5 -o "$targetFile" "$url" || throw $ExceptionDownloadPrimaryUrl + ) + catch || { + case $ex_code in + $ExceptionDownloadPrimaryUrl) + echo "Failed to download '$url' multiple times" + echo "Downloading tar.gz from alternative URL '$url_alt'" + curl --fail -L --retry 5 --retry-delay 5 -j -k -H "Cookie: oraclelicense=accept-securebackup-cookie" -o "$targetFile" "$url_alt" || throw $ExceptionDownloadAltUrl + ;; + esac + } + echo "Checking SHA1 on '$targetFile'" + echo "$expectedSha1 *$targetFile" | shasum --check || throw $ExceptionSHA1 + + echo Mounting DMG + hdiutil attach "$targetFile" || throw $ExceptionAttachImage + + echo Installing JDK + (cd /Volumes/JDK\ 8\ Update\ 102/ && sudo installer -package JDK\ 8\ Update\ 102.pkg -target /) || throw $ExceptionInstall + + hdiutil detach /dev/disk1s1 || throw $ExceptionDetachImage + + echo "Removing temporary file '$targetFile'" + rm "$targetFile" || throw $ExceptionRemoveTmpFile + + echo "Disable auto update" + sudo defaults write /Library/Preferences/com.oracle.java.Java-Updater JavaAutoUpdateEnabled -bool false || throw $ExceptionDisableAutoUpdate + + echo "JDK Version = 8 update 102" >> ~/versions.txt +) +catch || { + case $ex_code in + $ExceptionDownloadPrimaryUrl) + echo "Failed to download JDK from primary URL." + exit 1; + ;; + $ExceptionDownloadAltUrl) + echo "Failed to download JDK from alternative URL." + exit 1; + ;; + $ExceptionSHA1) + echo "Failed to check SHA1." + exit 1; + ;; + $ExceptionAttachImage) + echo "Failed to attach image." + exit 1; + ;; + $ExceptionInstall) + echo "Failed to install JDK." + exit 1; + ;; + $ExceptionDetachImage) + echo "Failed to detach image." + exit 1; + ;; + $ExceptionRemoveTmpFile) + echo "Failed to remove temporary file." + exit 1; + ;; + $ExceptionDisableAutoUpdate) + echo "Failed to disable auto update." + exit 1; + ;; + + esac +} diff --git a/coin/provisioning/qtci-macos-10.12-x86_64/020-xcode.sh b/coin/provisioning/qtci-macos-10.12-x86_64/020-xcode.sh new file mode 100755 index 00000000..97ce19ba --- /dev/null +++ b/coin/provisioning/qtci-macos-10.12-x86_64/020-xcode.sh @@ -0,0 +1,51 @@ +#!/bin/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 installs Xcode +# Prerequisites: Have Xcode prefetched to local cache as xz compressed. +# This can be achieved by fetching Xcode_8.xip from Apple Store. +# Uncompress it with 'xar -xf Xcode_8.xip' +# Then get https://gist.githubusercontent.com/pudquick/ff412bcb29c9c1fa4b8d/raw/24b25538ea8df8d0634a2a6189aa581ccc6a5b4b/parse_pbzx2.py +# with which you can run 'python parse_pbzx2.py Content'. +# This will give you a file called "Content.part00.cpio.xz" that +# can be renamed to Xcode_8.xz for this script. + +# shellcheck source=../common/try_catch.sh +source "${BASH_SOURCE%/*}/../common/try_catch.sh" + +# shellcheck source=../common/install_xcode.sh +source "${BASH_SOURCE%/*}/../common/install_xcode.sh" + +InstallXCode /net/ci-files01-hki.ci.local/hdd/www/input/mac/macos_10.12_sierra/Xcode_8.2.1.xz 8.2.1 diff --git a/coin/provisioning/qtci-macos-10.12-x86_64/025-cmake.sh b/coin/provisioning/qtci-macos-10.12-x86_64/025-cmake.sh new file mode 100755 index 00000000..de025b55 --- /dev/null +++ b/coin/provisioning/qtci-macos-10.12-x86_64/025-cmake.sh @@ -0,0 +1,51 @@ +#!/bin/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 installs CMake + +# CMake is needed for autotests that verify that Qt can be built with CMake + +# shellcheck source=../common/InstallAppFromCompressedFileFromURL.sh +source "${BASH_SOURCE%/*}/../common/InstallAppFromCompressedFileFromURL.sh" + +PrimaryUrl="http://ci-files01-hki.ci.local/input/mac/macos_10.12_sierra/cmake-3.6.2-Darwin-x86_64.tar.gz" +AltUrl="https://cmake.org/files/v3.6/cmake-3.6.2-Darwin-x86_64.tar.gz" +SHA1="13835afa3aea939e07a7ecccedcc041dd8c3a86e" +appPrefix="cmake-3.6.2-Darwin-x86_64" + +InstallAppFromCompressedFileFromURL "$PrimaryUrl" "$AltUrl" "$SHA1" "$appPrefix" + +echo "export PATH=/Applications/CMake.app/Contents/bin:$PATH" >> ~/.bashrc +echo "CMake = 3.6.2" >> ~/versions.txt diff --git a/coin/provisioning/qtci-macos-10.12-x86_64/025-mysql.sh b/coin/provisioning/qtci-macos-10.12-x86_64/025-mysql.sh new file mode 100755 index 00000000..54389916 --- /dev/null +++ b/coin/provisioning/qtci-macos-10.12-x86_64/025-mysql.sh @@ -0,0 +1,54 @@ +#!/bin/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 installs MySQL + +# MySQL is needed for Qt to be able to support MySQL + +# shellcheck source=../common/InstallAppFromCompressedFileFromURL.sh +source "${BASH_SOURCE%/*}/../common/InstallAppFromCompressedFileFromURL.sh" + +PrimaryUrl="http://ci-files01-hki.ci.local/input/mac/macos_10.12_sierra/mysql-5.7.15-osx10.11-x86_64.tar.gz" +AltUrl="https://dev.mysql.com/get/Downloads/MySQL-5.7/mysql-5.7.15-osx10.11-x86_64.tar.gz" +SHA1="07949bd42f350b0504a1536b8830b809b4a34fca" +appPrefix="" +targetDir="/opt/mysql57/" + +sudo mkdir -p "/opt" + +InstallAppFromCompressedFileFromURL "$PrimaryUrl" "$AltUrl" "$SHA1" "$appPrefix" "$targetDir" + +echo "export MYSQLBINPATH=/opt/mysql57/bin" >> ~/.bashrc +echo "MySQL = 5.7.15" >> ~/versions.txt diff --git a/coin/provisioning/qtci-macos-10.12-x86_64/025-postgresql.sh b/coin/provisioning/qtci-macos-10.12-x86_64/025-postgresql.sh new file mode 100755 index 00000000..e699933d --- /dev/null +++ b/coin/provisioning/qtci-macos-10.12-x86_64/025-postgresql.sh @@ -0,0 +1,53 @@ +#!/bin/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 installs PostgreSQL + +# PostgreSQL is needed for Qt to be able to support PostgreSQL + +# shellcheck source=../common/InstallAppFromCompressedFileFromURL.sh +source "${BASH_SOURCE%/*}/../common/InstallAppFromCompressedFileFromURL.sh" + +psqlVersion="9.6.0" + +PrimaryUrl="http://ci-files01-hki.ci.local/input/mac/macos_10.12_sierra/Postgres-$psqlVersion.zip" +AltUrl="https://github.com/PostgresApp/PostgresApp/releases/download/$psqlVersion/Postgres-$psqlVersion.zip" +SHA1="5078e44663787006ca55fa3b5e2be598bed82eb5" +appPrefix="" + +InstallAppFromCompressedFileFromURL "$PrimaryUrl" "$AltUrl" "$SHA1" "$appPrefix" + +echo "export POSTGRESQLBINPATH=/Applications/Postgres.app/Contents/Versions/9.6/bin" >> ~/.bashrc +echo "PostgreSQL = $psqlVersion" >> ~/versions.txt diff --git a/coin/provisioning/qtci-macos-10.12-x86_64/030-android.sh b/coin/provisioning/qtci-macos-10.12-x86_64/030-android.sh new file mode 100755 index 00000000..e5ab2ced --- /dev/null +++ b/coin/provisioning/qtci-macos-10.12-x86_64/030-android.sh @@ -0,0 +1,128 @@ +#!/bin/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 Android sdk and ndk. + +# It also runs update for SDK API, latest SDK tools, latest platform-tools and build-tools version + +# shellcheck source=../common/try_catch.sh +source "${BASH_SOURCE%/*}/../common/try_catch.sh" +# shellcheck source=../common/DownloadURL.sh +source "${BASH_SOURCE%/*}/../common/DownloadURL.sh" + +targetFolder="/opt/android" +sdkTargetFolder="$targetFolder/sdk" + +baseUrl="http://ci-files01-hki.ci.local/input/android" +baseAltUrl="https://dl.google.com/android/repository/" + +toolsVersion="r25.2.5" +toolsFile="tools_$toolsVersion-macosx.zip" +ndkVersion="r10e" +ndkFile="android-ndk-$ndkVersion-darwin-x86_64.zip" +sdkBuildToolsVersion="25.0.2" +sdkApiLevel="android-21" + +toolsSha1="d2168d963ac5b616e3d3ddaf21511d084baf3659" +ndkSha1="6be8598e4ed3d9dd42998c8cb666f0ee502b1294" + +toolsDlUrl="$baseUrl/$toolsFile" +ndkDlUrl="$baseUrl/$ndkFile" +toolsAltDlUrl="$baseAltUrl/$toolsFile" +ndkAltDlUrl="$baseAltUrl/$ndkFile" + +toolsTargetFile="/tmp/$toolsFile" +ndkTargetFile="/tmp/$ndkFile" + +ExceptionUnzipTools=100 +ExceptionUnzipNdk=101 +ExceptionRmTools=102 +ExceptionRmNdk=103 +ExceptionSdkManager=104 + +try +( + DownloadURL "$toolsDlUrl" "$toolsAltDlUrl" "$toolsSha1" "$toolsTargetFile" + DownloadURL "$ndkDlUrl" "$ndkAltDlUrl" "$ndkSha1" "$ndkTargetFile" + echo "Unzipping Android NDK to '$targetFolder'" + sudo unzip -q "$ndkTargetFile" -d "$targetFolder" || throw $ExceptionUnzipNdk + echo "Unzipping Android Tools to '$sdkTargetFolder'" + sudo unzip -q "$toolsTargetFile" -d "$sdkTargetFolder" || throw $ExceptionUnzipTools + + echo "Removing temporary files." + rm "$toolsTargetFile" || throw $ExceptionRmTools + rm "$ndkTargetFile" || throw $ExceptionRmNdk + + echo "Changing ownership of Android files." + sudo chown -R qt:wheel "$targetFolder" + + echo "Running SDK manager for platforms;$sdkApiLevel, tools, platform-tools and build-tools;$sdkBuildToolsVersion." + echo "y" |"$sdkTargetFolder/tools/bin/sdkmanager" "platforms;$sdkApiLevel" "tools" "platform-tools" "build-tools;$sdkBuildToolsVersion" || throw $ExceptionSdkManager + + echo "export ANDROID_SDK_ROOT=$sdkTargetFolder" >> ~/.bashrc + echo "export ANDROID_NDK_HOME=$targetFolder/android-ndk-$ndkVersion" >> ~/.bashrc + echo "export ANDROID_NDK_HOST=darwin-x86_64" >> ~/.bashrc + echo "export ANDROID_API_VERSION=$sdkApiLevel" >> ~/.bashrc + + echo "Android SDK tools = $toolsVersion" >> ~/version.txt + echo "Android SDK Build Tools = $sdkBuildToolsVersion" >> ~/version.txt + echo "Android SDK API level = $sdkApiLevel" >> ~/version.txt + echo "Android NDK = $ndkVersion" >> ~/version.txt +) +catch || { + case $ex_code in + $ExceptionUnzipTools) + echo "Failed to unzip Android SDK Tools." + exit 1; + ;; + $ExceptionUnzipNdk) + echo "Failed to unzip Android NDK." + exit 1; + ;; + $ExceptionRmTools) + echo "Failed to remove temporary tools package '$toolsTargetFile'." + exit 1; + ;; + $ExceptionRmNdk) + echo "Failed to remove temporary NDK package '$ndkTargetFile'." + exit 1; + ;; + $ExceptionSdkManager) + echo "Failed to run sdkmanager." + exit 1; + ;; + esac +} + diff --git a/coin/provisioning/qtci-macos-10.12-x86_64/035-openssl.sh b/coin/provisioning/qtci-macos-10.12-x86_64/035-openssl.sh new file mode 100755 index 00000000..acd0bd74 --- /dev/null +++ b/coin/provisioning/qtci-macos-10.12-x86_64/035-openssl.sh @@ -0,0 +1,117 @@ +#!/bin/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 OpenSSL + +# shellcheck source=../common/try_catch.sh +source "${BASH_SOURCE%/*}/../common/try_catch.sh" +# shellcheck source=../common/InstallFromCompressedFileFromURL.sh +source "${BASH_SOURCE%/*}/../common/InstallFromCompressedFileFromURL.sh" + +opensslVersion="1.0.2k" +opensslFile="openssl-$opensslVersion.tar.gz" +opensslDlUrl="http://ci-files01-hki.ci.local/input/openssl/$opensslFile" +opensslAltDlUrl="https://www.openssl.org/source/$opensslFile" +opensslSha1="5f26a624479c51847ebd2f22bb9f84b3b44dcb44" + +# Below target location has been hard coded into Coin. +# QTQAINFRA-1195 +opensslTargetLocation="/usr/local/opt/openssl" + +ExceptionCD=100 +ExceptionConfig=101 +ExceptionMake=102 +ExceptionInstall=103 +ExceptionLN=104 +ExceptionCertificate=105 +ExceptionCleanup=106 + +try +( + InstallFromCompressedFileFromURL "$opensslDlUrl" "$opensslAltDlUrl" "$opensslSha1" "/tmp/openssl-$opensslVersion" "openssl-$opensslVersion" + cd "/tmp/openssl-$opensslVersion" || throw $ExceptionCD + pwd + sudo ./config --prefix=/usr/local/openssl-$opensslVersion || throw $ExceptionConfig + echo "Running 'make' for OpenSSL" + sudo make --silent > /tmp/openssl_make.log 2>&1 || throw $ExceptionMake + echo "Running 'make install' for OpenSSL" + sudo make --silent install > /tmp/openssl_make_install.log 2>&1 || throw $ExceptionInstall + + path=$(echo "$opensslTargetLocation" | sed -E 's/(.*)\/.*$/\1/') + sudo mkdir -p "$path" + sudo ln -s /usr/local/openssl-$opensslVersion $opensslTargetLocation || throw $ExceptionLN + + echo "export PATH=\"$opensslTargetLocation/bin:$PATH\"" >> ~/.bashrc + echo "export MANPATH=\"$opensslTargetLocation/share/man:$MANPATH\"" >> ~/.bashrc + + security find-certificate -a -p /Library/Keychains/System.keychain | sudo tee -a $opensslTargetLocation/ssl/cert.pem || throw $ExceptionCertificate + security find-certificate -a -p /System/Library/Keychains/SystemRootCertificates.keychain | sudo tee -a $opensslTargetLocation/ssl/cert.pem || throw $ExceptionCertificate + + sudo rm -rf /tmp/openssl-$opensslVersion || throw $ExceptionCleanup + + echo "OpenSSL = $opensslVersion" >> ~/versions.txt +) +catch || { + case $ex_code in + $ExceptionCD) + echo "Failed to change directory to /tmp/openssl-$opensslVersion." + exit 1; + ;; + $ExceptionConfig) + echo "Failed to run config for OpenSSL." + exit 1; + ;; + $ExceptionMake) + echo "Failed to run 'make' for OpenSSL." + exit 1; + ;; + $ExceptionInstall) + echo "Failed to run 'make install' for OpenSSL." + exit 1; + ;; + $ExceptionLN) + echo "Failed to create a soft link for OpenSSL." + exit 1; + ;; + $ExceptionCertificate) + echo "Failed to install Certificate for OpenSSL." + exit 1; + ;; + $ExceptionCleanup) + echo "Failed to clean up /tmp/openssl-$opensslVersion." + exit 1; + ;; + esac +} diff --git a/coin/provisioning/qtci-osx-10.10-x86_64/android.sh b/coin/provisioning/qtci-osx-10.10-x86_64/android.sh index 559eabd6..fae4f7b9 100644 --- a/coin/provisioning/qtci-osx-10.10-x86_64/android.sh +++ b/coin/provisioning/qtci-osx-10.10-x86_64/android.sh @@ -35,11 +35,12 @@ # This script install Android sdk and ndk. -# It also runs update for SDK API level 18, latest SDK tools, latest platform-tools and - build-tools +# It also runs update for SDK API level 21, latest SDK tools, latest platform-tools and - build-tools # Android 16 is the minimum requirement for Qt 5.7 applications, but we need something more recent than that for building Qt itself. -# E.g The Bluetooth features that require Android 18 will disable themselves dynamically when running on an Android 16 device. -# That's why we need to use Andoid-18 API version and decision was made to use it also with Qt 5.6. +# E.g The Bluetooth features that require Android 21 will disable themselves dynamically when running on an Android 16 device. +# That's why we need to use Andoid-21 API version in Qt 5.9. + set -e targetFolder="/opt/android" @@ -48,7 +49,7 @@ baseUrl="http://ci-files01-hki.ci.local/input/android" # SDK sdkVersion="android-sdk_r24.4.1-macosx.zip" sdkBuildToolsVersion="24.0.2" -sdkApiLevel="android-18" +sdkApiLevel="android-21" sdkUrl="$baseUrl/$sdkVersion" sdkSha1="85a9cccb0b1f9e6f1f616335c5f07107553840cd" sdkTargetFile="$targetFolder/$sdkVersion" @@ -93,10 +94,10 @@ InstallAndroidPackage $targetFolder $sdkVersion $sdkUrl $sdkSha1 $sdkTargetFile echo "Installing Android NDK version $ndkVersion..." InstallAndroidPackage $targetFolder $ndkVersion $ndkUrl $ndkSha1 $ndkTargetFile "$ndkExtract" $ndkFolderName $ndkName -# run update for Android SDK and install SDK API version 18, latest SDK tools, platform-tools and build-tools -echo "Running Android SDK update for API version 18, SDK-tools, platform-tools and build-tools-$sdkBuildToolsVersion..." +# run update for Android SDK and install SDK API version 21, latest SDK tools, platform-tools and build-tools +echo "Running Android SDK update for API version 21, SDK-tools, platform-tools and build-tools-$sdkBuildToolsVersion..." echo "y" |$targetFolder/sdk/tools/android update sdk --no-ui --all --filter $sdkApiLevel,tools,platform-tools,build-tools-$sdkBuildToolsVersion || echo "Failed to run update" -# For Qt 5.6, we by default require API levels 10, 11, 16 and 18, but we can override this by setting ANDROID_API_VERSION=android-18 +# For Qt 5.6, we by default require API levels 10, 11, 16 and 21, but we can override this by setting ANDROID_API_VERSION=android-21 # From Qt 5.7 forward, if android-16 is not installed, Qt will automatically use more recent one. -echo 'export ANDROID_API_VERSION=android-18' >> ~/.bashrc +echo 'export ANDROID_API_VERSION=android-21' >> ~/.bashrc diff --git a/coin/provisioning/qtci-osx-10.11-x86_64/002-disable-screensaver.sh b/coin/provisioning/qtci-osx-10.11-x86_64/002-disable-screensaver.sh deleted file mode 100644 index 44df94e7..00000000 --- a/coin/provisioning/qtci-osx-10.11-x86_64/002-disable-screensaver.sh +++ /dev/null @@ -1,26 +0,0 @@ -#!/bin/sh - -mkdir -p $HOME/Library/LaunchAgents -cat >$HOME/Library/LaunchAgents/no-screensaver.plist <<EOT -<?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>org.qt.io.screensaver_disable</string> - <key>ProgramArguments</key> - <array> - <string>defaults</string> - <string>-currentHost</string> - <string>write</string> - <string>com.apple.screensaver</string> - <string>idleTime</string> - <string>0</string> - </array> - <key>RunAtLoad</key> - <true/> - <key>KeepAlive</key> - <false/> - </dict> -</plist> -EOT diff --git a/coin/provisioning/qtci-osx-10.11-x86_64/005-systemsetup.sh b/coin/provisioning/qtci-osx-10.11-x86_64/005-systemsetup.sh new file mode 100755 index 00000000..47bf03f8 --- /dev/null +++ b/coin/provisioning/qtci-osx-10.11-x86_64/005-systemsetup.sh @@ -0,0 +1,118 @@ +#!/bin/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 modified system settings for automated use + +# shellcheck source=../common/try_catch.sh +source "${BASH_SOURCE%/*}/../common/try_catch.sh" + +VNCPassword=qt +NTS_IP=10.212.2.216 + +ExceptionDisableScreensaver=100 +ExceptionSetInitialDelay=101 +ExceptionSetDelay=102 +ExceptionVNC=103 +ExceptionNTS=104 + +try +( + echo "Disable Screensaver" + mkdir -p "$HOME/Library/LaunchAgents" || throw $ExceptionDisableScreensaver + ( + cat >"$HOME/Library/LaunchAgents/no-screensaver.plist" <<EOT +<?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>org.qt.io.screensaver_disable</string> + <key>ProgramArguments</key> + <array> + <string>defaults</string> + <string>-currentHost</string> + <string>write</string> + <string>com.apple.screensaver</string> + <string>idleTime</string> + <string>0</string> + </array> + <key>RunAtLoad</key> + <true/> + <key>KeepAlive</key> + <false/> + </dict> +</plist> +EOT + ) || throw $ExceptionDisableScreensaver + + echo "Set keyboard type rates and delays" + # normal minimum is 15 (225 ms) + defaults write -g InitialKeyRepeat -int 15 || throw $ExceptionSetInitialDelay + # normal minimum is 2 (30 ms) + defaults write -g KeyRepeat -int 2 || throw $ExceptionSetDelay + + echo "Enable remote desktop sharing" + sudo /System/Library/CoreServices/RemoteManagement/ARDAgent.app/Contents/Resources/kickstart -activate -configure -access -on -clientopts -setvnclegacy -vnclegacy yes -clientopts -setvncpw -vncpw $VNCPassword -restart -agent -privs -all || throw $ExceptionVNC + + 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 || throw $ExceptionNTS + +) +catch || { + case $ex_code in + $ExceptionDisableScreensaver) + echo "Failed to disable screensaver." + exit 1; + ;; + $ExceptionSetInitialDelay) + echo "Failed to set initial delay of keyboard." + exit 1; + ;; + $ExceptionSetDelay) + echo "Failed to set delay of keyboard." + exit 1; + ;; + $ExceptionVNC) + echo "Failed to enable VNC." + exit 1; + ;; + $ExceptionNTS) + echo "Failed to set NTS." + exit 1; + ;; + esac +} + diff --git a/coin/provisioning/qtci-osx-10.11-x86_64/01-macos-removethemall.sh b/coin/provisioning/qtci-osx-10.11-x86_64/01-macos-removethemall.sh deleted file mode 100644 index 6b56aac4..00000000 --- a/coin/provisioning/qtci-osx-10.11-x86_64/01-macos-removethemall.sh +++ /dev/null @@ -1,4 +0,0 @@ -#!/usr/bin/env bash -BASEDIR=$(dirname "$0") -source "$BASEDIR/../common/01-macos-removethemall.sh" - diff --git a/coin/provisioning/qtci-windows-10-x86/06-msvc2015_update.ps1 b/coin/provisioning/qtci-osx-10.11-x86_64/015-xz.sh index 83ff3f48..dcd8fead 100644..100755 --- a/coin/provisioning/qtci-windows-10-x86/06-msvc2015_update.ps1 +++ b/coin/provisioning/qtci-osx-10.11-x86_64/015-xz.sh @@ -1,3 +1,5 @@ +#!/bin/bash + ############################################################################# ## ## Copyright (C) 2017 The Qt Company Ltd. @@ -30,4 +32,19 @@ ## $QT_END_LICENSE$ ## ############################################################################# -. "$PSScriptRoot\..\common\msvc2015_update.ps1" + +# This script installs XZ-Utils + +# XZ-Utils are needed for uncompressing xz-compressed files + +# shellcheck source=../common/try_catch.sh +source "${BASH_SOURCE%/*}/../common/InstallPKGFromURL.sh" + +PrimaryUrl="http://ci-files01-hki.ci.local/input/mac/osx_10.11_el_capitan/XZ.pkg" +AltUrl="http://sourceforge.net/projects/macpkg/files/XZ/5.0.7/XZ.pkg" +SHA1="f0c1f82ebcffe0bd4b8b57b6a77805db56b2de67" +DestDir="/" + +InstallPKGFromURL "$PrimaryUrl" "$AltUrl" "$SHA1" "$DestDir" + +echo "XZ = 5.0.7" >> ~/versions.txt diff --git a/coin/provisioning/qtci-osx-10.11-x86_64/020-xcode.sh b/coin/provisioning/qtci-osx-10.11-x86_64/020-xcode.sh new file mode 100755 index 00000000..7555c752 --- /dev/null +++ b/coin/provisioning/qtci-osx-10.11-x86_64/020-xcode.sh @@ -0,0 +1,53 @@ +#!/bin/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 installs Xcode +# Prerequisites: Have Xcode prefetched to local cache as xz compressed. +# This can be achieved by fetching Xcode_8.xip from Apple Store. +# Uncompress it with 'xar -xf Xcode_8.xip' +# Then get https://gist.githubusercontent.com/pudquick/ff412bcb29c9c1fa4b8d/raw/24b25538ea8df8d0634a2a6189aa581ccc6a5b4b/parse_pbzx2.py +# with which you can run 'python parse_pbzx2.py Content'. +# This will give you a file called "Content.part00.cpio.xz" that +# can be renamed to Xcode_8.xz for this script. + + + +# shellcheck source=../common/try_catch.sh +source "${BASH_SOURCE%/*}/../common/try_catch.sh" + +# shellcheck source=../common/install_xcode.sh +source "${BASH_SOURCE%/*}/../common/install_xcode.sh" + +InstallXCode /net/ci-files01-hki.ci.local/hdd/www/input/mac/Xcode_8.2.xz 8.2 diff --git a/coin/provisioning/qtci-osx-10.11-x86_64/025-cmake.sh b/coin/provisioning/qtci-osx-10.11-x86_64/025-cmake.sh new file mode 100755 index 00000000..085225d7 --- /dev/null +++ b/coin/provisioning/qtci-osx-10.11-x86_64/025-cmake.sh @@ -0,0 +1,51 @@ +#!/bin/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 installs CMake + +# CMake is needed for autotests that verify that Qt can be built with CMake + +# shellcheck source=../common/InstallAppFromCompressedFileFromURL.sh +source "${BASH_SOURCE%/*}/../common/InstallAppFromCompressedFileFromURL.sh" + +PrimaryUrl="http://ci-files01-hki.ci.local/input/mac/osx_10.11_el_capitan/cmake-3.6.2-Darwin-x86_64.tar.gz" +AltUrl="https://cmake.org/files/v3.6/cmake-3.6.2-Darwin-x86_64.tar.gz" +SHA1="13835afa3aea939e07a7ecccedcc041dd8c3a86e" +appPrefix="cmake-3.6.2-Darwin-x86_64" + +InstallAppFromCompressedFileFromURL "$PrimaryUrl" "$AltUrl" "$SHA1" "$appPrefix" + +echo "export PATH=/Applications/CMake.app/Contents/bin:$PATH" >> ~/.bashrc +echo "CMake = 3.6.2" >> ~/versions.txt diff --git a/coin/provisioning/qtci-linux-Ubuntu-16.04-x86_64/006-qt-build-dependencies.sh b/coin/provisioning/qtci-osx-10.11-x86_64/025-mysql.sh index 30a6caad..4d938890 100644..100755 --- a/coin/provisioning/qtci-linux-Ubuntu-16.04-x86_64/006-qt-build-dependencies.sh +++ b/coin/provisioning/qtci-osx-10.11-x86_64/025-mysql.sh @@ -1,4 +1,4 @@ -#!/usr/bin/env bash +#!/bin/bash ############################################################################# ## @@ -33,14 +33,23 @@ ## ############################################################################# -sudo apt-get -y build-dep qt5-default +# This script installs MySQL -# qtbase -sudo apt-get -y install "^libxcb.*" libx11-xcb-dev libglu1-mesa-dev libxrender-dev libxi-dev -sudo apt-get -y install libxcb-xinerama0-dev libdbus-1-dev libatspi2.0-dev +# MySQL is needed for Qt to be able to support MySQL -# qtmultimedia -sudo apt-get -y install libasound2-dev libgstreamer0.10-dev libgstreamer-plugins-base0.10-dev +# shellcheck source=../common/InstallAppFromCompressedFileFromURL.sh +source "${BASH_SOURCE%/*}/../common/InstallAppFromCompressedFileFromURL.sh" + +PrimaryUrl="http://ci-files01-hki.ci.local/input/mac/osx_10.11_el_capitan/mysql-5.7.15-osx10.11-x86_64.tar.gz" +AltUrl="https://dev.mysql.com/get/Downloads/MySQL-5.7/mysql-5.7.15-osx10.11-x86_64.tar.gz" +SHA1="07949bd42f350b0504a1536b8830b809b4a34fca" +appPrefix="" +targetDir="/opt/mysql57/" + +sudo mkdir -p "/opt" + +InstallAppFromCompressedFileFromURL "$PrimaryUrl" "$AltUrl" "$SHA1" "$appPrefix" "$targetDir" + +echo "export MYSQLBINPATH=/opt/mysql57/bin" >> ~/.bashrc +echo "MySQL = 5.7.15" >> ~/versions.txt -# qtwebengine -sudo apt-get -y install libssl-dev libxcursor-dev libxcomposite-dev libxdamage-dev libxrandr-dev libfontconfig1-dev libcap-dev libxtst-dev libpulse-dev libudev-dev libpci-dev libnss3-dev libasound2-dev libxss-dev libegl1-mesa-dev gperf bison diff --git a/coin/provisioning/qtci-osx-10.11-x86_64/025-postgresql.sh b/coin/provisioning/qtci-osx-10.11-x86_64/025-postgresql.sh new file mode 100755 index 00000000..381fedf2 --- /dev/null +++ b/coin/provisioning/qtci-osx-10.11-x86_64/025-postgresql.sh @@ -0,0 +1,52 @@ +#!/bin/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 installs PostgreSQL + +# PostgreSQL is needed for Qt to be able to support PostgreSQL + +# shellcheck source=../common/InstallAppFromCompressedFileFromURL.sh +source "${BASH_SOURCE%/*}/../common/InstallAppFromCompressedFileFromURL.sh" + +PrimaryUrl="http://ci-files01-hki.ci.local/input/mac/osx_10.11_el_capitan/Postgres-9.6.0.zip" +AltUrl="https://github.com/PostgresApp/PostgresApp/releases/download/9.6.0/Postgres-9.6.0.zip" +SHA1="5078e44663787006ca55fa3b5e2be598bed82eb5" +appPrefix="" + +InstallAppFromCompressedFileFromURL "$PrimaryUrl" "$AltUrl" "$SHA1" "$appPrefix" + +echo "export POSTGRESQLBINPATH=/Applications/Postgres.app/Contents/Versions/9.6/bin" >> ~/.bashrc +echo "PostgreSQL = 9.6.0" >> ~/versions.txt + diff --git a/coin/provisioning/qtci-osx-10.11-x86_64/android.sh b/coin/provisioning/qtci-osx-10.11-x86_64/android.sh deleted file mode 100644 index 559eabd6..00000000 --- a/coin/provisioning/qtci-osx-10.11-x86_64/android.sh +++ /dev/null @@ -1,102 +0,0 @@ -#!/bin/sh - -############################################################################# -## -## Copyright (C) 2016 The Qt Company Ltd. -## Contact: http://www.qt.io/licensing/ -## -## This file is part of the test suite 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 Android sdk and ndk. - -# It also runs update for SDK API level 18, latest SDK tools, latest platform-tools and - build-tools - -# Android 16 is the minimum requirement for Qt 5.7 applications, but we need something more recent than that for building Qt itself. -# E.g The Bluetooth features that require Android 18 will disable themselves dynamically when running on an Android 16 device. -# That's why we need to use Andoid-18 API version and decision was made to use it also with Qt 5.6. - -set -e -targetFolder="/opt/android" -baseUrl="http://ci-files01-hki.ci.local/input/android" - -# SDK -sdkVersion="android-sdk_r24.4.1-macosx.zip" -sdkBuildToolsVersion="24.0.2" -sdkApiLevel="android-18" -sdkUrl="$baseUrl/$sdkVersion" -sdkSha1="85a9cccb0b1f9e6f1f616335c5f07107553840cd" -sdkTargetFile="$targetFolder/$sdkVersion" -sdkExtract="unzip $sdkTargetFile -d $targetFolder" -sdkFolderName="android-sdk-macosx" -sdkName="sdk" - -# NDK -ndkVersion="android-ndk-r10e-darwin-x86_64.zip" -ndkUrl="$baseUrl/$ndkVersion" -ndkSha1="6be8598e4ed3d9dd42998c8cb666f0ee502b1294" -ndkTargetFile="$targetFolder/$ndkVersion" -ndkExtract="unzip $ndkTargetFile -d $targetFolder" -ndkFolderName="android-ndk-r10e" -ndkName="ndk" - -function InstallAndroidPackage { - targetFolder=$1 - version=$2 - url=$3 - sha1=$4 - targetFile=$5 - extract=$6 - folderName=$7 - name=$8 - - sudo curl --retry 5 --retry-delay 10 --retry-max-time 60 $url -o $targetFile || echo "Failed to download '$url' multiple times" - shasum $targetFile |grep $sha1 || echo "shasum check failed !" - sudo chmod 755 $targetFile - sudo $extract || echo "Failed to extract $url" - sudo chown -R qt:wheel $targetFolder/$folderName - sudo mv $targetFolder/$folderName $targetFolder/$name || echo "Failed to rename $name" - sudo rm -fr $targetFolder/$version || echo "Failed to remove $targetFolder/$version" -} - -sudo mkdir $targetFolder -# Install Android SDK -echo "Installing Android SDK version $sdkVersion..." -InstallAndroidPackage $targetFolder $sdkVersion $sdkUrl $sdkSha1 $sdkTargetFile "$sdkExtract" $sdkFolderName $sdkName - -# Install Android NDK -echo "Installing Android NDK version $ndkVersion..." -InstallAndroidPackage $targetFolder $ndkVersion $ndkUrl $ndkSha1 $ndkTargetFile "$ndkExtract" $ndkFolderName $ndkName - -# run update for Android SDK and install SDK API version 18, latest SDK tools, platform-tools and build-tools -echo "Running Android SDK update for API version 18, SDK-tools, platform-tools and build-tools-$sdkBuildToolsVersion..." -echo "y" |$targetFolder/sdk/tools/android update sdk --no-ui --all --filter $sdkApiLevel,tools,platform-tools,build-tools-$sdkBuildToolsVersion || echo "Failed to run update" - -# For Qt 5.6, we by default require API levels 10, 11, 16 and 18, but we can override this by setting ANDROID_API_VERSION=android-18 -# From Qt 5.7 forward, if android-16 is not installed, Qt will automatically use more recent one. -echo 'export ANDROID_API_VERSION=android-18' >> ~/.bashrc diff --git a/coin/provisioning/qtci-windows-10-x86/02-python.ps1 b/coin/provisioning/qtci-windows-10-x86/02-python.ps1 index 0e401c02..27c618e1 100644 --- a/coin/provisioning/qtci-windows-10-x86/02-python.ps1 +++ b/coin/provisioning/qtci-windows-10-x86/02-python.ps1 @@ -1 +1 @@ -. "$PSScriptRoot\..\common\02-python.ps1" +. "$PSScriptRoot\..\common\python.ps1" 32 diff --git a/coin/provisioning/qtci-windows-10-x86/msvc_2015_update3_patch.ps1 b/coin/provisioning/qtci-windows-10-x86/msvc_2015_update3_patch.ps1 new file mode 100644 index 00000000..f16b5ef4 --- /dev/null +++ b/coin/provisioning/qtci-windows-10-x86/msvc_2015_update3_patch.ps1 @@ -0,0 +1,50 @@ +############################################################################# +## +## 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$ +## +############################################################################# +. "$PSScriptRoot\..\common\helpers.ps1" + +# Install Cumulative Servicing Release Visual Studio 2015 update 3 +# Original download page: https://msdn.microsoft.com/en-us/library/mt752379.aspx +# http://ci-files01-hki.ci.local/input/windows/vs14-kb3165756.exe + +$version = "2015 update3 (KB3165756)" +$package = "C:\Windows\Temp\vs14-kb3165756.exe" +$url_cache = "http://ci-files01-hki.ci.local/input/windows/vs14-kb3165756.exe" +$url_official = "http://go.microsoft.com/fwlink/?LinkID=816878" +$sha1 = "6a21d9b291ca75d44baad95e278fdc0d05d84c02" + +echo "Fetching patch for Visual Studio $version..." +Download $url_official $url_cache $package +Verify-Checksum $package $sha1 +echo "Installing patch for Visual Studio $version..." +cmd /c "$package /norestart /Quiet" +remove-item $package diff --git a/coin/provisioning/qtci-windows-10-x86_64/02-python.ps1 b/coin/provisioning/qtci-windows-10-x86_64/02-python.ps1 index 0e401c02..44c1c5ff 100644 --- a/coin/provisioning/qtci-windows-10-x86_64/02-python.ps1 +++ b/coin/provisioning/qtci-windows-10-x86_64/02-python.ps1 @@ -1 +1 @@ -. "$PSScriptRoot\..\common\02-python.ps1" +. "$PSScriptRoot\..\common\python.ps1" 64 diff --git a/coin/provisioning/qtci-windows-10-x86_64/msvc_2015_update3_patch.ps1 b/coin/provisioning/qtci-windows-10-x86_64/msvc_2015_update3_patch.ps1 new file mode 100644 index 00000000..f16b5ef4 --- /dev/null +++ b/coin/provisioning/qtci-windows-10-x86_64/msvc_2015_update3_patch.ps1 @@ -0,0 +1,50 @@ +############################################################################# +## +## 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$ +## +############################################################################# +. "$PSScriptRoot\..\common\helpers.ps1" + +# Install Cumulative Servicing Release Visual Studio 2015 update 3 +# Original download page: https://msdn.microsoft.com/en-us/library/mt752379.aspx +# http://ci-files01-hki.ci.local/input/windows/vs14-kb3165756.exe + +$version = "2015 update3 (KB3165756)" +$package = "C:\Windows\Temp\vs14-kb3165756.exe" +$url_cache = "http://ci-files01-hki.ci.local/input/windows/vs14-kb3165756.exe" +$url_official = "http://go.microsoft.com/fwlink/?LinkID=816878" +$sha1 = "6a21d9b291ca75d44baad95e278fdc0d05d84c02" + +echo "Fetching patch for Visual Studio $version..." +Download $url_official $url_cache $package +Verify-Checksum $package $sha1 +echo "Installing patch for Visual Studio $version..." +cmd /c "$package /norestart /Quiet" +remove-item $package diff --git a/coin/provisioning/qtci-windows-7-x86/02-python.ps1 b/coin/provisioning/qtci-windows-7-x86/02-python.ps1 index 0e401c02..27c618e1 100644 --- a/coin/provisioning/qtci-windows-7-x86/02-python.ps1 +++ b/coin/provisioning/qtci-windows-7-x86/02-python.ps1 @@ -1 +1 @@ -. "$PSScriptRoot\..\common\02-python.ps1" +. "$PSScriptRoot\..\common\python.ps1" 32 diff --git a/coin/provisioning/qtci-windows-7-x86/06-android.ps1 b/coin/provisioning/qtci-windows-7-x86/06-android.ps1 index 96be39a3..ca641d25 100644 --- a/coin/provisioning/qtci-windows-7-x86/06-android.ps1 +++ b/coin/provisioning/qtci-windows-7-x86/06-android.ps1 @@ -1,10 +1,10 @@ . "$PSScriptRoot\..\common\helpers.ps1" # This script installs Android sdk and ndk -# It also runs update for SDK API level 18, latest SDK tools, latest platform-tools and build-tools version $sdkBuildToolsVersion +# It also runs update for SDK API level 21, latest SDK tools, latest platform-tools and build-tools version $sdkBuildToolsVersion # Android 16 is the minimum requirement for Qt 5.7 applications, but we need something more recent than that for building Qt itself. -# E.g the bluetooth features that require Android 18 will disable themselves dynamically when running on Android 16 device. -# That's why we need to use Andoid-18 API version and decision was made to use it also with Qt 5.6. +# E.g The Bluetooth features that require Android 21 will disable themselves dynamically when running on an Android 16 device. +# That's why we need to use Andoid-21 API version in Qt 5.9. # NDK $ndkVersion = "r10e" @@ -17,7 +17,7 @@ $ndkZip = "c:\Windows\Temp\android_ndk_$ndkVersion.zip" # SDK $sdkVersion = "r24.4.1" $sdkApi = "ANDROID_API_VERSION" -$sdkApiLevel = "android-18" +$sdkApiLevel = "android-21" $sdkBuildToolsVersion = "23.0.3" $sdkCachedUrl= "http://ci-files01-hki.ci.local/input/android/android-sdk_$sdkVersion-windows.zip" $sdkOfficialUrl = "https://dl.google.com/android/android-sdk_$sdkVersion-windows.zip" diff --git a/coin/provisioning/qtci-windows-8-x86/02-python.ps1 b/coin/provisioning/qtci-windows-8-x86/02-python.ps1 deleted file mode 100644 index 0e401c02..00000000 --- a/coin/provisioning/qtci-windows-8-x86/02-python.ps1 +++ /dev/null @@ -1 +0,0 @@ -. "$PSScriptRoot\..\common\02-python.ps1" diff --git a/coin/provisioning/qtci-windows-8-x86/06-python.ps1 b/coin/provisioning/qtci-windows-8-x86/06-python.ps1 new file mode 100644 index 00000000..27c618e1 --- /dev/null +++ b/coin/provisioning/qtci-windows-8-x86/06-python.ps1 @@ -0,0 +1 @@ +. "$PSScriptRoot\..\common\python.ps1" 32 diff --git a/coin/provisioning/qtci-windows-8-x86_64/02-python.ps1 b/coin/provisioning/qtci-windows-8-x86_64/02-python.ps1 deleted file mode 100644 index 0e401c02..00000000 --- a/coin/provisioning/qtci-windows-8-x86_64/02-python.ps1 +++ /dev/null @@ -1 +0,0 @@ -. "$PSScriptRoot\..\common\02-python.ps1" diff --git a/coin/provisioning/qtci-windows-8-x86_64/06-python.ps1 b/coin/provisioning/qtci-windows-8-x86_64/06-python.ps1 new file mode 100644 index 00000000..44c1c5ff --- /dev/null +++ b/coin/provisioning/qtci-windows-8-x86_64/06-python.ps1 @@ -0,0 +1 @@ +. "$PSScriptRoot\..\common\python.ps1" 64 diff --git a/init-repository b/init-repository index 7a97c199..861511b9 100755 --- a/init-repository +++ b/init-repository @@ -144,7 +144,7 @@ Options: For example: - --mirror user\@machine:/foo/bar/ + --mirror user\@machine:/foo/bar/qt/ ...will use the following as a mirror for qtbase: @@ -167,13 +167,13 @@ my $script_path = abs_path($0); $script_path =~ s,[/\\][^/\\]+$,,; my $GERRIT_SSH_BASE - = 'ssh://@USER@codereview.qt-project.org@PORT@/'; + = 'ssh://@USER@codereview.qt-project.org@PORT@/qt/'; my $BER_MIRROR_URL_BASE - = 'git://hegel/'; + = 'git://hegel/qt/'; my $OSLO_MIRROR_URL_BASE - = 'git://qilin/'; + = 'git://qilin/qt/'; sub new { @@ -316,7 +316,7 @@ sub git_clone_all_submodules my ($mod, $base) = ($1, $3); next if ($base !~ /^\.\.\//); $base = $my_repo_base.'/'.$base; - while ($base =~ s,/(?!\.\./)[^/]+/\.\./,/,g) {} + while ($base =~ s,(?!\.\./)[^/]+/\.\./,,g) {} $subbases{$mod} = $base; } elsif ($2 eq "update") { push @subset, '-'.$1 if ($3 eq 'none'); @@ -381,7 +381,7 @@ sub git_clone_all_submodules # manually clone each repo here, so we can easily use reference repos, mirrors etc my @configresult = qx(git config -l); foreach my $line (@configresult) { - # Example line: submodule.qtqa.url=git://gitorious.org/qt/qtqa.git + # Example line: submodule.qtqa.url=git://code.qt.io/qt/qtqa.git next if ($line !~ /submodule\.([^.=]+)\.url=/); my $module = $1; @@ -638,12 +638,12 @@ sub run chomp(my $url = `git config remote.origin.url`); die("Have no origin remote.\n") if (!$url); $url =~ s,\.git$,,; - $url =~ s,qt/qt5$,,; + $url =~ s/qt5$//; $self->{'base-url'} = $url; - $self->git_clone_all_submodules('qt/qt5', $self->{branch}, @{$self->{'module-subset'}}); + $self->git_clone_all_submodules('qt5', $self->{branch}, @{$self->{'module-subset'}}); - $self->git_add_remotes('qt/qt5'); + $self->git_add_remotes('qt5'); $self->git_install_hooks; @@ -25,10 +25,6 @@ for (line, lines) { QMAKE_INTERNAL_INCLUDED_FILES += $$PWD/.gitmodules QT_SKIP_MODULES = -uikit { - QT_SKIP_MODULES += qtdoc qtmacextras qtserialport qtwebkit qtwebkit-examples - !ios: QT_SKIP_MODULES += qtscript -} # This is a bit hacky, but a proper implementation is not worth it. args = $$QMAKE_EXTRA_ARGS @@ -47,14 +43,14 @@ for (ever) { } } -modules = $$sort_depends(modules, module., .depends .recommends) +modules = $$sort_depends(modules, module., .depends .recommends .serialize) modules = $$reverse(modules) for (mod, modules) { equals(module.$${mod}.qt, false): \ next() deps = $$eval(module.$${mod}.depends) - recs = $$eval(module.$${mod}.recommends) + recs = $$eval(module.$${mod}.recommends) $$eval(module.$${mod}.serialize) for (d, $$list($$deps $$recs)): \ !contains(modules, $$d): \ error("'$$mod' depends on undeclared '$$d'.") diff --git a/qt3d b/qt3d -Subproject c64df4a307aff064433f57805561cb445c0e285 +Subproject a2b7483fa18e109011246fba5e7963338a77af5 diff --git a/qtactiveqt b/qtactiveqt -Subproject 1ef04fedc0230450a8588bcb2ac6069693a0336 +Subproject dfc34ee575ca7790ec403c6510a9ccc469c0799 diff --git a/qtandroidextras b/qtandroidextras -Subproject d94fb02a55705ba913fcf4f871528ea8aee52ea +Subproject f0561e640a488fa1870cacaae897133c7fdf636 diff --git a/qtbase b/qtbase -Subproject d1210281e41008ce2e3510aa5cfb3ebea1c5773 +Subproject 718216ee0b571d09702ff50dd108ae92bdc4c22 diff --git a/qtcanvas3d b/qtcanvas3d -Subproject a50cb9128477474932fc5761e30226582deaf6b +Subproject 08458d0dcfba8421c03ed9c7dec7435619f0b70 diff --git a/qtcharts b/qtcharts -Subproject f7b477ad0e2f9ab4f3a95e7547a92dccab7bb83 +Subproject cc4e79d6200b0495a5c4d1a7faa773906b1ac99 diff --git a/qtconnectivity b/qtconnectivity -Subproject 519ac44fbbeed7ab74fc1f733fcf9057075d094 +Subproject 5391a325eadcee86a494aa96a3f8edae1be5555 diff --git a/qtdatavis3d b/qtdatavis3d -Subproject beb420e3995010b5729608922022e65558f5876 +Subproject 73ec35fa12a4b150670ea93d3021ca8e658063e diff --git a/qtdeclarative b/qtdeclarative -Subproject 8d0d1b11e381130dec12f46b959c3107c3f4716 +Subproject 749a7212e903d8e8c6f256edb1836b9449cc7fe diff --git a/qtdoc b/qtdoc -Subproject 2337a01600ec81a70c8711a7c37a8e55bc14d12 +Subproject f155521639b9970effddca1244b98558ed4db70 diff --git a/qtgamepad b/qtgamepad -Subproject 752d4319660daf69c725103dae5325cf898adbb +Subproject 36846eca9ae810d213b2fe2ae5d9ff11137d459 diff --git a/qtgraphicaleffects b/qtgraphicaleffects -Subproject 8e1f0ecad3fdb93b80663ea3fad7013eeb42450 +Subproject e66fd901fb9e18d45182db56ec3ce70f401d2ac diff --git a/qtimageformats b/qtimageformats -Subproject 03e507c8f3816053257b3c351d79c494b6f9174 +Subproject c7a6a451a5c277556e28dfb3b4b943719cdda7f diff --git a/qtlocation b/qtlocation -Subproject 0023c72390d7055a1446f8fb38e0415be134f50 +Subproject c2691cf479c88ba0f74492195912cd9b62ce4e6 diff --git a/qtmacextras b/qtmacextras -Subproject f1d8761b93fc3f23cb537b6e06f4502a3f214df +Subproject a26ed9570c95f2315a2fc0b0f58d2cfebe955a0 diff --git a/qtmultimedia b/qtmultimedia -Subproject d5d7dcfb15c0b5c5e9009b83fba922ea0b7e86f +Subproject 021e8989308fba30425e7a0f34f4e176a8aa3cc diff --git a/qtnetworkauth b/qtnetworkauth -Subproject 034b35a3bcbc34509f77b46d3754196c9d53552 +Subproject aeb49ab5e1d7ebe2aaff6579757dacae45579c8 diff --git a/qtpurchasing b/qtpurchasing -Subproject 1e16d026f1081ce132b999f0704ceeec269f3af +Subproject 6a8bd70e53133092315a2b217dff4310792f605 diff --git a/qtquick1 b/qtquick1 -Subproject 64faeb0d8003e699a4d09e7dcee1ef6eb10302a +Subproject 92c847e56d94c9032f3fa83922742e455233e4f diff --git a/qtquickcontrols b/qtquickcontrols -Subproject 378bd7b4454a5a049072ae1043981984f30e832 +Subproject e56eb1fc60d614b652400030074ca334deea98b diff --git a/qtquickcontrols2 b/qtquickcontrols2 -Subproject 91e29613f9671989455345a01da9f840a98d06f +Subproject c8e9b5f25fb12c3b7983658d738165181b4d667 diff --git a/qtremoteobjects b/qtremoteobjects new file mode 160000 +Subproject 2b6c91ff99401305a38687ae252d70c5227d293 diff --git a/qtscript b/qtscript -Subproject 963cefe17376d2b0a4be448d9b025c4e31c579b +Subproject e00ca9b6bec2adf78fd14e02376ecf1b55a93b0 diff --git a/qtscxml b/qtscxml -Subproject 75cb3ffebcc7c1e617e3ba4b85adb147e30ca36 +Subproject 384cb7975d9caa4e508454d811d2e391763e598 diff --git a/qtsensors b/qtsensors -Subproject 722194f5cdfc04a1be875249507067f913ab277 +Subproject 760e62003843e79d0b9d56cfb1a64d4d86992b9 diff --git a/qtserialbus b/qtserialbus -Subproject 90be9fc65329509229eb17aef74e400fada58da +Subproject 0ac7bc6e57be2a7c2ee14bfaf7489e20daf3edc diff --git a/qtserialport b/qtserialport -Subproject 39d79e16577331f2a8f84df2f63d28e2f03a1ca +Subproject d320f01018f0273e4fea2e0a7aa8f30ee812958 diff --git a/qtspeech b/qtspeech -Subproject 4320724b8acd83aa4a398e7e7f42e8c1e0ee197 +Subproject 4103c273e4d4ca4697e9b95c1631b31bef2891f diff --git a/qtsvg b/qtsvg -Subproject 02ed4c65618b0f27b9ccb6867ab4d633612415c +Subproject 0b48e0821b9691ff369ad7b401cbf1f63c6397a diff --git a/qttools b/qttools -Subproject ae4823946c7ab4037d4bde8d4d0e43c046fea4c +Subproject 5c7b771829c52400ddd8f441972b37ce92da3b7 diff --git a/qttranslations b/qttranslations -Subproject b01c4e637ba19b52f393f1bd22c4d5d734b769c +Subproject 1b2c07c5fe056321586ce0b4e334398d77505a6 diff --git a/qtvirtualkeyboard b/qtvirtualkeyboard -Subproject 19c3a43e8a7d3ea1298099aa733f734a6224ac8 +Subproject bfa8da56b1edd77ec416c24b96d33db94368be8 diff --git a/qtwayland b/qtwayland -Subproject a92eab837f7a7088ddd26bda2bb10d47c9c1214 +Subproject a5dd3692697fcf905749b5686d5d7bfbf47969e diff --git a/qtwebchannel b/qtwebchannel -Subproject 6015604df92ceea6021268a2161da29fb89e073 +Subproject 4a95a4e603e1bfd8e365274a5888dcdbb6bb42e diff --git a/qtwebengine b/qtwebengine -Subproject df70ae6f3d37be262ae3b208bad26325a6dfcb4 +Subproject f88200c6b44a5e68f7d9fabde9ac58c86728acb diff --git a/qtwebkit b/qtwebkit -Subproject 0b48569e2bf9afc1b6ca5e359c3a948dd8c7761 +Subproject f27089657a207ef8c5c9d27d661d3d12c3af8df diff --git a/qtwebkit-examples b/qtwebkit-examples -Subproject ac8c2122bba9e2ba8887fb5586ca4a8a119cc40 +Subproject 822426abc77a74752b0ee0da4d0a1c106c4dac2 diff --git a/qtwebsockets b/qtwebsockets -Subproject d5e2b4bba1e19a51780aa68d47771065755883b +Subproject 91582c53c5c3b404169ce2a44d75ac810204351 diff --git a/qtwebview b/qtwebview -Subproject 801760d37833f33b0395e610755de9910b65caf +Subproject f7f8f8f6c12b8617b4d9f89dd2aaaf241a1a6f8 diff --git a/qtwinextras b/qtwinextras -Subproject f7239c69779e7c9e612a6b3ddb0ae1479d2bd5c +Subproject 7be0ff7fe32ef01839de4ad0a8142ca05438b50 diff --git a/qtx11extras b/qtx11extras -Subproject 66191eb5d4f41083919d1fce4f1d4ab15bb1a14 +Subproject 8c44529ed5269bc2130c27ba9733d262143424e diff --git a/qtxmlpatterns b/qtxmlpatterns -Subproject f799a226b1025bf7158bc00dff35ee060f57a13 +Subproject da19c9882295a8f3216284935c05ad4b89c445b |