Merge remote-tracking branch 'origin/5.9' into 5.9.3

Change-Id: I2bb4b5d5b507c6586a9f9f7f2765d5f102ad180b
This commit is contained in:
Liang Qi
2017-11-11 12:57:00 +01:00
27 changed files with 304 additions and 123 deletions

View File

@@ -18,6 +18,7 @@ qtci-osx-10.11-x86_64-3 Clang
qtci-osx-10.10-x86_64 Clang Release NoFramework DisableTests
qtci-macos-10.12-x86_64-8 IOS_ANY x86_64 Clang Release DisableTests Static
qtci-linux-RHEL-7.4-x86_64 Android_ANY armv7 GCC Packaging Release DisableTests OpenGLES2 NoUseGoldLinker
qtci-linux-Ubuntu-16.04-x86_64-1 Boot2Qt_Morty armv7 GCC Release
qtci-linux-Ubuntu-16.04-x86_64-1 QEMU armv7 GCC Release
qtci-linux-Ubuntu-16.04-x86_64-1 QEMU arm64 GCC Release
qtci-linux-Ubuntu-16.04-x86_64-1 GCC TestOnly LicenseCheck
qtci-linux-RHEL-6.6-x86_64 QNX_660 armv7 GCC Packaging Release DisableTests OpenGLES2 NoUseGoldLinker

View File

@@ -1,3 +1,4 @@
Template Target OS Target arch Compiler Features
--------------------------------- ------------------- ----------- ----------- -------------------------------------------------------------------------------------
qtci-linux-Ubuntu-16.04-x86_64-1 Boot2Qt_Morty armv7 GCC DeveloperBuild
qtci-linux-Ubuntu-16.04-x86_64-1 QEMU armv7 GCC DeveloperBuild
qtci-linux-Ubuntu-16.04-x86_64-1 QEMU arm64 GCC DeveloperBuild

View File

@@ -0,0 +1,2 @@
# Disable the NTP from syncing
w32tm /config /syncfromflags:NO

View File

@@ -1,62 +0,0 @@
############################################################################
##
## Copyright (C) 2017 The Qt Company Ltd.
## Contact: http://www.qt.io/licensing/
##
## This file is part of the provisioning scripts of the Qt Toolkit.
##
## $QT_BEGIN_LICENSE:LGPL21$
## Commercial License Usage
## Licensees holding valid commercial Qt licenses may use this file in
## accordance with the commercial license agreement provided with the
## Software or, alternatively, in accordance with the terms contained in
## a written agreement between you and The Qt Company. For licensing terms
## and conditions see http://www.qt.io/terms-conditions. For further
## information use the contact form at http://www.qt.io/contact-us.
##
## GNU Lesser General Public License Usage
## Alternatively, this file may be used under the terms of the GNU Lesser
## General Public License version 2.1 or version 3 as published by the Free
## Software Foundation and appearing in the file LICENSE.LGPLv21 and
## LICENSE.LGPLv3 included in the packaging of this file. Please review the
## following information to ensure the GNU Lesser General Public License
## requirements will be met: https://www.gnu.org/licenses/lgpl.html and
## http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
##
## As a special exception, The Qt Company gives you certain additional
## rights. These rights are described in The Qt Company LGPL Exception
## version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
##
## $QT_END_LICENSE$
##
#############################################################################
. "$PSScriptRoot\..\common\helpers.ps1"
# This script will install Java RE
# Official Java RE 7 downloads require Oracle accounts. Using local mirrors only.
$installdir = "C:\Program Files\Java\jre7"
$version = "7u7"
if( (is64bitWinHost) -eq 1 ) {
$arch = "x64"
$sha1 = "9af03460c416931bdee18c2dcebff5db50cb8cb3"
}
else {
$arch = "i586"
$sha1 = "f76b1be20b144b1ee1d1de3255edb0a6b57d0219"
}
$url_cache = "\\ci-files01-hki.intra.qt.io\provisioning\windows\jre-" + $version + "-windows-" + $arch + ".exe"
$javaPackage = "C:\Windows\Temp\java-$version.exe"
Copy-Item $url_cache $javaPackage
cmd /c "$javaPackage /s SPONSORS=0"
echo "Cleaning $javaPackage.."
Remove-Item -Recurse -Force "$javaPackage"
[Environment]::SetEnvironmentVariable("JAVA_HOME", "$installdir", [EnvironmentVariableTarget]::Machine)
Add-Path "$installdir\bin"
echo "Java = $version $arch" >> ~\versions.txt

View File

@@ -35,18 +35,18 @@
# This script installs QNX 7.
set -e
set -ex
targetFolder="/opt/"
sourceFile="http://ci-files01-hki.intra.qt.io/input/qnx/qnx700.tar.xz"
sha1="949a87c5f00d0756956cb4b1b3b213ecaeee9113"
folderName="qnx700"
targetFile="qnx700.tar.xz"
wget --tries=5 --waitretry=5 --output-document="$targetFile" "$sourceFile" || echo "Failed to download '$url' multiple times"
echo "$sha1 $targetFile" | sha1sum --check || echo "Failed to check sha1sum"
wget --tries=5 --waitretry=5 --output-document="$targetFile" "$sourceFile"
echo "$sha1 $targetFile" | sha1sum --check
if [ ! -d "$targetFolder" ]; then
mkdir -p $targetFolder
fi
sudo tar -C $targetFolder -Jxf $targetFile|| echo "Failed to extract $targetFile"
sudo tar -C $targetFolder -Jxf $targetFile
sudo chown -R qt:users "$targetFolder"/"$folderName"
# Verify that we have last file in tar

View File

@@ -43,7 +43,7 @@
# E.g The Bluetooth features that require Android 21 will disable themselves dynamically when running on an Android 16 device.
# That's why we need to use Andoid-21 API version in Qt 5.9.
set -e
set -ex
targetFolder="/opt/android"
baseUrl="http://ci-files01-hki.intra.qt.io/input/android"
@@ -78,8 +78,8 @@ function InstallAndroidPackage {
folderName=$7
name=$8
sudo wget --tries=5 --waitretry=5 --output-document="$targetFile" "$url" || echo "Failed to download '$url' multiple times"
echo "$sha1 $targetFile" | sha1sum --check || echo "Failed to check sha1sum"
sudo wget --tries=5 --waitretry=5 --output-document="$targetFile" "$url"
echo "$sha1 $targetFile" | sha1sum --check
sudo chmod 755 "$targetFile"
sudo $extract || echo "Failed to extract $url"
sudo chown -R qt:users "$targetFolder"/"$folderName"
@@ -89,10 +89,10 @@ function InstallAndroidPackage {
if [ -d "$targetFolder" ]; then
echo "Removing old Android installation"
sudo rm -fr "$targetFolder" || ( echo "Can't remove $targetFolder" ; exit 1; )
sudo rm -fr "$targetFolder"
fi
sudo mkdir "$targetFolder" || ( echo "Can't create $targetFolder" ; exit 1; )
sudo mkdir "$targetFolder"
# Install Android SDK
echo "Installing Android SDK version $sdkPackage..."
@@ -104,7 +104,7 @@ InstallAndroidPackage "$targetFolder" $ndkPackage $ndkUrl $ndkSha1 $ndkTargetFil
# run update for Android SDK and install SDK API version 21, latest SDK tools, platform-tools and build-tools
echo "Running Android SDK update for API version 21, SDK-tools, platform-tools and build-tools-$sdkBuildToolsVersion..."
echo "y" |"$targetFolder"/sdk/tools/android update sdk --no-ui --all --filter $sdkApiLevel,tools,platform-tools,build-tools-$sdkBuildToolsVersion || echo "Failed to run update"
echo "y" |"$targetFolder"/sdk/tools/android update sdk --no-ui --all --filter $sdkApiLevel,tools,platform-tools,build-tools-$sdkBuildToolsVersion
echo 'export ANDROID_API_VERSION=android-21' >> ~/.bashrc

View File

@@ -35,7 +35,7 @@
# This script installs the right ICU version
set -e
set -ex
icuVersion="56.1"
icuLocation="/usr/lib64"
sha1="f2eab775c04ce5f3bdae6c47d06b62158b5d6753"
@@ -45,10 +45,10 @@ function Install7ZPackageFromURL {
expectedSha1=$2
targetDirectory=$3
targetFile=`mktemp` || echo "Failed to create temporary file"
wget --tries=5 --waitretry=5 --output-document=$targetFile $url || echo "Failed to download '$url' multiple times"
echo "$expectedSha1 $targetFile" | sha1sum --check || echo "Failed to check sha1sum"
sudo /usr/local/bin/7z x -yo$targetDirectory $targetFile || echo "Failed to unzip $url archive"
targetFile=`mktemp`
wget --tries=5 --waitretry=5 --output-document=$targetFile $url
echo "$expectedSha1 $targetFile" | sha1sum --check
sudo /usr/local/bin/7z x -yo$targetDirectory $targetFile
rm $targetFile
}
@@ -61,7 +61,7 @@ echo "Installing custom ICU devel packages on RHEL"
sha1Dev="82f8b216371b848b8d36ecec7fe7b6e9b0dba0df"
develPackageURL="http://master.qt.io/development_releases/prebuilt/icu/prebuilt/$icuVersion/icu-linux-g++-Rhel6.6-x64-devel.7z"
tempDir=`mktemp -d` || echo "Failed to create temporary directory"
tempDir=`mktemp -d`
trap "sudo rm -fr $tempDir" EXIT
Install7ZPackageFromURL $develPackageURL $sha1Dev $tempDir
sudo cp -a $tempDir/lib/* /usr/lib64

View File

@@ -39,7 +39,7 @@
# A copy of the patch must be in the root of the Coin path in
# provisioning/qnx/patch-660-4367-RS6069_cpp-headers.zip
set -e
set -ex
sha1="57a11ffe4434ad567b3c36f7b828dbb468a9e565"
function InstallZipPackageFromURL {
@@ -47,12 +47,12 @@ function InstallZipPackageFromURL {
expectedSha1=$2
targetDirectory=$3
targetFile=`mktemp` || echo "Failed to create temporary file"
wget --tries=5 --waitretry=5 --output-document=$targetFile $url || echo "Failed to download '$url' multiple times"
echo "$expectedSha1 $targetFile" | sha1sum --check || echo "Failed to check sha1sum"
targetFile=`mktemp`
wget --tries=5 --waitretry=5 --output-document=$targetFile $url
echo "$expectedSha1 $targetFile" | sha1sum --check
tempDir=`mktemp -d` || echo "Failed to create temporary directory"
/usr/bin/unzip -o -d $tempDir $targetFile || echo "Failed to unzip $url archive"
tempDir=`mktemp -d`
/usr/bin/unzip -o -d $tempDir $targetFile
trap "sudo rm -fr $targetFile $tempDir" EXIT
sudo cp -rafv $tempDir/patches/660-4367/target/* /opt/qnx660/target/

View File

@@ -33,7 +33,7 @@
##
#############################################################################
set -e
set -ex
# This script will install ICU
@@ -47,20 +47,20 @@ develPackageURL="http://master.qt.io/development_releases/prebuilt/icu/prebuilt/
echo "Installing custom ICU $icuVersion $sha1 packages on RHEL to $icuLocation"
targetFile=`mktemp` || echo "Failed to create temporary file"
wget --tries=5 --waitretry=5 --output-document=$targetFile $baseBinaryPackageURL || echo "Failed to download '$baseBinaryPackageURL' multiple times"
echo "$sha1 $targetFile" | sha1sum --check || echo "Failed to check sha1sum"
sudo 7z x -y -o"/usr/lib64" $targetFile || echo "Failed to unzip $baseBinaryPackageURL archive"
targetFile=`mktemp`
wget --tries=5 --waitretry=5 --output-document=$targetFile $baseBinaryPackageURL
echo "$sha1 $targetFile" | sha1sum --check
sudo 7z x -y -o"/usr/lib64" $targetFile
sudo rm $targetFile
echo "Installing custom ICU devel packages on RHEL"
tempDir=`mktemp -d` || echo "Failed to create temporary directory"
tempDir=`mktemp -d`
targetFile=`mktemp` || echo "Failed to create temporary file"
wget --tries=5 --waitretry=5 --output-document=$targetFile $develPackageURL || echo "Failed to download '$develPackageURL' multiple times"
echo "$sha1Dev $targetFile" | sha1sum --check || echo "Failed to check sha1sum"
7z x -y -o$tempDir $targetFile || echo "Failed to unzip $develPackageURL archive"
targetFile=`mktemp`
wget --tries=5 --waitretry=5 --output-document=$targetFile $develPackageURL
echo "$sha1Dev $targetFile" | sha1sum --check
7z x -y -o$tempDir $targetFile
sudo cp -a $tempDir/lib/* /usr/lib64
sudo cp -a $tempDir/* /usr/

View File

@@ -50,40 +50,40 @@ try
echo "Installing packages"
# Git is not needed by builds themselves, but is nice to have
# immediately as one starts debugging
sudo DEBIAN_FRONTEND=noninteractive apt-get -q -y install git || throw $ExceptionAPT
yes | sudo aptdcon --hide-terminal --install git || throw $ExceptionAPT
# 7zip is a needed decompressing tool
sudo DEBIAN_FRONTEND=noninteractive apt-get -q -y install p7zip || throw $ExceptionAPT
yes | sudo aptdcon --hide-terminal --install p7zip || throw $ExceptionAPT
# libssl-dev provides headers for OpenSSL
sudo DEBIAN_FRONTEND=noninteractive apt-get -q -y install libssl-dev || throw $ExceptionAPT
yes | sudo aptdcon --hide-terminal --install libssl-dev || throw $ExceptionAPT
# Needed libraries for X11 support accordingly to https://wiki.qt.io/Building_Qt_5_from_Git
sudo DEBIAN_FRONTEND=noninteractive apt-get -q -y install "^libxcb.*" libx11-xcb-dev libglu1-mesa-dev libxrender-dev libxi-dev || throw $ExceptionAPT
yes | sudo aptdcon --hide-terminal --install "^libxcb.*" libx11-xcb-dev libglu1-mesa-dev libxrender-dev libxi-dev || throw $ExceptionAPT
# Enable linking to system dbus
sudo DEBIAN_FRONTEND=noninteractive apt-get -q -y install libdbus-1-dev || throw $ExceptionAPT
yes | sudo aptdcon --hide-terminal --install libdbus-1-dev || throw $ExceptionAPT
# Needed libraries for WebEngine
sudo DEBIAN_FRONTEND=noninteractive apt-get -q -y install libudev-dev libegl1-mesa-dev libfontconfig1-dev libxss-dev || throw $ExceptionAPT
yes | sudo aptdcon --hide-terminal --install libudev-dev libegl1-mesa-dev libfontconfig1-dev libxss-dev || throw $ExceptionAPT
# Common event loop handling
sudo DEBIAN_FRONTEND=noninteractive apt-get -q -y install libglib2.0-dev || throw $ExceptionAPT
yes | sudo aptdcon --hide-terminal --install libglib2.0-dev || throw $ExceptionAPT
# MySQL support
sudo DEBIAN_FRONTEND=noninteractive apt-get -q -y install libmysqlclient-dev || throw $ExceptionAPT
yes | sudo aptdcon --hide-terminal --install libmysqlclient-dev || throw $ExceptionAPT
# PostgreSQL support
sudo DEBIAN_FRONTEND=noninteractive apt-get -q -y install libpq-dev || throw $ExceptionAPT
yes | sudo aptdcon --hide-terminal --install libpq-dev || throw $ExceptionAPT
# SQLite support
sudo DEBIAN_FRONTEND=noninteractive apt-get -q -y install libsqlite3-dev || throw $ExceptionAPT
yes | sudo aptdcon --hide-terminal --install libsqlite3-dev || throw $ExceptionAPT
# ODBC support
sudo DEBIAN_FRONTEND=noninteractive apt-get -q -y install unixodbc-dev || throw $ExceptionAPT
yes | sudo aptdcon --hide-terminal --install unixodbc-dev || throw $ExceptionAPT
# Support for FreeType font engine
sudo DEBIAN_FRONTEND=noninteractive apt-get -q -y install libfreetype6-dev || throw $ExceptionAPT
yes | sudo aptdcon --hide-terminal --install libfreetype6-dev || throw $ExceptionAPT
# Enable the usage of system jpeg libraries
sudo DEBIAN_FRONTEND=noninteractive apt-get -q -y install libjpeg-dev || throw $ExceptionAPT
yes | sudo aptdcon --hide-terminal --install libjpeg-dev || throw $ExceptionAPT
# Enable support for printer driver
sudo DEBIAN_FRONTEND=noninteractive apt-get -q -y install libcups2-dev || throw $ExceptionAPT
yes | sudo aptdcon --hide-terminal --install libcups2-dev || throw $ExceptionAPT
# Install libraries needed for QtMultimedia to be able to support all plugins
sudo DEBIAN_FRONTEND=noninteractive apt-get -q -y install libasound2-dev libgstreamer1.0-dev libgstreamer-plugins-base1.0-dev || throw $ExceptionAPT
sudo DEBIAN_FRONTEND=noninteractive apt-get -q -y install libgstreamer-plugins-good1.0-dev libgstreamer-plugins-bad1.0-dev || throw $ExceptionAPT
yes | sudo aptdcon --hide-terminal --install libasound2-dev libgstreamer1.0-dev libgstreamer-plugins-base1.0-dev || throw $ExceptionAPT
yes | sudo aptdcon --hide-terminal --install libgstreamer-plugins-good1.0-dev libgstreamer-plugins-bad1.0-dev || throw $ExceptionAPT
# Support for cross-building to x86 (needed by WebEngine boot2qt builds)
sudo DEBIAN_FRONTEND=noninteractive apt-get -q -y install g++-multilib || throw $ExceptionAPT
yes | sudo aptdcon --hide-terminal --install g++-multilib || throw $ExceptionAPT
# python3 development package
sudo DEBIAN_FRONTEND=noninteractive apt-get -q -y install python3-dev python3-pip python3-virtualenv || throw $ExceptionAPT
yes | sudo aptdcon --hide-terminal --install python3-dev python3-pip python3-virtualenv || throw $ExceptionAPT
)
catch || {
case $ex_code in
@@ -101,4 +101,3 @@ catch || {
;;
esac
}

View File

@@ -32,18 +32,18 @@
##
#############################################################################
set -e
set -ex
# build latest qemu to usermode
sudo apt-get -y install automake autoconf libtool
tempDir=$(mktemp -d) || echo "Failed to create temporary directory"
tempDir=$(mktemp -d)
git clone git://git.qemu.org/qemu.git "$tempDir"
cd "$tempDir"
#latest commit from the master proven to work
git checkout c7f1cf01b8245762ca5864e835d84f6677ae8b1f
git submodule update --init pixman
./configure --target-list=arm-linux-user --static
./configure --target-list=arm-linux-user,aarch64-linux-user --static
make
sudo make install
rm -rf "$tempDir"
@@ -51,13 +51,19 @@ rm -rf "$tempDir"
# Enable binfmt support
sudo apt-get -y install binfmt-support
# Install qemu binfmt
# Install qemu binfmt for 32bit and 64bit arm architectures
sudo update-binfmts --package qemu-arm --install arm \
/usr/local/bin/qemu-arm \
--magic \
"\x7f\x45\x4c\x46\x01\x01\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02\x00\x28\x00" \
--mask \
"\xff\xff\xff\xff\xff\xff\xff\x00\xff\xff\xff\xff\xff\xff\xff\xff\xfe\xff\xff\xff"
sudo update-binfmts --package qemu-aarch64 --install aarch64 \
/usr/local/bin/qemu-aarch64 \
--magic \
"\x7f\x45\x4c\x46\x02\x01\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02\x00\xb7\x00" \
--mask \
"\xff\xff\xff\xff\xff\xff\xff\x00\xff\xff\xff\xff\xff\xff\xff\xff\xfe\xff\xff\xff"
# First test using QFont fails if fonts-noto-cjk is installed. This happens because
# running fontcache for that font takes > 5 mins when run on QEMU. Running fc-cache

View File

@@ -0,0 +1,89 @@
#!/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 the Yocto toolchain
set -e
source "${BASH_SOURCE%/*}/../common/DownloadURL.sh"
echo "Installing Yocto toolchain for 32-bit b2qt..."
versionARM="2.2.2"
package="b2qt-x86_64-meta-toolchain-b2qt-embedded-sdk-qemuarmv7-2c947f7.sh"
PrimaryUrl="http://ci-files01-hki.intra.qt.io/input/boot2qt/morty/$package"
AltUrl="http://download.qt.io/development_releases/prebuilt/boot2qt/morty/$package"
SHA1="2583ae29951954cb27f12400fcb4ee94738d1430"
yoctoInstaller="/tmp/yocto-toolchain-ARMv7.sh"
yoctoLocationARMv7="/opt/yocto-armv7"
sysrootARMv7="sysroots/armv7ahf-neon-poky-linux-gnueabi"
crosscompileARMv7="sysroots/x86_64-pokysdk-linux/usr/bin/arm-poky-linux-gnueabi/arm-poky-linux-gnueabi-"
DownloadURL "$PrimaryUrl" "$AltUrl" "$SHA1" "$yoctoInstaller"
chmod +x "$yoctoInstaller"
/bin/bash "$yoctoInstaller" -y -d "$yoctoLocationARMv7"
rm -rf "$yoctoInstaller"
echo "Installing Yocto toolchain for 64-bit b2qt..."
versionARM64="2.2.2"
package="b2qt-x86_64-meta-toolchain-b2qt-embedded-sdk-qemuarm64-2c947f7.sh"
PrimaryUrl="http://ci-files01-hki.intra.qt.io/input/boot2qt/morty/$package"
AltUrl="http://download.qt.io/development_releases/prebuilt/boot2qt/morty/$package"
SHA1="512b5bc1ad62af88d021eb511eeac4648d661fc6"
yoctoInstaller="/tmp/yocto-toolchain-ARM64.sh"
yoctoLocationARM64="/opt/yocto-arm64"
sysrootARM64="sysroots/aarch64-poky-linux"
crosscompileARM64="sysroots/x86_64-pokysdk-linux/usr/bin/aarch64-poky-linux/aarch64-poky-linux-"
DownloadURL "$PrimaryUrl" "$AltUrl" "$SHA1" "$yoctoInstaller"
chmod +x "$yoctoInstaller"
/bin/bash "$yoctoInstaller" -y -d "$yoctoLocationARM64"
rm -rf "$yoctoInstaller"
if [ -e "$yoctoLocationARMv7/$sysrootARMv7" -a -e "$yoctoLocationARMv7/${crosscompileARMv7}g++" -a -e "$yoctoLocationARM64/$sysrootARM64" -a -e "$yoctoLocationARM64/${crosscompileARM64}g++" ]; then
echo "export QEMUARMV7_TOOLCHAIN_SYSROOT=$yoctoLocationARMv7/$sysrootARMv7" >> ~/.profile
echo "export QEMUARMV7_TOOLCHAIN_CROSS_COMPILE=$yoctoLocationARMv7/$crosscompileARMv7" >> ~/.profile
echo "export QEMUARM64_TOOLCHAIN_SYSROOT=$yoctoLocationARM64/$sysrootARM64" >> ~/.profile
echo "export QEMUARM64_TOOLCHAIN_CROSS_COMPILE=$yoctoLocationARM64/$crosscompileARM64" >> ~/.profile
else
echo "Error! Couldn't find installation paths for Yocto toolchain. Aborting provisioning." 1>&2
exit 1
fi
echo "Yocto ARMv7 toolchain = $versionARM" >> ~/versions.txt
echo "Yocto ARM64 toolchain = $versionARM64" >> ~/versions.txt

View File

@@ -79,7 +79,7 @@ try
echo "Running SDK manager for platforms;$sdkApiLevel, tools, platform-tools and build-tools;$sdkBuildToolsVersion."
echo "y" |"$sdkTargetFolder/tools/bin/sdkmanager" "platforms;$sdkApiLevel" "tools" "platform-tools" "build-tools;$sdkBuildToolsVersion" || throw $ExceptionSdkManager
echo "export ANDROID_SDK_ROOT=$sdkTargetFolder" >> ~/.bashrc
echo "export ANDROID_SDK_HOME=$sdkTargetFolder" >> ~/.bashrc
echo "export ANDROID_NDK_HOME=$targetFolder/android-ndk-$ndkVersion" >> ~/.bashrc
echo "export ANDROID_NDK_HOST=darwin-x86_64" >> ~/.bashrc
echo "export ANDROID_API_VERSION=$sdkApiLevel" >> ~/.bashrc

View File

@@ -0,0 +1,138 @@
#!/bin/sh
#############################################################################
##
## Copyright (C) 2017 The Qt Company Ltd.
## Contact: http://www.qt.io/licensing/
##
## This file is part of the provisioning scripts of the Qt Toolkit.
##
## $QT_BEGIN_LICENSE:LGPL21$
## Commercial License Usage
## Licensees holding valid commercial Qt licenses may use this file in
## accordance with the commercial license agreement provided with the
## Software or, alternatively, in accordance with the terms contained in
## a written agreement between you and The Qt Company. For licensing terms
## and conditions see http://www.qt.io/terms-conditions. For further
## information use the contact form at http://www.qt.io/contact-us.
##
## GNU Lesser General Public License Usage
## Alternatively, this file may be used under the terms of the GNU Lesser
## General Public License version 2.1 or version 3 as published by the Free
## Software Foundation and appearing in the file LICENSE.LGPLv21 and
## LICENSE.LGPLv3 included in the packaging of this file. Please review the
## following information to ensure the GNU Lesser General Public License
## requirements will be met: https://www.gnu.org/licenses/lgpl.html and
## http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
##
## As a special exception, The Qt Company gives you certain additional
## rights. These rights are described in The Qt Company LGPL Exception
## version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
##
## $QT_END_LICENSE$
##
#############################################################################
# Install 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=$(<"$targetFolder/login_keychain_password.txt")
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*
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
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=$(<"$targetFolder/Developer_ID_TheQtCompany_keychain_password.txt")
echo "Unlocking $devIDKeychain with password.."
security unlock-keychain -p "$DeveloperIDTheQtCompanyKeychainPassword" $keychains/Developer_ID_TheQtCompany.keychain
security set-keychain-settings $keychains/Developer_ID_TheQtCompany.keychain
sha1Ios="aae58d00d0a1b179a09f21cfc67f9d16fb95ff36"
Install "$cacheSigningTools/ios_password.txt" "$targetFolder/ios_password.txt" $sha1Ios
iosPassword=$(<"$targetFolder/ios_password.txt")
iPhoneDeveloper="iosdevelopment.p12"
shaIPhoneDeveloper="f48f6827e8d0ccdc764cb987e401b9a6f7d3f10c"
Install "$cacheSigningTools/latest_ios_cert/$iPhoneDeveloper" "$targetFolder/$iPhoneDeveloper" $shaIPhoneDeveloper
echo "Importing $iPhoneDeveloper.."
security import $targetFolder/$iPhoneDeveloper -k $loginKeychain* -P $iosPassword -T /usr/bin/codesign
iPhoneDistribution="iosdistribution.p12"
shaIPhoneDistribution="64b1174fc3ce0eca044fbc9fa144f6a2d4330171"
Install "$cacheSigningTools/latest_ios_cert/$iPhoneDistribution" "$targetFolder/$iPhoneDistribution" $shaIPhoneDistribution
echo "Importing $iPhoneDistribution.."
security import "$targetFolder/$iPhoneDistribution" -k $loginKeychain* -P $iosPassword -T /usr/bin/codesign
# 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"

View File

@@ -0,0 +1 @@
. "$PSScriptRoot\..\common\disable-ntp.ps1"

View File

@@ -0,0 +1 @@
. "$PSScriptRoot\..\common\disable-ntp.ps1"

View File

@@ -1 +0,0 @@
. "$PSScriptRoot\..\common\install-java.ps1"

View File

@@ -0,0 +1 @@
. "$PSScriptRoot\..\common\install-jdk.ps1"

View File

@@ -0,0 +1 @@
. "$PSScriptRoot\..\common\disable-ntp.ps1"

View File

@@ -0,0 +1 @@
. "$PSScriptRoot\..\common\disable-ntp.ps1"

View File

@@ -0,0 +1 @@
. "$PSScriptRoot\..\common\disable-ntp.ps1"

View File

@@ -0,0 +1 @@
. "$PSScriptRoot\..\common\disable-ntp.ps1"

View File

@@ -1 +0,0 @@
. "$PSScriptRoot\..\common\install-java.ps1"

View File

@@ -0,0 +1 @@
. "$PSScriptRoot\..\common\install-jdk.ps1"

View File

@@ -0,0 +1 @@
. "$PSScriptRoot\..\common\disable-ntp.ps1"

View File

@@ -1 +0,0 @@
. "$PSScriptRoot\..\common\install-java.ps1"

View File

@@ -0,0 +1 @@
. "$PSScriptRoot\..\common\install-jdk.ps1"