aboutsummaryrefslogtreecommitdiffstats
path: root/coin/provisioning/qtci-macos-10.12-x86_64
diff options
context:
space:
mode:
Diffstat (limited to 'coin/provisioning/qtci-macos-10.12-x86_64')
-rw-r--r--coin/provisioning/qtci-macos-10.12-x86_64/003-bashprofile.sh5
-rwxr-xr-xcoin/provisioning/qtci-macos-10.12-x86_64/005-systemsetup.sh117
-rwxr-xr-xcoin/provisioning/qtci-macos-10.12-x86_64/006-crashreporter.sh2
-rwxr-xr-xcoin/provisioning/qtci-macos-10.12-x86_64/015-xz.sh50
-rwxr-xr-xcoin/provisioning/qtci-macos-10.12-x86_64/020-xcode.sh110
-rwxr-xr-xcoin/provisioning/qtci-macos-10.12-x86_64/025-cmake.sh50
-rwxr-xr-xcoin/provisioning/qtci-macos-10.12-x86_64/025-mysql.sh54
-rwxr-xr-xcoin/provisioning/qtci-macos-10.12-x86_64/025-postgresql.sh53
8 files changed, 441 insertions, 0 deletions
diff --git a/coin/provisioning/qtci-macos-10.12-x86_64/003-bashprofile.sh b/coin/provisioning/qtci-macos-10.12-x86_64/003-bashprofile.sh
new file mode 100644
index 00000000..0fbe7628
--- /dev/null
+++ b/coin/provisioning/qtci-macos-10.12-x86_64/003-bashprofile.sh
@@ -0,0 +1,5 @@
+#!/bin/sh
+
+# Read .bashrc if exist
+printf -- "# Get the aliases and functions\nif [ -f ~/.bashrc ]; then\n . ~/.bashrc\nfi\n" >> ~/.bash_profile
+
diff --git a/coin/provisioning/qtci-macos-10.12-x86_64/005-systemsetup.sh b/coin/provisioning/qtci-macos-10.12-x86_64/005-systemsetup.sh
new file mode 100755
index 00000000..48430389
--- /dev/null
+++ b/coin/provisioning/qtci-macos-10.12-x86_64/005-systemsetup.sh
@@ -0,0 +1,117 @@
+#!/bin/bash
+
+#############################################################################
+##
+## Copyright (C) 2017 The Qt Company Ltd.
+## Contact: http://www.qt.io/licensing/
+##
+## This file is part of the provisioning scripts of the Qt Toolkit.
+##
+## $QT_BEGIN_LICENSE:LGPL21$
+## Commercial License Usage
+## Licensees holding valid commercial Qt licenses may use this file in
+## accordance with the commercial license agreement provided with the
+## Software or, alternatively, in accordance with the terms contained in
+## a written agreement between you and The Qt Company. For licensing terms
+## and conditions see http://www.qt.io/terms-conditions. For further
+## information use the contact form at http://www.qt.io/contact-us.
+##
+## GNU Lesser General Public License Usage
+## Alternatively, this file may be used under the terms of the GNU Lesser
+## General Public License version 2.1 or version 3 as published by the Free
+## Software Foundation and appearing in the file LICENSE.LGPLv21 and
+## LICENSE.LGPLv3 included in the packaging of this file. Please review the
+## following information to ensure the GNU Lesser General Public License
+## requirements will be met: https://www.gnu.org/licenses/lgpl.html and
+## http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+##
+## As a special exception, The Qt Company gives you certain additional
+## rights. These rights are described in The Qt Company LGPL Exception
+## version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
+##
+## $QT_END_LICENSE$
+##
+#############################################################################
+
+# This script modified system settings for automated use
+
+# shellcheck source=../common/try_catch.sh
+source "${BASH_SOURCE%/*}/../common/try_catch.sh"
+
+VNCPassword=qt
+NTS_IP=10.212.2.216
+
+ExceptionDisableScreensaver=100
+ExceptionSetInitialDelay=101
+ExceptionSetDelay=102
+ExceptionVNC=103
+ExceptionNTS=104
+
+try
+(
+ echo "Disable Screensaver"
+ mkdir -p "$HOME/Library/LaunchAgents" || throw $ExceptionDisableScreensaver
+ (
+ cat >"$HOME/Library/LaunchAgents/no-screensaver.plist" <<EOT
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
+
+<plist version="1.0">
+ <dict>
+ <key>Label</key>
+ <string>org.qt.io.screensaver_disable</string>
+ <key>ProgramArguments</key>
+ <array>
+ <string>defaults</string>
+ <string>-currentHost</string>
+ <string>write</string>
+ <string>com.apple.screensaver</string>
+ <string>idleTime</string>
+ <string>0</string>
+ </array>
+ <key>RunAtLoad</key>
+ <true/>
+ <key>KeepAlive</key>
+ <false/>
+ </dict>
+</plist>
+EOT
+ ) || throw $ExceptionDisableScreensaver
+
+ echo "Set keyboard type rates and delays"
+ # normal minimum is 15 (225 ms)
+ defaults write -g InitialKeyRepeat -int 15 || throw $ExceptionSetInitialDelay
+ # normal minimum is 2 (30 ms)
+ defaults write -g KeyRepeat -int 2 || throw $ExceptionSetDelay
+
+ echo "Enable remote desktop sharing"
+ sudo /System/Library/CoreServices/RemoteManagement/ARDAgent.app/Contents/Resources/kickstart -activate -configure -access -on -clientopts -setvnclegacy -vnclegacy yes -clientopts -setvncpw -vncpw $VNCPassword -restart -agent -privs -all || throw $ExceptionVNC
+
+ echo "Set Network Test Server address to $NTS_IP in /etc/hosts"
+ echo "$NTS_IP qt-test-server qt-test-server.qt-test-net" | sudo tee -a /etc/hosts || throw $ExceptionNTS
+
+)
+catch || {
+ case $ex_code in
+ $ExceptionDisableScreensaver)
+ echo "Failed to disable screensaver."
+ exit 1;
+ ;;
+ $ExceptionSetInitialDelay)
+ echo "Failed to set initial delay of keyboard."
+ exit 1;
+ ;;
+ $ExceptionSetDelay)
+ echo "Failed to set delay of keyboard."
+ exit 1;
+ ;;
+ $ExceptionVNC)
+ echo "Failed to enable VNC."
+ exit 1;
+ ;;
+ $ExceptionNTS)
+ echo "Failed to set NTS."
+ exit 1;
+ ;;
+ esac
+}
diff --git a/coin/provisioning/qtci-macos-10.12-x86_64/006-crashreporter.sh b/coin/provisioning/qtci-macos-10.12-x86_64/006-crashreporter.sh
new file mode 100755
index 00000000..ba8dbdd3
--- /dev/null
+++ b/coin/provisioning/qtci-macos-10.12-x86_64/006-crashreporter.sh
@@ -0,0 +1,2 @@
+#!/bin/sh
+defaults write com.apple.CrashReporter DialogType server
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..070ed049
--- /dev/null
+++ b/coin/provisioning/qtci-macos-10.12-x86_64/020-xcode.sh
@@ -0,0 +1,110 @@
+#!/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
+ExceptionAcceptLicense=105
+
+
+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 "Accept license"
+ sudo xcodebuild -license accept || throw $ExceptionAcceptLicense
+
+ 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;
+ ;;
+ $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