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

Conflicts:
	coin/platform_configs/default.txt
	coin/platform_configs/qt5.txt

This also fixes the 7Z extraction code to work on the windows 7 x86
installation where 7z is not in the PATH anymore with revision 2. The
fallback code was 64-bit only and needs the null check for ProgramFiles(x86)
along with the fall back to ProgramFiles to locate the 7z executable.

Change-Id: Ifcf014c3a99685c427a62898e1fa83910a4a7247
This commit is contained in:
Liang Qi
2017-04-01 11:40:15 +02:00
committed by Simon Hausmann
18 changed files with 84 additions and 44 deletions

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

@@ -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

@@ -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

@@ -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

@@ -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
{ {
@@ -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;