diff options
81 files changed, 1733 insertions, 233 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..05660dba 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 @@ -96,14 +96,14 @@ recommends = qtdeclarative qtquickcontrols 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,100 @@ 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 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/platform_configs/default.txt b/coin/platform_configs/default.txt index 58f7967c..70495e76 100644 --- a/coin/platform_configs/default.txt +++ b/coin/platform_configs/default.txt @@ -7,19 +7,22 @@ qtci-windows-8-x86_64 MSVC2013 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-windows-10-x86_64 WinRT_10 x86 MSVC2015 Packaging DebugAndRelease Release DisableTests +qtci-windows-10-x86_64 WinRT_10 armv7 MSVC2015 Packaging DebugAndRelease Release DisableTests +qtci-linux-Ubuntu-16.04-x86_64 GCC NoWidgets ForceDebugInfo DisableTests +qtci-linux-Ubuntu-16.04-x86_64 GCC DeveloperBuild OutOfSourceBuild QtLibInfix QtNamespace DisableTests qtci-linux-Ubuntu-14.04-x86_64 GCC NoWidgets ForceDebugInfo qtci-linux-Ubuntu-14.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 diff --git a/coin/platform_configs/qt5.txt b/coin/platform_configs/qt5.txt index 797d62cd..76f57f9f 100644 --- a/coin/platform_configs/qt5.txt +++ b/coin/platform_configs/qt5.txt @@ -1,17 +1,12 @@ 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-linux-RHEL-7.2-x86_64 Android_ANY x86 GCC Packaging Release DisableTests OpenGLES2 NoUseGoldLinker +qtci-windows-7-x86 Android_ANY armv7 Mingw53 Packaging Release DisableTests OpenGLES2 +qtci-windows-7-x86 Android_ANY x86 Mingw53 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-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 QNX_660 armv7 Mingw53 Packaging Release DisableTests OpenGLES2 +qtci-windows-7-x86 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 diff --git a/coin/platform_configs/qtxmlpatterns.txt b/coin/platform_configs/qtxmlpatterns.txt new file mode 100644 index 00000000..b57c0abc --- /dev/null +++ b/coin/platform_configs/qtxmlpatterns.txt @@ -0,0 +1,3 @@ +Template Target OS Target arch Compiler Features +------------------------------- ------------------- ----------- ----------- ------------------------------------------------------------------------------------- +qtci-linux-openSUSE-42.1-x86_64 GCC DeveloperBuild NoPch 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/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/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-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/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..06f44049 --- /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.0 + +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..b727659f --- /dev/null +++ b/coin/provisioning/qtci-linux-Ubuntu-16.04-x86_64/002-apt.sh @@ -0,0 +1,100 @@ +#!/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 +) +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..bd71bbe2 --- /dev/null +++ b/coin/provisioning/qtci-linux-Ubuntu-16.04-x86_64/003-qemu.sh @@ -0,0 +1,60 @@ +#!/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" 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..000c8c0a --- /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.0 + +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-macos-10.12-x86_64/015-xz.sh b/coin/provisioning/qtci-macos-10.12-x86_64/015-xz.sh new file mode 100755 index 00000000..eca6858c --- /dev/null +++ b/coin/provisioning/qtci-macos-10.12-x86_64/015-xz.sh @@ -0,0 +1,50 @@ +#!/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 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-xcode.sh b/coin/provisioning/qtci-macos-10.12-x86_64/020-xcode.sh new file mode 100755 index 00000000..260f18aa --- /dev/null +++ b/coin/provisioning/qtci-macos-10.12-x86_64/020-xcode.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$ +## +############################################################################# + +# 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" + +ExceptionDownloadUrl=100 +ExceptionSHA1=101 +ExceptionUnXZ=102 +ExceptionCPIO=103 +ExceptionDelete=104 + + +url=http://ci-files01-hki.ci.local/input/mac/macos_10.12_sierra/Xcode_8.2.1.xz +targetFile=/tmp/Xcode_8.2.1.xz +expectedSha1=a68e8a4446f77e781b1ce123125263862f2607a3 + +try +( + echo "Downloading Xcode from primary URL '$url'" + curl --fail -L --retry 5 --retry-delay 5 -o "$targetFile" "$url" || throw $ExceptionDownloadUrl + + echo "Checking SHA1 on $targetFile" + echo "$expectedSha1 *$targetFile" | shasum --check || throw $ExceptionSHA1 + + echo "Uncompressing '$targetFile'" + xz -d "$targetFile" || throw $ExceptionUnXZ + + echo "Unarchiving '${targetFile%.*}'" + (cd /Applications/ && sudo cpio -dmiI "${targetFile%.*}") || throw $ExceptionCPIO + + echo "Deleting '${targetFile%.*}'" + rm "${targetFile%.*}" || throw $ExceptionDelete + + echo "XCode = 8.2.1" >> ~/versions.txt +) +catch || { + case $ex_code in + $ExceptionDownloadUrl) + echo "Failed to download Xcode." + exit 1; + ;; + $ExceptionSHA1) + echo "Failed to check SHA1." + exit 1; + ;; + $ExceptionUnXZ) + echo "Failed to uncompress .xz" + exit 1; + ;; + $ExceptionCPIO) + echo "Failed to unarchive .cpio." + exit 1; + ;; + $ExceptionDelete) + echo "Failed to delete temporary file." + exit 1; + ;; + + esac +} diff --git a/coin/provisioning/qtci-macos-10.12-x86_64/021-commandlinetools.sh b/coin/provisioning/qtci-macos-10.12-x86_64/021-commandlinetools.sh new file mode 100755 index 00000000..e90904fd --- /dev/null +++ b/coin/provisioning/qtci-macos-10.12-x86_64/021-commandlinetools.sh @@ -0,0 +1,111 @@ +#!/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 Command Line Tools for Xcode +# Prerequisite: Get the .dmg file from Apple Store beforehand to local cache + +# shellcheck source=../common/try_catch.sh +source "${BASH_SOURCE%/*}/../common/try_catch.sh" + +ExceptionDownloadUrl=100 +ExceptionSHA1=101 +ExceptionAttachImage=102 +ExceptionInstall=103 +ExceptionDetachImage=104 +ExceptionRemoveTmpFile=105 +ExceptionAcceptLicense=106 + + +url=http://ci-files01-hki.ci.local/input/mac/macos_10.12_sierra/Command_Line_Tools_macOS_10.12_for_Xcode_8.2.dmg +targetFile=/tmp/Command_Line_Tools_macOS_10.12_for_Xcode_8.2.dmg +expectedSha1=0a55c5682c18879cfff7761619adb769ea396a79 + +try +( + echo "Downloading Command Line Tools from URL '$url'" + curl --fail -L --retry 5 --retry-delay 5 -o "$targetFile" "$url" || throw $ExceptionDownloadUrl + + echo "Checking SHA1 on '$targetFile'" + echo "$expectedSha1 *$targetFile" | shasum --check || throw $ExceptionSHA1 + + echo Mounting DMG + hdiutil attach "$targetFile" || throw $ExceptionAttachImage + + echo Installing Command Line Tools + (cd /Volumes/Command\ Line\ Developer\ Tools/ && sudo installer -pkg "Command Line Tools (macOS Sierra version 10.12).pkg" -target /) || throw $ExceptionInstall + + hdiutil detach /dev/disk1s1 || throw $ExceptionDetachImage + + echo "Removing temporary file '$targetFile'" + rm "$targetFile" || throw $ExceptionRemoveTmpFile + + echo "Accept license" + sudo xcodebuild -license accept || throw $ExceptionAcceptLicense + + echo "Command Line Tools = 8.2" >> ~/versions.txt +) +catch || { + case $ex_code in + $ExceptionDownloadUrl) + echo "Failed to download Command Line Tools from form URL '$url'." + exit 1; + ;; + $ExceptionSHA1) + echo "Failed to check SHA1." + exit 1; + ;; + $ExceptionAttachImage) + echo "Failed to attach image." + exit 1; + ;; + $ExceptionInstall) + echo "Failed to install Command Line Tools." + exit 1; + ;; + $ExceptionDetachImage) + echo "Failed to detach image." + exit 1; + ;; + $ExceptionRemoveTmpFile) + echo "Failed to remove temporary file." + exit 1; + ;; + $ExceptionAcceptLicense) + echo "Failed to accept license." + exit 1; + ;; + + esac +} 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..9f6df8cf --- /dev/null +++ b/coin/provisioning/qtci-macos-10.12-x86_64/025-cmake.sh @@ -0,0 +1,50 @@ +#!/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-Linux-x86_64.tar.gz" +SHA1="13835afa3aea939e07a7ecccedcc041dd8c3a86e" +appPrefix="cmake-3.6.2-Darwin-x86_64" + +InstallAppFromCompressedFileFromURL "$PrimaryUrl" "$AltUrl" "$SHA1" "$appPrefix" + +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-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..399ae47e --- /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.0 + +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-osx-10.11-x86_64/015-xz.sh b/coin/provisioning/qtci-osx-10.11-x86_64/015-xz.sh new file mode 100755 index 00000000..dcd8fead --- /dev/null +++ b/coin/provisioning/qtci-osx-10.11-x86_64/015-xz.sh @@ -0,0 +1,50 @@ +#!/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 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..dc02ae14 --- /dev/null +++ b/coin/provisioning/qtci-osx-10.11-x86_64/020-xcode.sh @@ -0,0 +1,106 @@ +#!/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" + +ExceptionDownloadUrl=100 +ExceptionSHA1=101 +ExceptionUnXZ=102 +ExceptionCPIO=103 +ExceptionDelete=104 + + +url=http://ci-files01-hki.ci.local/input/mac/Xcode_8.2.xz +targetFile=/tmp/Xcode_8.2.xz +expectedSha1=46edc920955e315d946e36c45f629d5ee9dc9d59 + +try +( + echo "Downloading Xcode from primary URL '$url'" + curl --fail -L --retry 5 --retry-delay 5 -o "$targetFile" "$url" || throw $ExceptionDownloadUrl + + echo "Checking SHA1 on $targetFile" + echo "$expectedSha1 *$targetFile" | shasum --check || throw $ExceptionSHA1 + + echo "Uncompressing '$targetFile'" + xz -d "$targetFile" || throw $ExceptionUnXZ + + echo "Unarchiving '${targetFile%.*}'" + (cd /Applications/ && sudo cpio -dmiI "${targetFile%.*}") || throw $ExceptionCPIO + + echo "Deleting '${targetFile%.*}'" + rm "${targetFile%.*}" || throw $ExceptionDelete + + echo "Xcode = 8.2" >> ~/versions.txt +) +catch || { + case $ex_code in + $ExceptionDownloadUrl) + echo "Failed to download Xcode." + exit 1; + ;; + $ExceptionSHA1) + echo "Failed to check SHA1." + exit 1; + ;; + $ExceptionUnXZ) + echo "Failed to uncompress .xz" + exit 1; + ;; + $ExceptionCPIO) + echo "Failed to unarchive .cpio." + exit 1; + ;; + $ExceptionDelete) + echo "Failed to delete temporary file." + exit 1; + ;; + + esac +} + + diff --git a/coin/provisioning/qtci-osx-10.11-x86_64/021-commandlinetools.sh b/coin/provisioning/qtci-osx-10.11-x86_64/021-commandlinetools.sh new file mode 100755 index 00000000..8a8e921c --- /dev/null +++ b/coin/provisioning/qtci-osx-10.11-x86_64/021-commandlinetools.sh @@ -0,0 +1,111 @@ +#!/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 Command Line Tools for Xcode +# Prerequisite: Get the .dmg file from Apple Store beforehand to local cache + +# shellcheck source=../common/try_catch.sh +source "${BASH_SOURCE%/*}/../common/try_catch.sh" + +ExceptionDownloadUrl=100 +ExceptionSHA1=101 +ExceptionAttachImage=102 +ExceptionInstall=103 +ExceptionDetachImage=104 +ExceptionRemoveTmpFile=105 +ExceptionAcceptLicense=106 + + +url=http://ci-files01-hki.ci.local/input/mac/Command_Line_Tools_macOS_10.11_for_Xcode_8.2.dmg +targetFile=/tmp/Command_Line_Tools_macOS_10.11_for_Xcode_8.2.dmg +expectedSha1=4df615ca765ac1a1e681ddcbca79fc15990e3b25 + +try +( + echo "Downloading Command Line Tools from URL '$url'" + curl --fail -L --retry 5 --retry-delay 5 -o "$targetFile" "$url" || throw $ExceptionDownloadUrl + + echo "Checking SHA1 on '$targetFile'" + echo "$expectedSha1 *$targetFile" | shasum --check || throw $ExceptionSHA1 + + echo Mounting DMG + hdiutil attach "$targetFile" || throw $ExceptionAttachImage + + echo Installing Command Line Tools + (cd /Volumes/Command\ Line\ Developer\ Tools/ && sudo installer -pkg "Command Line Tools (macOS El Capitan version 10.11).pkg" -target /) || throw $ExceptionInstall + + hdiutil detach /dev/disk1s1 || throw $ExceptionDetachImage + + echo "Removing temporary file '$targetFile'" + rm "$targetFile" || throw $ExceptionRemoveTmpFile + + echo "Accept license" + sudo xcodebuild -license accept || throw $ExceptionAcceptLicense + + echo "Command Line Tools = 8.2" >> ~/versions.txt +) +catch || { + case $ex_code in + $ExceptionDownloadUrl) + echo "Failed to download Command Line Tools from form URL '$url'." + exit 1; + ;; + $ExceptionSHA1) + echo "Failed to check SHA1." + exit 1; + ;; + $ExceptionAttachImage) + echo "Failed to attach image." + exit 1; + ;; + $ExceptionInstall) + echo "Failed to install Command Line Tools." + exit 1; + ;; + $ExceptionDetachImage) + echo "Failed to detach image." + exit 1; + ;; + $ExceptionRemoveTmpFile) + echo "Failed to remove temporary file." + exit 1; + ;; + $ExceptionAcceptLicense) + echo "Failed to accept license." + exit 1; + ;; + + esac +} 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..3dadd9bc --- /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-Linux-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-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" @@ -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 diff --git a/qt3d b/qt3d -Subproject c668bde4982ff7340de4e882aa45cf1db93bea9 +Subproject ff6089aca0ec77c6304a04de268e6d27e97d6c3 diff --git a/qtactiveqt b/qtactiveqt -Subproject 1ef04fedc0230450a8588bcb2ac6069693a0336 +Subproject c0d93d408d4eafcaab06d455b8c3ce1e2c21f8d diff --git a/qtandroidextras b/qtandroidextras -Subproject d94fb02a55705ba913fcf4f871528ea8aee52ea +Subproject 3f9e924417c13f2026fda503a1620f517370466 diff --git a/qtbase b/qtbase -Subproject e3bcab935c9fe37b344394c3ee8afd6773a8cd7 +Subproject 593a707ba35c22c0a1061dce745deceed8837f8 diff --git a/qtcanvas3d b/qtcanvas3d -Subproject a50cb9128477474932fc5761e30226582deaf6b +Subproject 3ac87eeb59dd7ec0351d76a05dd7cfa22a274e5 diff --git a/qtcharts b/qtcharts -Subproject f7b477ad0e2f9ab4f3a95e7547a92dccab7bb83 +Subproject e0ba5ac91dbb1fe3611118239c00ea8d748e567 diff --git a/qtconnectivity b/qtconnectivity -Subproject d8817cebf11c9212f85a5359262d321f3c205c0 +Subproject 402cbe22407133a38e319af7af676e68708c577 diff --git a/qtdatavis3d b/qtdatavis3d -Subproject beb420e3995010b5729608922022e65558f5876 +Subproject fc946bae2969cacb3ffa822ab033231ea1185b2 diff --git a/qtdeclarative b/qtdeclarative -Subproject aa0e51beaba1a338db42391c575212b4aac815b +Subproject 71a2dbed467be0041b6793dda868655b2632e83 diff --git a/qtdoc b/qtdoc -Subproject 02eaf0cc58c462a6a5a0bf61dfb4961266b1966 +Subproject 7c7607b2f26548734a05b8d6fb74ce0a6fa664e diff --git a/qtgamepad b/qtgamepad -Subproject 72be0422f98cdcfa09b7aa019ce51ac473569db +Subproject fdce0bd433f4a219a371db4091b18cc48209b04 diff --git a/qtgraphicaleffects b/qtgraphicaleffects -Subproject 8e1f0ecad3fdb93b80663ea3fad7013eeb42450 +Subproject a3a229bd2ace8fc4f874304e60cf1cb74f294d7 diff --git a/qtimageformats b/qtimageformats -Subproject 8f045f413e935ef9e7fdcef55c52343686a0f1a +Subproject d2306d74850986692c02b70df0d7a6a6e933d0d diff --git a/qtlocation b/qtlocation -Subproject 3995bee767306476993134cb9c42499daf9ed1b +Subproject e463bf8f4ae1eb94b4f91cb6ebca4b198e86bcc diff --git a/qtmacextras b/qtmacextras -Subproject f1d8761b93fc3f23cb537b6e06f4502a3f214df +Subproject a931d0799b46123422582635b79d217eee0ae6b diff --git a/qtmultimedia b/qtmultimedia -Subproject 8d0e08e96ffd8cd78fbb4a01f250dfb46117c63 +Subproject ed8f90d0e47bd4ade7be3852627395ac66ba32e diff --git a/qtnetworkauth b/qtnetworkauth -Subproject 97db61d77432eefbc489d292cc95ed0a4902e77 +Subproject 279adce9bb578749161899bfe82cfb6c8b9b6f0 diff --git a/qtpurchasing b/qtpurchasing -Subproject 10902d9809e1df9be58d7408c0aceeef8a621b2 +Subproject 00c6b792a95d72a4deb2bb89d0ba8cbb5268199 diff --git a/qtqa b/qtqa -Subproject 1561b922dfa49c071938f961e2cae7c51d76665 +Subproject 02deca89108dc761fb2f72923718e3c35ce8bf8 diff --git a/qtquick1 b/qtquick1 -Subproject 64faeb0d8003e699a4d09e7dcee1ef6eb10302a +Subproject 92c847e56d94c9032f3fa83922742e455233e4f diff --git a/qtquickcontrols b/qtquickcontrols -Subproject 7b6f57086bbc64ad2f9be0c75a462120fc031e8 +Subproject ba81daa6f58992f0724f0a43590fae3453d3948 diff --git a/qtquickcontrols2 b/qtquickcontrols2 -Subproject e91c9feab8a0cf4cff71cc68ab0f001b1531504 +Subproject eb082fe715e23f55d24b3cf7528857167831f57 diff --git a/qtremoteobjects b/qtremoteobjects new file mode 160000 +Subproject 2c7268a3360d8174c34b037564a721971ec6767 diff --git a/qtscript b/qtscript -Subproject 963cefe17376d2b0a4be448d9b025c4e31c579b +Subproject 61d135d1c0ae52a756cf62144210fa73c9ea552 diff --git a/qtscxml b/qtscxml -Subproject e49fd45c0947d1b24937517c2d170283eadfc50 +Subproject 63904309552bc6dd39fcfda086b81c1b9bee0a0 diff --git a/qtsensors b/qtsensors -Subproject 722194f5cdfc04a1be875249507067f913ab277 +Subproject 5863c695ee8eef2976026dea876e37b8978d0c7 diff --git a/qtserialbus b/qtserialbus -Subproject 2f934cfb143df5fccdaab20b2982e54bb13a1bd +Subproject 38703176f77ededf1b44946a6c38d6998c5e679 diff --git a/qtserialport b/qtserialport -Subproject 489d8ce034c422549c1cb39da29de361695f413 +Subproject 1340fedecd841765485beffa7c93320c96f21cd diff --git a/qtspeech b/qtspeech -Subproject ecc425e33290abdda9a193b57f160d319593058 +Subproject 5135fefe90b7a5ff9bebe012ed4f1688fe096f9 diff --git a/qtsvg b/qtsvg -Subproject 7738642c0d8af7066ea488b239fbefa4b55ecca +Subproject 7cc50e972b7fa546f7cedff2ef19db20af9e36a diff --git a/qttools b/qttools -Subproject 05fd8652a7e43df2fc763222892f3c33bed7183 +Subproject ce8ad09e69d5732787312c362464a3ce0c5fa58 diff --git a/qttranslations b/qttranslations -Subproject c7d1706b512649b4037421aa8f0c119efd23c93 +Subproject 365bfb2ef769241e798b7c222a63ff68348d87c diff --git a/qtvirtualkeyboard b/qtvirtualkeyboard -Subproject 5fe45f3bf60961519b89950e4a91aa14251499f +Subproject 18f37cf7410beb698855a38a1af458d51d64e3f diff --git a/qtwayland b/qtwayland -Subproject 7d527c1914710a511c06713bbda1572b767cea3 +Subproject a259232f3a661b8916497b056cb3d50c396c3d9 diff --git a/qtwebchannel b/qtwebchannel -Subproject 6015604df92ceea6021268a2161da29fb89e073 +Subproject 196097bfc84d297199ea591fc19e714c88796e8 diff --git a/qtwebengine b/qtwebengine -Subproject 714bddf9921a4e12f03867118c6a4697083e6a1 +Subproject 352115e2aeb8ba8c2bf4897f40b9e26555b7c80 diff --git a/qtwebkit b/qtwebkit -Subproject c3b710c3f4de2da0fd67c858949c3f420dfd175 +Subproject 0b30e4490f7500ade1868fb33cea8705418c90b diff --git a/qtwebkit-examples b/qtwebkit-examples -Subproject ac8c2122bba9e2ba8887fb5586ca4a8a119cc40 +Subproject c858361fb202c201f8c45e2072d913dc7f31ec8 diff --git a/qtwebsockets b/qtwebsockets -Subproject d5e2b4bba1e19a51780aa68d47771065755883b +Subproject 1af97a5f04d4d7d0dbf9954397e2374a791d717 diff --git a/qtwebview b/qtwebview -Subproject 801760d37833f33b0395e610755de9910b65caf +Subproject 0218b63446186b659333bd3cbfd6f69ed172299 diff --git a/qtwinextras b/qtwinextras -Subproject f7239c69779e7c9e612a6b3ddb0ae1479d2bd5c +Subproject c5159ecfc36bc0f9bff45de78accd104b963706 diff --git a/qtx11extras b/qtx11extras -Subproject 66191eb5d4f41083919d1fce4f1d4ab15bb1a14 +Subproject 5ecce026f65b2fb320379e49e70f772ad2bbba6 diff --git a/qtxmlpatterns b/qtxmlpatterns -Subproject f6e5f6eaf2eb958aa043440c8941b2533964436 +Subproject a5b1e6e35e32719647c7f9b3de3953838d40d80 |