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

Change-Id: I88192479624510cb34227f401d9e8b07977f9711
This commit is contained in:
Liang Qi
2017-04-09 09:40:45 +02:00
26 changed files with 99 additions and 50 deletions

1
.gitmodules vendored
View File

@@ -238,6 +238,7 @@
[submodule "qtwebengine"]
depends = qtquickcontrols qtwebchannel
recommends = qtlocation qttools
serialize = qtwebkit
path = qtwebengine
url = ../qtwebengine.git
branch = dev

View File

@@ -3,6 +3,11 @@ Continuous Integration
This directory contains files used by Qt's Continuous Integration system (Coin).
pre-provisioning
----------------
Contains scripts which are used to install software to tier1 machines manually.
E.g. Visual studio installation takes too long to be included to automatic provisioning of tier2 templates.
provisioning
------------
Contains scripts that apply to different test machines in order to run automatic tests on them.

View File

@@ -1,14 +1,14 @@
Template Target OS Target arch Compiler Features
----------------------------------- ------------------- ----------- ----------- -------------------------------------------------------------------------------------
qtci-windows-8-x86_64 MSVC2013 DeveloperBuild Release BuildExamples
qtci-windows-10-x86_64 MSVC2015 DeveloperBuild Release QtNamespace QtLibInfix
qtci-windows-8-x86 MSVC2013 Packaging DebugAndRelease Release ForceDebugInfo OpenGLDynamic
qtci-windows-8-x86_64 MSVC2013 Packaging DebugAndRelease Release ForceDebugInfo OpenGLDynamic
qtci-windows-7-x86 Mingw53 Packaging DebugAndRelease Release OpenGLDynamic
qtci-windows-10-x86 MSVC2015 Packaging DebugAndRelease Release ForceDebugInfo OpenGLDynamic
qtci-windows-10-x86_64 MSVC2015 Packaging DebugAndRelease Release ForceDebugInfo OpenGLDynamic
qtci-windows-10-x86_64 WinRT_10 x86 MSVC2015 Packaging DebugAndRelease Release ForceDebugInfo DisableTests
qtci-windows-10-x86_64 WinRT_10 armv7 MSVC2015 Packaging DebugAndRelease Release ForceDebugInfo DisableTests
qtci-windows-8-x86_64-2 MSVC2013 DeveloperBuild Release BuildExamples
qtci-windows-10-x86_64-3 MSVC2015 DeveloperBuild Release QtNamespace QtLibInfix
qtci-windows-8-x86-2 MSVC2013 Packaging DebugAndRelease Release ForceDebugInfo OpenGLDynamic
qtci-windows-8-x86_64-2 MSVC2013 Packaging DebugAndRelease Release ForceDebugInfo OpenGLDynamic
qtci-windows-7-x86-2 Mingw53 Packaging DebugAndRelease Release OpenGLDynamic
qtci-windows-10-x86-3 MSVC2015 Packaging DebugAndRelease Release ForceDebugInfo OpenGLDynamic
qtci-windows-10-x86_64-3 MSVC2015 Packaging DebugAndRelease Release ForceDebugInfo OpenGLDynamic
qtci-windows-10-x86_64-3 WinRT_10 x86 MSVC2015 Packaging DebugAndRelease Release ForceDebugInfo DisableTests
qtci-windows-10-x86_64-3 WinRT_10 armv7 MSVC2015 Packaging DebugAndRelease Release ForceDebugInfo DisableTests
qtci-linux-Ubuntu-16.04-x86_64 GCC NoWidgets ForceDebugInfo DisableTests
qtci-linux-Ubuntu-16.04-x86_64 GCC DeveloperBuild OutOfSourceBuild QtLibInfix QtNamespace DisableTests
qtci-linux-Ubuntu-14.04-x86_64 GCC NoWidgets ForceDebugInfo

View File

@@ -1,12 +1,14 @@
Template Target OS Target arch Compiler Features
--------------------------- ------------------- ----------- ----------- -------------------------------------------------------------------------------------
qtci-windows-10-x86_64 WinRT_10 MSVC2015 Packaging DebugAndRelease Release DisableTests
qtci-windows-10-x86_64-3 WinRT_10 MSVC2015 Packaging DebugAndRelease Release DisableTests
qtci-linux-RHEL-7.2-x86_64 Android_ANY x86 GCC Packaging Release DisableTests OpenGLES2 NoUseGoldLinker
qtci-windows-7-x86 Android_ANY armv7 Mingw53 Packaging Release DisableTests OpenGLES2
qtci-windows-7-x86 Android_ANY x86 Mingw53 Packaging Release DisableTests OpenGLES2
qtci-windows-7-x86-2 Android_ANY armv7 Mingw53 Packaging Release DisableTests OpenGLES2
qtci-windows-7-x86-2 Android_ANY x86 Mingw53 Packaging Release DisableTests OpenGLES2
qtci-osx-10.10-x86_64 Android_ANY armv7 GCC Packaging Release DisableTests OpenGLES2
qtci-osx-10.10-x86_64 Android_ANY x86 GCC Packaging Release DisableTests OpenGLES2
qtci-osx-10.11-x86_64 Android_ANY armv7 GCC Packaging Release DisableTests OpenGLES2
qtci-osx-10.11-x86_64 Android_ANY x86 GCC Packaging Release DisableTests OpenGLES2
qtci-linux-RHEL-6.6-x86_64 QNX_660 x86 GCC Packaging Release DisableTests OpenGLES2 NoUseGoldLinker
qtci-windows-7-x86 QNX_660 armv7 Mingw53 Packaging Release DisableTests OpenGLES2
qtci-windows-7-x86 QNX_660 x86 Mingw53 Packaging Release DisableTests OpenGLES2
qtci-windows-7-x86-2 QNX_660 armv7 Mingw53 Packaging Release DisableTests OpenGLES2
qtci-windows-7-x86-2 QNX_660 x86 Mingw53 Packaging Release DisableTests OpenGLES2
qtci-osx-10.10-x86_64 IOS_ANY multi Clang Packaging DebugAndRelease DisableTests Static

View File

@@ -1,3 +1,3 @@
Template Target OS Target arch Compiler Features
------------------------------- ------------------- ----------- ----------- -------------------------------------------------------------------------------------
qtci-linux-openSUSE-42.1-x86_64 GCC DeveloperBuild NoPch
qtci-linux-Ubuntu-16.04-x86_64 Boot2Qt_Jethro x86_64 GCC DeveloperBuild

View File

@@ -55,11 +55,6 @@ Function Remove-Path {
[System.Environment]::SetEnvironmentVariable($name,$value,$type)
}
# Remove Python
Remove C:\Python27
Remove-Path C:\python27\scripts
Remove-Path C:\python27
# Remove Android sdk and ndk
Remove C:\utils\android*
[Environment]::SetEnvironmentVariable("ANDROID_NDK_HOME",$null,"User")

View File

@@ -24,7 +24,7 @@ function Extract-7Zip
echo "Extracting '$Source' to '$Destination'..."
if ((Get-Command "7z.exe" -ErrorAction SilentlyContinue) -eq $null) {
$zipExe = join-path ${env:ProgramFiles(x86)} '7-zip\7z.exe'
$zipExe = join-path (${env:ProgramFiles(x86)}, ${env:ProgramFiles} -ne $null)[0] '7-zip\7z.exe'
if (-not (test-path $zipExe)) {
$zipExe = join-path ${env:ProgramW6432} '7-zip\7z.exe'
if (-not (test-path $zipExe)) {

View File

@@ -30,39 +30,40 @@
## $QT_END_LICENSE$
##
#############################################################################
param([Int32]$archVer=32)
. "$PSScriptRoot\helpers.ps1"
# This script installs Python $version.
# Python is required for building Qt 5 from source.
$version = "2.7.10"
$version = "2.7.13"
$package = "C:\Windows\temp\python-$version.msi"
# check bit version
if ([System.Environment]::Is64BitProcess -eq $TRUE) {
if ( $archVer -eq 64 ) {
echo "Running in 64 bit system"
$externalUrl = "https://www.python.org/ftp/python/$version/python-$version.amd64.msi"
$internalUrl = "http://ci-files01-hki.ci.local/input/windows/python-$version.amd64.msi"
$sha1 = "f3a474f6ab191f9b43034c0fb5c98301553775d4"
$sha1 = "d9113142bae8829365c595735e1ad1f9f5e2894c"
}
else {
$externalUrl = "https://www.python.org/ftp/python/$version/python-$version.msi"
$internalUrl = "http://ci-files01-hki.ci.local/input/windows/python-$version.msi"
$sha1 = "9e62f37407e6964ee0374b32869b7b4ab050d12a"
$sha1 = "7e3b54236dbdbea8fe2458db501176578a4d59c0"
}
echo "Fetching from URL..."
Download $externalUrl $internalUrl $package
Verify-Checksum $package $sha1
echo "Installing $package..."
cmd /c "$package /q"
cmd /c "msiexec /passive /i $package ALLUSERS=1"
# We need to change allowZip64 from 'False' to 'True' to be able to create ZIP files that use the ZIP64 extensions when the zipfile is larger than 2 GB
echo "Chancing allowZip64 value to 'True'..."
(Get-Content C:\Python27\lib\zipfile.py) | ForEach-Object { $_ -replace "allowZip64=False", "allowZip64=True" } | Set-Content C:\Python27\lib\zipfile.py
echo "Remove $package..."
del $package
Add-Path $path
[Environment]::SetEnvironmentVariable("Path", $env:Path + ";C:\Python27;C:\Python27\Scripts", [EnvironmentVariableTarget]::Machine)
& python -m ensurepip
C:\Python27\python.exe -m ensurepip
# Install python virtual env
pip.exe install virtualenv
C:\Python27\Scripts\pip.exe install virtualenv

View File

@@ -68,3 +68,6 @@ sudo cp -a $tempDir/lib/* /usr/lib64
sudo cp -a $tempDir/* /usr/
sudo /sbin/ldconfig
# Storage version information to ~/versions.txt, which is used to print version information to provision log.
echo "ICU = $icuVersion" >> ~/versions.txt

View File

@@ -58,3 +58,9 @@ sudo update-binfmts --package qemu-arm --install arm \
"\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"
# 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
# doesn't help since host version creates cache for a wrong architecture and running
# armv7 fc-cache segfaults on QEMU.
sudo DEBIAN_FRONTEND=noninteractive apt-get -y remove fonts-noto-cjk

View File

@@ -41,7 +41,7 @@
source "${BASH_SOURCE%/*}/../common/InstallAppFromCompressedFileFromURL.sh"
PrimaryUrl="http://ci-files01-hki.ci.local/input/mac/macos_10.12_sierra/cmake-3.6.2-Darwin-x86_64.tar.gz"
AltUrl="https://cmake.org/files/v3.6/cmake-3.6.2-Linux-x86_64.tar.gz"
AltUrl="https://cmake.org/files/v3.6/cmake-3.6.2-Darwin-x86_64.tar.gz"
SHA1="13835afa3aea939e07a7ecccedcc041dd8c3a86e"
appPrefix="cmake-3.6.2-Darwin-x86_64"

View File

@@ -41,7 +41,7 @@
source "${BASH_SOURCE%/*}/../common/InstallAppFromCompressedFileFromURL.sh"
PrimaryUrl="http://ci-files01-hki.ci.local/input/mac/osx_10.11_el_capitan/cmake-3.6.2-Darwin-x86_64.tar.gz"
AltUrl="https://cmake.org/files/v3.6/cmake-3.6.2-Linux-x86_64.tar.gz"
AltUrl="https://cmake.org/files/v3.6/cmake-3.6.2-Darwin-x86_64.tar.gz"
SHA1="13835afa3aea939e07a7ecccedcc041dd8c3a86e"
appPrefix="cmake-3.6.2-Darwin-x86_64"

View File

@@ -1 +1 @@
. "$PSScriptRoot\..\common\02-python.ps1"
. "$PSScriptRoot\..\common\python.ps1" 32

View File

@@ -30,4 +30,21 @@
## $QT_END_LICENSE$
##
#############################################################################
. "$PSScriptRoot\..\common\msvc2015_update.ps1"
. "$PSScriptRoot\..\common\helpers.ps1"
# Install Cumulative Servicing Release Visual Studio 2015 update 3
# Original download page: https://msdn.microsoft.com/en-us/library/mt752379.aspx
# http://ci-files01-hki.ci.local/input/windows/vs14-kb3165756.exe
$version = "2015 update3 (KB3165756)"
$package = "C:\Windows\Temp\vs14-kb3165756.exe"
$url_cache = "http://ci-files01-hki.ci.local/input/windows/vs14-kb3165756.exe"
$url_official = "http://go.microsoft.com/fwlink/?LinkID=816878"
$sha1 = "6a21d9b291ca75d44baad95e278fdc0d05d84c02"
echo "Fetching patch for Visual Studio $version..."
Download $url_official $url_cache $package
Verify-Checksum $package $sha1
echo "Installing patch for Visual Studio $version..."
cmd /c "$package /norestart /Quiet"
remove-item $package

View File

@@ -1 +1 @@
. "$PSScriptRoot\..\common\02-python.ps1"
. "$PSScriptRoot\..\common\python.ps1" 64

View File

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

View File

@@ -30,4 +30,21 @@
## $QT_END_LICENSE$
##
#############################################################################
. "$PSScriptRoot\..\common\msvc2015_update.ps1"
. "$PSScriptRoot\..\common\helpers.ps1"
# Install Cumulative Servicing Release Visual Studio 2015 update 3
# Original download page: https://msdn.microsoft.com/en-us/library/mt752379.aspx
# http://ci-files01-hki.ci.local/input/windows/vs14-kb3165756.exe
$version = "2015 update3 (KB3165756)"
$package = "C:\Windows\Temp\vs14-kb3165756.exe"
$url_cache = "http://ci-files01-hki.ci.local/input/windows/vs14-kb3165756.exe"
$url_official = "http://go.microsoft.com/fwlink/?LinkID=816878"
$sha1 = "6a21d9b291ca75d44baad95e278fdc0d05d84c02"
echo "Fetching patch for Visual Studio $version..."
Download $url_official $url_cache $package
Verify-Checksum $package $sha1
echo "Installing patch for Visual Studio $version..."
cmd /c "$package /norestart /Quiet"
remove-item $package

View File

@@ -1 +1 @@
. "$PSScriptRoot\..\common\02-python.ps1"
. "$PSScriptRoot\..\common\python.ps1" 32

View File

@@ -1 +0,0 @@
. "$PSScriptRoot\..\common\02-python.ps1"

View File

@@ -0,0 +1 @@
. "$PSScriptRoot\..\common\python.ps1" 32

View File

@@ -1 +0,0 @@
. "$PSScriptRoot\..\common\02-python.ps1"

View File

@@ -0,0 +1 @@
. "$PSScriptRoot\..\common\python.ps1" 64

View File

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

View File

@@ -144,7 +144,7 @@ Options:
For example:
--mirror user\@machine:/foo/bar/
--mirror user\@machine:/foo/bar/qt/
...will use the following as a mirror for qtbase:
@@ -167,13 +167,13 @@ my $script_path = abs_path($0);
$script_path =~ s,[/\\][^/\\]+$,,;
my $GERRIT_SSH_BASE
= 'ssh://@USER@codereview.qt-project.org@PORT@/';
= 'ssh://@USER@codereview.qt-project.org@PORT@/qt/';
my $BER_MIRROR_URL_BASE
= 'git://hegel/';
= 'git://hegel/qt/';
my $OSLO_MIRROR_URL_BASE
= 'git://qilin/';
= 'git://qilin/qt/';
sub new
{
@@ -316,7 +316,7 @@ sub git_clone_all_submodules
my ($mod, $base) = ($1, $3);
next if ($base !~ /^\.\.\//);
$base = $my_repo_base.'/'.$base;
while ($base =~ s,/(?!\.\./)[^/]+/\.\./,/,g) {}
while ($base =~ s,(?!\.\./)[^/]+/\.\./,,g) {}
$subbases{$mod} = $base;
} elsif ($2 eq "update") {
push @subset, '-'.$1 if ($3 eq 'none');
@@ -381,7 +381,7 @@ sub git_clone_all_submodules
# manually clone each repo here, so we can easily use reference repos, mirrors etc
my @configresult = qx(git config -l);
foreach my $line (@configresult) {
# Example line: submodule.qtqa.url=git://gitorious.org/qt/qtqa.git
# Example line: submodule.qtqa.url=git://code.qt.io/qt/qtqa.git
next if ($line !~ /submodule\.([^.=]+)\.url=/);
my $module = $1;
@@ -638,12 +638,12 @@ sub run
chomp(my $url = `git config remote.origin.url`);
die("Have no origin remote.\n") if (!$url);
$url =~ s,\.git$,,;
$url =~ s,qt/qt5$,,;
$url =~ s/qt5$//;
$self->{'base-url'} = $url;
$self->git_clone_all_submodules('qt/qt5', $self->{branch}, @{$self->{'module-subset'}});
$self->git_clone_all_submodules('qt5', $self->{branch}, @{$self->{'module-subset'}});
$self->git_add_remotes('qt/qt5');
$self->git_add_remotes('qt5');
$self->git_install_hooks;

4
qt.pro
View File

@@ -43,14 +43,14 @@ for (ever) {
}
}
modules = $$sort_depends(modules, module., .depends .recommends)
modules = $$sort_depends(modules, module., .depends .recommends .serialize)
modules = $$reverse(modules)
for (mod, modules) {
equals(module.$${mod}.qt, false): \
next()
deps = $$eval(module.$${mod}.depends)
recs = $$eval(module.$${mod}.recommends)
recs = $$eval(module.$${mod}.recommends) $$eval(module.$${mod}.serialize)
for (d, $$list($$deps $$recs)): \
!contains(modules, $$d): \
error("'$$mod' depends on undeclared '$$d'.")