From 9da27c5808b6f5eda84ef75ce96a0259c7d92d41 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Tony=20Saraj=C3=A4rvi?= Date: Thu, 2 May 2019 10:22:00 +0300 Subject: Add macOS 10.14 to the CI Task-number: QTQAINFRA-2938 Change-Id: Id25c6c3203a07985c9ef1cc914c4398ac7db615c Reviewed-by: Qt CI Bot Reviewed-by: Liang Qi --- coin/platform_configs/default.yaml | 5 + .../common/macos/install_openssl_111a.sh | 78 ++++++++++++ .../01-sha1sum-compatibility.sh | 41 ++++++ .../qtci-macos-10.14-x86_64/03-bashprofile.sh | 7 ++ .../qtci-macos-10.14-x86_64/05-systemsetup.sh | 92 ++++++++++++++ .../qtci-macos-10.14-x86_64/06-crashreporter.sh | 5 + .../06-disable_spotlight.sh | 5 + .../06-disable_update_downloads.sh | 4 + .../qtci-macos-10.14-x86_64/07-SSL_keychain.sh | 9 ++ coin/provisioning/qtci-macos-10.14-x86_64/15-xz.sh | 52 ++++++++ .../qtci-macos-10.14-x86_64/20-java.sh | 5 + .../qtci-macos-10.14-x86_64/20-xcode.sh | 53 ++++++++ .../21-install-commandlinetools.sh | 47 +++++++ .../qtci-macos-10.14-x86_64/25-cmake.sh | 6 + .../qtci-macos-10.14-x86_64/25-homebrew.sh | 6 + .../qtci-macos-10.14-x86_64/25-mysql.sh | 58 +++++++++ .../provisioning/qtci-macos-10.14-x86_64/25-pip.sh | 6 + .../qtci-macos-10.14-x86_64/25-postgresql.sh | 57 +++++++++ .../qtci-macos-10.14-x86_64/25-python2.sh | 5 + .../qtci-macos-10.14-x86_64/25-python3.sh | 5 + .../qtci-macos-10.14-x86_64/26-odbc.sh | 7 ++ .../qtci-macos-10.14-x86_64/26-p7zip.sh | 7 ++ .../qtci-macos-10.14-x86_64/27-libclang.sh | 7 ++ .../qtci-macos-10.14-x86_64/30-android.sh | 85 +++++++++++++ .../provisioning/qtci-macos-10.14-x86_64/30-fbx.sh | 7 ++ .../qtci-macos-10.14-x86_64/35-install-breakpad.sh | 6 + .../35-install_protobuff.sh | 40 ++++++ .../qtci-macos-10.14-x86_64/35-openssl.sh | 6 + .../qtci-macos-10.14-x86_64/40-qnx700.sh | 57 +++++++++ .../qtci-macos-10.14-x86_64/55-signtools.sh | 138 +++++++++++++++++++++ .../qtci-macos-10.14-x86_64/90-squish.sh | 6 + .../qtci-macos-10.14-x86_64/99-mac-version.sh | 6 + 32 files changed, 918 insertions(+) create mode 100755 coin/provisioning/common/macos/install_openssl_111a.sh create mode 100755 coin/provisioning/qtci-macos-10.14-x86_64/01-sha1sum-compatibility.sh create mode 100755 coin/provisioning/qtci-macos-10.14-x86_64/03-bashprofile.sh create mode 100755 coin/provisioning/qtci-macos-10.14-x86_64/05-systemsetup.sh create mode 100755 coin/provisioning/qtci-macos-10.14-x86_64/06-crashreporter.sh create mode 100755 coin/provisioning/qtci-macos-10.14-x86_64/06-disable_spotlight.sh create mode 100755 coin/provisioning/qtci-macos-10.14-x86_64/06-disable_update_downloads.sh create mode 100755 coin/provisioning/qtci-macos-10.14-x86_64/07-SSL_keychain.sh create mode 100755 coin/provisioning/qtci-macos-10.14-x86_64/15-xz.sh create mode 100755 coin/provisioning/qtci-macos-10.14-x86_64/20-java.sh create mode 100755 coin/provisioning/qtci-macos-10.14-x86_64/20-xcode.sh create mode 100755 coin/provisioning/qtci-macos-10.14-x86_64/21-install-commandlinetools.sh create mode 100755 coin/provisioning/qtci-macos-10.14-x86_64/25-cmake.sh create mode 100755 coin/provisioning/qtci-macos-10.14-x86_64/25-homebrew.sh create mode 100755 coin/provisioning/qtci-macos-10.14-x86_64/25-mysql.sh create mode 100755 coin/provisioning/qtci-macos-10.14-x86_64/25-pip.sh create mode 100755 coin/provisioning/qtci-macos-10.14-x86_64/25-postgresql.sh create mode 100755 coin/provisioning/qtci-macos-10.14-x86_64/25-python2.sh create mode 100755 coin/provisioning/qtci-macos-10.14-x86_64/25-python3.sh create mode 100755 coin/provisioning/qtci-macos-10.14-x86_64/26-odbc.sh create mode 100755 coin/provisioning/qtci-macos-10.14-x86_64/26-p7zip.sh create mode 100755 coin/provisioning/qtci-macos-10.14-x86_64/27-libclang.sh create mode 100755 coin/provisioning/qtci-macos-10.14-x86_64/30-android.sh create mode 100755 coin/provisioning/qtci-macos-10.14-x86_64/30-fbx.sh create mode 100755 coin/provisioning/qtci-macos-10.14-x86_64/35-install-breakpad.sh create mode 100755 coin/provisioning/qtci-macos-10.14-x86_64/35-install_protobuff.sh create mode 100755 coin/provisioning/qtci-macos-10.14-x86_64/35-openssl.sh create mode 100755 coin/provisioning/qtci-macos-10.14-x86_64/40-qnx700.sh create mode 100755 coin/provisioning/qtci-macos-10.14-x86_64/55-signtools.sh create mode 100755 coin/provisioning/qtci-macos-10.14-x86_64/90-squish.sh create mode 100755 coin/provisioning/qtci-macos-10.14-x86_64/99-mac-version.sh (limited to 'coin') diff --git a/coin/platform_configs/default.yaml b/coin/platform_configs/default.yaml index ce4394fb..d2aa8f10 100644 --- a/coin/platform_configs/default.yaml +++ b/coin/platform_configs/default.yaml @@ -85,6 +85,11 @@ Compiler: 'Clang' Features: ['Packaging'] Configure arguments: '-opensource -confirm-license -verbose -prefix /Users/qt/work/install -debug-and-release -release -nomake tests -nomake examples -no-sql-mysql -plugin-sql-psql -plugin-sql-sqlite -xplatform macx-clang -separate-debug-info -sdk macosx -device-option QMAKE_APPLE_DEVICE_ARCHS=x86_64 -sysconfdir /Library/Preferences/Qt -I/usr/local/opt/openssl/include' +- + Template: 'qtci-macos-10.14-x86_64' + Compiler: 'Clang' + Features: ['DisableTests'] + Configure arguments: '-opensource -confirm-license -verbose -prefix /Users/qt/work/install -debug-and-release -release -nomake tests -no-sql-mysql -plugin-sql-psql -plugin-sql-sqlite -xplatform macx-clang -separate-debug-info -sdk macosx -device-option QMAKE_APPLE_DEVICE_ARCHS=x86_64 -sysconfdir /Library/Preferences/Qt -I/usr/local/opt/openssl/include' - Template: 'qtci-macos-10.12-x86_64-9' Compiler: 'Clang' diff --git a/coin/provisioning/common/macos/install_openssl_111a.sh b/coin/provisioning/common/macos/install_openssl_111a.sh new file mode 100755 index 00000000..cd6cd9e8 --- /dev/null +++ b/coin/provisioning/common/macos/install_openssl_111a.sh @@ -0,0 +1,78 @@ +#!/usr/bin/env bash + +############################################################################# +## +## Copyright (C) 2019 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 + +set -ex + +# shellcheck source=../unix/InstallFromCompressedFileFromURL.sh +source "${BASH_SOURCE%/*}/../unix/InstallFromCompressedFileFromURL.sh" +# shellcheck source=../unix/SetEnvVar.sh +source "${BASH_SOURCE%/*}/../unix/SetEnvVar.sh" + +opensslVersion="1.1.1a" +opensslFile="openssl-$opensslVersion.tar.gz" +opensslDlUrl="http://ci-files01-hki.intra.qt.io/input/openssl/$opensslFile" +opensslAltDlUrl="https://www.openssl.org/source/$opensslFile" +opensslSha1="8fae27b4f34445a5500c9dc50ae66b4d6472ce29" + +# Below target location has been hard coded into Coin. +# QTQAINFRA-1195 +openssl_install_dir=/usr/local/openssl-$opensslVersion +opensslTargetLocation="/usr/local/opt/openssl" + +InstallFromCompressedFileFromURL "$opensslDlUrl" "$opensslAltDlUrl" "$opensslSha1" "/tmp/openssl-$opensslVersion" "openssl-$opensslVersion" +cd "/tmp/openssl-$opensslVersion" +sudo ./Configure --prefix=$openssl_install_dir shared no-ssl3-method enable-ec_nistp_64_gcc_128 darwin64-x86_64-cc "-Wa,--noexecstack" + +sudo make install_sw install_ssldirs + +path=$(echo "$opensslTargetLocation" | sed -E 's/(.*)\/.*$/\1/') +sudo mkdir -p "$path" +sudo ln -s $openssl_install_dir $opensslTargetLocation + +SetEnvVar "PATH" "\"$opensslTargetLocation/bin:\$PATH\"" +SetEnvVar "MANPATH" "\"$opensslTargetLocation/share/man:\$MANPATH\"" + +SetEnvVar "OPENSSL_DIR" "\"$openssl_install_dir\"" +SetEnvVar "OPENSSL_INCLUDE" "\"$openssl_install_dir/include\"" +SetEnvVar "OPENSSL_LIB" "\"$openssl_install_dir/lib\"" + +security find-certificate -a -p /Library/Keychains/System.keychain | sudo tee -a $opensslTargetLocation/ssl/cert.pem > /dev/null +security find-certificate -a -p /System/Library/Keychains/SystemRootCertificates.keychain | sudo tee -a $opensslTargetLocation/ssl/cert.pem > /dev/null + +sudo rm -rf /tmp/openssl-$opensslVersion + +echo "OpenSSL = $opensslVersion" >> ~/versions.txt diff --git a/coin/provisioning/qtci-macos-10.14-x86_64/01-sha1sum-compatibility.sh b/coin/provisioning/qtci-macos-10.14-x86_64/01-sha1sum-compatibility.sh new file mode 100755 index 00000000..52650fea --- /dev/null +++ b/coin/provisioning/qtci-macos-10.14-x86_64/01-sha1sum-compatibility.sh @@ -0,0 +1,41 @@ +#!/usr/bin/env bash + +############################################################################# +## +## Copyright (C) 2018 The Qt Company Ltd. +## Contact: http://www.qt.io/licensing/ +## +## This file is part of the provisioning scripts of the Qt Toolkit. +## +## $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$ +## +############################################################################# + +#!/usr/bin/env bash + +set -ex + +# shellcheck source=../common/macos/sha1sum-compatibility.sh +source "${BASH_SOURCE%/*}/../common/macos/sha1sum-compatibility.sh" diff --git a/coin/provisioning/qtci-macos-10.14-x86_64/03-bashprofile.sh b/coin/provisioning/qtci-macos-10.14-x86_64/03-bashprofile.sh new file mode 100755 index 00000000..2c3e45f3 --- /dev/null +++ b/coin/provisioning/qtci-macos-10.14-x86_64/03-bashprofile.sh @@ -0,0 +1,7 @@ +#!/usr/bin/env sh + +set -ex + +# 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.14-x86_64/05-systemsetup.sh b/coin/provisioning/qtci-macos-10.14-x86_64/05-systemsetup.sh new file mode 100755 index 00000000..817e3858 --- /dev/null +++ b/coin/provisioning/qtci-macos-10.14-x86_64/05-systemsetup.sh @@ -0,0 +1,92 @@ +#!/usr/bin/env bash + +############################################################################# +## +## Copyright (C) 2018 The Qt Company Ltd. +## Contact: http://www.qt.io/licensing/ +## +## This file is part of the provisioning scripts of the Qt Toolkit. +## +## $QT_BEGIN_LICENSE:LGPL21$ +## Commercial License Usage +## Licensees holding valid commercial Qt licenses may use this file in +## accordance with the commercial license agreement provided with the +## Software or, alternatively, in accordance with the terms contained in +## a written agreement between you and The Qt Company. For licensing terms +## and conditions see http://www.qt.io/terms-conditions. For further +## information use the contact form at http://www.qt.io/contact-us. +## +## GNU Lesser General Public License Usage +## Alternatively, this file may be used under the terms of the GNU Lesser +## General Public License version 2.1 or version 3 as published by the Free +## Software Foundation and appearing in the file LICENSE.LGPLv21 and +## LICENSE.LGPLv3 included in the packaging of this file. Please review the +## following information to ensure the GNU Lesser General Public License +## requirements will be met: https://www.gnu.org/licenses/lgpl.html and +## http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html. +## +## As a special exception, The Qt Company gives you certain additional +## rights. These rights are described in The Qt Company LGPL Exception +## version 1.1, included in the file LGPL_EXCEPTION.txt in this package. +## +## $QT_END_LICENSE$ +## +############################################################################# + +set -ex + +# This script modified system settings for automated use + +VNCPassword=qt +NTS_IP=10.212.2.216 + +echo "Disable Screensaver" +# For current session +defaults -currentHost write com.apple.screensaver idleTime 0 + +echo "Disable sleep" +sudo pmset sleep 0 displaysleep 0 + +# For session after a reboot +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 + +defaults write com.apple.screensaver askForPassword -int 0 + +echo "Set keyboard type rates and delays" +# normal minimum is 15 (225 ms) +defaults write -g InitialKeyRepeat -int 15 +# normal minimum is 2 (30 ms) +defaults write -g KeyRepeat -int 2 + +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 + +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 + +sudo systemsetup settimezone GMT +sudo systemsetup setusingnetworktime off diff --git a/coin/provisioning/qtci-macos-10.14-x86_64/06-crashreporter.sh b/coin/provisioning/qtci-macos-10.14-x86_64/06-crashreporter.sh new file mode 100755 index 00000000..8461c656 --- /dev/null +++ b/coin/provisioning/qtci-macos-10.14-x86_64/06-crashreporter.sh @@ -0,0 +1,5 @@ +#!/usr/bin/env sh + +set -ex + +defaults write com.apple.CrashReporter DialogType server diff --git a/coin/provisioning/qtci-macos-10.14-x86_64/06-disable_spotlight.sh b/coin/provisioning/qtci-macos-10.14-x86_64/06-disable_spotlight.sh new file mode 100755 index 00000000..67e2c1f6 --- /dev/null +++ b/coin/provisioning/qtci-macos-10.14-x86_64/06-disable_spotlight.sh @@ -0,0 +1,5 @@ +#!/usr/bin/env bash +set -ex + +# shellcheck source=../common/macos/disable_spotlight.sh +source "${BASH_SOURCE%/*}/../common/macos/disable_spotlight.sh" diff --git a/coin/provisioning/qtci-macos-10.14-x86_64/06-disable_update_downloads.sh b/coin/provisioning/qtci-macos-10.14-x86_64/06-disable_update_downloads.sh new file mode 100755 index 00000000..3c11214d --- /dev/null +++ b/coin/provisioning/qtci-macos-10.14-x86_64/06-disable_update_downloads.sh @@ -0,0 +1,4 @@ +#!/usr/bin/env bash +set -ex +BASEDIR=$(dirname "$0") +"$BASEDIR"/../common/macos/disable_update_downloads.sh diff --git a/coin/provisioning/qtci-macos-10.14-x86_64/07-SSL_keychain.sh b/coin/provisioning/qtci-macos-10.14-x86_64/07-SSL_keychain.sh new file mode 100755 index 00000000..6e7c796a --- /dev/null +++ b/coin/provisioning/qtci-macos-10.14-x86_64/07-SSL_keychain.sh @@ -0,0 +1,9 @@ +#!/usr/bin/env sh + +set -ex + +# shellcheck source=../common/unix/SetEnvVar.sh +source "${BASH_SOURCE%/*}/../common/unix/SetEnvVar.sh" + +# Enables the usage of temporary keychains for SSL autotests +SetEnvVar "QT_SSL_USE_TEMPORARY_KEYCHAIN" "1" diff --git a/coin/provisioning/qtci-macos-10.14-x86_64/15-xz.sh b/coin/provisioning/qtci-macos-10.14-x86_64/15-xz.sh new file mode 100755 index 00000000..9a667c64 --- /dev/null +++ b/coin/provisioning/qtci-macos-10.14-x86_64/15-xz.sh @@ -0,0 +1,52 @@ +#!/usr/bin/env bash + +############################################################################# +## +## Copyright (C) 2018 The Qt Company Ltd. +## Contact: http://www.qt.io/licensing/ +## +## This file is part of the provisioning scripts of the Qt Toolkit. +## +## $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 + +set -ex + +# shellcheck source=../common/macos/InstallPKGFromURL.sh +source "${BASH_SOURCE%/*}/../common/macos/InstallPKGFromURL.sh" + +PrimaryUrl="http://ci-files01-hki.intra.qt.io/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.14-x86_64/20-java.sh b/coin/provisioning/qtci-macos-10.14-x86_64/20-java.sh new file mode 100755 index 00000000..dcfcb93b --- /dev/null +++ b/coin/provisioning/qtci-macos-10.14-x86_64/20-java.sh @@ -0,0 +1,5 @@ +#!/usr/bin/env bash +set -ex + +BASEDIR=$(dirname "$0") +"$BASEDIR/../common/macos/java.sh" diff --git a/coin/provisioning/qtci-macos-10.14-x86_64/20-xcode.sh b/coin/provisioning/qtci-macos-10.14-x86_64/20-xcode.sh new file mode 100755 index 00000000..ebeadc02 --- /dev/null +++ b/coin/provisioning/qtci-macos-10.14-x86_64/20-xcode.sh @@ -0,0 +1,53 @@ +#!/usr/bin/env bash + +############################################################################# +## +## Copyright (C) 2018 The Qt Company Ltd. +## Contact: http://www.qt.io/licensing/ +## +## This file is part of the provisioning scripts of the Qt Toolkit. +## +## $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_9.xip from Apple Store. +# Uncompress it with 'xar -xf Xcode_9.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 five files called "Content.part<00..05>.cpio.xz". +# Extract those that have the extension .xz with xz. +# "cat" together all the content files "cat file1, file2, file3, file4, file5 >file_new" +# Compress the new file with xz back to something like Xcode_9.xz +# Upload the file to temporary storage for this script to use. + +set -ex + +# shellcheck source=../common/macos/install_xcode.sh +source "${BASH_SOURCE%/*}/../common/macos/install_xcode.sh" + +InstallXCode /net/ci-files01-hki.intra.qt.io/hdd/www/input/mac/macos_10.14_mojave/Xcode_10.2.1.tar.gz 10.2.1 diff --git a/coin/provisioning/qtci-macos-10.14-x86_64/21-install-commandlinetools.sh b/coin/provisioning/qtci-macos-10.14-x86_64/21-install-commandlinetools.sh new file mode 100755 index 00000000..09055ee6 --- /dev/null +++ b/coin/provisioning/qtci-macos-10.14-x86_64/21-install-commandlinetools.sh @@ -0,0 +1,47 @@ +#!/usr/bin/env bash + +############################################################################# +## +## Copyright (C) 2018 The Qt Company Ltd. +## Contact: http://www.qt.io/licensing/ +## +## This file is part of the provisioning scripts of the Qt Toolkit. +## +## $QT_BEGIN_LICENSE:LGPL21$ +## Commercial License Usage +## Licensees holding valid commercial Qt licenses may use this file in +## accordance with the commercial license agreement provided with the +## Software or, alternatively, in accordance with the terms contained in +## a written agreement between you and The Qt Company. For licensing terms +## and conditions see http://www.qt.io/terms-conditions. For further +## information use the contact form at http://www.qt.io/contact-us. +## +## GNU Lesser General Public License Usage +## Alternatively, this file may be used under the terms of the GNU Lesser +## General Public License version 2.1 or version 3 as published by the Free +## Software Foundation and appearing in the file LICENSE.LGPLv21 and +## LICENSE.LGPLv3 included in the packaging of this file. Please review the +## following information to ensure the GNU Lesser General Public License +## requirements will be met: https://www.gnu.org/licenses/lgpl.html and +## http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html. +## +## As a special exception, The Qt Company gives you certain additional +## rights. These rights are described in The Qt Company LGPL Exception +## version 1.1, included in the file LGPL_EXCEPTION.txt in this package. +## +## $QT_END_LICENSE$ +## +############################################################################# + +set -ex + +# shellcheck source=../common/macos/install-commandlinetools.sh +source "${BASH_SOURCE%/*}/../common/macos/install-commandlinetools.sh" + +version="10.2.1" +packageName="Command_Line_Tools_macOS_10.14_for_Xcode_$version.dmg" +url="http://ci-files01-hki.intra.qt.io/input/mac/macos_10.14_mojave/$packageName" +sha1="18fea89bb743107aee372a212be608d6e35fdecf" + +InstallCommandLineTools $url $url $sha1 $packageName $version + diff --git a/coin/provisioning/qtci-macos-10.14-x86_64/25-cmake.sh b/coin/provisioning/qtci-macos-10.14-x86_64/25-cmake.sh new file mode 100755 index 00000000..4f4d405e --- /dev/null +++ b/coin/provisioning/qtci-macos-10.14-x86_64/25-cmake.sh @@ -0,0 +1,6 @@ +#!/usr/bin/env bash + +set -ex + +BASEDIR=$(dirname "$0") +"$BASEDIR/../common/macos/cmake.sh" diff --git a/coin/provisioning/qtci-macos-10.14-x86_64/25-homebrew.sh b/coin/provisioning/qtci-macos-10.14-x86_64/25-homebrew.sh new file mode 100755 index 00000000..06e984ec --- /dev/null +++ b/coin/provisioning/qtci-macos-10.14-x86_64/25-homebrew.sh @@ -0,0 +1,6 @@ +#!/usr/bin/env bash + +set -ex + +BASEDIR=$(dirname "$0") +"$BASEDIR/../common/macos/homebrew.sh" diff --git a/coin/provisioning/qtci-macos-10.14-x86_64/25-mysql.sh b/coin/provisioning/qtci-macos-10.14-x86_64/25-mysql.sh new file mode 100755 index 00000000..d873499c --- /dev/null +++ b/coin/provisioning/qtci-macos-10.14-x86_64/25-mysql.sh @@ -0,0 +1,58 @@ +#!/usr/bin/env bash + +############################################################################# +## +## Copyright (C) 2018 The Qt Company Ltd. +## Contact: http://www.qt.io/licensing/ +## +## This file is part of the provisioning scripts of the Qt Toolkit. +## +## $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 + +set -ex + +# shellcheck source=../common/macos/InstallAppFromCompressedFileFromURL.sh +source "${BASH_SOURCE%/*}/../common/macos/InstallAppFromCompressedFileFromURL.sh" +# shellcheck source=../common/unix/SetEnvVar.sh +source "${BASH_SOURCE%/*}/../common/unix/SetEnvVar.sh" + +PrimaryUrl="http://ci-files01-hki.intra.qt.io/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" + +SetEnvVar "MYSQLBINPATH" "/opt/mysql57/bin" +echo "MySQL = 5.7.15" >> ~/versions.txt diff --git a/coin/provisioning/qtci-macos-10.14-x86_64/25-pip.sh b/coin/provisioning/qtci-macos-10.14-x86_64/25-pip.sh new file mode 100755 index 00000000..86db3e27 --- /dev/null +++ b/coin/provisioning/qtci-macos-10.14-x86_64/25-pip.sh @@ -0,0 +1,6 @@ +#!/usr/bin/env bash + +set -ex + +BASEDIR=$(dirname "$0") +"$BASEDIR/../common/macos/pip.sh" diff --git a/coin/provisioning/qtci-macos-10.14-x86_64/25-postgresql.sh b/coin/provisioning/qtci-macos-10.14-x86_64/25-postgresql.sh new file mode 100755 index 00000000..e59f0f03 --- /dev/null +++ b/coin/provisioning/qtci-macos-10.14-x86_64/25-postgresql.sh @@ -0,0 +1,57 @@ +#!/usr/bin/env bash + +############################################################################# +## +## Copyright (C) 2018 The Qt Company Ltd. +## Contact: http://www.qt.io/licensing/ +## +## This file is part of the provisioning scripts of the Qt Toolkit. +## +## $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 + +set -ex + +# shellcheck source=../common/macos/InstallAppFromCompressedFileFromURL.sh +source "${BASH_SOURCE%/*}/../common/macos/InstallAppFromCompressedFileFromURL.sh" +# shellcheck source=../common/unix/SetEnvVar.sh +source "${BASH_SOURCE%/*}/../common/unix/SetEnvVar.sh" + +psqlVersion="9.6.0" + +PrimaryUrl="http://ci-files01-hki.intra.qt.io/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" + +SetEnvVar "POSTGRESQLBINPATH" "/Applications/Postgres.app/Contents/Versions/9.6/bin" +echo "PostgreSQL = $psqlVersion" >> ~/versions.txt diff --git a/coin/provisioning/qtci-macos-10.14-x86_64/25-python2.sh b/coin/provisioning/qtci-macos-10.14-x86_64/25-python2.sh new file mode 100755 index 00000000..7ebb8825 --- /dev/null +++ b/coin/provisioning/qtci-macos-10.14-x86_64/25-python2.sh @@ -0,0 +1,5 @@ +#!/usr/bin/env bash +set -ex + +# shellcheck source=../common/macos/python2.sh +source "${BASH_SOURCE%/*}/../common/macos/python2.sh" diff --git a/coin/provisioning/qtci-macos-10.14-x86_64/25-python3.sh b/coin/provisioning/qtci-macos-10.14-x86_64/25-python3.sh new file mode 100755 index 00000000..eb2a4863 --- /dev/null +++ b/coin/provisioning/qtci-macos-10.14-x86_64/25-python3.sh @@ -0,0 +1,5 @@ +#!/usr/bin/env bash +set -ex + +# shellcheck source=../common/macos/python3.sh +source "${BASH_SOURCE%/*}/../common/macos/python3.sh" diff --git a/coin/provisioning/qtci-macos-10.14-x86_64/26-odbc.sh b/coin/provisioning/qtci-macos-10.14-x86_64/26-odbc.sh new file mode 100755 index 00000000..2aedfe7b --- /dev/null +++ b/coin/provisioning/qtci-macos-10.14-x86_64/26-odbc.sh @@ -0,0 +1,7 @@ +#!/usr/bin/env bash +# Install libiodbc + +set -ex + +BASEDIR=$(dirname "$0") +"$BASEDIR/../common/macos/libiodbc.sh" diff --git a/coin/provisioning/qtci-macos-10.14-x86_64/26-p7zip.sh b/coin/provisioning/qtci-macos-10.14-x86_64/26-p7zip.sh new file mode 100755 index 00000000..15511332 --- /dev/null +++ b/coin/provisioning/qtci-macos-10.14-x86_64/26-p7zip.sh @@ -0,0 +1,7 @@ +#!/usr/bin/env bash +# Install 7z to be used from command line + +set -ex + +brew update +brew install p7zip diff --git a/coin/provisioning/qtci-macos-10.14-x86_64/27-libclang.sh b/coin/provisioning/qtci-macos-10.14-x86_64/27-libclang.sh new file mode 100755 index 00000000..aad628cb --- /dev/null +++ b/coin/provisioning/qtci-macos-10.14-x86_64/27-libclang.sh @@ -0,0 +1,7 @@ +#!/usr/bin/env bash + +set -ex + +BASEDIR=$(dirname "$0") +# There is only one mac package and common script uses it as a default +"$BASEDIR/../common/unix/libclang.sh" diff --git a/coin/provisioning/qtci-macos-10.14-x86_64/30-android.sh b/coin/provisioning/qtci-macos-10.14-x86_64/30-android.sh new file mode 100755 index 00000000..c0d75ff6 --- /dev/null +++ b/coin/provisioning/qtci-macos-10.14-x86_64/30-android.sh @@ -0,0 +1,85 @@ +#!/usr/bin/env bash + +############################################################################# +## +## Copyright (C) 2018 The Qt Company Ltd. +## Contact: http://www.qt.io/licensing/ +## +## This file is part of the provisioning scripts of the Qt Toolkit. +## +## $QT_BEGIN_LICENSE:LGPL21$ +## Commercial License Usage +## Licensees holding valid commercial Qt licenses may use this file in +## accordance with the commercial license agreement provided with the +## Software or, alternatively, in accordance with the terms contained in +## a written agreement between you and The Qt Company. For licensing terms +## and conditions see http://www.qt.io/terms-conditions. For further +## information use the contact form at http://www.qt.io/contact-us. +## +## GNU Lesser General Public License Usage +## Alternatively, this file may be used under the terms of the GNU Lesser +## General Public License version 2.1 or version 3 as published by the Free +## Software Foundation and appearing in the file LICENSE.LGPLv21 and +## LICENSE.LGPLv3 included in the packaging of this file. Please review the +## following information to ensure the GNU Lesser General Public License +## requirements will be met: https://www.gnu.org/licenses/lgpl.html and +## http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html. +## +## As a special exception, The Qt Company gives you certain additional +## rights. These rights are described in The Qt Company LGPL Exception +## version 1.1, included in the file LGPL_EXCEPTION.txt in this package. +## +## $QT_END_LICENSE$ +## +############################################################################# + +# This script install Android sdk and ndk. + +# It also runs update for SDK API, latest SDK tools, latest platform-tools and build-tools version + +set -ex + +# shellcheck source=../common/unix/SetEnvVar.sh +source "${BASH_SOURCE%/*}/../common/unix/SetEnvVar.sh" + +targetFolder="/opt/android" +sdkTargetFolder="$targetFolder/sdk" + +basePath="/net/ci-files01-hki.intra.qt.io/hdd/www/input/android" + +toolsVersion="r26.1.1" +# toolsFile dertermines tools version +toolsFile="sdk-tools-darwin-4333796.zip" + +ndkVersion="r18b" +ndkFile="android-ndk-$ndkVersion-darwin-x86_64.zip" +sdkBuildToolsVersion="28.0.3" +# this is compile sdk version +sdkApiLevel="android-28" + +toolsSourceFile="$basePath/$toolsFile" +ndkSourceFile="$basePath/$ndkFile" + +echo "Unzipping Android NDK to '$targetFolder'" +sudo unzip -q "$ndkSourceFile" -d "$targetFolder" +echo "Unzipping Android Tools to '$sdkTargetFolder'" +sudo unzip -q "$toolsSourceFile" -d "$sdkTargetFolder" + +echo "Changing ownership of Android files." +sudo chown -R qt:wheel "$targetFolder" + +echo "Running SDK manager for platforms;$sdkApiLevel, platform-tools and build-tools;$sdkBuildToolsVersion." +(echo "y"; echo "y") |"$sdkTargetFolder/tools/bin/sdkmanager" "platforms;$sdkApiLevel" "platform-tools" "build-tools;$sdkBuildToolsVersion" + +echo "Checking the contents of Android SDK..." +ls -l "$sdkTargetFolder" + +SetEnvVar "ANDROID_SDK_HOME" "$sdkTargetFolder" +SetEnvVar "ANDROID_NDK_HOME" "$targetFolder/android-ndk-$ndkVersion" +SetEnvVar "ANDROID_NDK_HOST" "darwin-x86_64" +SetEnvVar "ANDROID_API_VERSION" "$sdkApiLevel" + +echo "Android SDK tools = $toolsVersion" >> ~/versions.txt +echo "Android SDK Build Tools = $sdkBuildToolsVersion" >> ~/versions.txt +echo "Android SDK API level = $sdkApiLevel" >> ~/versions.txt +echo "Android NDK = $ndkVersion" >> ~/versions.txt diff --git a/coin/provisioning/qtci-macos-10.14-x86_64/30-fbx.sh b/coin/provisioning/qtci-macos-10.14-x86_64/30-fbx.sh new file mode 100755 index 00000000..34eefeb6 --- /dev/null +++ b/coin/provisioning/qtci-macos-10.14-x86_64/30-fbx.sh @@ -0,0 +1,7 @@ +#!/usr/bin/env bash + +set -ex + +BASEDIR=$(dirname "$0") +"$BASEDIR/../common/macos/fbx_macos.sh" + diff --git a/coin/provisioning/qtci-macos-10.14-x86_64/35-install-breakpad.sh b/coin/provisioning/qtci-macos-10.14-x86_64/35-install-breakpad.sh new file mode 100755 index 00000000..74dd1579 --- /dev/null +++ b/coin/provisioning/qtci-macos-10.14-x86_64/35-install-breakpad.sh @@ -0,0 +1,6 @@ +#!/usr/bin/env bash + +set -ex + +# shellcheck source=../common/unix/install-breakpad.sh +source "${BASH_SOURCE%/*}/../common/unix/install-breakpad.sh" diff --git a/coin/provisioning/qtci-macos-10.14-x86_64/35-install_protobuff.sh b/coin/provisioning/qtci-macos-10.14-x86_64/35-install_protobuff.sh new file mode 100755 index 00000000..a77938b3 --- /dev/null +++ b/coin/provisioning/qtci-macos-10.14-x86_64/35-install_protobuff.sh @@ -0,0 +1,40 @@ +#!/usr/bin/env bash + +############################################################################# +## +## Copyright (C) 2018 The Qt Company Ltd. +## Contact: http://www.qt.io/licensing/ +## +## This file is part of the provisioning scripts of the Qt Toolkit. +## +## $QT_BEGIN_LICENSE:LGPL21$ +## Commercial License Usage +## Licensees holding valid commercial Qt licenses may use this file in +## accordance with the commercial license agreement provided with the +## Software or, alternatively, in accordance with the terms contained in +## a written agreement between you and The Qt Company. For licensing terms +## and conditions see http://www.qt.io/terms-conditions. For further +## information use the contact form at http://www.qt.io/contact-us. +## +## GNU Lesser General Public License Usage +## Alternatively, this file may be used under the terms of the GNU Lesser +## General Public License version 2.1 or version 3 as published by the Free +## Software Foundation and appearing in the file LICENSE.LGPLv21 and +## LICENSE.LGPLv3 included in the packaging of this file. Please review the +## following information to ensure the GNU Lesser General Public License +## requirements will be met: https://www.gnu.org/licenses/lgpl.html and +## http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html. +## +## As a special exception, The Qt Company gives you certain additional +## rights. These rights are described in The Qt Company LGPL Exception +## version 1.1, included in the file LGPL_EXCEPTION.txt in this package. +## +## $QT_END_LICENSE$ +## +############################################################################# + +set -ex + +# shellcheck source=../common/unix/install_protobuff.sh +source "${BASH_SOURCE%/*}/../common/unix/install_protobuff.sh" + diff --git a/coin/provisioning/qtci-macos-10.14-x86_64/35-openssl.sh b/coin/provisioning/qtci-macos-10.14-x86_64/35-openssl.sh new file mode 100755 index 00000000..cf312ed2 --- /dev/null +++ b/coin/provisioning/qtci-macos-10.14-x86_64/35-openssl.sh @@ -0,0 +1,6 @@ +#!/usr/bin/env bash + +set -ex + +# shellcheck source=../common/macos/install_openssl_111a.sh +source "${BASH_SOURCE%/*}/../common/macos/install_openssl_111a.sh" diff --git a/coin/provisioning/qtci-macos-10.14-x86_64/40-qnx700.sh b/coin/provisioning/qtci-macos-10.14-x86_64/40-qnx700.sh new file mode 100755 index 00000000..a5547972 --- /dev/null +++ b/coin/provisioning/qtci-macos-10.14-x86_64/40-qnx700.sh @@ -0,0 +1,57 @@ +#!/bin/bash + +############################################################################# +## +## Copyright (C) 2018 The Qt Company Ltd. +## Contact: http://www.qt.io/licensing/ +## +## This file is part of the provisioning scripts of the Qt Toolkit. +## +## $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 QNX 7. + +targetFolder="/opt/" +sourceFile="/net/ci-files01-hki.intra.qt.io/hdd/www/input/qnx/qnx700_mac.zip" +folderName="qnx700" + +sudo mkdir -p "$targetFolder" + +echo "Extracting QNX 7" +sudo unzip -q "$sourceFile" -d "$targetFolder" + +sudo chown -R qt:wheel "$targetFolder"/"$folderName" + +# Verify that we have last file in zip +if [ ! -f $targetFolder/$folderName/qnxsdp-env.sh ]; then + exit 1 +fi + +# Set env variables +echo "export QNX_700=$targetFolder/$folderName" >> ~/.bashrc +echo "QNX SDP = 7.0.0" >> ~/versions.txt + diff --git a/coin/provisioning/qtci-macos-10.14-x86_64/55-signtools.sh b/coin/provisioning/qtci-macos-10.14-x86_64/55-signtools.sh new file mode 100755 index 00000000..0b8595a0 --- /dev/null +++ b/coin/provisioning/qtci-macos-10.14-x86_64/55-signtools.sh @@ -0,0 +1,138 @@ +#!/usr/bin/env sh + +############################################################################# +## +## Copyright (C) 2018 The Qt Company Ltd. +## Contact: http://www.qt.io/licensing/ +## +## This file is part of the provisioning scripts of the Qt Toolkit. +## +## $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 tools for singing packages +# This script assume that OS is vanilla. Target machine dosen't have any signing certificates installed. + +set -ex + +cache="http://ci-files01-hki.intra.qt.io/input" +cacheSigningTools="$cache/mac/sign_tools" +targetFolder="/Users/qt" +keychains="$targetFolder/Library/Keychains" + +Install() { + + url=$1 + targetFile=$2 + expectedSha1=$3 + + echo "Fetching $targetFile from $url..." + curl --retry 5 --retry-delay 10 --retry-max-time 60 "$url" -o "$targetFile" + shasum "$targetFile" |grep "$expectedSha1" + +} + +# qt-license +sha1QtLicense="9d59241d16f68d914f1c7aa1dc23e05faa169e8d" +Install "$cache/semisecure/.qt-license" "$targetFolder/.qt-license" $sha1QtLicense + +# Login keychain +sha1LoginKeychainPassword="aae58d00d0a1b179a09f21cfc67f9d16fb95ff36" +Install "$cacheSigningTools/login_keychain_password.txt" "$targetFolder/login_keychain_password.txt" "$sha1LoginKeychainPassword" +{ loginKeychainPassword=$(cat "$targetFolder/login_keychain_password.txt"); } 2> /dev/null +loginKeychain=$keychains/login.keychain + +echo "Setting login.keychain as default keychain.." +security default-keychain -s $loginKeychain* +echo "Unlocking Login keychain with password.." +{ security unlock-keychain -p "$loginKeychainPassword" $loginKeychain*; } 2> /dev/null + +echo "remove the "Lock after X minutes of inactivity" from login.keychain" +security set-keychain-settings $loginKeychain + +# Apple Worldwide Developer Relations Certification Authority -> https://developer.apple.com/certificationauthority/AppleWWDRCA.cer +sha1AppleWWDRCA="ff6797793a3cd798dc5b2abef56f73edc9f83a64" +Install "$cacheSigningTools/AppleWWDRCA.cer" "$targetFolder/AppleWWDRCA.cer" $sha1AppleWWDRCA +sudo security add-certificates -k $loginKeychain* "$targetFolder/AppleWWDRCA.cer" + +# Developer ID Certification Authority -> https://www.apple.com/certificateauthority/DeveloperIDCA.cer +sha1DeveloperIDCA="3b166c3b7dc4b751c9fe2afab9135641e388e186" +Install "$cacheSigningTools/DeveloperIDCA.cer" "$targetFolder/DeveloperIDCA.cer" $sha1DeveloperIDCA +sudo security add-certificates -k $loginKeychain* "$targetFolder/DeveloperIDCA.cer" + +# Create script to unlock keychain 'security unlock-keychain -p 'password' Developer_ID_TheQtCompany.keychain' +sha1UnLockKeychain="4398870e3f558ad28c80566b5f70e24dc29ea724" +unlockKeychain=$targetFolder/unlock-keychain.sh +{ Install "$cacheSigningTools/unlock-keychain.sh" "$unlockKeychain" $sha1UnLockKeychain; } 2> /dev/null +sudo chmod 755 "$unlockKeychain" + +# Codesigning requirements file. The bundle identifier in the requirements file should match the identifier of the application that is signed. +shaCsreq="2c3f00b1845a0f475673fd6934ba25ea51d1f910" +csreq=$targetFolder/csreq_qt_company.txt +Install "$cacheSigningTools/csreq_qt_company.txt" "$csreq" $shaCsreq +chmod 755 "$csreq" + +# iOS signing tools +devIDKeychain="Developer_ID_TheQtCompany.keychain" +shaDevIdKeychain="0420a129c17725a97afd6fdafeb9cddfb80a65ca" +Install "$cacheSigningTools/$devIDKeychain" "$keychains/$devIDKeychain" $shaDevIdKeychain +echo "Opening $devIDKeychain.." +open "$keychains/$devIDKeychain" + +sha1DeveloperIDTheQtCompanyKeychainPassword="d758e067736bbda7a91ffaec66cd38afdaf68ea6" +Install "$cacheSigningTools/Developer_ID_TheQtCompany_keychain_password.txt" "$targetFolder/Developer_ID_TheQtCompany_keychain_password.txt" "$sha1DeveloperIDTheQtCompanyKeychainPassword" +{ DeveloperIDTheQtCompanyKeychainPassword=$(cat "$targetFolder/Developer_ID_TheQtCompany_keychain_password.txt"); } 2> /dev/null + +echo "Unlocking $devIDKeychain with password.." +{ security unlock-keychain -p "$DeveloperIDTheQtCompanyKeychainPassword" $keychains/Developer_ID_TheQtCompany.keychain; } 2> /dev/null +security set-keychain-settings $keychains/Developer_ID_TheQtCompany.keychain + +sha1Ios="aae58d00d0a1b179a09f21cfc67f9d16fb95ff36" +{ Install "$cacheSigningTools/ios_password.txt" "$targetFolder/ios_password.txt" $sha1Ios; } 2> /dev/null +{ iosPassword=$(cat "$targetFolder/ios_password.txt"); } 2> /dev/null + +iPhoneDeveloper="iosdevelopment_2019.p12" +shaIPhoneDeveloper="fbc89661c5295b4105f3890989a94c559ea4a61c" +Install "$cacheSigningTools/latest_ios_cert/$iPhoneDeveloper" "$targetFolder/$iPhoneDeveloper" $shaIPhoneDeveloper +echo "Importing $iPhoneDeveloper.." +{ security import $targetFolder/$iPhoneDeveloper -k $loginKeychain* -P "$iosPassword" -T /usr/bin/codesign; } 2> /dev/null + +iPhoneDistribution="iosdistribution_2019.p12" +shaIPhoneDistribution="f306102f9e18e2074a7b655a9b151ce69c95baac" +Install "$cacheSigningTools/latest_ios_cert/$iPhoneDistribution" "$targetFolder/$iPhoneDistribution" $shaIPhoneDistribution +echo "Importing $iPhoneDistribution.." +{ security import "$targetFolder/$iPhoneDistribution" -k $loginKeychain* -P "$iosPassword" -T /usr/bin/codesign; } 2> /dev/null + +# Mobileprovision +echo "Creating directory $targetFolder/Library/MobileDevice/Provisioning Profiles.." +mkdir "$targetFolder/Library/MobileDevice" +mkdir "$targetFolder/Library/MobileDevice/Provisioning Profiles" +shaMobileprovision="88c67c95a6f59e6463a00da0b5021f581db624bf" +Install "$cacheSigningTools/latest_ios_cert/iOS_Dev08112017.mobileprovision" "$targetFolder/Library/MobileDevice/Provisioning Profiles/iOS_Dev08112017.mobileprovision" $shaMobileprovision + +# Removing password files +rm -fr "$targetFolder/login_keychain_password.txt" + diff --git a/coin/provisioning/qtci-macos-10.14-x86_64/90-squish.sh b/coin/provisioning/qtci-macos-10.14-x86_64/90-squish.sh new file mode 100755 index 00000000..17a0c38e --- /dev/null +++ b/coin/provisioning/qtci-macos-10.14-x86_64/90-squish.sh @@ -0,0 +1,6 @@ +#!/usr/bin/env bash +set -ex + +BASEDIR=$(dirname "$0") +"$BASEDIR/../common/unix/squishInstall.sh" + diff --git a/coin/provisioning/qtci-macos-10.14-x86_64/99-mac-version.sh b/coin/provisioning/qtci-macos-10.14-x86_64/99-mac-version.sh new file mode 100755 index 00000000..99d94150 --- /dev/null +++ b/coin/provisioning/qtci-macos-10.14-x86_64/99-mac-version.sh @@ -0,0 +1,6 @@ +#!/usr/bin/env bash + +set -ex + +BASEDIR=$(dirname "$0") +$BASEDIR/../common/macos/macos-version.sh -- cgit v1.2.3