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"] [submodule "qtwebengine"]
depends = qtquickcontrols qtwebchannel depends = qtquickcontrols qtwebchannel
recommends = qtlocation qttools recommends = qtlocation qttools
serialize = qtwebkit
path = qtwebengine path = qtwebengine
url = ../qtwebengine.git url = ../qtwebengine.git
branch = dev branch = dev

View File

@@ -3,6 +3,11 @@ Continuous Integration
This directory contains files used by Qt's Continuous Integration system (Coin). 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 provisioning
------------ ------------
Contains scripts that apply to different test machines in order to run automatic tests on them. 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 Template Target OS Target arch Compiler Features
----------------------------------- ------------------- ----------- ----------- ------------------------------------------------------------------------------------- ----------------------------------- ------------------- ----------- ----------- -------------------------------------------------------------------------------------
qtci-windows-8-x86_64 MSVC2013 DeveloperBuild Release BuildExamples qtci-windows-8-x86_64-2 MSVC2013 DeveloperBuild Release BuildExamples
qtci-windows-10-x86_64 MSVC2015 DeveloperBuild Release QtNamespace QtLibInfix qtci-windows-10-x86_64-3 MSVC2015 DeveloperBuild Release QtNamespace QtLibInfix
qtci-windows-8-x86 MSVC2013 Packaging DebugAndRelease Release ForceDebugInfo OpenGLDynamic qtci-windows-8-x86-2 MSVC2013 Packaging DebugAndRelease Release ForceDebugInfo OpenGLDynamic
qtci-windows-8-x86_64 MSVC2013 Packaging DebugAndRelease Release ForceDebugInfo OpenGLDynamic qtci-windows-8-x86_64-2 MSVC2013 Packaging DebugAndRelease Release ForceDebugInfo OpenGLDynamic
qtci-windows-7-x86 Mingw53 Packaging DebugAndRelease Release OpenGLDynamic qtci-windows-7-x86-2 Mingw53 Packaging DebugAndRelease Release OpenGLDynamic
qtci-windows-10-x86 MSVC2015 Packaging DebugAndRelease Release ForceDebugInfo OpenGLDynamic qtci-windows-10-x86-3 MSVC2015 Packaging DebugAndRelease Release ForceDebugInfo OpenGLDynamic
qtci-windows-10-x86_64 MSVC2015 Packaging DebugAndRelease Release ForceDebugInfo OpenGLDynamic qtci-windows-10-x86_64-3 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-3 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-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 NoWidgets ForceDebugInfo DisableTests
qtci-linux-Ubuntu-16.04-x86_64 GCC DeveloperBuild OutOfSourceBuild QtLibInfix QtNamespace DisableTests qtci-linux-Ubuntu-16.04-x86_64 GCC DeveloperBuild OutOfSourceBuild QtLibInfix QtNamespace DisableTests
qtci-linux-Ubuntu-14.04-x86_64 GCC NoWidgets ForceDebugInfo qtci-linux-Ubuntu-14.04-x86_64 GCC NoWidgets ForceDebugInfo

View File

@@ -1,12 +1,14 @@
Template Target OS Target arch Compiler Features 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-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-2 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 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 armv7 GCC Packaging Release DisableTests OpenGLES2
qtci-osx-10.10-x86_64 Android_ANY x86 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-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-2 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 x86 Mingw53 Packaging Release DisableTests OpenGLES2
qtci-osx-10.10-x86_64 IOS_ANY multi Clang Packaging DebugAndRelease DisableTests Static 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 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) [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 Android sdk and ndk
Remove C:\utils\android* Remove C:\utils\android*
[Environment]::SetEnvironmentVariable("ANDROID_NDK_HOME",$null,"User") [Environment]::SetEnvironmentVariable("ANDROID_NDK_HOME",$null,"User")

View File

@@ -24,7 +24,7 @@ function Extract-7Zip
echo "Extracting '$Source' to '$Destination'..." echo "Extracting '$Source' to '$Destination'..."
if ((Get-Command "7z.exe" -ErrorAction SilentlyContinue) -eq $null) { 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)) { if (-not (test-path $zipExe)) {
$zipExe = join-path ${env:ProgramW6432} '7-zip\7z.exe' $zipExe = join-path ${env:ProgramW6432} '7-zip\7z.exe'
if (-not (test-path $zipExe)) { if (-not (test-path $zipExe)) {

View File

@@ -30,39 +30,40 @@
## $QT_END_LICENSE$ ## $QT_END_LICENSE$
## ##
############################################################################# #############################################################################
param([Int32]$archVer=32)
. "$PSScriptRoot\helpers.ps1" . "$PSScriptRoot\helpers.ps1"
# This script installs Python $version. # This script installs Python $version.
# Python is required for building Qt 5 from source. # Python is required for building Qt 5 from source.
$version = "2.7.10" $version = "2.7.13"
$package = "C:\Windows\temp\python-$version.msi" $package = "C:\Windows\temp\python-$version.msi"
# check bit version # 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" $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" $internalUrl = "http://ci-files01-hki.ci.local/input/windows/python-$version.amd64.msi"
$sha1 = "f3a474f6ab191f9b43034c0fb5c98301553775d4" $sha1 = "d9113142bae8829365c595735e1ad1f9f5e2894c"
} }
else { else {
$externalUrl = "https://www.python.org/ftp/python/$version/python-$version.msi" $externalUrl = "https://www.python.org/ftp/python/$version/python-$version.msi"
$internalUrl = "http://ci-files01-hki.ci.local/input/windows/python-$version.msi" $internalUrl = "http://ci-files01-hki.ci.local/input/windows/python-$version.msi"
$sha1 = "9e62f37407e6964ee0374b32869b7b4ab050d12a" $sha1 = "7e3b54236dbdbea8fe2458db501176578a4d59c0"
} }
echo "Fetching from URL..." echo "Fetching from URL..."
Download $externalUrl $internalUrl $package Download $externalUrl $internalUrl $package
Verify-Checksum $package $sha1 Verify-Checksum $package $sha1
echo "Installing $package..." 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 # 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'..." 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 (Get-Content C:\Python27\lib\zipfile.py) | ForEach-Object { $_ -replace "allowZip64=False", "allowZip64=True" } | Set-Content C:\Python27\lib\zipfile.py
echo "Remove $package..." echo "Remove $package..."
del $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 # 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 cp -a $tempDir/* /usr/
sudo /sbin/ldconfig 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" \ "\x7f\x45\x4c\x46\x01\x01\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02\x00\x28\x00" \
--mask \ --mask \
"\xff\xff\xff\xff\xff\xff\xff\x00\xff\xff\xff\xff\xff\xff\xff\xff\xfe\xff\xff\xff" "\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" 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" 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" SHA1="13835afa3aea939e07a7ecccedcc041dd8c3a86e"
appPrefix="cmake-3.6.2-Darwin-x86_64" appPrefix="cmake-3.6.2-Darwin-x86_64"

View File

@@ -41,7 +41,7 @@
source "${BASH_SOURCE%/*}/../common/InstallAppFromCompressedFileFromURL.sh" 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" 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" SHA1="13835afa3aea939e07a7ecccedcc041dd8c3a86e"
appPrefix="cmake-3.6.2-Darwin-x86_64" 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$ ## $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$ ## $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: For example:
--mirror user\@machine:/foo/bar/ --mirror user\@machine:/foo/bar/qt/
...will use the following as a mirror for qtbase: ...will use the following as a mirror for qtbase:
@@ -167,13 +167,13 @@ my $script_path = abs_path($0);
$script_path =~ s,[/\\][^/\\]+$,,; $script_path =~ s,[/\\][^/\\]+$,,;
my $GERRIT_SSH_BASE my $GERRIT_SSH_BASE
= 'ssh://@USER@codereview.qt-project.org@PORT@/'; = 'ssh://@USER@codereview.qt-project.org@PORT@/qt/';
my $BER_MIRROR_URL_BASE my $BER_MIRROR_URL_BASE
= 'git://hegel/'; = 'git://hegel/qt/';
my $OSLO_MIRROR_URL_BASE my $OSLO_MIRROR_URL_BASE
= 'git://qilin/'; = 'git://qilin/qt/';
sub new sub new
{ {
@@ -316,7 +316,7 @@ sub git_clone_all_submodules
my ($mod, $base) = ($1, $3); my ($mod, $base) = ($1, $3);
next if ($base !~ /^\.\.\//); next if ($base !~ /^\.\.\//);
$base = $my_repo_base.'/'.$base; $base = $my_repo_base.'/'.$base;
while ($base =~ s,/(?!\.\./)[^/]+/\.\./,/,g) {} while ($base =~ s,(?!\.\./)[^/]+/\.\./,,g) {}
$subbases{$mod} = $base; $subbases{$mod} = $base;
} elsif ($2 eq "update") { } elsif ($2 eq "update") {
push @subset, '-'.$1 if ($3 eq 'none'); 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 # manually clone each repo here, so we can easily use reference repos, mirrors etc
my @configresult = qx(git config -l); my @configresult = qx(git config -l);
foreach my $line (@configresult) { 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=/); next if ($line !~ /submodule\.([^.=]+)\.url=/);
my $module = $1; my $module = $1;
@@ -638,12 +638,12 @@ sub run
chomp(my $url = `git config remote.origin.url`); chomp(my $url = `git config remote.origin.url`);
die("Have no origin remote.\n") if (!$url); die("Have no origin remote.\n") if (!$url);
$url =~ s,\.git$,,; $url =~ s,\.git$,,;
$url =~ s,qt/qt5$,,; $url =~ s/qt5$//;
$self->{'base-url'} = $url; $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; $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) modules = $$reverse(modules)
for (mod, modules) { for (mod, modules) {
equals(module.$${mod}.qt, false): \ equals(module.$${mod}.qt, false): \
next() next()
deps = $$eval(module.$${mod}.depends) deps = $$eval(module.$${mod}.depends)
recs = $$eval(module.$${mod}.recommends) recs = $$eval(module.$${mod}.recommends) $$eval(module.$${mod}.serialize)
for (d, $$list($$deps $$recs)): \ for (d, $$list($$deps $$recs)): \
!contains(modules, $$d): \ !contains(modules, $$d): \
error("'$$mod' depends on undeclared '$$d'.") error("'$$mod' depends on undeclared '$$d'.")