Compare commits

..

19 Commits
v5.6.2 ... 5.5

Author SHA1 Message Date
Qt Submodule Update Bot
9a70b8f6aa Updated submodules.
Change-Id: I99354fcabe423403aee030714db2076833a6d207
Reviewed-by: Liang Qi <liang.qi@theqtcompany.com>
2016-01-15 20:46:14 +00:00
Qt Submodule Update Bot
99354fcabe Updated submodules.
Change-Id: If3294147a53dc85a4d7531ab504a68e2b06e6d7d
Reviewed-by: Jani Heikkinen <jani.heikkinen@theqtcompany.com>
2015-12-30 05:58:54 +00:00
Qt Submodule Update Bot
f3294147a5 Updated submodules.
Change-Id: I3812f549d47db6651ddd1ef73cbaea557f261a12
Reviewed-by: Jani Heikkinen <jani.heikkinen@theqtcompany.com>
2015-12-18 12:31:36 +00:00
Qt Submodule Update Bot
3812f549d4 Updated submodules.
Change-Id: I831a599d2b76a6a75a82cb4d8819fbfa2218ec76
Reviewed-by: Liang Qi <liang.qi@theqtcompany.com>
2015-11-23 04:53:03 +00:00
Qt Submodule Update Bot
831a599d2b Updated submodules.
Change-Id: Ic3959f2160f68c4b4742ae504d338161cfc570cc
Reviewed-by: Liang Qi <liang.qi@theqtcompany.com>
2015-11-09 05:28:29 +00:00
Qt Submodule Update Bot
c3959f2160 Updated submodules.
Change-Id: I3f9369be2d7a24babf3c4c336394afe1338bce19
Reviewed-by: Liang Qi <liang.qi@theqtcompany.com>
2015-11-05 06:50:02 +00:00
Qt Submodule Update Bot
3f9369be2d Updated submodules.
Change-Id: I675309da41afdcc3dff8b9e402bd4a51631c95d9
Reviewed-by: Liang Qi <liang.qi@theqtcompany.com>
2015-10-22 19:36:10 +00:00
Qt Submodule Update Bot
675309da41 Updated submodules.
Change-Id: I71774174c8acb5118b9ded14a3baab2cc18cf4d0
Reviewed-by: Liang Qi <liang.qi@theqtcompany.com>
2015-10-21 17:45:42 +00:00
Liang Qi
bd64171c0a Merge remote-tracking branch 'origin/5.5.1' into 5.5
Change-Id: I3013caa0d43447b9686f212cea8d1821ce551d59
2015-10-14 09:25:13 +02:00
Qt Submodule Update Bot
57d4fc9ceb Updated submodules.
Change-Id: I2579c442085495cd179d00e09285797bbb08b3eb
Reviewed-by: Jani Heikkinen <jani.heikkinen@theqtcompany.com>
2015-10-12 06:20:26 +00:00
Qt Submodule Update Bot
71774174c8 Updated submodules.
Change-Id: Ib02a6596cea197bdd3d4437ee784aab9200bf1d9
Reviewed-by: Liang Qi <liang.qi@theqtcompany.com>
2015-10-08 06:26:33 +00:00
Qt Submodule Update Bot
2579c44208 Updated submodules.
Change-Id: Ic1fbc6dfde579eaba980664444feaf9083dd4d39
Reviewed-by: Jani Heikkinen <jani.heikkinen@theqtcompany.com>
2015-10-06 18:56:13 +00:00
Qt Submodule Update Bot
c1fbc6dfde Updated submodules.
Change-Id: I063e5f899e0d33d5afe15dfb00221bd5d93aab3b
Reviewed-by: Jani Heikkinen <jani.heikkinen@theqtcompany.com>
2015-09-29 19:15:45 +00:00
Qt Submodule Update Bot
063e5f899e Updated submodules.
Change-Id: If835537d9fe8076aaf7a8b6311dbdf30b01d1900
Reviewed-by: Liang Qi <liang.qi@theqtcompany.com>
Reviewed-by: Jani Heikkinen <jani.heikkinen@theqtcompany.com>
2015-09-27 11:17:00 +00:00
Qt Submodule Update Bot
b02a6596ce Updated submodules.
Change-Id: Idd1aeea722ee72249c7e1c5a85c0932b61300b7b
Reviewed-by: Liang Qi <liang.qi@theqtcompany.com>
2015-09-25 05:40:45 +00:00
Qt Submodule Update Bot
f835537d9f Updated submodules.
Change-Id: Ie4b9dc169153021a9204b6fdf3af9f58228fdf3e
Reviewed-by: Jani Heikkinen <jani.heikkinen@theqtcompany.com>
2015-09-24 04:32:16 +00:00
Qt Submodule Update Bot
e4b9dc1691 Updated submodules.
Change-Id: Iad31b8c5743bd4d9ff00b06466530193dd26853f
Reviewed-by: Jani Heikkinen <jani.heikkinen@theqtcompany.com>
2015-09-17 10:53:17 +00:00
Qt Submodule Update Bot
ad31b8c574 Updated submodules.
Change-Id: I0ba6e6ce435be779865b0ace08d74dd29800be9c
Reviewed-by: Jani Heikkinen <jani.heikkinen@theqtcompany.com>
2015-09-10 11:46:31 +00:00
Frederik Gladhorn
b68c8b9729 Adjust submodule branches
Change-Id: I6e3c7677499747fc10ff1a4e3eaa6e66a409c03e
2015-09-03 16:59:46 +02:00
70 changed files with 357 additions and 607 deletions

1
.gitattributes vendored
View File

@@ -1,6 +1,7 @@
.tag export-subst
.gitignore export-ignore
.gitattributes export-ignore
.gitmodules export-ignore
.commit-template export-ignore
init-repository export-ignore
README.git export-ignore

217
.gitmodules vendored
View File

@@ -1,270 +1,181 @@
[submodule "qtbase"]
path = qtbase
url = ../qtbase.git
branch = 5.6.2
status = essential
branch = 5.5
initrepo = true
[submodule "qtsvg"]
depends = qtbase
path = qtsvg
url = ../qtsvg.git
branch = 5.6.2
status = addon
branch = 5.5
initrepo = true
[submodule "qtdeclarative"]
depends = qtbase
recommends = qtsvg qtxmlpatterns
path = qtdeclarative
url = ../qtdeclarative.git
branch = 5.6.2
status = essential
branch = 5.5
initrepo = true
[submodule "qtactiveqt"]
depends = qtbase
path = qtactiveqt
url = ../qtactiveqt.git
branch = 5.6.2
status = addon
branch = 5.5
initrepo = true
[submodule "qtscript"]
depends = qtbase
recommends = qttools
path = qtscript
url = ../qtscript.git
branch = 5.6.2
status = deprecated
branch = 5.5
initrepo = true
[submodule "qtmultimedia"]
depends = qtbase
recommends = qtdeclarative
path = qtmultimedia
url = ../qtmultimedia.git
branch = 5.6.2
status = essential
branch = 5.5
initrepo = true
[submodule "qttools"]
depends = qtbase
recommends = qtdeclarative qtactiveqt qtwebkit
path = qttools
url = ../qttools.git
branch = 5.6.2
status = essential
branch = 5.5
initrepo = true
[submodule "qtxmlpatterns"]
depends = qtbase
path = qtxmlpatterns
url = ../qtxmlpatterns.git
branch = 5.6.2
status = addon
branch = 5.5
initrepo = true
[submodule "qttranslations"]
depends = qttools
path = qttranslations
url = ../qttranslations.git
branch = 5.6.2
status = essential
priority = 30
branch = 5.5
initrepo = true
[submodule "qtdoc"]
depends = qtdeclarative
path = qtdoc
url = ../qtdoc.git
branch = 5.6.2
status = essential
priority = 40
branch = 5.5
initrepo = true
[submodule "qtrepotools"]
path = qtrepotools
url = ../qtrepotools.git
branch = master
status = essential
qt = false
initrepo = true
[submodule "qtwebkit"]
depends = qtbase
recommends = qtdeclarative qtlocation qtmultimedia qtsensors qtwebchannel qtxmlpatterns
path = qtwebkit
url = ../qtwebkit.git
branch = 5.6.2
status = obsolete
project = WebKit.pro
priority = 20
branch = 5.5
initrepo = true
[submodule "qtwebkit-examples"]
depends = qtwebkit qttools
path = qtwebkit-examples
url = ../qtwebkit-examples.git
branch = 5.6.2
status = obsolete
branch = 5.5
initrepo = true
[submodule "qtqa"]
depends = qtbase
path = qtqa
url = ../qtqa.git
branch = master
status = essential
priority = 50
initrepo = true
[submodule "qtlocation"]
depends = qtbase
recommends = qtdeclarative qtquickcontrols qtserialport qtsystems
path = qtlocation
url = ../qtlocation.git
branch = 5.6.2
status = addon
branch = 5.5
initrepo = true
[submodule "qtsensors"]
depends = qtbase
recommends = qtdeclarative
path = qtsensors
url = ../qtsensors.git
branch = 5.6.2
status = addon
branch = 5.5
initrepo = true
[submodule "qtsystems"]
depends = qtbase
recommends = qtdeclarative
path = qtsystems
url = ../qtsystems.git
branch = dev
status = ignore
[submodule "qtfeedback"]
depends = qtdeclarative
recommends = qtmultimedia
path = qtfeedback
url = ../qtfeedback.git
branch = master
status = ignore
[submodule "qtdocgallery"]
depends = qtdeclarative
path = qtdocgallery
url = ../qtdocgallery.git
branch = master
status = ignore
[submodule "qtpim"]
depends = qtdeclarative
path = qtpim
url = ../qtpim.git
branch = dev
status = ignore
[submodule "qtconnectivity"]
depends = qtbase
recommends = qtdeclarative qtandroidextras
path = qtconnectivity
url = ../qtconnectivity.git
branch = 5.6.2
status = addon
branch = 5.5
initrepo = true
[submodule "qtwayland"]
depends = qtbase
recommends = qtdeclarative
path = qtwayland
url = ../qtwayland.git
branch = 5.6.2
status = addon
branch = 5.5
initrepo = true
[submodule "qt3d"]
depends = qtdeclarative qtimageformats
path = qt3d
url = ../qt3d.git
branch = 5.6.2
status = preview
branch = 5.5
initrepo = true
[submodule "qtimageformats"]
depends = qtbase
path = qtimageformats
url = ../qtimageformats.git
branch = 5.6.2
status = addon
branch = 5.5
initrepo = true
[submodule "qtquick1"]
depends = qtscript
recommends = qtsvg qtxmlpatterns
path = qtquick1
url = ../qtquick1.git
branch = 5.6.2
status = obsolete
branch = 5.5
initrepo = true
[submodule "qtgraphicaleffects"]
depends = qtdeclarative
path = qtgraphicaleffects
url = ../qtgraphicaleffects.git
branch = 5.6.2
status = addon
branch = 5.5
initrepo = true
[submodule "qtquickcontrols"]
depends = qtdeclarative
recommends = qtgraphicaleffects
path = qtquickcontrols
url = ../qtquickcontrols.git
branch = 5.6.2
status = essential
[submodule "qtserialbus"]
depends = qtserialport
path = qtserialbus
url = ../qtserialbus.git
branch = 5.6.2
status = preview
branch = 5.5
initrepo = true
[submodule "qtserialport"]
depends = qtbase
path = qtserialport
url = ../qtserialport.git
branch = 5.6.2
status = addon
branch = 5.5
initrepo = true
[submodule "qtx11extras"]
depends = qtbase
path = qtx11extras
url = ../qtx11extras.git
branch = 5.6.2
status = addon
branch = 5.5
initrepo = true
[submodule "qtmacextras"]
depends = qtbase
path = qtmacextras
url = ../qtmacextras.git
branch = 5.6.2
status = addon
branch = 5.5
initrepo = true
[submodule "qtwinextras"]
depends = qtbase
recommends = qtdeclarative qtmultimedia
path = qtwinextras
url = ../qtwinextras.git
branch = 5.6.2
status = addon
branch = 5.5
initrepo = true
[submodule "qtandroidextras"]
depends = qtbase
path = qtandroidextras
url = ../qtandroidextras.git
branch = 5.6.2
status = addon
branch = 5.5
initrepo = true
[submodule "qtenginio"]
depends = qtdeclarative
path = qtenginio
url = ../qtenginio.git
branch = 5.6.2
status = deprecated
branch = 1.2
initrepo = true
[submodule "qtwebsockets"]
depends = qtbase
recommends = qtdeclarative
path = qtwebsockets
url = ../qtwebsockets.git
branch = 5.6.2
status = addon
branch = 5.5
initrepo = true
[submodule "qtwebchannel"]
depends = qtbase
recommends = qtdeclarative qtwebsockets
path = qtwebchannel
url = ../qtwebchannel.git
branch = 5.6.2
status = addon
branch = 5.5
initrepo = true
[submodule "qtwebengine"]
depends = qtquickcontrols qtwebchannel
recommends = qtlocation
path = qtwebengine
url = ../qtwebengine.git
branch = 5.6.2
status = addon
priority = 10
branch = 5.5
initrepo = true
[submodule "qtcanvas3d"]
depends = qtdeclarative
path = qtcanvas3d
url = ../qtcanvas3d.git
branch = 5.6.2
status = addon
[submodule "qtwebview"]
depends = qtdeclarative
recommends = qtwebengine
path = qtwebview
url = ../qtwebview.git
branch = 5.6.2
status = addon
[submodule "qtquickcontrols2"]
depends = qtquickcontrols
path = qtquickcontrols2
url = ../qtquickcontrols2.git
branch = 5.6.2
status = preview
[submodule "qtpurchasing"]
depends = qtbase
recommends = qtdeclarative
path = qtpurchasing
url = ../qtpurchasing.git
branch = dev
status = ignore
branch = 5.5
initrepo = true

View File

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

46
README
View File

@@ -16,24 +16,34 @@ HOW TO BUILD QT5
please see section "Setting up your machine" on:
http://wiki.qt.io/Get_The_Source
Licensing:
----------
Optional requirements
---------------------
Opensource users:
- OpenSSL for SSL sockets or HTTPS
- Wayland
<source_package> = qt-everywhere-opensource-src-<version>
<license> = -opensource
New dependencies in Qt 5
------------------------
Commercial users:
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.
<source_package> = qt-everywhere-enterprise-src-<version>
<license> = -commercial
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.
Linux, Mac:
-----------
cd <path>/<source_package>
./configure -prefix $PWD/qtbase <license> -nomake tests
cd <path>/qt-everywhere-opensource-src-<version>
./configure -prefix $PWD/qtbase -opensource -nomake tests
make -j 4
Windows:
@@ -45,8 +55,8 @@ HOW TO BUILD QT5
* Python version 2.7 or later [http://www.activestate.com/activepython/]
* Ruby version 1.9.3 or later [http://rubyinstaller.org/]
cd <path>\<source_package>
configure -prefix %CD%\qtbase <license> -nomake tests
cd <path>\qt-everywhere-opensource-src-<version>
configure -prefix %CD%\qtbase -opensource -nomake tests
nmake // jom // mingw32-make
To accelerate the bootstrap of qmake with MSVC, it may be useful to pass
@@ -71,13 +81,13 @@ HOW TO BUILD QT5
Example for a release build:
(adjust the `-jN' parameter as appropriate for your system)
./configure -prefix $PWD/qtbase <license>
./configure -prefix $PWD/qtbase -opensource
make -j4
Example for a developer build:
(enables more autotests, builds debug version of libraries, ...)
./configure -developer-build <license>
./configure -developer-build -opensource
make -j4
See output of `./configure -help' for documentation on various options to
@@ -87,11 +97,11 @@ HOW TO BUILD QT5
default in the build system.
It is possible to build selected modules with their dependencies by doing
a `make module-<foo>'. For example, to build only qtdeclarative,
and the modules it depends on:
a `make module-<foo>'. For example, to build only qtscript and qtwebkit,
and the modules they depend on:
./configure -prefix $PWD/qtbase <license>
make -j4 module-qtdeclarative
./configure -prefix $PWD/qtbase -opensource
make -j4 module-qtscript module-qtwebkit
This can save a lot of time if you are only interested in a subset of Qt5.

View File

@@ -1,11 +0,0 @@
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

@@ -1,31 +0,0 @@
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

@@ -1,9 +0,0 @@
# 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

@@ -1,9 +0,0 @@
. "$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

@@ -1,6 +0,0 @@
# provides: fix for possible bug in the subscription manager
# version: provided by RedHat
# needed for yum to work properly in case there is incorrect data in
# the sslclientkey repository parameter value
sudo rm -f /etc/pki/entitlement/*
sudo subscription-manager refresh

View File

@@ -1,4 +0,0 @@
# 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

@@ -1,70 +0,0 @@
#!/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

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

@@ -39,129 +39,155 @@ use warnings;
package Qt::InitRepository;
sub printUsage($)
{
my ($ex) = @_;
=head1 NAME
print <<EOF ;
Usage:
./init-repository [options]
init-repository - initialize the Qt5 repository and all submodules
This script may be run after an initial `git clone' of Qt5 in order to
check out all submodules. It fetches them from canonical URLs inferred
from the clone's origin.
=head1 SYNOPSIS
Options:
Global options:
./init-repository [options]
--force, -f
Force initialization (even if the submodules are already checked
out).
This script may be run after an initial `git clone' of Qt5 in order to check
out all submodules.
--force-hooks
Force initialization of hooks (even if there are already hooks in
checked out submodules).
--quiet, -q
Be quiet. Will exit cleanly if the repository is already
initialized.
=head1 OPTIONS
Module options:
B<Global options:>
--module-subset=<module1>,<module2>...
Only initialize the specified subset of modules given as the
argument. Specified modules must already exist in .gitmodules. The
string "all" results in cloning all known modules. The strings
"essential", "addon", "preview", "deprecated", "obsolete", and
"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".
=over
--no-update
Skip the `git submodule update' command.
=item --force, -f
--branch
Instead of checking out specific SHA1s, check out the submodule
branches that correspond with the current supermodule commit. By
default, this option will cause local commits in the submodules to
be rebased. With --no-update, the branches will be checked out, but
their heads will not move.
Force initialization (even if the submodules are already checked out).
--ignore-submodules
Set git config to ignore submodules by default when doing operations
on the qt5 repo, such as `pull', `fetch', `diff' etc.
After using this option, pass `--ignore-submodules=none' to git to
override it as needed.
=item --force-hooks
Repository options:
Force initialization of hooks (even if there are already hooks in checked out
submodules).
--berlin
Switch to internal URLs and make use of the Berlin git mirrors.
(Implies `--mirror').
--oslo
Switch to internal URLs and make use of the Oslo git mirrors.
(Implies `--mirror').
=item --quiet, -q
--codereview-username <Gerrit/JIRA username>
Specify the user name for the (potentially) writable `gerrit' remote
for each module, for use with the Gerrit code review tool.
Be quiet. Will exit cleanly if the repository is already initialized.
If this option is omitted, the gerrit remote is created without a
username and port number, and thus relies on a correct SSH
configuration.
=back
--alternates <path to other Qt5 repo>
Adds alternates for each submodule to another full qt5 checkout.
This makes this qt5 checkout very small, as it will use the object
store of the alternates before unique objects are stored in its own
object store.
This option has no effect when using `--no-update'.
B<Module options:>
NOTE: This will make this repo dependent on the alternate, which is
potentially dangerous! The dependency can be broken by also using
the `--copy-objects' option, or by running "git repack -a" in each
submodule, where required. Please read the note about the `--shared'
option in the documentation of `git clone' for more information.
=over
--copy-objects
When `--alternates' is used, automatically do a "git repack -a" in
each submodule after cloning, to ensure that the repositories are
independent from the source used as a reference for cloning.
=item --no-webkit
Note that this negates the disk usage benefits gained from the use
of `--alternates'.
Skip webkit and webkit examples submodules.
It may be desirable to skip these modules due to the large size of the webkit
git repository.
--mirror <url-base>
Uses <url-base> as the base URL for submodule git mirrors.
=item --module-subset=<module1>,<module2>...
For example:
Only initialize the specified subset of modules given as the argument. Specified
modules must already exist in .gitmodules.
The string "all" results in cloning all known modules. The default is the set of
maintained modules.
Module names may be prefixed with a dash to exclude them from a bigger set.
--mirror user\@machine:/foo/bar/
=item --no-update
...will use the following as a mirror for qtbase:
Skip the `git submodule update' command.
user\@machine:/foo/bar/qt/qtbase.git
=item --branch
The mirror is permitted to contain a subset of the submodules; any
missing modules will fall back to the canonical URLs.
Instead of checking out specific SHA1s, check out the submodule branches that
correspond with the current supermodule commit.
By default, this option will cause local commits in the submodules to be rebased.
With --no-update, the branches will be checked out, but their heads will not move.
EOF
exit($ex);
}
=item --ignore-submodules
Set git config to ignore submodules by default when doing operations on the
qt5 repo, such as `pull', `fetch', `diff' etc.
After using this option, pass `--ignore-submodules=none' to git to override
it as needed.
=back
B<Repository options:>
=over
=item --berlin
Switch to internal URLs and make use of the Berlin git mirrors.
(Implies `--mirror').
=item --oslo
Switch to internal URLs and make use of the Oslo git mirrors.
(Implies `--mirror').
=item --codereview-username <Gerrit/JIRA username>
Specify the user name for the (potentially) writable `gerrit' remote
for each module, for use with the Gerrit code review tool.
If this option is omitted, the gerrit remote is created without a username
and port number, and thus relies on a correct SSH configuration.
=item --alternates <path to other Qt5 repo>
Adds alternates for each submodule to another full qt5 checkout. This makes
this qt5 checkout very small, as it will use the object store of the
alternates before unique objects are stored in its own object store.
This option has no effect when using `--no-update'.
B<NOTE:> This will make this repo dependent on the alternate, which is
potentially dangerous! The dependency can be broken by also using
the `--copy-objects' option, or by running C<git repack -a> in each
submodule, where required. Please read the note about the `--shared' option
in the documentation of `git clone' for more information.
=item --copy-objects
When `--alternates' is used, automatically do a C<git repack -a> in each
submodule after cloning, to ensure that the repositories are independent
from the source used as a reference for cloning.
Note that this negates the disk usage benefits gained from the use of
`--alternates'.
=item --mirror <url-base>
Uses <url-base> as the base URL for submodule git mirrors.
For example:
--mirror user@machine:/foo/bar/
...will use the following as a mirror for qtbase:
user@machine:/foo/bar/qt/qtbase.git
The mirror is permitted to contain a subset of the submodules; any
missing modules will fall back to the canonical URLs.
=back
=cut
use Carp qw( confess );
use Cwd qw( getcwd abs_path );
use English qw( -no_match_vars );
use File::Spec::Functions qw ( rel2abs );
use Getopt::Long qw( GetOptions );
my $script_path = abs_path($0);
$script_path =~ s,[/\\][^/\\]+$,,;
use Getopt::Long qw( GetOptionsFromArray );
use Pod::Usage qw( pod2usage );
use Cwd qw( getcwd );
my $GERRIT_SSH_BASE
= 'ssh://@USER@codereview.qt-project.org@PORT@/';
@@ -201,7 +227,7 @@ sub exe
sub parse_arguments
{
my ($self) = @_;
my ($self, @args) = @_;
%{$self} = (%{$self},
'alternates' => "",
@@ -213,10 +239,11 @@ sub parse_arguments
'ignore-submodules' => 0 ,
'mirror-url' => "",
'update' => 1 ,
'webkit' => 1 ,
'module-subset' => "default",
);
GetOptions(
GetOptionsFromArray(\@args,
'alternates=s' => \$self->{qw{ alternates }},
'branch' => \$self->{qw{ branch }},
'codereview-username=s' => \$self->{qw{ codereview-username }},
@@ -227,9 +254,10 @@ sub parse_arguments
'mirror=s' => \$self->{qw{ mirror-url }},
'quiet' => \$self->{qw{ quiet }},
'update!' => \$self->{qw{ update }},
'webkit!' => \$self->{qw{ webkit }},
'module-subset=s' => \$self->{qw{ module-subset }},
'help|?' => sub { printUsage(1); },
'help|?' => sub { pod2usage(1); },
'berlin' => sub {
$self->{'mirror-url'} = $BER_MIRROR_URL_BASE;
@@ -237,13 +265,15 @@ sub parse_arguments
'oslo' => sub {
$self->{'mirror-url'} = $OSLO_MIRROR_URL_BASE;
},
) || printUsage(2);
) || pod2usage(2);
# Replace any double trailing slashes from end of mirror
$self->{'mirror-url'} =~ s{//+$}{/};
$self->{'module-subset'} =~ s/\bdefault\b/preview,essential,addon,deprecated/;
$self->{'module-subset'} = [ split(/,/, $self->{'module-subset'}) ];
if (!$self->{webkit}) {
push @{$self->{'module-subset'}}, "-qtwebkit", "-qtwebkit-examples";
}
return;
}
@@ -281,14 +311,6 @@ sub git_submodule_init
return;
}
use constant {
STS_PREVIEW => 1,
STS_ESSENTIAL => 2,
STS_ADDON => 3,
STS_DEPRECATED => 4,
STS_OBSOLETE => 5
};
sub git_clone_all_submodules
{
my ($self, $my_repo_base, $co_branch, @subset) = @_;
@@ -312,58 +334,22 @@ sub git_clone_all_submodules
while ($base =~ s,/(?!\.\./)[^/]+/\.\./,/,g) {}
$subbases{$mod} = $base;
} elsif ($2 eq "update") {
push @subset, '-'.$1 if ($3 eq 'none');
} elsif ($2 eq "status") {
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");
}
push @subset, '-'.$1 if ($3 eq 'ignore');
} elsif ($2 eq "initrepo") {
$subinits{$1} = ($3 eq "yes" or $3 eq "true");
}
}
my %include = ();
foreach my $mod (@subset) {
my $del = ($mod =~ s/^-//);
my $fail = 0;
my @what;
if ($mod eq "all") {
@what = keys %subbases;
} elsif ($mod eq "essential") {
@what = grep { ($subinits{$_} || 0) eq STS_ESSENTIAL } keys %subbases;
} elsif ($mod eq "addon") {
@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;
map { $include{$_} = 1; } keys %subbases;
} elsif ($mod eq "default") {
map { $include{$_} = 1; } grep { $subinits{$_} } keys %subbases;
} elsif ($mod =~ s/^-//) {
delete $include{$mod};
} else {
$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;
$include{$mod} = 1;
}
}
@@ -536,16 +522,11 @@ sub ensure_link
return if (!$self->{'force-hooks'} and -f $tgt);
unlink($tgt); # In case we have a dead symlink or pre-existing hook
print "Aliasing $src\n as $tgt ...\n" if (!$self->{quiet});
if ($^O ne "msys" && $^O ne "MSWin32") {
return if eval { symlink($src, $tgt) };
}
return if eval { symlink($src, $tgt) };
# Windows doesn't do (proper) symlinks. As the post_commit script needs
# them to locate itself, we write a forwarding script instead.
open SCRIPT, ">".$tgt or die "Cannot create forwarding script $tgt: $!\n";
# Make the path palatable for MSYS.
$src =~ s,\\,/,g;
$src =~ s,^(.):/,/$1/,g;
print SCRIPT "#!/bin/sh\nexec $src \"\$\@\"\n";
print SCRIPT "#!/bin/sh\nexec `dirname \$0`/$src \"\$\@\"\n";
close SCRIPT;
}
@@ -553,31 +534,19 @@ sub git_install_hooks
{
my ($self) = @_;
my $hooks = $script_path.'/qtrepotools/git-hooks';
return if (!-d $hooks);
return if (!-d 'qtrepotools/git-hooks');
my @configresult = qx(git config --list --local);
foreach my $line (@configresult) {
next if ($line !~ /submodule\.([^.=]+)\.url=/);
my $module = $1;
my $module_gitdir = $module.'/.git';
if (!-d $module_gitdir) {
open GITD, $module_gitdir or die "Cannot open $module: $!\n";
my $gd = <GITD>;
close GITD;
chomp($gd);
$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');
# Force C locale as git submodule returns the localized string "Entering"
local $ENV{LC_ALL} = 'C';
chomp(my @modules = `git submodule foreach :`);
push @modules, "";
for my $module (@modules) {
$module =~ s,^Entering \'([^\']+)\'$,$1/,;
my $rel = $module;
$rel =~ s,[^/]+,..,g;
$rel .= "../../qtrepotools/git-hooks/";
$self->ensure_link($rel.'gerrit_commit_msg_hook', $module.'.git/hooks/commit-msg');
$self->ensure_link($rel.'git_post_commit_hook', $module.'.git/hooks/post-commit');
}
}
@@ -604,5 +573,5 @@ sub run
#==============================================================================
Qt::InitRepository->new()->run if (!caller);
Qt::InitRepository->new(@ARGV)->run if (!caller);
1;

127
qt.pro
View File

@@ -7,68 +7,89 @@ CONFIG -= build_pass # unhack, as it confuses Qt Creator
TEMPLATE = subdirs
# Extract submodules from .gitmodules.
lines = $$cat(.gitmodules, lines)
for (line, lines) {
mod = $$replace(line, "^\\[submodule \"([^\"]+)\"\\]$", \\1)
!equals(mod, $$line) {
module = $$mod
modules += $$mod
} else {
prop = $$replace(line, "^$$escape_expand(\\t)([^ =]+) *=.*$", \\1)
!equals(prop, $$line) {
val = $$replace(line, "^[^=]+= *", )
module.$${module}.$$prop = $$split(val)
} else {
error("Malformed line in .gitmodules: $$line")
}
}
defineReplace(moduleName) {
return(module_$$replace(1, -, _))
}
QMAKE_INTERNAL_INCLUDED_FILES += $$PWD/.gitmodules
modules = $$sort_depends(modules, module., .depends .recommends)
modules = $$reverse(modules)
for (mod, modules) {
equals(module.$${mod}.qt, false): \
next()
# Arguments: module name, [mandatory deps], [optional deps], [project file]
defineTest(addModule) {
contains(QT_SKIP_MODULES, $$1): return(false)
mod = $$moduleName($$1)
deps = $$eval(module.$${mod}.depends)
recs = $$eval(module.$${mod}.recommends)
for (d, $$list($$deps $$recs)): \
!contains(modules, $$d): \
error("'$$mod' depends on undeclared '$$d'.")
contains(QT_SKIP_MODULES, $$mod): \
next()
!isEmpty(QT_BUILD_MODULES):!contains(QT_BUILD_MODULES, $$mod): \
next()
project = $$eval(module.$${mod}.project)
isEmpty(project) {
!exists($$mod/$${mod}.pro): \
next()
$${mod}.subdir = $$mod
isEmpty(4) {
!exists($$1/$${1}.pro): return(false)
$${mod}.subdir = $$1
export($${mod}.subdir)
} else {
!exists($$mod/$$project): \
next()
$${mod}.file = $$mod/$$project
!exists($$1/$${4}): return(false)
$${mod}.file = $$1/$$4
$${mod}.makefile = Makefile
export($${mod}.file)
export($${mod}.makefile)
}
$${mod}.target = module-$$mod
for (d, deps) {
!contains(SUBDIRS, $$d) {
$${mod}.target =
break()
}
$${mod}.depends += $$d
for(d, 2) {
dn = $$moduleName($$d)
!contains(SUBDIRS, $$dn): \
return(false)
$${mod}.depends += $$dn
}
isEmpty($${mod}.target): \
next()
for (d, recs) {
contains(SUBDIRS, $$d): \
$${mod}.depends += $$d
for(d, 3) {
dn = $$moduleName($$d)
contains(SUBDIRS, $$dn): \
$${mod}.depends += $$dn
}
!isEmpty($${mod}.depends): \
export($${mod}.depends)
$${mod}.target = module-$$1
export($${mod}.target)
SUBDIRS += $$mod
export(SUBDIRS)
return(true)
}
# only qtbase is required to exist. The others may not - but it is the
# users responsibility to ensure that all needed dependencies exist, or
# it may not build.
ANDROID_EXTRAS =
android: ANDROID_EXTRAS = qtandroidextras
addModule(qtbase)
addModule(qtandroidextras, qtbase)
addModule(qtmacextras, qtbase)
addModule(qtx11extras, qtbase)
addModule(qtsvg, qtbase)
addModule(qtxmlpatterns, qtbase)
addModule(qtdeclarative, qtbase, qtsvg qtxmlpatterns)
addModule(qtquickcontrols, qtdeclarative, qtgraphicaleffects)
addModule(qtmultimedia, qtbase, qtdeclarative)
addModule(qtwinextras, qtbase, qtdeclarative qtmultimedia)
addModule(qtactiveqt, qtbase)
addModule(qtsystems, qtbase, qtdeclarative)
addModule(qtlocation, qtbase, qtdeclarative qtquickcontrols qtsystems)
addModule(qtsensors, qtbase, qtdeclarative)
addModule(qtconnectivity, qtbase $$ANDROID_EXTRAS, qtdeclarative)
addModule(qtfeedback, qtdeclarative, qtmultimedia)
addModule(qtpim, qtdeclarative)
addModule(qtwebsockets, qtbase, qtdeclarative)
addModule(qtwebchannel, qtbase, qtdeclarative qtwebsockets)
addModule(qtwebkit, qtbase, qtdeclarative qtlocation qtmultimedia qtsensors qtwebchannel qtxmlpatterns, WebKit.pro)
addModule(qttools, qtbase, qtdeclarative qtactiveqt qtwebkit)
addModule(qtwebkit-examples, qtwebkit qttools)
addModule(qtimageformats, qtbase)
addModule(qt3d, qtdeclarative qtimageformats)
addModule(qtcanvas3d, qtdeclarative)
addModule(qtgraphicaleffects, qtdeclarative)
addModule(qtscript, qtbase, qttools)
addModule(qtquick1, qtscript, qtsvg qtxmlpatterns qtwebkit)
addModule(qtdocgallery, qtdeclarative)
addModule(qtwayland, qtbase, qtdeclarative)
addModule(qtserialport, qtbase)
addModule(qtenginio, qtdeclarative)
addModule(qtwebengine, qtquickcontrols qtwebchannel, qtwebkit qtlocation)
addModule(qttranslations, qttools)
addModule(qtdoc, qtdeclarative)
addModule(qtqa, qtbase)

2
qt3d

Submodule qt3d updated: d3889211dc...ec963e1063

2
qtbase

Submodule qtbase updated: b4ada3f0d8...5ef14c52d0

2
qtdoc

Submodule qtdoc updated: 2a3a8c9e86...12db3790ee

2
qtpim

Submodule qtpim updated: de4cfc6b53...18e3d741c3

Submodule qtpurchasing deleted from b5c6c76fac

2
qtqa

Submodule qtqa updated: e49c7d6f19...de8520af69

Submodule qtquickcontrols2 deleted from e93c73c0aa

Submodule qtserialbus deleted from 0a4a5f7e1c

2
qtsvg

Submodule qtsvg updated: 2d55b4996e...92f3d85102

Submodule qttools updated: a9e5e09f15...a29927bbb8

Submodule qtwebview deleted from 6313ae2b2a