Merge remote-tracking branch 'origin/5.11' into 5.11.0

Change-Id: Id0540cee408413b7f5ab7410f3d1db3f38fd46af
This commit is contained in:
Liang Qi
2018-04-17 14:14:37 +02:00
25 changed files with 276 additions and 77 deletions

View File

@@ -0,0 +1,66 @@
#!/usr/bin/env bash
#############################################################################
##
## Copyright (C) 2017 The Qt Company Ltd.
## Contact: http://www.qt.io/licensing/
##
## This file is part of the provisioning scripts of the Qt Toolkit.
##
## $QT_BEGIN_LICENSE:LGPL21$
## Commercial License Usage
## Licensees holding valid commercial Qt licenses may use this file in
## accordance with the commercial license agreement provided with the
## Software or, alternatively, in accordance with the terms contained in
## a written agreement between you and The Qt Company. For licensing terms
## and conditions see http://www.qt.io/terms-conditions. For further
## information use the contact form at http://www.qt.io/contact-us.
##
## GNU Lesser General Public License Usage
## Alternatively, this file may be used under the terms of the GNU Lesser
## General Public License version 2.1 or version 3 as published by the Free
## Software Foundation and appearing in the file LICENSE.LGPLv21 and
## LICENSE.LGPLv3 included in the packaging of this file. Please review the
## following information to ensure the GNU Lesser General Public License
## requirements will be met: https://www.gnu.org/licenses/lgpl.html and
## http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
##
## As a special exception, The Qt Company gives you certain additional
## rights. These rights are described in The Qt Company LGPL Exception
## version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
##
## $QT_END_LICENSE$
##
#############################################################################
# This script installs QNX 6.6.0.
set -ex
source "${BASH_SOURCE%/*}/../unix/SetEnvVar.sh"
targetFolder="/opt/"
sourceFile="http://ci-files01-hki.intra.qt.io/input/qnx/linux/qnx660.tar.gz"
sha1="E292CCAEF447AC1AA4DAD7802D604A5531ACD8D0"
folderName="qnx660"
targetFile="qnx660.tar.gz"
wget --tries=5 --waitretry=5 --progress=dot:giga --output-document="$targetFile" "$sourceFile"
echo "$sha1 $targetFile" | sha1sum --check
if [ ! -d "$targetFolder" ]; then
mkdir -p $targetFolder
fi
sudo tar -C $targetFolder -xvzf $targetFile
sudo chown -R qt:users "$targetFolder"/"$folderName"
# Verify that we have last file in tar
if [ ! -f $targetFolder/$folderName/qnx660-env.sh ]; then
echo "Installation failed!"
exit -1
fi
rm -rf $targetFile
# Set env variables
SetEnvVar "QNX_660" "$targetFolder$folderName"
echo "QNX SDP = 6.6.0" >> ~/versions.txt

View File

@@ -1,5 +1,11 @@
#!/usr/bin/env bash
# Will install pip utility for python
curl https://bootstrap.pypa.io/get-pip.py -o get-pip.py
sudo python get-pip.py
rm get-pip.py
function InstallPip {
python=$1
# Will install pip utility for python
curl https://bootstrap.pypa.io/get-pip.py -o get-pip.py
sudo "$python" get-pip.py
rm get-pip.py
}

View File

@@ -35,8 +35,12 @@
# This script installs python2
# shellcheck source=./InstallPKGFromURL.sh
source "${BASH_SOURCE%/*}/InstallPKGFromURL.sh"
# shellcheck source=./../unix/SetEnvVar.sh
source "${BASH_SOURCE%/*}/../unix/SetEnvVar.sh"
# shellcheck source=./pip.sh
source "${BASH_SOURCE%/*}/pip.sh"
PrimaryUrl="http://ci-files01-hki.intra.qt.io/input/mac/python-2.7.14-macosx10.6.pkg"
AltUrl="https://www.python.org/ftp/python/2.7.14/python-2.7.14-macosx10.6.pkg"
@@ -45,8 +49,11 @@ DestDir="/"
InstallPKGFromURL "$PrimaryUrl" "$AltUrl" "$SHA1" "$DestDir"
InstallPip python2.7
/Library/Frameworks/Python.framework/Versions/2.7/bin/pip install virtualenv
SetEnvVar "PATH" "/Library/Frameworks/Python.framework/Versions/2.7/bin/:\$PATH"
echo "python2 = 2.7.14" >> ~/versions.txt

View File

@@ -36,8 +36,12 @@
# This script installs python3
# shellcheck source=./InstallPKGFromURL.sh
source "${BASH_SOURCE%/*}/InstallPKGFromURL.sh"
# shellcheck source=./../unix/SetEnvVar.sh
source "${BASH_SOURCE%/*}/../unix/SetEnvVar.sh"
# shellcheck source=./pip.sh
source "${BASH_SOURCE%/*}/pip.sh"
PrimaryUrl="http://ci-files01-hki.intra.qt.io/input/mac/python-3.6.1-macosx10.6.pkg"
AltUrl="https://www.python.org/ftp/python/3.6.1/python-3.6.1-macosx10.6.pkg"
@@ -46,9 +50,12 @@ DestDir="/"
InstallPKGFromURL "$PrimaryUrl" "$AltUrl" "$SHA1" "$DestDir"
InstallPip python3.6
/Library/Frameworks/Python.framework/Versions/3.6/bin/pip3 install virtualenv
SetEnvVar "PYTHON3_PATH" "/Library/Frameworks/Python.framework/Versions/3.6/bin"
SetEnvVar "PIP3_PATH" "/Library/Frameworks/Python.framework/Versions/3.6/bin"
echo "python3 = 3.6.1" >> ~/versions.txt

View File

@@ -56,5 +56,6 @@ function DownloadURL {
echo "Checking SHA1 on PKG '$targetFile'"
echo "$expectedSha1 *$targetFile" > $targetFile.sha1
sha1sum --check $targetFile.sha1
rm -f $targetFile.sha1
}

View File

@@ -51,6 +51,9 @@ fi
squishLicenseUrl="ci-files01-hki.intra.qt.io:/hdd/www/input/squish/coin/"
squishLicenseFile=".squish-3-license.tar.gz"
testSuite="suite_test_squish"
testSuiteUrl="ci-files01-hki.intra.qt.io:/hdd/www/input/squish/coin/"
# These checks can be removed when Vanilla OS for all linux and Mac are in
if [ -d "$squishFolder" ]; then
echo "Move old squish to /tmp"
@@ -140,10 +143,10 @@ echo "Set commands for environment variables in .bashrc"
if uname -a |grep -q "Ubuntu"; then
echo "export SQUISH_PATH=$squishFolder/package" >> ~/.profile
echo "export PATH=\$PATH:$quishFolder/squish-$version/bin" >> ~/.profile
echo "export PATH=\$PATH:$squishFolder/squish-$version/bin" >> ~/.profile
else
echo "export SQUISH_PATH=$squishFolder/package" >> ~/.bashrc
echo "export PATH=\$PATH:$quishFolder/squish-$version/bin" >> ~/.bashrc
echo "export PATH=\$PATH:$squishFolder/squish-$version/bin" >> ~/.bashrc
fi
echo "Installing squish license to home directory.."
@@ -151,3 +154,14 @@ MountAndInstall "$squishLicenseUrl" "$squishFolder" "$squishLicenseFile"
echo "Installing squish $version.."
MountAndInstall "$squishUrl" "$squishFolder" "$squishFile"
echo "Installing test suite for squish"
MountAndInstall "$testSuiteUrl" "$squishFolder" "$testSuite.tar.gz"
echo "Verifying Squish Installation"
if "$squishFolder/package/bin/squishrunner" --testsuite "$squishFolder/$testSuite" | grep "Squish test run successfully" ; then
echo "Squish installation tested successfully"
else
echo "Squish test failed! Package wasn't installed correctly."
exit 1
fi

View File

@@ -1,6 +1,6 @@
#############################################################################
##
## Copyright (C) 2017 The Qt Company Ltd.
## 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.
@@ -48,6 +48,8 @@ $qtBranch = "59x"
$targetDir = "C:\Utils\squish"
$squishUrl = "\\ci-files01-hki.intra.qt.io\provisioning\squish\coin"
$squishBranchUrl = "$squishUrl\$qtBranch"
$testSuite = "suite_test_squish"
$testSuiteUrl = "\\ci-files01-hki.intra.qt.io\provisioning\squish\coin\$testSuite.7z"
# Squish license
$licensePackage = ".squish-3-license"
@@ -77,9 +79,13 @@ Function DownloadAndInstallSquish {
$squishPackage64bit = "$squishPackage`_64"
}
Rename-Item $targetDir\$squishPackage $targetDir\$squishPackage64bit
TestSquish $squishPackage64bit
} else {
if ($squishPackage.StartsWith("mingw")) {
Rename-Item $targetDir\$squishPackage $targetDir\mingw
TestSquish mingw
} else {
TestSquish $squishPackage
}
}
}
@@ -93,10 +99,27 @@ Function DownloadSquishLicence {
Copy-Item $squishUrl\$licensePackage ~\$licensePackage
}
Function TestSquish {
Param (
[string]$squishPackage
)
echo "Verifying Squish Installation"
if (cmd /c "$targetDir\$squishPackage\bin\squishrunner.exe --testsuite $targetDir\$testSuite" |Select-String -Pattern "Squish test run successfully") {
echo "Squish installation tested successfully!"
} else {
echo "Squish test failed! $squishPackage wasn't installed correctly."
[Environment]::Exit(1)
}
}
Write-Host "Creating $targetDir"
New-Item -ErrorAction Ignore -ItemType directory -Path "$targetDir"
Write-Host "Download and install Test Suite for squish"
Copy-Item $testSuiteUrl $targetDir/$testSuite.7z
Extract-7Zip $targetDir/$testSuite.7z $targetDir
DownloadSquishLicence $squishUrl
if ($OSVersion -eq "Windows 10 Enterprise") {

View File

@@ -0,0 +1,50 @@
############################################################################
##
## 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$
##
#############################################################################
. "$PSScriptRoot\helpers.ps1"
# This script will install Windows 10 SDK
$url_cache = "\\ci-files01-hki.ci.local\provisioning\windows\winsdksetup.exe"
$url_official = "https://download.microsoft.com/download/8/C/3/8C37C5CE-C6B9-4CC8-8B5F-149A9C976035/windowssdk/winsdksetup.exe"
$package = "C:\Windows\Temp\winsdksetup.exe"
$sha1 = "db237323f1779fb143e7cdc558e4345e7004489e"
Copy-Item $url_cache $package
Verify-Checksum $package $sha1
Run-Executable $package "/features + /q"
Write-Host "Cleaning $package.."
Remove-Item -Recurse -Force -Path "$package"
Write-Output "Windows 10 SDK = 10.0.16229.91" >> ~\versions.txt

View File

@@ -35,8 +35,10 @@
set -ex
# shellcheck source=../common/unix/check_and_set_proxy.sh
source "${BASH_SOURCE%/*}/../common/unix/check_and_set_proxy.sh"
# shellcheck disable=SC2031
if [ "$http_proxy" != "" ]; then
echo "proxy=$proxy" | sudo tee -a /etc/yum.conf
fi

View File

@@ -1,3 +1,4 @@
#!/usr/bin/env bash
# shellcheck source=../common/linux/disable-ntp_linux.sh
source "${BASH_SOURCE%/*}/../common/linux/disable-ntp_linux.sh"

View File

@@ -33,6 +33,7 @@
##
#############################################################################
# shellcheck source=../common/unix/DownloadURL.sh
source "${BASH_SOURCE%/*}/../common/unix/DownloadURL.sh"
package="epel-release-6-8.noarch.rpm"

View File

@@ -3,9 +3,10 @@
set -ex
BASEDIR=$(dirname "$0")
. $BASEDIR/../common/shared/sw_versions.txt
# shellcheck source=../common/shared/sw_versions.txt
. "$BASEDIR/../common/shared/sw_versions.txt"
VERSION=$libclang_version
URL="https://download.qt.io/development_releases/prebuilt/libclang/libclang-release_${VERSION//\./}-linux-Rhel6.6-gcc4.9-x86_64.7z"
SHA1="c7466109628418a6aa3db8b3f5825f847f1c4952"
$BASEDIR/../common/unix/libclang.sh "$URL" "$SHA1" "$VERSION"
"$BASEDIR/../common/unix/libclang.sh" "$URL" "$SHA1" "$VERSION"

View File

@@ -1,4 +1,4 @@
#!/usr/bin/env bash
set -ex
$(dirname $0)/../common/linux/cmake_linux.sh
"$(dirname "$0")/../common/linux/cmake_linux.sh"

View File

@@ -33,4 +33,5 @@
##
#############################################################################
# shellcheck source=../common/unix/mqtt_broker.sh
source "${BASH_SOURCE%/*}/../common/unix/mqtt_broker.sh"

View File

@@ -45,27 +45,28 @@ function Install7ZPackageFromURL {
expectedSha1=$2
targetDirectory=$3
targetFile=`mktemp`
wget --tries=5 --waitretry=5 --output-document=$targetFile $url
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
sudo /usr/local/bin/7z x -yo"$targetDirectory" "$targetFile"
rm "$targetFile"
}
echo "Installing custom ICU $icuVersion $sha1 packages on RHEL to $icuLocation"
baseBinaryPackageURL="http://master.qt.io/development_releases/prebuilt/icu/prebuilt/$icuVersion/icu-linux-g++-Rhel6.6-x64.7z"
Install7ZPackageFromURL $baseBinaryPackageURL $sha1 "/usr/lib64"
Install7ZPackageFromURL "$baseBinaryPackageURL" "$sha1" "/usr/lib64"
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`
tempDir=$(mktemp -d)
# shellcheck disable=SC2064
trap "sudo rm -fr $tempDir" EXIT
Install7ZPackageFromURL $develPackageURL $sha1Dev $tempDir
sudo cp -a $tempDir/lib/* /usr/lib64
sudo cp -a $tempDir/* /usr/
Install7ZPackageFromURL "$develPackageURL" "$sha1Dev" "$tempDir"
sudo cp -a "$tempDir/lib"/* /usr/lib64
sudo cp -a "$tempDir"/* /usr/
sudo /sbin/ldconfig

View File

@@ -39,9 +39,10 @@
set -ex
# shellcheck disable=SC2129
echo "*********************************************" >> ~/versions.txt
echo "***** All installed RPM packages *****" >> ~/versions.txt
rpm -q -a | sort >> ~/versions.txt
echo "*********************************************" >> ~/versions.txt
$(dirname $0)/../common/linux/version.sh
"$(dirname "$0")/../common/linux/version.sh"

View File

@@ -63,8 +63,8 @@ installPackages+=(gtk3-devel)
installPackages+=(libusbx-devel)
# speech-dispatcher-devel for QtSpeech, otherwise it has no backend on Linux
installPackages+=(speech-dispatcher-devel)
# Python 2.7 with python-devel, pip and virtualenv
installPackages+=(python27)
# Python 2 devel and pip. python-pip requires the EPEL repository to be added
installPackages+=(python-devel python-pip)
# Python 3 with python-devel, pip and virtualenv
installPackages+=(rh-python36)
# WebEngine
@@ -89,11 +89,18 @@ installPackages+=(libxml2-devel)
installPackages+=(libxslt-devel)
# For building Wayland from source
installPackages+=(libffi-devel)
# QtWayland
installPackages+=(mesa-libwayland-egl)
installPackages+=(mesa-libwayland-egl-devel)
installPackages+=(libwayland-client)
installPackages+=(libwayland-cursor)
installPackages+=(libwayland-server)
sudo yum -y install "${installPackages[@]}"
# Make python 2.7 and its pip default
echo "source scl_source enable python27" >> ~/.bashrc
sudo ln -s /opt/rh/rh-python36/root/usr/bin/python3 /usr/local/bin/python3
sudo ln -s /opt/rh/rh-python36/root/usr/bin/pip3 /usr/local/bin/pip3
# We shouldn't use yum to install virtualenv. The one found from package repo is not
# working, but we can use installed pip
sudo pip install --upgrade pip
sudo pip install virtualenv

View File

@@ -33,31 +33,11 @@
##
#############################################################################
# Install Git Large File Storage
set -ex
source "${BASH_SOURCE%/*}/../common/unix/DownloadURL.sh"
version=1.12.0
sha1="9a0dd96f53fff3e227035ed76caaa209b632ea8d"
archive="wayland-$version.tar.xz"
primaryUrl="https://wayland.freedesktop.org/releases/$archive"
cacheUrl="http://ci-files01-hki.intra.qt.io/input/wayland/$archive"
echo "Installing Wayland $version $sha1 on RHEL"
targetFile="/tmp/$archive"
DownloadURL $primaryUrl $cacheUrl $sha1 $targetFile
tar xf $targetFile --directory /tmp/
rm $targetFile
cd /tmp/wayland-$version
./configure \
--prefix=/usr \
--libdir=/usr/lib64 \
--disable-static \
--disable-documentation
make
sudo make install
rm -rf /tmp/wayland-$version
echo "wayland = $version" >> ~/versions.txt
sudo apt-add-repository 'deb https://packagecloud.io/github/git-lfs/ubuntu/ xenial main'
sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys 37BBEE3F7AD95B3F
sudo apt update
sudo apt install git-lfs

View File

@@ -0,0 +1,38 @@
#!/bin/env bash
#############################################################################
##
## Copyright (C) 2018 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$
##
#############################################################################
set -ex
source "${BASH_SOURCE%/*}/../common/linux/qnx_660.sh"

View File

@@ -5,7 +5,7 @@
## 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.
## This file is part of the test suite of the Qt Toolkit.
##
## $QT_BEGIN_LICENSE:LGPL21$
## Commercial License Usage
@@ -37,25 +37,19 @@ set -ex
source "${BASH_SOURCE%/*}/../common/unix/DownloadURL.sh"
version="17.0.1-6.20170307.wayland"
wayland_egl_rpm="mesa-libwayland-egl-$version.el7.x86_64.rpm"
wayland_egl_sha1="0a42fddd9a58c0bcd93efdaf84fd54b872f050d0"
wayland_egl_devel_rpm="mesa-libwayland-egl-devel-$version.el7.x86_64.rpm"
wayland_egl_devel_sha1="3ece8768e6bdd8603ce15d75f3b80895da038f15"
mirror1="http://ci-files01-hki.intra.qt.io/input/wayland"
mirror2=$mirror1
url="http://ci-files01-hki.intra.qt.io/input/semisecure/test_farm_id_rsa"
sha1="1b0d651661c33a654ac89ef3c97bbe06d6bf1ca1"
sshKey="$HOME/.ssh/test_farm_id_rsa"
echo "Installing libwayland-egl development packages on RHEL"
DownloadURL "$url" "$url" "$sha1" "$sshKey"
chmod 600 "$sshKey"
# We're installing the packages with `--nodeps` because we've already installed
# the Wayland libraries, but not through the package manager.
echo "Configuring ssh config file for Yocto"
cat <<EOT >> "$HOME/.ssh/config"
StrictHostKeyChecking=no
Host codereview.qt-project.org
Port 29418
User qt-builder
IdentityFile "$sshKey"
EOT
DownloadURL $mirror1/$wayland_egl_rpm $mirror2/$wayland_egl_rpm $wayland_egl_sha1 /tmp/$wayland_egl_rpm
sudo rpm -i --nodeps /tmp/$wayland_egl_rpm
rm /tmp/$wayland_egl_rpm
DownloadURL $mirror1/$wayland_egl_devel_rpm $mirror2/$wayland_egl_devel_rpm $wayland_egl_devel_sha1 /tmp/$wayland_egl_devel_rpm
sudo rpm -i --nodeps /tmp/$wayland_egl_devel_rpm
rm /tmp/$wayland_egl_devel_rpm
echo "mesa-libwayland-egl = $version" >> ~/versions.txt

View File

@@ -1,6 +0,0 @@
#!/usr/bin/env bash
set -ex
BASEDIR=$(dirname "$0")
$BASEDIR/../common/macos/pip.sh

View File

@@ -0,0 +1 @@
. "$PSScriptRoot\..\common\windows\openssl.ps1"

View File

@@ -0,0 +1 @@
. "$PSScriptRoot\..\common\windows\postgresql.ps1"

View File

@@ -0,0 +1 @@
. "$PSScriptRoot\..\common\windows\win10sdk.ps1"

View File

@@ -0,0 +1 @@
. "$PSScriptRoot\..\common\windows\mysql.ps1"