aboutsummaryrefslogtreecommitdiffstats
path: root/coin
diff options
context:
space:
mode:
authorSimon Hausmann <simon.hausmann@qt.io>2017-02-05 15:16:27 +0100
committerSimon Hausmann <simon.hausmann@qt.io>2017-02-05 15:17:50 +0100
commit527829a600fd5fdecdbadaa2a4828ea61c3b1dfa (patch)
treee2f936a6548a094b0cf213e142a77d117ac587d9 /coin
parent2c1d5ad75440f2a8304dec385a63baf9d2e4ed36 (diff)
parentbbdeca02e90ad47aecd15426bf76b24c23733d64 (diff)
Merge remote-tracking branch 'origin/5.8' into 5.9
Diffstat (limited to 'coin')
-rw-r--r--coin/provisioning/common/helpers.ps123
-rw-r--r--coin/provisioning/common/jom.ps16
-rw-r--r--coin/provisioning/common/libusb.ps147
-rwxr-xr-xcoin/provisioning/common/linux-removethemall.sh49
-rwxr-xr-xcoin/provisioning/common/version.sh43
-rw-r--r--coin/provisioning/qtci-linux-RHEL-6.6-x86_64/android_linux.sh (renamed from coin/provisioning/qtci-linux-RHEL-6.6-x86_64/android_sdk_linux.sh)49
-rw-r--r--coin/provisioning/qtci-linux-RHEL-6.6-x86_64/version.sh44
-rw-r--r--coin/provisioning/qtci-windows-10-x86/libusb.ps11
-rw-r--r--coin/provisioning/qtci-windows-7-x86/libusb.ps11
-rw-r--r--coin/provisioning/qtci-windows-8-x86/libusb.ps11
10 files changed, 243 insertions, 21 deletions
diff --git a/coin/provisioning/common/helpers.ps1 b/coin/provisioning/common/helpers.ps1
index 0e684452..191be290 100644
--- a/coin/provisioning/common/helpers.ps1
+++ b/coin/provisioning/common/helpers.ps1
@@ -15,6 +15,29 @@ function Verify-Checksum
}
}
+function Extract-7Zip
+{
+ Param (
+ [string]$Source,
+ [string]$Destination
+ )
+ echo "Extracting '$Source' to '$Destination'..."
+
+ if ((Get-Command "7z.exe" -ErrorAction SilentlyContinue) -eq $null) {
+ $zipExe = join-path ${env:ProgramFiles(x86)} '7-zip\7z.exe'
+ if (-not (test-path $zipExe)) {
+ $zipExe = join-path ${env:ProgramW6432} '7-zip\7z.exe'
+ if (-not (test-path $zipExe)) {
+ throw "Could not find 7-zip."
+ }
+ }
+ } else {
+ $zipExe = "7z.exe"
+ }
+
+ & $zipExe x $Source "-o$Destination" -y
+}
+
function Extract-Zip
{
Param (
diff --git a/coin/provisioning/common/jom.ps1 b/coin/provisioning/common/jom.ps1
index ef012b64..c1e2cbf7 100644
--- a/coin/provisioning/common/jom.ps1
+++ b/coin/provisioning/common/jom.ps1
@@ -1,9 +1,9 @@
. "$PSScriptRoot\helpers.ps1"
-$zip = "c:\users\qt\downloads\jom_1_1_0.zip"
+$zip = "c:\users\qt\downloads\jom_1_1_2.zip"
-Invoke-WebRequest -UseBasicParsing http://download.qt.io/official_releases/jom/jom_1_1_0.zip -OutFile $zip
-Verify-Checksum $zip "C4149FE706B25738B4C4E54C73E180B9CAB55832"
+Invoke-WebRequest -UseBasicParsing http://download.qt.io/official_releases/jom/jom_1_1_2.zip -OutFile $zip
+Verify-Checksum $zip "80EE5678E714DE99DDAF5F7593AB04DB1C7928E4"
Extract-Zip $zip C:\Utils\Jom
[Environment]::SetEnvironmentVariable("CI_JOM_PATH", "C:\Utils\Jom", "Machine")
diff --git a/coin/provisioning/common/libusb.ps1 b/coin/provisioning/common/libusb.ps1
new file mode 100644
index 00000000..ed575886
--- /dev/null
+++ b/coin/provisioning/common/libusb.ps1
@@ -0,0 +1,47 @@
+#############################################################################
+#
+# 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$
+#
+############################################################################
+
+# lisbusb-1.0 is needed by tqtc-boot2qt/qdb
+
+. "$PSScriptRoot\helpers.ps1"
+
+$archive = "C:\users\qt\downloads\libusb-1.0.21.7z"
+$libusb_location = "C:\Utils\libusb-1.0"
+
+Download https://vorboss.dl.sourceforge.net/project/libusb/libusb-1.0/libusb-1.0.21/libusb-1.0.21.7z http://ci-files01-hki.ci.local/input/libusb-1.0/libusb-1.0.21.7z $archive
+Verify-Checksum $archive "37c8884a0ddca97d492b8ef3e08970ae3ba20653"
+
+Extract-7Zip $archive $libusb_location
+
+# Tell tqtc-boot2qt/qdb build system where to find libusb
+[Environment]::SetEnvironmentVariable("LIBUSB_PATH", $libusb_location, "Machine")
diff --git a/coin/provisioning/common/linux-removethemall.sh b/coin/provisioning/common/linux-removethemall.sh
new file mode 100755
index 00000000..4386ec74
--- /dev/null
+++ b/coin/provisioning/common/linux-removethemall.sh
@@ -0,0 +1,49 @@
+#!/bin/env bash
+
+#############################################################################
+##
+## Copyright (C) 2017 The Qt Company Ltd.
+## Contact: http://www.qt.io/licensing/
+##
+## This file is part of the provisioning scripts of the Qt Toolkit.
+##
+## $QT_BEGIN_LICENSE:LGPL21$
+## Commercial License Usage
+## Licensees holding valid commercial Qt licenses may use this file in
+## accordance with the commercial license agreement provided with the
+## Software or, alternatively, in accordance with the terms contained in
+## a written agreement between you and The Qt Company. For licensing terms
+## and conditions see http://www.qt.io/terms-conditions. For further
+## information use the contact form at http://www.qt.io/contact-us.
+##
+## GNU Lesser General Public License Usage
+## Alternatively, this file may be used under the terms of the GNU Lesser
+## General Public License version 2.1 or version 3 as published by the Free
+## Software Foundation and appearing in the file LICENSE.LGPLv21 and
+## LICENSE.LGPLv3 included in the packaging of this file. Please review the
+## following information to ensure the GNU Lesser General Public License
+## requirements will be met: https://www.gnu.org/licenses/lgpl.html and
+## http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+##
+## As a special exception, The Qt Company gives you certain additional
+## rights. These rights are described in The Qt Company LGPL Exception
+## version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
+##
+## $QT_END_LICENSE$
+##
+#############################################################################
+
+# This script removes preinstalled sw.
+# NOTE! Make sure that ALL software which are removed here have provision script under platrom folders which calls this script
+
+function RemoveDir {
+ targetFolder=$1
+
+ if [ -d "$targetFolder" ]; then
+ echo "Removing existing $targetFolder..."
+ sudo rm -fr "$targetFolder"
+ fi
+}
+
+# Android
+RemoveDir /opt/android
diff --git a/coin/provisioning/common/version.sh b/coin/provisioning/common/version.sh
new file mode 100755
index 00000000..e7662e1e
--- /dev/null
+++ b/coin/provisioning/common/version.sh
@@ -0,0 +1,43 @@
+#!/bin/env bash
+
+#############################################################################
+##
+## Copyright (C) 2016 The Qt Company Ltd.
+## Contact: http://www.qt.io/licensing/
+##
+## This file is part of the test suite of the Qt Toolkit.
+##
+## $QT_BEGIN_LICENSE:LGPL21$
+## Commercial License Usage
+## Licensees holding valid commercial Qt licenses may use this file in
+## accordance with the commercial license agreement provided with the
+## Software or, alternatively, in accordance with the terms contained in
+## a written agreement between you and The Qt Company. For licensing terms
+## and conditions see http://www.qt.io/terms-conditions. For further
+## information use the contact form at http://www.qt.io/contact-us.
+##
+## GNU Lesser General Public License Usage
+## Alternatively, this file may be used under the terms of the GNU Lesser
+## General Public License version 2.1 or version 3 as published by the Free
+## Software Foundation and appearing in the file LICENSE.LGPLv21 and
+## LICENSE.LGPLv3 included in the packaging of this file. Please review the
+## following information to ensure the GNU Lesser General Public License
+## requirements will be met: https://www.gnu.org/licenses/lgpl.html and
+## http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+##
+## As a special exception, The Qt Company gives you certain additional
+## rights. These rights are described in The Qt Company LGPL Exception
+## version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
+##
+## $QT_END_LICENSE$
+##
+#############################################################################
+
+# This script will print all installed software to provision log.
+# Script needs to be named so that it will be ran at last during provisioning
+
+# Print all build machines versions to provision log
+echo "*********************************************"
+echo "***** SW VERSIONS *****"
+cat ~/versions.txt
+echo "*********************************************"
diff --git a/coin/provisioning/qtci-linux-RHEL-6.6-x86_64/android_sdk_linux.sh b/coin/provisioning/qtci-linux-RHEL-6.6-x86_64/android_linux.sh
index a03a1660..6bb7a37e 100644
--- a/coin/provisioning/qtci-linux-RHEL-6.6-x86_64/android_sdk_linux.sh
+++ b/coin/provisioning/qtci-linux-RHEL-6.6-x86_64/android_linux.sh
@@ -48,23 +48,24 @@ targetFolder="/opt/android"
baseUrl="http://ci-files01-hki.ci.local/input/android"
# SDK
-sdkVersion="android-sdk_r24.4.1-linux.tgz"
+sdkPackage="android-sdk_r24.4.1-linux.tgz"
sdkBuildToolsVersion="23.0.3"
sdkApiLevel="android-21"
-sdkUrl="$baseUrl/$sdkVersion"
+sdkUrl="$baseUrl/$sdkPackage"
sdkSha1="725bb360f0f7d04eaccff5a2d57abdd49061326d"
-sdkTargetFile="$targetFolder/$sdkVersion"
+sdkTargetFile="$targetFolder/$sdkPackage"
sdkExtract="tar -C $targetFolder -zxf $sdkTargetFile"
sdkFolderName="android-sdk-linux"
sdkName="sdk"
# NDK
-ndkVersion="android-ndk-r10e-linux-x86_64.zip"
-ndkUrl="$baseUrl/$ndkVersion"
+ndkVersion="r10e"
+ndkPackage="android-ndk-$ndkVersion-linux-x86_64.zip"
+ndkUrl="$baseUrl/$ndkPackage"
ndkSha1="f692681b007071103277f6edc6f91cb5c5494a32"
-ndkTargetFile="$targetFolder/$ndkVersion"
+ndkTargetFile="$targetFolder/$ndkPackage"
ndkExtract="unzip $ndkTargetFile -d $targetFolder"
-ndkFolderName="android-ndk-r10e"
+ndkFolderName="android-ndk-$ndkVersion"
ndkName="ndk"
function InstallAndroidPackage {
@@ -77,25 +78,37 @@ function InstallAndroidPackage {
folderName=$7
name=$8
- sudo wget --tries=5 --waitretry=5 --output-document=$targetFile $url || echo "Failed to download '$url' multiple times"
+ sudo wget --tries=5 --waitretry=5 --output-document="$targetFile" "$url" || echo "Failed to download '$url' multiple times"
echo "$sha1 $targetFile" | sha1sum --check || echo "Failed to check sha1sum"
- sudo chmod 755 $targetFile
+ sudo chmod 755 "$targetFile"
sudo $extract || echo "Failed to extract $url"
- sudo chown -R qt:users $targetFolder/$folderName
- sudo mv $targetFolder/$folderName $targetFolder/$name || echo "Failed to rename $name"
- sudo rm -fr $targetFolder/$version
+ sudo chown -R qt:users "$targetFolder"/"$folderName"
+ sudo mv "$targetFolder"/"$folderName" "$targetFolder"/"$name" || echo "Failed to rename $name"
+ sudo rm -fr "$targetFolder"/"$version"
}
-sudo mkdir $targetFolder
+sudo mkdir "$targetFolder"
# Install Android SDK
-echo "Installing Android SDK version $sdkVersion..."
-InstallAndroidPackage $targetFolder $sdkVersion $sdkUrl $sdkSha1 $sdkTargetFile "$sdkExtract" $sdkFolderName $sdkName
+echo "Installing Android SDK version $sdkPackage..."
+InstallAndroidPackage "$targetFolder" $sdkPackage $sdkUrl $sdkSha1 $sdkTargetFile "$sdkExtract" $sdkFolderName $sdkName
# Install Android NDK
-echo "Installing Android NDK version $ndkVersion..."
-InstallAndroidPackage $targetFolder $ndkVersion $ndkUrl $ndkSha1 $ndkTargetFile "$ndkExtract" $ndkFolderName $ndkName
+echo "Installing Android NDK version $ndkPackage..."
+InstallAndroidPackage "$targetFolder" $ndkPackage $ndkUrl $ndkSha1 $ndkTargetFile "$ndkExtract" $ndkFolderName $ndkName
# run update for Android SDK and install SDK API version 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 "Failed to run update"
+echo 'export ANDROID_API_VERSION=android-21' >> ~/.bashrc
+
+# Storage version information to ~/versions.txt, which is used to print version information to provision log.
+echo "***** Android SDK *****" >> ~/versions.txt
+echo "Android SDK Api Level = $sdkApiLevel" >> ~/versions.txt
+echo "Android SDK Build Tools Version = $sdkBuildToolsVersion" >> ~/versions.txt
+platformTools="$(grep Pkg.Revision "$targetFolder"/sdk/platform-tools/source.properties | cut -c14-)"
+echo "Android Platform Tools = $platformTools" >> ~/versions.txt
+sdkTools="$(grep Pkg.Revision "$targetFolder"/sdk/tools/source.properties | cut -c14-)"
+echo "Android SDK Tools = $sdkTools" >> ~/versions.txt
+echo "***** Android NDK *****" >> ~/versions.txt
+echo "Android NDK Version = $ndkVersion" >> ~/versions.txt
diff --git a/coin/provisioning/qtci-linux-RHEL-6.6-x86_64/version.sh b/coin/provisioning/qtci-linux-RHEL-6.6-x86_64/version.sh
new file mode 100644
index 00000000..5ef5f0e9
--- /dev/null
+++ b/coin/provisioning/qtci-linux-RHEL-6.6-x86_64/version.sh
@@ -0,0 +1,44 @@
+#!/bin/env bash
+
+#############################################################################
+##
+## Copyright (C) 2016 The Qt Company Ltd.
+## Contact: http://www.qt.io/licensing/
+##
+## This file is part of the test suite of the Qt Toolkit.
+##
+## $QT_BEGIN_LICENSE:LGPL21$
+## Commercial License Usage
+## Licensees holding valid commercial Qt licenses may use this file in
+## accordance with the commercial license agreement provided with the
+## Software or, alternatively, in accordance with the terms contained in
+## a written agreement between you and The Qt Company. For licensing terms
+## and conditions see http://www.qt.io/terms-conditions. For further
+## information use the contact form at http://www.qt.io/contact-us.
+##
+## GNU Lesser General Public License Usage
+## Alternatively, this file may be used under the terms of the GNU Lesser
+## General Public License version 2.1 or version 3 as published by the Free
+## Software Foundation and appearing in the file LICENSE.LGPLv21 and
+## LICENSE.LGPLv3 included in the packaging of this file. Please review the
+## following information to ensure the GNU Lesser General Public License
+## requirements will be met: https://www.gnu.org/licenses/lgpl.html and
+## http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+##
+## As a special exception, The Qt Company gives you certain additional
+## rights. These rights are described in The Qt Company LGPL Exception
+## version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
+##
+## $QT_END_LICENSE$
+##
+#############################################################################
+
+# This script needs to be called last during provisioning so that the software information will show up last in provision log.
+
+# Storage installed RPM packages information
+echo "*********************************************" >> ~/versions.txt
+echo "***** All installed RPM packages *****" >> ~/versions.txt
+rpm -q -a | sort >> ~/versions.txt
+echo "*********************************************" >> ~/versions.txt
+
+$(dirname $0)/../common/version.sh
diff --git a/coin/provisioning/qtci-windows-10-x86/libusb.ps1 b/coin/provisioning/qtci-windows-10-x86/libusb.ps1
new file mode 100644
index 00000000..a853ffef
--- /dev/null
+++ b/coin/provisioning/qtci-windows-10-x86/libusb.ps1
@@ -0,0 +1 @@
+. "$PSScriptRoot\..\common\libusb.ps1"
diff --git a/coin/provisioning/qtci-windows-7-x86/libusb.ps1 b/coin/provisioning/qtci-windows-7-x86/libusb.ps1
new file mode 100644
index 00000000..a853ffef
--- /dev/null
+++ b/coin/provisioning/qtci-windows-7-x86/libusb.ps1
@@ -0,0 +1 @@
+. "$PSScriptRoot\..\common\libusb.ps1"
diff --git a/coin/provisioning/qtci-windows-8-x86/libusb.ps1 b/coin/provisioning/qtci-windows-8-x86/libusb.ps1
new file mode 100644
index 00000000..a853ffef
--- /dev/null
+++ b/coin/provisioning/qtci-windows-8-x86/libusb.ps1
@@ -0,0 +1 @@
+. "$PSScriptRoot\..\common\libusb.ps1"