Use vanilla Windows 10 x86_64
authorTony Sarajärvi <tony.sarajarvi@qt.io>
Tue, 23 Jan 2018 10:10:35 +0000 (12:10 +0200)
committerTony Sarajärvi <tony.sarajarvi@qt.io>
Wed, 24 Jan 2018 16:32:35 +0000 (16:32 +0000)
Provisioning scripts taken from 5.9 @ commit
1540a875908f904226ad48fb41da5d49b498d177

Change-Id: Iac96271bb2b08196463376b1327722c78f92d18a
Reviewed-by: Matti Paaso <matti.paaso@qt.io>
28 files changed:
coin/platform_configs/default.txt
coin/platform_configs/qt5.txt
coin/provisioning/common/windows/install-jdk.ps1 [new file with mode: 0644]
coin/provisioning/common/windows/install-mingw.ps1
coin/provisioning/common/windows/patch_qnx.ps1 [new file with mode: 0644]
coin/provisioning/qtci-windows-10-x86_64/01-disable-windefender.ps1 [moved from coin/provisioning/qtci-windows-10-x86_64/004-disable-windefender.ps1 with 100% similarity]
coin/provisioning/qtci-windows-10-x86_64/01-windows_removethemall.ps1 [deleted file]
coin/provisioning/qtci-windows-10-x86_64/02-disable-sleep.ps1 [moved from coin/provisioning/qtci-windows-10-x86_64/002-disable-sleep.ps1 with 100% similarity]
coin/provisioning/qtci-windows-10-x86_64/02-python.ps1 [moved from coin/provisioning/qtci-windows-10-x86_64/07-python.ps1 with 100% similarity]
coin/provisioning/qtci-windows-10-x86_64/04-disable-windows-updates.ps1 [moved from coin/provisioning/qtci-windows-10-x86_64/004-disable-windows-updates.ps1 with 100% similarity]
coin/provisioning/qtci-windows-10-x86_64/05-msvc.ps1 [moved from coin/provisioning/qtci-windows-10-x86_64/msvc.ps1 with 100% similarity]
coin/provisioning/qtci-windows-10-x86_64/05-wsearch-off.ps1 [moved from coin/provisioning/qtci-windows-10-x86_64/005-wsearch-off.ps1 with 100% similarity]
coin/provisioning/qtci-windows-10-x86_64/08-install-java.ps1 [deleted file]
coin/provisioning/qtci-windows-10-x86_64/08-install-jdk.ps1 [new file with mode: 0644]
coin/provisioning/qtci-windows-10-x86_64/08-python3.ps1 [moved from coin/provisioning/qtci-windows-10-x86_64/python3.ps1 with 100% similarity]
coin/provisioning/qtci-windows-10-x86_64/09-install-mingw530.ps1
coin/provisioning/qtci-windows-10-x86_64/09-install-mingw630.ps1
coin/provisioning/qtci-windows-10-x86_64/09-openssl.ps1 [moved from coin/provisioning/qtci-windows-10-x86_64/009-openssl.ps1 with 100% similarity]
coin/provisioning/qtci-windows-10-x86_64/10-icu.ps1 [moved from coin/provisioning/qtci-windows-10-x86_64/icu.ps1 with 100% similarity]
coin/provisioning/qtci-windows-10-x86_64/10-msvc_2015_update3_patch.ps1 [moved from coin/provisioning/qtci-windows-10-x86_64/msvc_2015_update3_patch.ps1 with 100% similarity]
coin/provisioning/qtci-windows-10-x86_64/30-qnx660.ps1 [moved from coin/provisioning/qtci-windows-10-x86_64/030-qnx660.ps1 with 100% similarity]
coin/provisioning/qtci-windows-10-x86_64/50-patch_qnx.ps1 [new file with mode: 0644]
coin/provisioning/qtci-windows-10-x86_64/60-jom.ps1 [moved from coin/provisioning/qtci-windows-10-x86_64/jom.ps1 with 100% similarity]
coin/provisioning/qtci-windows-10-x86_64/70-cmake.ps1 [moved from coin/provisioning/qtci-windows-10-x86_64/cmake.ps1 with 100% similarity]
coin/provisioning/qtci-windows-10-x86_64/90-install-notepad++.ps1 [moved from coin/provisioning/qtci-windows-10-x86_64/02-install-notepad++.ps1 with 100% similarity]
coin/provisioning/qtci-windows-10-x86_64/90-mysql.ps1 [moved from coin/provisioning/qtci-windows-10-x86_64/mysql.ps1 with 100% similarity]
coin/provisioning/qtci-windows-10-x86_64/90-postgresql.ps1 [moved from coin/provisioning/qtci-windows-10-x86_64/postgresql.ps1 with 100% similarity]
coin/provisioning/qtci-windows-10-x86_64/90-signing-tools.ps1 [moved from coin/provisioning/qtci-windows-10-x86_64/opengl32_x86.ps1 with 67% similarity]

index f16fe0b..6e9a9d5 100644 (file)
@@ -6,8 +6,8 @@ qtci-windows-8.1-x86_64                                 x86         MSVC2013
 qtci-windows-8.1-x86_64                                             MSVC2013    Packaging DebugAndRelease Release OpenGLDynamic UploadConfigureExe
 qtci-windows-7-x86-2                                                MSVC2010    Release DeveloperBuild QtNamespace QtLibInfix OpenGLDynamic
 qtci-windows-7-x86-2                                                Mingw49     Packaging DebugAndRelease Release OpenGLDynamic UploadConfigureExe
-qtci-windows-10-x86_64-                               x86         MSVC2015    Packaging DebugAndRelease Release OpenGLDynamic UploadConfigureExe
-qtci-windows-10-x86_64-                                           MSVC2015    Packaging DebugAndRelease Release OpenGLDynamic UploadConfigureExe
+qtci-windows-10-x86_64-10                               x86         MSVC2015    Packaging DebugAndRelease Release OpenGLDynamic UploadConfigureExe
+qtci-windows-10-x86_64-10                                           MSVC2015    Packaging DebugAndRelease Release OpenGLDynamic UploadConfigureExe
 qtci-linux-Ubuntu-14.04-x86_64-1                                    GCC         NoWidgets ForceDebugInfo
 qtci-linux-Ubuntu-14.04-x86_64-1                                    GCC         DeveloperBuild OutOfSourceBuild QtLibInfix QtNamespace Documentation
 qtci-windows-8.1-x86_64             Windows_Phone_8_1   armv4       MSVC2013    Packaging DebugAndRelease Release DisableTests UploadConfigureExe
index 2633ec9..62582b8 100644 (file)
@@ -1,15 +1,15 @@
 Template                    Target OS           Target arch Compiler    Features
 --------------------------- ------------------- ----------- ----------- -----------------------------------------------------------------------------------------------
 qtci-windows-8.1-x86_64     Windows_Phone_8_1   x86         MSVC2013    Packaging DebugAndRelease Release DisableTests UploadConfigureExe
-qtci-windows-10-x86_64-   WinRT_10            x86         MSVC2015    Packaging DebugAndRelease Release DisableTests UploadConfigureExe
-qtci-windows-10-x86_64-   WinRT_10                        MSVC2015    Packaging DebugAndRelease Release DisableTests UploadConfigureExe
+qtci-windows-10-x86_64-10   WinRT_10            x86         MSVC2015    Packaging DebugAndRelease Release DisableTests UploadConfigureExe
+qtci-windows-10-x86_64-10   WinRT_10                        MSVC2015    Packaging DebugAndRelease Release DisableTests UploadConfigureExe
 qtci-linux-RHEL-6.6-x86_64  Android_ANY         x86         GCC         Packaging Release DisableTests OpenGLES2 NoUseGoldLinker
 qtci-windows-7-x86-2        Android_ANY         armv7       Mingw49     Packaging Release DisableTests OpenGLES2 UploadConfigureExe
 qtci-windows-7-x86-2        Android_ANY         x86         Mingw49     Packaging Release DisableTests OpenGLES2 UploadConfigureExe
 qtci-osx-10.11-x86_64-3     Android_ANY         armv7       GCC         Packaging Release DisableTests OpenGLES2
 qtci-osx-10.11-x86_64-3     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-10-x86_64-   QNX_660             armv7       Mingw53     Packaging Release DisableTests OpenGLES2
-qtci-windows-10-x86_64-   QNX_660             x86         Mingw53     Packaging Release DisableTests OpenGLES2
+qtci-windows-10-x86_64-10   QNX_660             armv7       Mingw53     Packaging Release DisableTests OpenGLES2
+qtci-windows-10-x86_64-10   QNX_660             x86         Mingw53     Packaging Release DisableTests OpenGLES2
 # target arch is used here only for documentation the value is ignored
-qtci-windows-10-x86_64-   WinRT_10            armv7       MSVC2015    Packaging DebugAndRelease Release DisableTests UploadConfigureExe
+qtci-windows-10-x86_64-10   WinRT_10            armv7       MSVC2015    Packaging DebugAndRelease Release DisableTests UploadConfigureExe
diff --git a/coin/provisioning/common/windows/install-jdk.ps1 b/coin/provisioning/common/windows/install-jdk.ps1
new file mode 100644 (file)
index 0000000..f6cf6a6
--- /dev/null
@@ -0,0 +1,78 @@
+############################################################################
+##
+## 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$
+##
+#############################################################################
+
+. "$PSScriptRoot\helpers.ps1"
+
+# This script will install Java SE
+
+$installdir = "C:\Program Files\Java\jdk1.8.0_144"
+
+$version = "8u144"
+if( (is64bitWinHost) -eq 1 ) {
+    $arch = "x64"
+    $sha1 = "adb03bc3f4b40bcb3227687860798981d58e1858"
+}
+else {
+    $arch = "i586"
+    $sha1 = "3b9ab95914514eaefd72b815c5d9dd84c8e216fc"
+}
+
+$url_cache = "\\ci-files01-hki.intra.qt.io\provisioning\windows\jdk-" + $version + "-windows-" + $arch + ".exe"
+$official_url = "http://download.oracle.com/otn-pub/java/jdk/8u144-b01/090f390dda5b47b9b721c7dfaa008135/jdk-" + $version + "-windows-" + $arch + ".exe"
+$javaPackage = "C:\Windows\Temp\jdk-$version.exe"
+
+echo "Fetching Java SE $version..."
+$ProgressPreference = 'SilentlyContinue'
+try {
+    echo "...from local cache"
+    Invoke-WebRequest -UseBasicParsing $url_cache -OutFile $javaPackage
+} catch {
+    echo "...from oracle.com"
+    $client = new-object System.Net.WebClient
+    $cookie = "oraclelicense=accept-securebackup-cookie"
+    $client.Headers.Add("Cookie", $cookie)
+    $client.DownloadFile($official_url, $javaPackage)
+
+    Invoke-WebRequest -UseBasicParsing $official_url -OutFile $javaPackage
+}
+
+Verify-Checksum $javaPackage $sha1
+
+cmd /c "$javaPackage /s SPONSORS=0"
+echo "Cleaning $javaPackage.."
+Remove-Item -Recurse -Force "$javaPackage"
+
+[Environment]::SetEnvironmentVariable("JAVA_HOME", "$installdir", [EnvironmentVariableTarget]::Machine)
+Add-Path "$installdir\bin"
+
+echo "Java SE = $version $arch" >> ~\versions.txt
index fc02631..9609336 100644 (file)
@@ -1,17 +1,59 @@
+############################################################################
+##
+## 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$
+##
+############################################################################
+
+. "$PSScriptRoot\helpers.ps1"
+
 function InstallMinGW
 {
     Param (
-        [string] $version     = $(BadParam("the version being printed to versions.txt")),
-        [string] $release     = $(BadParam("release part of the file name"))
+        [string] $release = $(BadParam("release file name")),
+        [string] $sha1    = $(BadParam("SHA1 checksum of the file"))
     )
 
+    $arch, $version, $null, $threading, $ex_handling, $build_ver, $revision = $release.split('-')
+
+    if ($arch -eq "i686") { $win_arch = "Win32" }
+    elseif ($arch -eq "x86_64") { $win_arch = "Win64" }
+
     $envvar = "MINGW$version"
     $envvar = $envvar -replace '["."]'
     $targetdir = "C:\$envvar"
-    $url_cache = "\\ci-files01-hki.intra.qt.io\provisioning\windows\i686-" + $version + "-" + $release + ".7z"
+    $url_cache = "\\ci-files01-hki.intra.qt.io\provisioning\windows\" + $release + ".7z"
+    $url_official = "https://netcologne.dl.sourceforge.net/project/mingw-w64/Toolchains%20targetting%20" + $win_arch + "/Personal%20Builds/mingw-builds/" + $version + "/threads-" + $threading + "/" + $ex_handling + "/" + $arch + "-" + $version + "-release-" + $threading + "-" + $ex_handling + "-" + $build_ver + "-" + $revision + ".7z"
 
     $mingwPackage = "C:\Windows\Temp\MinGW-$version.zip"
-    Copy-Item $url_cache $mingwPackage
+    Download $url_official $url_cache $mingwPackage
+    Verify-Checksum $mingwPackage $sha1
 
     Get-ChildItem $mingwPackage | % {& "C:\Utils\sevenzip\7z.exe" "x" $_.fullname "-o$TARGETDIR"}
 
diff --git a/coin/provisioning/common/windows/patch_qnx.ps1 b/coin/provisioning/common/windows/patch_qnx.ps1
new file mode 100644 (file)
index 0000000..632859a
--- /dev/null
@@ -0,0 +1,51 @@
+#############################################################################
+##
+## 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$
+##
+#############################################################################
+
+# Patch QNX SDK due to issues in the standard library.
+# The patches are available here:
+# http://www.qnx.com/download/feature.html?programid=27555
+# A copy of the patch must be in the root of the Coin path in
+# provisioning/qnx/patch-660-4367-RS6069_cpp-headers.zip
+
+
+. "$PSScriptRoot\helpers.ps1"
+
+$zip = "c:\users\qt\downloads\patch-660-4367-RS6069_cpp-headers.zip"
+$sha1 = "57A11FFE4434AD567B3C36F7B828DBB468A9E565"
+$tempDir = "C:\temp\qnx_path"
+
+Invoke-WebRequest -UseBasicParsing http://ci-files01-hki.intra.qt.io/input/qnx/patch-660-4367-RS6069_cpp-headers.zip -OutFile $zip
+Verify-Checksum $zip $sha1
+Extract-Zip $zip $tempDir
+Copy-Item $tempDir\patches\660-4367\target\* C:\qnx660\target\ -recurse -force
+Remove-Item $tempDir -recurse
diff --git a/coin/provisioning/qtci-windows-10-x86_64/01-windows_removethemall.ps1 b/coin/provisioning/qtci-windows-10-x86_64/01-windows_removethemall.ps1
deleted file mode 100644 (file)
index 934a735..0000000
+++ /dev/null
@@ -1 +0,0 @@
-. "$PSScriptRoot\..\common\windows\windows_removethemall.ps1"
diff --git a/coin/provisioning/qtci-windows-10-x86_64/08-install-java.ps1 b/coin/provisioning/qtci-windows-10-x86_64/08-install-java.ps1
deleted file mode 100644 (file)
index d4e3941..0000000
+++ /dev/null
@@ -1 +0,0 @@
-. "$PSScriptRoot\..\common\windows\install-java.ps1"
diff --git a/coin/provisioning/qtci-windows-10-x86_64/08-install-jdk.ps1 b/coin/provisioning/qtci-windows-10-x86_64/08-install-jdk.ps1
new file mode 100644 (file)
index 0000000..15065b5
--- /dev/null
@@ -0,0 +1 @@
+. "$PSScriptRoot\..\common\windows\install-jdk.ps1"
index 896db75..684816f 100644 (file)
@@ -2,9 +2,9 @@
 
 # This script will install MinGW 5.3.0
 
-$version = "5.3.0"
-$release = "release-posix-dwarf-rt_v4-rev0"
+$release = "i686-5.3.0-release-posix-dwarf-rt_v4-rev0"
+$sha1 = "D4F21D25F3454F8EFDADA50E5AD799A0A9E07C6A"
 
-InstallMinGW $version $release
+InstallMinGW $release $sha1
 
 
index 192a3ba..27612c4 100644 (file)
@@ -2,7 +2,7 @@
 
 # This script will install MinGW 6.3.0
 
-$version = "6.3.0"
-$release = "release-posix-dwarf-rt_v5-rev2"
+$release = "i686-6.3.0-release-posix-dwarf-rt_v5-rev2"
+$sha1    = "AABEFF22DC3800FCFDB29144BFB08B0B728C476B"
 
-InstallMinGW $version $release
+InstallMinGW $release $sha1
diff --git a/coin/provisioning/qtci-windows-10-x86_64/50-patch_qnx.ps1 b/coin/provisioning/qtci-windows-10-x86_64/50-patch_qnx.ps1
new file mode 100644 (file)
index 0000000..de486c9
--- /dev/null
@@ -0,0 +1 @@
+. "$PSScriptRoot\..\common\windows\patch_qnx.ps1"
@@ -1,9 +1,10 @@
 #############################################################################
 ##
 ## Copyright (C) 2017 The Qt Company Ltd.
+## Copyright (C) 2017 Pelagicore AG
 ## 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
 
 . "$PSScriptRoot\..\common\windows\helpers.ps1"
 
-$version = "11_2_2"
-$openglPackage = "C:\Windows\SysWOW64\opengl32.dll"
+# Signing tools are needed to sign offline installers when releasing
 
-$openglUrl = "\\ci-files01-hki.intra.qt.io\provisioning\mesa3d\windows\32bit\opengl32.dll"
-$openglSha1 = "690730f973aa39bd80648e026248394fde07a753"
+$url = "http://ci-files01-hki.intra.qt.io/input/semisecure/sign/sign.zip"
+$destination = "C:\Windows\temp\sign.zip"
 
-echo "Take ownership of existing opengl32.dll from SysWOW64"
-takeown /f $openglPackage
-icacls $openglPackage /grant Administrators:F
-echo "Remove existing opengl32.dll from SysWOW64"
-Remove-Item -Recurse -Force $openglPackage
-echo "Add new opengl32.dll to SysWOW64"
-Invoke-WebRequest -UseBasicParsing $openglUrl -OutFile $openglPackage
-Verify-Checksum $openglPackage $openglSha1
-
-# Store version information to ~/versions.txt
-echo "OpenGL x86 = $version" >> ~/versions.txt
+Download $url $url $destination
+Extract-Zip "$destination" "C:\Utils"
+Remove-Item "$destination"