Merge "Merge remote-tracking branch 'origin/5.7' into dev" into refs/staging/dev

This commit is contained in:
Frederik Gladhorn
2016-06-28 15:58:17 +00:00
committed by The Qt Project
31 changed files with 470 additions and 95 deletions

89
.gitmodules vendored
View File

@@ -2,72 +2,72 @@
path = qtbase path = qtbase
url = ../qtbase.git url = ../qtbase.git
branch = dev branch = dev
initrepo = true status = essential
[submodule "qtsvg"] [submodule "qtsvg"]
depends = qtbase depends = qtbase
path = qtsvg path = qtsvg
url = ../qtsvg.git url = ../qtsvg.git
branch = dev branch = dev
initrepo = true status = addon
[submodule "qtdeclarative"] [submodule "qtdeclarative"]
depends = qtbase depends = qtbase
recommends = qtsvg qtxmlpatterns recommends = qtsvg qtxmlpatterns
path = qtdeclarative path = qtdeclarative
url = ../qtdeclarative.git url = ../qtdeclarative.git
branch = dev branch = dev
initrepo = true status = essential
[submodule "qtactiveqt"] [submodule "qtactiveqt"]
depends = qtbase depends = qtbase
path = qtactiveqt path = qtactiveqt
url = ../qtactiveqt.git url = ../qtactiveqt.git
branch = dev branch = dev
initrepo = true status = addon
[submodule "qtscript"] [submodule "qtscript"]
depends = qtbase depends = qtbase
recommends = qttools recommends = qttools
path = qtscript path = qtscript
url = ../qtscript.git url = ../qtscript.git
branch = dev branch = dev
initrepo = true status = deprecated
[submodule "qtmultimedia"] [submodule "qtmultimedia"]
depends = qtbase depends = qtbase
recommends = qtdeclarative recommends = qtdeclarative
path = qtmultimedia path = qtmultimedia
url = ../qtmultimedia.git url = ../qtmultimedia.git
branch = dev branch = dev
initrepo = true status = essential
[submodule "qttools"] [submodule "qttools"]
depends = qtbase depends = qtbase
recommends = qtdeclarative qtactiveqt qtwebkit recommends = qtdeclarative qtactiveqt qtwebkit
path = qttools path = qttools
url = ../qttools.git url = ../qttools.git
branch = dev branch = dev
initrepo = true status = essential
[submodule "qtxmlpatterns"] [submodule "qtxmlpatterns"]
depends = qtbase depends = qtbase
path = qtxmlpatterns path = qtxmlpatterns
url = ../qtxmlpatterns.git url = ../qtxmlpatterns.git
branch = dev branch = dev
initrepo = true status = addon
[submodule "qttranslations"] [submodule "qttranslations"]
depends = qttools depends = qttools
path = qttranslations path = qttranslations
url = ../qttranslations.git url = ../qttranslations.git
branch = dev branch = dev
initrepo = true status = essential
priority = 30 priority = 30
[submodule "qtdoc"] [submodule "qtdoc"]
depends = qtdeclarative depends = qtdeclarative
path = qtdoc path = qtdoc
url = ../qtdoc.git url = ../qtdoc.git
branch = dev branch = dev
initrepo = true status = essential
priority = 40 priority = 40
[submodule "qtrepotools"] [submodule "qtrepotools"]
path = qtrepotools path = qtrepotools
url = ../qtrepotools.git url = ../qtrepotools.git
branch = master branch = master
initrepo = true status = essential
qt = false qt = false
[submodule "qtwebkit"] [submodule "qtwebkit"]
depends = qtbase depends = qtbase
@@ -75,6 +75,7 @@
path = qtwebkit path = qtwebkit
url = ../qtwebkit.git url = ../qtwebkit.git
branch = dev branch = dev
status = obsolete
project = WebKit.pro project = WebKit.pro
priority = 20 priority = 20
[submodule "qtwebkit-examples"] [submodule "qtwebkit-examples"]
@@ -82,12 +83,13 @@
path = qtwebkit-examples path = qtwebkit-examples
url = ../qtwebkit-examples.git url = ../qtwebkit-examples.git
branch = dev branch = dev
status = obsolete
[submodule "qtqa"] [submodule "qtqa"]
depends = qtbase depends = qtbase
path = qtqa path = qtqa
url = ../qtqa.git url = ../qtqa.git
branch = master branch = master
initrepo = true status = essential
priority = 50 priority = 50
[submodule "qtlocation"] [submodule "qtlocation"]
depends = qtbase depends = qtbase
@@ -95,207 +97,216 @@
path = qtlocation path = qtlocation
url = ../qtlocation.git url = ../qtlocation.git
branch = dev branch = dev
initrepo = true status = addon
[submodule "qtsensors"] [submodule "qtsensors"]
depends = qtbase depends = qtbase
recommends = qtdeclarative recommends = qtdeclarative
path = qtsensors path = qtsensors
url = ../qtsensors.git url = ../qtsensors.git
branch = dev branch = dev
initrepo = true status = addon
[submodule "qtsystems"] [submodule "qtsystems"]
depends = qtbase depends = qtbase
recommends = qtdeclarative recommends = qtdeclarative
path = qtsystems path = qtsystems
url = ../qtsystems.git url = ../qtsystems.git
branch = dev branch = dev
status = ignore
[submodule "qtfeedback"] [submodule "qtfeedback"]
depends = qtdeclarative depends = qtdeclarative
recommends = qtmultimedia recommends = qtmultimedia
path = qtfeedback path = qtfeedback
url = ../qtfeedback.git url = ../qtfeedback.git
branch = master branch = master
status = ignore
[submodule "qtdocgallery"] [submodule "qtdocgallery"]
depends = qtdeclarative depends = qtdeclarative
path = qtdocgallery path = qtdocgallery
url = ../qtdocgallery.git url = ../qtdocgallery.git
branch = master branch = master
status = ignore
[submodule "qtpim"] [submodule "qtpim"]
depends = qtdeclarative depends = qtdeclarative
path = qtpim path = qtpim
url = ../qtpim.git url = ../qtpim.git
branch = dev branch = dev
status = ignore
[submodule "qtconnectivity"] [submodule "qtconnectivity"]
depends = qtbase depends = qtbase
recommends = qtdeclarative qtandroidextras recommends = qtdeclarative qtandroidextras
path = qtconnectivity path = qtconnectivity
url = ../qtconnectivity.git url = ../qtconnectivity.git
branch = dev branch = dev
initrepo = true status = addon
[submodule "qtwayland"] [submodule "qtwayland"]
depends = qtbase depends = qtbase
recommends = qtdeclarative recommends = qtdeclarative
path = qtwayland path = qtwayland
url = ../qtwayland.git url = ../qtwayland.git
branch = dev branch = dev
initrepo = true status = addon
[submodule "qt3d"] [submodule "qt3d"]
depends = qtdeclarative qtimageformats depends = qtdeclarative qtimageformats
recommends = qtgamepad
path = qt3d path = qt3d
url = ../qt3d.git url = ../qt3d.git
branch = dev branch = dev
initrepo = true status = addon
[submodule "qtimageformats"] [submodule "qtimageformats"]
depends = qtbase depends = qtbase
path = qtimageformats path = qtimageformats
url = ../qtimageformats.git url = ../qtimageformats.git
branch = dev branch = dev
initrepo = true status = addon
[submodule "qtquick1"] [submodule "qtquick1"]
depends = qtscript depends = qtscript
recommends = qtsvg qtxmlpatterns recommends = qtsvg qtxmlpatterns
path = qtquick1 path = qtquick1
url = ../qtquick1.git url = ../qtquick1.git
branch = dev branch = dev
status = ignore
[submodule "qtgraphicaleffects"] [submodule "qtgraphicaleffects"]
depends = qtdeclarative depends = qtdeclarative
path = qtgraphicaleffects path = qtgraphicaleffects
url = ../qtgraphicaleffects.git url = ../qtgraphicaleffects.git
branch = dev branch = dev
initrepo = true status = addon
[submodule "qtquickcontrols"] [submodule "qtquickcontrols"]
depends = qtdeclarative depends = qtdeclarative
recommends = qtgraphicaleffects recommends = qtgraphicaleffects
path = qtquickcontrols path = qtquickcontrols
url = ../qtquickcontrols.git url = ../qtquickcontrols.git
branch = dev branch = dev
initrepo = true status = essential
[submodule "qtserialbus"] [submodule "qtserialbus"]
depends = qtserialport depends = qtserialport
path = qtserialbus path = qtserialbus
url = ../qtserialbus.git url = ../qtserialbus.git
branch = dev branch = dev
status = preview
[submodule "qtserialport"] [submodule "qtserialport"]
depends = qtbase depends = qtbase
path = qtserialport path = qtserialport
url = ../qtserialport.git url = ../qtserialport.git
branch = dev branch = dev
initrepo = true status = addon
[submodule "qtx11extras"] [submodule "qtx11extras"]
depends = qtbase depends = qtbase
path = qtx11extras path = qtx11extras
url = ../qtx11extras.git url = ../qtx11extras.git
branch = dev branch = dev
initrepo = true status = addon
[submodule "qtmacextras"] [submodule "qtmacextras"]
depends = qtbase depends = qtbase
path = qtmacextras path = qtmacextras
url = ../qtmacextras.git url = ../qtmacextras.git
branch = dev branch = dev
initrepo = true status = addon
[submodule "qtwinextras"] [submodule "qtwinextras"]
depends = qtbase depends = qtbase
recommends = qtdeclarative qtmultimedia recommends = qtdeclarative qtmultimedia
path = qtwinextras path = qtwinextras
url = ../qtwinextras.git url = ../qtwinextras.git
branch = dev branch = dev
initrepo = true status = addon
[submodule "qtandroidextras"] [submodule "qtandroidextras"]
depends = qtbase depends = qtbase
path = qtandroidextras path = qtandroidextras
url = ../qtandroidextras.git url = ../qtandroidextras.git
branch = dev branch = dev
initrepo = true status = addon
[submodule "qtenginio"] [submodule "qtenginio"]
depends = qtdeclarative depends = qtdeclarative
path = qtenginio path = qtenginio
url = ../qtenginio.git url = ../qtenginio.git
branch = dev branch = dev
initrepo = true status = ignore
[submodule "qtwebsockets"] [submodule "qtwebsockets"]
depends = qtbase depends = qtbase
recommends = qtdeclarative recommends = qtdeclarative
path = qtwebsockets path = qtwebsockets
url = ../qtwebsockets.git url = ../qtwebsockets.git
branch = dev branch = dev
initrepo = true status = addon
[submodule "qtwebchannel"] [submodule "qtwebchannel"]
depends = qtbase depends = qtbase
recommends = qtdeclarative qtwebsockets recommends = qtdeclarative qtwebsockets
path = qtwebchannel path = qtwebchannel
url = ../qtwebchannel.git url = ../qtwebchannel.git
branch = dev branch = dev
initrepo = true status = addon
[submodule "qtwebengine"] [submodule "qtwebengine"]
depends = qtquickcontrols qtwebchannel depends = qtquickcontrols qtwebchannel
recommends = qtlocation recommends = qtlocation
path = qtwebengine path = qtwebengine
url = ../qtwebengine.git url = ../qtwebengine.git
branch = dev branch = dev
initrepo = true status = addon
priority = 10 priority = 10
[submodule "qtcanvas3d"] [submodule "qtcanvas3d"]
depends = qtdeclarative depends = qtdeclarative
path = qtcanvas3d path = qtcanvas3d
url = ../qtcanvas3d.git url = ../qtcanvas3d.git
branch = dev branch = dev
initrepo = true status = addon
[submodule "qtwebview"] [submodule "qtwebview"]
depends = qtdeclarative depends = qtdeclarative
recommends = qtwebengine recommends = qtwebengine
path = qtwebview path = qtwebview
url = ../qtwebview.git url = ../qtwebview.git
branch = dev branch = dev
initrepo = true status = addon
[submodule "qtquickcontrols2"] [submodule "qtquickcontrols2"]
depends = qtquickcontrols depends = qtgraphicaleffects
path = qtquickcontrols2 path = qtquickcontrols2
url = ../qtquickcontrols2.git url = ../qtquickcontrols2.git
branch = dev branch = dev
initrepo = true status = addon
[submodule "qtpurchasing"] [submodule "qtpurchasing"]
depends = qtbase depends = qtbase
recommends = qtdeclarative recommends = qtdeclarative
path = qtpurchasing path = qtpurchasing
url = ../qtpurchasing.git url = ../qtpurchasing.git
branch = dev branch = dev
initrepo = true status = addon
[submodule "qtcharts"] [submodule "qtcharts"]
depends = qtbase depends = qtbase
recommends = qtdeclarative qtmultimedia recommends = qtdeclarative qtmultimedia
path = qtcharts path = qtcharts
url = ../qtcharts.git url = ../qtcharts.git
branch = dev branch = dev
initrepo = true status = addon
[submodule "qtdatavis3d"] [submodule "qtdatavis3d"]
depends = qtbase depends = qtbase
recommends = qtdeclarative qtmultimedia recommends = qtdeclarative qtmultimedia
path = qtdatavis3d path = qtdatavis3d
url = ../qtdatavis3d.git url = ../qtdatavis3d.git
branch = dev branch = dev
initrepo = true status = addon
[submodule "qtvirtualkeyboard"] [submodule "qtvirtualkeyboard"]
depends = qtbase qtdeclarative qtsvg depends = qtbase qtdeclarative qtsvg
recommends = qtmultimedia qtquickcontrols recommends = qtmultimedia qtquickcontrols
path = qtvirtualkeyboard path = qtvirtualkeyboard
url = ../qtvirtualkeyboard.git url = ../qtvirtualkeyboard.git
branch = dev branch = dev
initrepo = true status = addon
[submodule "qtgamepad"] [submodule "qtgamepad"]
depends = qtbase depends = qtbase
recommends = qtdeclarative recommends = qtdeclarative
path = qtgamepad path = qtgamepad
url = ../qtgamepad url = ../qtgamepad
branch = dev branch = dev
initrepo = true status = preview
[submodule "qtscxml"] [submodule "qtscxml"]
depends = qtbase qtdeclarative depends = qtbase qtdeclarative
path = qtscxml path = qtscxml
url = ../qtscxml url = ../qtscxml
branch = dev branch = dev
initrepo = true status = preview
[submodule "qtspeech"] [submodule "qtspeech"]
depends = qtbase depends = qtbase
recommends = qtdeclarative qtmultimedia
path = qtspeech path = qtspeech
url = ../qtspeech url = ../qtspeech
branch = dev branch = dev
status = ignore

View File

@@ -3,7 +3,7 @@
The Qt Toolkit is Copyright (C) 2015 The Qt Company Ltd. The Qt Toolkit is Copyright (C) 2015 The Qt Company Ltd.
Contact: http://www.qt.io/licensing/ Contact: http://www.qt.io/licensing/
You may use, distribute and copy the Qt GUI Toolkit under the terms of You may use, distribute and copy the Qt Toolkit under the terms of
GNU General Public License version 2, which is displayed below. GNU General Public License version 2, which is displayed below.
------------------------------------------------------------------------- -------------------------------------------------------------------------

View File

@@ -3,7 +3,7 @@
The Qt Toolkit is Copyright (C) 2015 The Qt Company Ltd. The Qt Toolkit is Copyright (C) 2015 The Qt Company Ltd.
Contact: http://www.qt.io/licensing/ Contact: http://www.qt.io/licensing/
You may use, distribute and copy the Qt GUI Toolkit under the terms of You may use, distribute and copy the Qt Toolkit under the terms of
GNU Lesser General Public License version 3. That license references GNU Lesser General Public License version 3. That license references
the General Public License version 3, that is displayed below. Other the General Public License version 3, that is displayed below. Other
portions of the Qt Toolkit may be licensed directly under this license. portions of the Qt Toolkit may be licensed directly under this license.

View File

@@ -3,7 +3,7 @@
The Qt Toolkit is Copyright (C) 2015 The Qt Company Ltd. The Qt Toolkit is Copyright (C) 2015 The Qt Company Ltd.
Contact: http://www.qt.io/licensing/ Contact: http://www.qt.io/licensing/
You may use, distribute and copy the Qt GUI Toolkit under the terms of You may use, distribute and copy the Qt Toolkit under the terms of
GNU Lesser General Public License version 2.1, which is displayed below. GNU Lesser General Public License version 2.1, which is displayed below.
------------------------------------------------------------------------- -------------------------------------------------------------------------

View File

@@ -3,7 +3,7 @@
The Qt Toolkit is Copyright (C) 2015 The Qt Company Ltd. The Qt Toolkit is Copyright (C) 2015 The Qt Company Ltd.
Contact: http://www.qt.io/licensing/ Contact: http://www.qt.io/licensing/
You may use, distribute and copy the Qt GUI Toolkit under the terms of You may use, distribute and copy the Qt Toolkit under the terms of
GNU Lesser General Public License version 3, which is displayed below. GNU Lesser General Public License version 3, which is displayed below.
This license makes reference to the version 3 of the GNU General This license makes reference to the version 3 of the GNU General
Public License, which you can find in the LICENSE.GPLv3 file. Public License, which you can find in the LICENSE.GPLv3 file.

29
README
View File

@@ -16,29 +16,6 @@ HOW TO BUILD QT5
please see section "Setting up your machine" on: please see section "Setting up your machine" on:
http://wiki.qt.io/Get_The_Source http://wiki.qt.io/Get_The_Source
Optional requirements
---------------------
- OpenSSL for SSL sockets or HTTPS
- Wayland
New dependencies in Qt 5
------------------------
Linux: On systems running X11, the XCB libraries are required for
the platform plugin to build. qtbase/src/plugins/platforms/xcb/README
lists the required packages.
Qt 5 can make use of the ICU libraries providing Unicode and Globalization
support (see http://site.icu-project.org/). They are required for building
QtWebKit.
On Linux, they will be auto-detected.
On Windows, they need to be manually installed and the "include" and "lib"
folders of the ICU installation must be appended to the INCLUDE and LIB
environment variables after calling the Windows SDK setup script.
The "bin" folder of the ICU installation should be appended to the PATH
environment variable in order to for the DLLs to be found at run-time.
Licensing: Licensing:
---------- ----------
@@ -110,11 +87,11 @@ HOW TO BUILD QT5
default in the build system. default in the build system.
It is possible to build selected modules with their dependencies by doing It is possible to build selected modules with their dependencies by doing
a `make module-<foo>'. For example, to build only qtscript and qtwebkit, a `make module-<foo>'. For example, to build only qtdeclarative,
and the modules they depend on: and the modules it depends on:
./configure -prefix $PWD/qtbase <license> ./configure -prefix $PWD/qtbase <license>
make -j4 module-qtscript module-qtwebkit make -j4 module-qtdeclarative
This can save a lot of time if you are only interested in a subset of Qt5. This can save a lot of time if you are only interested in a subset of Qt5.

11
coin/README Normal file
View File

@@ -0,0 +1,11 @@
Continuous Integration
======================
This directory contains files used by Qt's Continuous Integration system (Coin).
provisioning
------------
Contains scripts that apply to different test machines in order to run automatic tests on them.
For Windows scripts, make sure that the machine has "Set-ExecutionPolicy RemoteSigned -Force" set.
(Run as admin in PowerShell)

View File

@@ -0,0 +1,31 @@
function Verify-Checksum
{
Param (
[string]$File=$(throw("You must specify a filename to get the checksum of.")),
[string]$Expected=$(throw("Checksum required")),
[ValidateSet("sha1","md5")][string]$Algorithm="sha1"
)
$fs = new-object System.IO.FileStream $File, "Open"
$algo = [type]"System.Security.Cryptography.$Algorithm"
$crypto = $algo::Create()
$hash = [BitConverter]::ToString($crypto.ComputeHash($fs)).Replace("-", "")
$fs.Close()
if ($hash -ne $Expected) {
Write-Error "Checksum verification failed, got: '$hash' expected: '$Expected'"
}
}
function Extract-Zip
{
Param (
[string]$Source,
[string]$Destination
)
echo "Extracting '$Source' to '$Destination'..."
New-Item -ItemType Directory -Force -Path $Destination
$shell = new-object -com shell.application
$zipfile = $shell.Namespace($Source)
$destinationFolder = $shell.Namespace($Destination)
$destinationFolder.CopyHere($zipfile.Items(), 16)
}

View File

@@ -0,0 +1,9 @@
# ICU is already pre-installed on Windows machines, it would be nice to have
# the installation script, but for now let's just export the right variables
# FIXME: do we really want to have it per MSVC version? What about MSVC2015?
[Environment]::SetEnvironmentVariable("CI_ICU_PATH_MSVC2012", "C:\\Utils\\icu_53_1_msvc_2012_64_devel\\icu53_1", "Machine")
[Environment]::SetEnvironmentVariable("CI_ICU_PATH_MSVC2013", "C:\\Utils\\icu_53_1_msvc_2013_64_devel\\icu53_1", "Machine")
# FIXME: do we really want to use the 4.8.2 ICU build?
[Environment]::SetEnvironmentVariable("CI_ICU_PATH_Mingw49", "C:\Utils\icu_53_1_Mingw_builds_4_8_2_posix_seh_64_devel\icu53_1", "Machine")

View File

@@ -0,0 +1,9 @@
. "$PSScriptRoot\helpers.ps1"
$zip = "c:\users\qt\downloads\jom_1_1_0.zip"
Invoke-WebRequest -UseBasicParsing http://download.qt.io/official_releases/jom/jom_1_1_0.zip -OutFile $zip
Verify-Checksum $zip "C4149FE706B25738B4C4E54C73E180B9CAB55832"
Extract-Zip $zip C:\Utils\Jom
[Environment]::SetEnvironmentVariable("CI_JOM_PATH", "C:\Utils\Jom", "Machine")

View File

@@ -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://${Env:COIN_WEBSERVER_ADDRESS}/coin/provisioning/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

View File

@@ -0,0 +1,70 @@
#!/bin/env bash
#############################################################################
##
## 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$
##
#############################################################################
# This script installs the right ICU version
set -e
icuVersion="56.1"
icuLocation="/usr/lib64"
sha1="f2eab775c04ce5f3bdae6c47d06b62158b5d6753"
function Install7ZPackageFromURL {
url=$1
expectedSha1=$2
targetDirectory=$3
targetFile=`mktemp` || echo "Failed to create temporary file"
wget --tries=5 --waitretry=5 --output-document=$targetFile $url || echo "Failed to download '$url' multiple times"
echo "$expectedSha1 $targetFile" | sha1sum --check || echo "Failed to check sha1sum"
sudo /usr/local/bin/7z x -yo$targetDirectory $targetFile || echo "Failed to unzip $url archive"
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"
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` || echo "Failed to create temporary directory"
trap "sudo rm -fr $tempDir" EXIT
Install7ZPackageFromURL $develPackageURL $sha1Dev $tempDir
sudo cp -a $tempDir/lib/* /usr/lib64
sudo cp -a $tempDir/* /usr/
sudo /sbin/ldconfig

View File

@@ -0,0 +1,4 @@
# provides: odbc devel packages on RHEL
# version: provided by default Linux distribution repository
# needed for configure -plugin-sql-odbc in qtbase
sudo yum install -y unixODBC-devel

View File

@@ -0,0 +1,64 @@
#!/bin/env bash
#############################################################################
##
## 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
set -e
sha1="57a11ffe4434ad567b3c36f7b828dbb468a9e565"
function InstallZipPackageFromURL {
url=$1
expectedSha1=$2
targetDirectory=$3
targetFile=`mktemp` || echo "Failed to create temporary file"
wget --tries=5 --waitretry=5 --output-document=$targetFile $url || echo "Failed to download '$url' multiple times"
echo "$expectedSha1 $targetFile" | sha1sum --check || echo "Failed to check sha1sum"
tempDir=`mktemp -d` || echo "Failed to create temporary directory"
/usr/bin/unzip -o -d $tempDir $targetFile || echo "Failed to unzip $url archive"
trap "sudo rm -fr $targetFile $tempDir" EXIT
sudo cp -rafv $tempDir/patches/660-4367/target/* /opt/qnx660/target/
}
echo "Patching QNX"
baseBinaryPackageURL="http://${COIN_WEBSERVER_ADDRESS}/coin/provisioning/qnx/patch-660-4367-RS6069_cpp-headers.zip"
InstallZipPackageFromURL $baseBinaryPackageURL $sha1 "/opt/qnx660/target/"

View File

@@ -0,0 +1,49 @@
#!/bin/env bash
#############################################################################
##
## 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$
##
#############################################################################
sudo apt-get update
sudo apt-get install -y libboost-dev libboost-thread-dev libboost-system-dev libboost-program-options-dev libboost-filesystem-dev libxml2-dev libboost-regex-dev
TEMPDIR=$(mktemp --directory) || echo "Failed to create temporary directory"
trap "sudo rm -fr $TEMPDIR" EXIT
cd $TEMPDIR
git clone https://github.com/FreeOpcUa/freeopcua.git freeopcua
cd freeopcua
git checkout 57b6993d39b6761af773fa4fa37c3fbd39c764f1
mkdir build
cd build
cmake -DCMAKE_INSTALL_PREFIX:PATH=/usr/local ..
make
sudo make install

View File

@@ -0,0 +1,2 @@
#!/bin/sh
defaults write com.apple.CrashReporter DialogType server

View File

@@ -0,0 +1,2 @@
#!/bin/sh
defaults write com.apple.CrashReporter DialogType server

View File

@@ -0,0 +1,2 @@
#!/bin/sh
defaults write com.apple.CrashReporter DialogType server

View File

@@ -0,0 +1,2 @@
#!/bin/sh
defaults write com.apple.CrashReporter DialogType server

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

@@ -71,9 +71,13 @@ Options:
--module-subset=<module1>,<module2>... --module-subset=<module1>,<module2>...
Only initialize the specified subset of modules given as the Only initialize the specified subset of modules given as the
argument. Specified modules must already exist in .gitmodules. The argument. Specified modules must already exist in .gitmodules. The
string "all" results in cloning all known modules. The default is string "all" results in cloning all known modules. The strings
the set of maintained modules. Module names may be prefixed with a "essential", "addon", "preview", "deprecated", "obsolete", and
dash to exclude them from a bigger set. "ignore" refer to classes of modules; "default" maps to
"essential,addon,preview,deprecated", which corresponds with the
set of maintained modules and is also the default set. Module
names may be prefixed with a dash to exclude them from a bigger
set, e.g. "all,-ignore".
--no-update --no-update
Skip the `git submodule update' command. Skip the `git submodule update' command.
@@ -151,9 +155,13 @@ EOF
} }
use Carp qw( confess ); use Carp qw( confess );
use Cwd qw( getcwd abs_path );
use English qw( -no_match_vars ); use English qw( -no_match_vars );
use File::Spec::Functions qw ( rel2abs );
use Getopt::Long qw( GetOptions ); use Getopt::Long qw( GetOptions );
use Cwd qw( getcwd );
my $script_path = abs_path($0);
$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@/';
@@ -234,6 +242,7 @@ sub parse_arguments
# Replace any double trailing slashes from end of mirror # Replace any double trailing slashes from end of mirror
$self->{'mirror-url'} =~ s{//+$}{/}; $self->{'mirror-url'} =~ s{//+$}{/};
$self->{'module-subset'} =~ s/\bdefault\b/preview,essential,addon,deprecated/;
$self->{'module-subset'} = [ split(/,/, $self->{'module-subset'}) ]; $self->{'module-subset'} = [ split(/,/, $self->{'module-subset'}) ];
return; return;
@@ -272,6 +281,14 @@ sub git_submodule_init
return; return;
} }
use constant {
STS_PREVIEW => 1,
STS_ESSENTIAL => 2,
STS_ADDON => 3,
STS_DEPRECATED => 4,
STS_OBSOLETE => 5
};
sub git_clone_all_submodules sub git_clone_all_submodules
{ {
my ($self, $my_repo_base, $co_branch, @subset) = @_; my ($self, $my_repo_base, $co_branch, @subset) = @_;
@@ -296,21 +313,57 @@ sub git_clone_all_submodules
$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');
} elsif ($2 eq "initrepo") { } elsif ($2 eq "status") {
$subinits{$1} = ($3 eq "yes" or $3 eq "true"); if ($3 eq "preview") {
$subinits{$1} = STS_PREVIEW;
} elsif ($3 eq "essential") {
$subinits{$1} = STS_ESSENTIAL;
} elsif ($3 eq "addon") {
$subinits{$1} = STS_ADDON;
} elsif ($3 eq "deprecated") {
$subinits{$1} = STS_DEPRECATED;
} elsif ($3 eq "obsolete") {
$subinits{$1} = STS_OBSOLETE;
} elsif ($3 eq "ignore") {
delete $subinits{$1};
} else {
die("Invalid subrepo status '$3' for '$1'.\n");
}
} }
} }
my %include = (); my %include = ();
foreach my $mod (@subset) { foreach my $mod (@subset) {
my $del = ($mod =~ s/^-//);
my $fail = 0;
my @what;
if ($mod eq "all") { if ($mod eq "all") {
map { $include{$_} = 1; } keys %subbases; @what = keys %subbases;
} elsif ($mod eq "default") { } elsif ($mod eq "essential") {
map { $include{$_} = 1; } grep { $subinits{$_} } keys %subbases; @what = grep { ($subinits{$_} || 0) eq STS_ESSENTIAL } keys %subbases;
} elsif ($mod =~ s/^-//) { } elsif ($mod eq "addon") {
delete $include{$mod}; @what = grep { ($subinits{$_} || 0) eq STS_ADDON } keys %subbases;
} elsif ($mod eq "preview") {
@what = grep { ($subinits{$_} || 0) eq STS_PREVIEW } keys %subbases;
} elsif ($mod eq "deprecated") {
@what = grep { ($subinits{$_} || 0) eq STS_DEPRECATED } keys %subbases;
} elsif ($mod eq "obsolete") {
@what = grep { ($subinits{$_} || 0) eq STS_OBSOLETE } keys %subbases;
} elsif ($mod eq "ignore") {
@what = grep { ($subinits{$_} || 0) eq 0 } keys %subbases;
} elsif (defined($subdirs{$mod})) {
push @what, $mod;
} else { } else {
$include{$mod} = 1; $fail = 1;
}
if ($del) {
print "Warning: excluding non-existent module '$mod'.\n"
if ($fail);
map { delete $include{$_} } @what;
} else {
die("Error: module subset names non-existent '$mod'.\n")
if ($fail);
map { $include{$_} = 1; } @what;
} }
} }
@@ -483,11 +536,16 @@ sub ensure_link
return if (!$self->{'force-hooks'} and -f $tgt); return if (!$self->{'force-hooks'} and -f $tgt);
unlink($tgt); # In case we have a dead symlink or pre-existing hook unlink($tgt); # In case we have a dead symlink or pre-existing hook
print "Aliasing $src\n as $tgt ...\n" if (!$self->{quiet}); print "Aliasing $src\n as $tgt ...\n" if (!$self->{quiet});
return if eval { symlink($src, $tgt) }; if ($^O ne "msys" && $^O ne "MSWin32") {
return if eval { symlink($src, $tgt) };
}
# Windows doesn't do (proper) symlinks. As the post_commit script needs # Windows doesn't do (proper) symlinks. As the post_commit script needs
# them to locate itself, we write a forwarding script instead. # them to locate itself, we write a forwarding script instead.
open SCRIPT, ">".$tgt or die "Cannot create forwarding script $tgt: $!\n"; open SCRIPT, ">".$tgt or die "Cannot create forwarding script $tgt: $!\n";
print SCRIPT "#!/bin/sh\nexec `dirname \$0`/$src \"\$\@\"\n"; # Make the path palatable for MSYS.
$src =~ s,\\,/,g;
$src =~ s,^(.):/,/$1/,g;
print SCRIPT "#!/bin/sh\nexec $src \"\$\@\"\n";
close SCRIPT; close SCRIPT;
} }
@@ -495,19 +553,31 @@ sub git_install_hooks
{ {
my ($self) = @_; my ($self) = @_;
return if (!-d 'qtrepotools/git-hooks'); my $hooks = $script_path.'/qtrepotools/git-hooks';
return if (!-d $hooks);
# Force C locale as git submodule returns the localized string "Entering" my @configresult = qx(git config --list --local);
local $ENV{LC_ALL} = 'C'; foreach my $line (@configresult) {
chomp(my @modules = `git submodule foreach :`); next if ($line !~ /submodule\.([^.=]+)\.url=/);
push @modules, ""; my $module = $1;
for my $module (@modules) { my $module_gitdir = $module.'/.git';
$module =~ s,^Entering \'([^\']+)\'$,$1/,; if (!-d $module_gitdir) {
my $rel = $module; open GITD, $module_gitdir or die "Cannot open $module: $!\n";
$rel =~ s,[^/]+,..,g; my $gd = <GITD>;
$rel .= "../../qtrepotools/git-hooks/"; close GITD;
$self->ensure_link($rel.'gerrit_commit_msg_hook', $module.'.git/hooks/commit-msg'); chomp($gd);
$self->ensure_link($rel.'git_post_commit_hook', $module.'.git/hooks/post-commit'); $gd =~ s/^gitdir: // or die "Malformed .git file $module_gitdir\n";
$module_gitdir = rel2abs($gd, $module);
if (open COMD, $module_gitdir.'/commondir') {
my $cd = <COMD>;
chomp($cd);
$module_gitdir .= '/'.$cd;
$module_gitdir = abs_path($module_gitdir);
close COMD;
}
}
$self->ensure_link($hooks.'/gerrit_commit_msg_hook', $module_gitdir.'/hooks/commit-msg');
$self->ensure_link($hooks.'/git_post_commit_hook', $module_gitdir.'/hooks/post-commit');
} }
} }