diff --git a/coin/platform_configs/default.txt b/coin/platform_configs/default.txt index c41f3d7f..28098927 100644 --- a/coin/platform_configs/default.txt +++ b/coin/platform_configs/default.txt @@ -14,11 +14,11 @@ qtci-windows-8.1-x86_64 Windows_Phone_8_1 armv4 MSVC2013 qtci-windows-8.1-x86_64 WinRT_8_1 MSVC2013 Packaging DebugAndRelease Release DisableTests UploadConfigureExe qtci-linux-OpenSuSE-13.01-x86_64 GCC DeveloperBuild NoPch qtci-linux-RHEL-6.6-x86_64 GCC Packaging Release NoUseGoldLinker -qtci-osx-10.11-x86_64 Clang Packaging DebugAndRelease Release +qtci-osx-10.11-x86_64-3 Clang Packaging DebugAndRelease Release qtci-osx-10.10-x86_64 Clang DebugAndRelease Release DisableTests qtci-osx-10.9-x86_64 Clang DeveloperBuild Release QtNamespace NoPch qtci-osx-10.8-x86_64 Clang Release NoFramework -qtci-osx-10.11-x86_64 IOS_ANY x86_64 Clang Release DisableTests Static +qtci-osx-10.11-x86_64-3 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-1 Boot2Qt_Fido armv7 GCC DisableTests qtci-linux-RHEL-6.6-x86_64 QNX_660 armv7 GCC Packaging Release DisableTests OpenGLES2 NoUseGoldLinker diff --git a/coin/platform_configs/qt5.txt b/coin/platform_configs/qt5.txt index 92d55b1f..4e80f6b8 100644 --- a/coin/platform_configs/qt5.txt +++ b/coin/platform_configs/qt5.txt @@ -6,12 +6,12 @@ qtci-windows-10-x86_64-8 WinRT_10 MSVC2015 Packagin qtci-linux-RHEL-6.6-x86_64 Android_ANY x86 GCC Packaging Release DisableTests OpenGLES2 NoUseGoldLinker qtci-windows-7-x86-2 Android_ANY armv7 Mingw49 Packaging Release DisableTests OpenGLES2 UploadConfigureExe qtci-windows-7-x86-2 Android_ANY x86 Mingw49 Packaging Release DisableTests OpenGLES2 UploadConfigureExe -qtci-osx-10.11-x86_64 Android_ANY armv7 GCC Packaging Release DisableTests OpenGLES2 -qtci-osx-10.11-x86_64 Android_ANY x86 GCC Packaging Release DisableTests OpenGLES2 +qtci-osx-10.11-x86_64-3 Android_ANY armv7 GCC Packaging Release DisableTests OpenGLES2 +qtci-osx-10.11-x86_64-3 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-10-x86_64-7 QNX_660 armv7 Mingw53 Packaging Release DisableTests OpenGLES2 qtci-windows-10-x86_64-7 QNX_660 x86 Mingw53 Packaging Release DisableTests OpenGLES2 # target arch is used here only for documentation the value is ignored qtci-windows-10-x86_64-8 WinRT_10 armv7 MSVC2015 Packaging DebugAndRelease Release DisableTests UploadConfigureExe -qtci-osx-10.11-x86_64 IOS_ANY multi Clang Packaging DebugAndRelease DisableTests Static +qtci-osx-10.11-x86_64-3 IOS_ANY multi Clang Packaging DebugAndRelease DisableTests Static diff --git a/coin/provisioning/common/InstallAppFromCompressedFileFromURL.sh b/coin/provisioning/common/InstallAppFromCompressedFileFromURL.sh new file mode 100644 index 00000000..2af2db10 --- /dev/null +++ b/coin/provisioning/common/InstallAppFromCompressedFileFromURL.sh @@ -0,0 +1,136 @@ +#!/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" + +ExceptionDownload=99 +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 + # macOS 10.10 mktemp does require prefix + if [[ $OSTYPE == "darwin14" ]]; then + targetDirectory=$(mktemp -d -t '10.10') || throw $ExceptionCreateTmpDirectory + else + targetDirectory=$(mktemp -d) || throw $ExceptionCreateTmpDirectory + fi + (DownloadURL "$url" "$url_alt" "$expectedSha1" "$targetFile") || throw $ExceptionDownload + 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 + $ExceptionDownload) + exit 1; + ;; + $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/cmake.sh b/coin/provisioning/common/cmake.sh new file mode 100755 index 00000000..e10dd41d --- /dev/null +++ b/coin/provisioning/common/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=./InstallAppFromCompressedFileFromURL.sh +source "${BASH_SOURCE%/*}/InstallAppFromCompressedFileFromURL.sh" + +PrimaryUrl="http://ci-files01-hki.intra.qt.io/input/mac/osx_10.11_el_capitan/cmake-3.6.2-Darwin-x86_64.tar.gz" +AltUrl="https://cmake.org/files/v3.6/cmake-3.6.2-Darwin-x86_64.tar.gz" +SHA1="13835afa3aea939e07a7ecccedcc041dd8c3a86e" +appPrefix="cmake-3.6.2-Darwin-x86_64" + +InstallAppFromCompressedFileFromURL "$PrimaryUrl" "$AltUrl" "$SHA1" "$appPrefix" + +echo "export PATH=/Applications/CMake.app/Contents/bin:\$PATH" >> ~/.bashrc +echo "CMake = 3.6.2" >> ~/versions.txt diff --git a/coin/provisioning/common/homebrew.sh b/coin/provisioning/common/homebrew.sh new file mode 100755 index 00000000..a6efe123 --- /dev/null +++ b/coin/provisioning/common/homebrew.sh @@ -0,0 +1,3 @@ +#!/usr/bin/env bash +# Will install homebrew package manager for macOS +/usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)" > ~/versions.txt + ) + catch || { + case $ex_code in + $ExceptionMount) + echo "Failed to mount." + exit 1; + ;; + $ExceptionInstall) + echo "Failed to install command line tools." + exit 1; + ;; + $ExceptionUnmount) + echo "Failed to unmount." + exit 1; + + esac + } + +} diff --git a/coin/provisioning/common/install_xcode.sh b/coin/provisioning/common/install_xcode.sh new file mode 100755 index 00000000..c6f00ee7 --- /dev/null +++ b/coin/provisioning/common/install_xcode.sh @@ -0,0 +1,91 @@ +#!/bin/bash + +############################################################################# +## +## Copyright (C) 2017 The Qt Company Ltd. +## Contact: http://www.qt.io/licensing/ +## +## This file is part of the provisioning scripts of the Qt Toolkit. +## +## $QT_BEGIN_LICENSE:LGPL21$ +## Commercial License Usage +## Licensees holding valid commercial Qt licenses may use this file in +## accordance with the commercial license agreement provided with the +## Software or, alternatively, in accordance with the terms contained in +## a written agreement between you and The Qt Company. For licensing terms +## and conditions see http://www.qt.io/terms-conditions. For further +## information use the contact form at http://www.qt.io/contact-us. +## +## GNU Lesser General Public License Usage +## Alternatively, this file may be used under the terms of the GNU Lesser +## General Public License version 2.1 or version 3 as published by the Free +## Software Foundation and appearing in the file LICENSE.LGPLv21 and +## LICENSE.LGPLv3 included in the packaging of this file. Please review the +## following information to ensure the GNU Lesser General Public License +## requirements will be met: https://www.gnu.org/licenses/lgpl.html and +## http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html. +## +## As a special exception, The Qt Company gives you certain additional +## rights. These rights are described in The Qt Company LGPL Exception +## version 1.1, included in the file LGPL_EXCEPTION.txt in this package. +## +## $QT_END_LICENSE$ +## +############################################################################# + +# This script installs Xcode +# Prerequisites: Have Xcode prefetched to local cache as xz compressed. +# This can be achieved by fetching Xcode_8.xip from Apple Store. +# Uncompress it with 'xar -xf Xcode_8.xip' +# Then get https://gist.githubusercontent.com/pudquick/ff412bcb29c9c1fa4b8d/raw/24b25538ea8df8d0634a2a6189aa581ccc6a5b4b/parse_pbzx2.py +# with which you can run 'python parse_pbzx2.py Content'. +# This will give you a file called "Content.part00.cpio.xz" that +# can be renamed to Xcode_8.xz for this script. + + + +# shellcheck source=../common/try_catch.sh +source "${BASH_SOURCE%/*}/try_catch.sh" + +function InstallXCode() +{ + ExceptionCPIO=103 + ExceptionAcceptLicense=105 + ExceptionDeveloperMode=113 + + sourceFile=$1 + version=$2 + + try + ( + echo "Uncompressing and installing '$sourceFile'" + xzcat < "$sourceFile" | (cd /Applications/ && sudo cpio -dmi) || throw $ExceptionCPIO + + echo "Accept license" + sudo xcodebuild -license accept || throw $ExceptionAcceptLicense + + echo "Enabling developer mode, so that using lldb does not require interactive password entry" + sudo /usr/sbin/DevToolsSecurity -enable || throw $ExceptionDeveloperMode + + echo "Xcode = $version" >> ~/versions.txt + ) + catch || { + case $ex_code in + $ExceptionCPIO) + echo "Failed to unarchive .cpio." + exit 1; + ;; + $ExceptionDeveloperMode) + echo "Failed to enable developer mode." + exit 1; + ;; + $ExceptionAcceptLicense) + echo "Failed to accept license." + exit 1; + ;; + + esac + } + +} + diff --git a/coin/provisioning/common/libclang.sh b/coin/provisioning/common/libclang.sh new file mode 100755 index 00000000..97a35924 --- /dev/null +++ b/coin/provisioning/common/libclang.sh @@ -0,0 +1,72 @@ +#!/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$ +## +############################################################################# + +# PySide versions following 5.6 use a C++ parser based on Clang (http://clang.org/). +# The Clang library (C-bindings), version 3.9 or higher is required for building. + +# This same script is used to provision libclang to Linux and macOS. +# In case of Linux, we expect to get the values as args +set -e + +BASEDIR=$(dirname "$0") +url=$1 +sha1=$2 +version=$3 +if [ $# -eq 0 ] + then + # The default values are for macOS package + echo "Using macOS defaults" + version="4.0" + url="https://download.qt.io/development_releases/prebuilt/libclang/libclang-release_${version//\./}-mac.7z" + sha1="4781d154b274b2aec99b878c364f0ea80ff00a80" +fi + +zip="libclang.7z" +destination="/usr/local/libclang-$version" + +curl --fail -L --retry 5 --retry-delay 5 -o "$zip" "$url" +_shasum=sha1sum +if [[ "$OSTYPE" == "darwin"* ]]; then + echo "DARWIN" + _shasum=/usr/bin/shasum +fi +echo "$sha1 $zip" | $_shasum --check +7z x $zip -o/tmp/ +rm -rf $zip + +sudo mv /tmp/libclang $destination + +echo "export LLVM_INSTALL_DIR=$destination" >> ~/.bash_profile +echo "libClang = $version" >> ~/versions.txt diff --git a/coin/provisioning/qtci-osx-10.11-x86_64/001-crashreporter.sh b/coin/provisioning/qtci-osx-10.11-x86_64/001-crashreporter.sh old mode 100644 new mode 100755 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 < - - - - Label - org.qt.io.screensaver_disable - ProgramArguments - - defaults - -currentHost - write - com.apple.screensaver - idleTime - 0 - - RunAtLoad - - KeepAlive - - - -EOT diff --git a/coin/provisioning/qtci-osx-10.11-x86_64/003-bashprofile.sh b/coin/provisioning/qtci-osx-10.11-x86_64/003-bashprofile.sh old mode 100644 new mode 100755 diff --git a/coin/provisioning/qtci-osx-10.11-x86_64/004-fix-virtualenv.sh b/coin/provisioning/qtci-osx-10.11-x86_64/004-fix-virtualenv.sh deleted file mode 100755 index f3646572..00000000 --- a/coin/provisioning/qtci-osx-10.11-x86_64/004-fix-virtualenv.sh +++ /dev/null @@ -1,17 +0,0 @@ -#!/usr/bin/env bash - -# macOS 10.11 template doesn't have working virtualenv installation. -# To fix that, we first have to install pip to install virtualenv -# Install pip -curl https://bootstrap.pypa.io/get-pip.py -o get-pip.py -sudo python get-pip.py -rm get-pip.py - -# remove link pointing to broken virtualenv -sudo rm /opt/local/bin/virtualenv -sudo pip install virtualenv - -# fix the link. This is optional, while the new installation is -# already in PATH, but there will be virtualenv-2.6 in /opt/local/bin -# which might be confusing -sudo ln -s /usr/local/bin/virtualenv /opt/local/bin/virtualenv 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..4a07bbbe --- /dev/null +++ b/coin/provisioning/qtci-osx-10.11-x86_64/005-systemsetup.sh @@ -0,0 +1,129 @@ +#!/bin/bash + +############################################################################# +## +## Copyright (C) 2017 The Qt Company Ltd. +## Contact: http://www.qt.io/licensing/ +## +## This file is part of the provisioning scripts of the Qt Toolkit. +## +## $QT_BEGIN_LICENSE:LGPL21$ +## Commercial License Usage +## Licensees holding valid commercial Qt licenses may use this file in +## accordance with the commercial license agreement provided with the +## Software or, alternatively, in accordance with the terms contained in +## a written agreement between you and The Qt Company. For licensing terms +## and conditions see http://www.qt.io/terms-conditions. For further +## information use the contact form at http://www.qt.io/contact-us. +## +## GNU Lesser General Public License Usage +## Alternatively, this file may be used under the terms of the GNU Lesser +## General Public License version 2.1 or version 3 as published by the Free +## Software Foundation and appearing in the file LICENSE.LGPLv21 and +## LICENSE.LGPLv3 included in the packaging of this file. Please review the +## following information to ensure the GNU Lesser General Public License +## requirements will be met: https://www.gnu.org/licenses/lgpl.html and +## http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html. +## +## As a special exception, The Qt Company gives you certain additional +## rights. These rights are described in The Qt Company LGPL Exception +## version 1.1, included in the file LGPL_EXCEPTION.txt in this package. +## +## $QT_END_LICENSE$ +## +############################################################################# + +# This script modified system settings for automated use + +# shellcheck source=../common/try_catch.sh +source "${BASH_SOURCE%/*}/../common/try_catch.sh" + +VNCPassword=qt +NTS_IP=10.212.2.216 + +ExceptionDisableScreensaver=100 +ExceptionSetInitialDelay=101 +ExceptionSetDelay=102 +ExceptionVNC=103 +ExceptionNTS=104 +ExceptionDisableScreensaverPassword=105 + +try +( + echo "Disable Screensaver" + # For current session + defaults -currentHost write com.apple.screensaver idleTime 0 || throw $ExceptionDisableScreensaver + + # For session after a reboot + mkdir -p "$HOME/Library/LaunchAgents" || throw $ExceptionDisableScreensaver + ( + cat >"$HOME/Library/LaunchAgents/no-screensaver.plist" < + + + + + Label + org.qt.io.screensaver_disable + ProgramArguments + + defaults + -currentHost + write + com.apple.screensaver + idleTime + 0 + + RunAtLoad + + KeepAlive + + + +EOT + ) || throw $ExceptionDisableScreensaver + + defaults write com.apple.screensaver askForPassword -int 0 || throw $ExceptionDisableScreensaverPassword + + 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; + ;; + $ExceptionDisableScreensaverPassword) + echo "Failed to disable requiring of password after screensaver is enabled." + exit 1; + ;; + esac +} + diff --git a/coin/provisioning/qtci-osx-10.11-x86_64/007-SSL_keychain.sh b/coin/provisioning/qtci-osx-10.11-x86_64/007-SSL_keychain.sh new file mode 100755 index 00000000..61406203 --- /dev/null +++ b/coin/provisioning/qtci-osx-10.11-x86_64/007-SSL_keychain.sh @@ -0,0 +1,3 @@ +#!/bin/sh +# Enables the usage of temporary keychains for SSL autotests +echo "export QT_SSL_USE_TEMPORARY_KEYCHAIN=1" >> ~/.bashrc 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..8a3999b9 --- /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.intra.qt.io/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-java.sh b/coin/provisioning/qtci-osx-10.11-x86_64/020-java.sh new file mode 100755 index 00000000..b90313e1 --- /dev/null +++ b/coin/provisioning/qtci-osx-10.11-x86_64/020-java.sh @@ -0,0 +1,129 @@ +#!/bin/bash + +############################################################################# +## +## Copyright (C) 2017 The Qt Company Ltd. +## Contact: http://www.qt.io/licensing/ +## +## This file is part of the provisioning scripts of the Qt Toolkit. +## +## $QT_BEGIN_LICENSE:LGPL21$ +## Commercial License Usage +## Licensees holding valid commercial Qt licenses may use this file in +## accordance with the commercial license agreement provided with the +## Software or, alternatively, in accordance with the terms contained in +## a written agreement between you and The Qt Company. For licensing terms +## and conditions see http://www.qt.io/terms-conditions. For further +## information use the contact form at http://www.qt.io/contact-us. +## +## GNU Lesser General Public License Usage +## Alternatively, this file may be used under the terms of the GNU Lesser +## General Public License version 2.1 or version 3 as published by the Free +## Software Foundation and appearing in the file LICENSE.LGPLv21 and +## LICENSE.LGPLv3 included in the packaging of this file. Please review the +## following information to ensure the GNU Lesser General Public License +## requirements will be met: https://www.gnu.org/licenses/lgpl.html and +## http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html. +## +## As a special exception, The Qt Company gives you certain additional +## rights. These rights are described in The Qt Company LGPL Exception +## version 1.1, included in the file LGPL_EXCEPTION.txt in this package. +## +## $QT_END_LICENSE$ +## +############################################################################# + +# This script installs JDK +echo "Installing Java Development Kit" + +# shellcheck source=../common/try_catch.sh +source "${BASH_SOURCE%/*}/../common/try_catch.sh" + +ExceptionDownloadPrimaryUrl=100 +ExceptionDownloadAltUrl=101 +ExceptionSHA1=102 +ExceptionAttachImage=103 +ExceptionInstall=104 +ExceptionDetachImage=105 +ExceptionRemoveTmpFile=106 +ExceptionDisableAutoUpdate=107 + + +url=http://ci-files01-hki.intra.qt.io/input/mac/osx_10.11_el_capitan/jdk-8u102-macosx-x64.dmg +url_alt=http://download.oracle.com/otn-pub/java/jdk/8u102-b14/jdk-8u102-macosx-x64.dmg +targetFile=/tmp/jdk-8u102-macosx-x64.dmg +expectedSha1=1405af955f14e32aae187b5754a716307db22104 + +try +( + try + ( + echo "Downloading from primary URL '$url'" + curl --fail -L --retry 5 --retry-delay 5 -o "$targetFile" "$url" || throw $ExceptionDownloadPrimaryUrl + ) + catch || { + case $ex_code in + $ExceptionDownloadPrimaryUrl) + echo "Failed to download '$url' multiple times" + echo "Downloading tar.gz from alternative URL '$url_alt'" + curl --fail -L --retry 5 --retry-delay 5 -j -k -H "Cookie: oraclelicense=accept-securebackup-cookie" -o "$targetFile" "$url_alt" || throw $ExceptionDownloadAltUrl + ;; + esac + } + echo "Checking SHA1 on '$targetFile'" + echo "$expectedSha1 *$targetFile" | shasum --check || throw $ExceptionSHA1 + + echo Mounting DMG + hdiutil attach "$targetFile" || throw $ExceptionAttachImage + + echo Installing JDK + (cd /Volumes/JDK\ 8\ Update\ 102/ && sudo installer -package JDK\ 8\ Update\ 102.pkg -target /) || throw $ExceptionInstall + + disk=`hdiutil info | grep '/Volumes/JDK 8 Update 102' | awk '{print $1}'` + hdiutil detach $disk || throw $ExceptionDetachImage + + echo "Removing temporary file '$targetFile'" + rm "$targetFile" || throw $ExceptionRemoveTmpFile + + echo "Disable auto update" + sudo defaults write /Library/Preferences/com.oracle.java.Java-Updater JavaAutoUpdateEnabled -bool false || throw $ExceptionDisableAutoUpdate + + echo "JDK Version = 8 update 102" >> ~/versions.txt +) +catch || { + case $ex_code in + $ExceptionDownloadPrimaryUrl) + echo "Failed to download JDK from primary URL." + exit 1; + ;; + $ExceptionDownloadAltUrl) + echo "Failed to download JDK from alternative URL." + exit 1; + ;; + $ExceptionSHA1) + echo "Failed to check SHA1." + exit 1; + ;; + $ExceptionAttachImage) + echo "Failed to attach image." + exit 1; + ;; + $ExceptionInstall) + echo "Failed to install JDK." + exit 1; + ;; + $ExceptionDetachImage) + echo "Failed to detach image." + exit 1; + ;; + $ExceptionRemoveTmpFile) + echo "Failed to remove temporary file." + exit 1; + ;; + $ExceptionDisableAutoUpdate) + echo "Failed to disable auto update." + exit 1; + ;; + + esac +} diff --git a/coin/provisioning/qtci-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..37acc2ee --- /dev/null +++ b/coin/provisioning/qtci-osx-10.11-x86_64/020-xcode.sh @@ -0,0 +1,53 @@ +#!/bin/bash + +############################################################################# +## +## Copyright (C) 2017 The Qt Company Ltd. +## Contact: http://www.qt.io/licensing/ +## +## This file is part of the provisioning scripts of the Qt Toolkit. +## +## $QT_BEGIN_LICENSE:LGPL21$ +## Commercial License Usage +## Licensees holding valid commercial Qt licenses may use this file in +## accordance with the commercial license agreement provided with the +## Software or, alternatively, in accordance with the terms contained in +## a written agreement between you and The Qt Company. For licensing terms +## and conditions see http://www.qt.io/terms-conditions. For further +## information use the contact form at http://www.qt.io/contact-us. +## +## GNU Lesser General Public License Usage +## Alternatively, this file may be used under the terms of the GNU Lesser +## General Public License version 2.1 or version 3 as published by the Free +## Software Foundation and appearing in the file LICENSE.LGPLv21 and +## LICENSE.LGPLv3 included in the packaging of this file. Please review the +## following information to ensure the GNU Lesser General Public License +## requirements will be met: https://www.gnu.org/licenses/lgpl.html and +## http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html. +## +## As a special exception, The Qt Company gives you certain additional +## rights. These rights are described in The Qt Company LGPL Exception +## version 1.1, included in the file LGPL_EXCEPTION.txt in this package. +## +## $QT_END_LICENSE$ +## +############################################################################# + +# This script installs Xcode +# Prerequisites: Have Xcode prefetched to local cache as xz compressed. +# This can be achieved by fetching Xcode_8.xip from Apple Store. +# Uncompress it with 'xar -xf Xcode_8.xip' +# Then get https://gist.githubusercontent.com/pudquick/ff412bcb29c9c1fa4b8d/raw/24b25538ea8df8d0634a2a6189aa581ccc6a5b4b/parse_pbzx2.py +# with which you can run 'python parse_pbzx2.py Content'. +# This will give you a file called "Content.part00.cpio.xz" that +# can be renamed to Xcode_8.xz for this script. + + + +# shellcheck source=../common/try_catch.sh +source "${BASH_SOURCE%/*}/../common/try_catch.sh" + +# shellcheck source=../common/install_xcode.sh +source "${BASH_SOURCE%/*}/../common/install_xcode.sh" + +InstallXCode /net/ci-files01-hki.intra.qt.io/hdd/www/input/mac/Xcode_8.2.xz 8.2 diff --git a/coin/provisioning/qtci-osx-10.11-x86_64/021-install-commandlinetools.sh b/coin/provisioning/qtci-osx-10.11-x86_64/021-install-commandlinetools.sh new file mode 100755 index 00000000..9145c12a --- /dev/null +++ b/coin/provisioning/qtci-osx-10.11-x86_64/021-install-commandlinetools.sh @@ -0,0 +1,43 @@ +#!/bin/bash + +############################################################################# +## +## Copyright (C) 2017 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$ +## +############################################################################# +source "${BASH_SOURCE%/*}/../common/install-commandlinetools.sh" + +version="8.2" +packageName="Command_Line_Tools_macOS_10.11_for_Xcode_$version.dmg" +url="http://ci-files01-hki.intra.qt.io/input/mac/$packageName" +sha1="4df615ca765ac1a1e681ddcbca79fc15990e3b25" + +InstallCommandLineTools $url $url $sha1 $packageName $version + 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..ddb01d64 --- /dev/null +++ b/coin/provisioning/qtci-osx-10.11-x86_64/025-cmake.sh @@ -0,0 +1,4 @@ +#!/usr/bin/env bash + +BASEDIR=$(dirname "$0") +$BASEDIR/../common/cmake.sh diff --git a/coin/provisioning/qtci-osx-10.11-x86_64/025-homebrew.sh b/coin/provisioning/qtci-osx-10.11-x86_64/025-homebrew.sh new file mode 100755 index 00000000..63ec9b69 --- /dev/null +++ b/coin/provisioning/qtci-osx-10.11-x86_64/025-homebrew.sh @@ -0,0 +1,4 @@ +#!/usr/bin/env bash + +BASEDIR=$(dirname "$0") +$BASEDIR/../common/homebrew.sh diff --git a/coin/provisioning/qtci-osx-10.11-x86_64/025-mysql.sh b/coin/provisioning/qtci-osx-10.11-x86_64/025-mysql.sh new file mode 100755 index 00000000..1e4de16a --- /dev/null +++ b/coin/provisioning/qtci-osx-10.11-x86_64/025-mysql.sh @@ -0,0 +1,55 @@ +#!/bin/bash + +############################################################################# +## +## 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 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.intra.qt.io/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 + 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..a990829e --- /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.intra.qt.io/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/025-python3.sh b/coin/provisioning/qtci-osx-10.11-x86_64/025-python3.sh old mode 100644 new mode 100755 diff --git a/coin/provisioning/qtci-osx-10.11-x86_64/026-p7zip.sh b/coin/provisioning/qtci-osx-10.11-x86_64/026-p7zip.sh new file mode 100755 index 00000000..4fb9ddbc --- /dev/null +++ b/coin/provisioning/qtci-osx-10.11-x86_64/026-p7zip.sh @@ -0,0 +1,4 @@ +#!/usr/bin/env bash +# Install 7z to be used from command line +brew update +brew install p7zip diff --git a/coin/provisioning/qtci-osx-10.11-x86_64/027-libclang.sh b/coin/provisioning/qtci-osx-10.11-x86_64/027-libclang.sh new file mode 100755 index 00000000..ba962b00 --- /dev/null +++ b/coin/provisioning/qtci-osx-10.11-x86_64/027-libclang.sh @@ -0,0 +1,6 @@ +#!/usr/bin/env bash +# requires: 7z + +BASEDIR=$(dirname "$0") +# There is only one mac package and common script uses it as a default +$BASEDIR/../common/libclang.sh diff --git a/coin/provisioning/qtci-osx-10.11-x86_64/android.sh b/coin/provisioning/qtci-osx-10.11-x86_64/030-android.sh old mode 100644 new mode 100755 similarity index 83% rename from coin/provisioning/qtci-osx-10.11-x86_64/android.sh rename to coin/provisioning/qtci-osx-10.11-x86_64/030-android.sh index ac1a02d3..baf77a61 --- a/coin/provisioning/qtci-osx-10.11-x86_64/android.sh +++ b/coin/provisioning/qtci-osx-10.11-x86_64/030-android.sh @@ -41,7 +41,7 @@ # 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 +set -ex targetFolder="/opt/android" basePath="/net/ci-files01-hki.intra.qt.io/hdd/www/input/android" @@ -50,14 +50,14 @@ sdkVersion="android-sdk_r24.4.1-macosx.zip" sdkBuildToolsVersion="24.0.2" sdkApiLevel="android-18" sdkSourceFile="$basePath/$sdkVersion" -sdkExtract="unzip $sdkSourceFile -d $targetFolder" +sdkExtract="unzip -q $sdkSourceFile -d $targetFolder" sdkFolderName="android-sdk-macosx" sdkName="sdk" # NDK ndkVersion="android-ndk-r10e-darwin-x86_64.zip" ndkSourceFile="$basePath/$ndkVersion" -ndkExtract="unzip $ndkSourceFile -d $targetFolder" +ndkExtract="unzip -q $ndkSourceFile -d $targetFolder" ndkFolderName="android-ndk-r10e" ndkName="ndk" @@ -68,9 +68,9 @@ function InstallAndroidPackage { folderName=$4 name=$5 - sudo $extract || echo "Failed to extract $url" + sudo $extract sudo chown -R qt:wheel $targetFolder/$folderName - sudo mv $targetFolder/$folderName $targetFolder/$name || echo "Failed to rename $name" + sudo mv $targetFolder/$folderName $targetFolder/$name } sudo mkdir $targetFolder @@ -84,8 +84,17 @@ InstallAndroidPackage $targetFolder $ndkVersion "$ndkExtract" $ndkFolderName $nd # 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" +echo "y" |$targetFolder/sdk/tools/android update sdk --no-ui --all --filter $sdkApiLevel,tools,platform-tools,build-tools-$sdkBuildToolsVersion # 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_SDK_HOME=$targetFolder/$sdkName" >> ~/.bashrc +echo "export ANDROID_NDK_HOME=$targetFolder/$ndkName" >> ~/.bashrc +echo "export ANDROID_NDK_HOST=darwin-x86_64" >> ~/.bashrc +echo "export ANDROID_API_VERSION=$sdkApiLevel" >> ~/.bashrc + +echo "Android SDK tools = r24.4.1" >> ~/versions.txt +echo "Android SDK Build Tools = $sdkBuildToolsVersion" >> ~/versions.txt +echo "Android SDK API level = $sdkApiLevel" >> ~/versions.txt +echo "Android NDK = r10e" >> ~/versions.txt + diff --git a/coin/provisioning/qtci-osx-10.11-x86_64/035-openssl.sh b/coin/provisioning/qtci-osx-10.11-x86_64/035-openssl.sh new file mode 100755 index 00000000..aa494c9e --- /dev/null +++ b/coin/provisioning/qtci-osx-10.11-x86_64/035-openssl.sh @@ -0,0 +1,116 @@ +#!/bin/bash + +############################################################################# +## +## Copyright (C) 2017 The Qt Company Ltd. +## Contact: http://www.qt.io/licensing/ +## +## This file is part of the provisioning scripts of the Qt Toolkit. +## +## $QT_BEGIN_LICENSE:LGPL21$ +## Commercial License Usage +## Licensees holding valid commercial Qt licenses may use this file in +## accordance with the commercial license agreement provided with the +## Software or, alternatively, in accordance with the terms contained in +## a written agreement between you and The Qt Company. For licensing terms +## and conditions see http://www.qt.io/terms-conditions. For further +## information use the contact form at http://www.qt.io/contact-us. +## +## GNU Lesser General Public License Usage +## Alternatively, this file may be used under the terms of the GNU Lesser +## General Public License version 2.1 or version 3 as published by the Free +## Software Foundation and appearing in the file LICENSE.LGPLv21 and +## LICENSE.LGPLv3 included in the packaging of this file. Please review the +## following information to ensure the GNU Lesser General Public License +## requirements will be met: https://www.gnu.org/licenses/lgpl.html and +## http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html. +## +## As a special exception, The Qt Company gives you certain additional +## rights. These rights are described in The Qt Company LGPL Exception +## version 1.1, included in the file LGPL_EXCEPTION.txt in this package. +## +## $QT_END_LICENSE$ +## +############################################################################# + +# This script install OpenSSL + +# shellcheck source=../common/try_catch.sh +source "${BASH_SOURCE%/*}/../common/try_catch.sh" +# shellcheck source=../common/InstallFromCompressedFileFromURL.sh +source "${BASH_SOURCE%/*}/../common/InstallFromCompressedFileFromURL.sh" + +opensslVersion="1.0.2k" +opensslFile="openssl-$opensslVersion.tar.gz" +opensslDlUrl="http://ci-files01-hki.intra.qt.io/input/openssl/$opensslFile" +opensslAltDlUrl="https://www.openssl.org/source/$opensslFile" +opensslSha1="5f26a624479c51847ebd2f22bb9f84b3b44dcb44" + +# Below target location has been hard coded into Coin. +# QTQAINFRA-1195 +opensslTargetLocation="/usr/local/opt/openssl" + +ExceptionCD=100 +ExceptionConfig=101 +ExceptionMake=102 +ExceptionInstall=103 +ExceptionLN=104 +ExceptionCertificate=105 +ExceptionCleanup=106 + +try +( + InstallFromCompressedFileFromURL "$opensslDlUrl" "$opensslAltDlUrl" "$opensslSha1" "/tmp/openssl-$opensslVersion" "openssl-$opensslVersion" + cd "/tmp/openssl-$opensslVersion" || throw $ExceptionCD + sudo ./config --prefix=/usr/local/openssl-$opensslVersion || throw $ExceptionConfig + echo "Running 'make' for OpenSSL" + sudo make --silent > /tmp/openssl_make.log 2>&1 || throw $ExceptionMake + echo "Running 'make install' for OpenSSL" + sudo make --silent install > /tmp/openssl_make_install.log 2>&1 || throw $ExceptionInstall + + path=$(echo "$opensslTargetLocation" | sed -E 's/(.*)\/.*$/\1/') + sudo mkdir -p "$path" + sudo ln -s /usr/local/openssl-$opensslVersion $opensslTargetLocation || throw $ExceptionLN + + echo "export PATH=\"$opensslTargetLocation/bin:\$PATH\"" >> ~/.bashrc + echo "export MANPATH=\"$opensslTargetLocation/share/man:\$MANPATH\"" >> ~/.bashrc + + security find-certificate -a -p /Library/Keychains/System.keychain | sudo tee -a $opensslTargetLocation/ssl/cert.pem || throw $ExceptionCertificate + security find-certificate -a -p /System/Library/Keychains/SystemRootCertificates.keychain | sudo tee -a $opensslTargetLocation/ssl/cert.pem || throw $ExceptionCertificate + + sudo rm -rf /tmp/openssl-$opensslVersion || throw $ExceptionCleanup + + echo "OpenSSL = $opensslVersion" >> ~/versions.txt +) +catch || { + case $ex_code in + $ExceptionCD) + echo "Failed to change directory to /tmp/openssl-$opensslVersion." + exit 1; + ;; + $ExceptionConfig) + echo "Failed to run config for OpenSSL." + exit 1; + ;; + $ExceptionMake) + echo "Failed to run 'make' for OpenSSL." + exit 1; + ;; + $ExceptionInstall) + echo "Failed to run 'make install' for OpenSSL." + exit 1; + ;; + $ExceptionLN) + echo "Failed to create a soft link for OpenSSL." + exit 1; + ;; + $ExceptionCertificate) + echo "Failed to install Certificate for OpenSSL." + exit 1; + ;; + $ExceptionCleanup) + echo "Failed to clean up /tmp/openssl-$opensslVersion." + exit 1; + ;; + esac +} diff --git a/coin/provisioning/qtci-osx-10.11-x86_64/crashreporter.sh b/coin/provisioning/qtci-osx-10.11-x86_64/crashreporter.sh deleted file mode 100644 index ba8dbdd3..00000000 --- a/coin/provisioning/qtci-osx-10.11-x86_64/crashreporter.sh +++ /dev/null @@ -1,2 +0,0 @@ -#!/bin/sh -defaults write com.apple.CrashReporter DialogType server