mirror of
git://code.qt.io/qt/qt5.git
synced 2025-12-24 08:56:16 +08:00
Compare commits
8 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
57d4fc9ceb | ||
|
|
2579c44208 | ||
|
|
c1fbc6dfde | ||
|
|
063e5f899e | ||
|
|
f835537d9f | ||
|
|
e4b9dc1691 | ||
|
|
ad31b8c574 | ||
|
|
b68c8b9729 |
1
.gitattributes
vendored
1
.gitattributes
vendored
@@ -1,6 +1,7 @@
|
|||||||
.tag export-subst
|
.tag export-subst
|
||||||
.gitignore export-ignore
|
.gitignore export-ignore
|
||||||
.gitattributes export-ignore
|
.gitattributes export-ignore
|
||||||
|
.gitmodules export-ignore
|
||||||
.commit-template export-ignore
|
.commit-template export-ignore
|
||||||
init-repository export-ignore
|
init-repository export-ignore
|
||||||
README.git export-ignore
|
README.git export-ignore
|
||||||
|
|||||||
217
.gitmodules
vendored
217
.gitmodules
vendored
@@ -1,270 +1,181 @@
|
|||||||
[submodule "qtbase"]
|
[submodule "qtbase"]
|
||||||
path = qtbase
|
path = qtbase
|
||||||
url = ../qtbase.git
|
url = ../qtbase.git
|
||||||
branch = 5.6.1
|
branch = 5.5.1
|
||||||
status = essential
|
initrepo = true
|
||||||
[submodule "qtsvg"]
|
[submodule "qtsvg"]
|
||||||
depends = qtbase
|
|
||||||
path = qtsvg
|
path = qtsvg
|
||||||
url = ../qtsvg.git
|
url = ../qtsvg.git
|
||||||
branch = 5.6.1
|
branch = 5.5.1
|
||||||
status = addon
|
initrepo = true
|
||||||
[submodule "qtdeclarative"]
|
[submodule "qtdeclarative"]
|
||||||
depends = qtbase
|
|
||||||
recommends = qtsvg qtxmlpatterns
|
|
||||||
path = qtdeclarative
|
path = qtdeclarative
|
||||||
url = ../qtdeclarative.git
|
url = ../qtdeclarative.git
|
||||||
branch = 5.6.1
|
branch = 5.5.1
|
||||||
status = essential
|
initrepo = true
|
||||||
[submodule "qtactiveqt"]
|
[submodule "qtactiveqt"]
|
||||||
depends = qtbase
|
|
||||||
path = qtactiveqt
|
path = qtactiveqt
|
||||||
url = ../qtactiveqt.git
|
url = ../qtactiveqt.git
|
||||||
branch = 5.6.1
|
branch = 5.5.1
|
||||||
status = addon
|
initrepo = true
|
||||||
[submodule "qtscript"]
|
[submodule "qtscript"]
|
||||||
depends = qtbase
|
|
||||||
recommends = qttools
|
|
||||||
path = qtscript
|
path = qtscript
|
||||||
url = ../qtscript.git
|
url = ../qtscript.git
|
||||||
branch = 5.6.1
|
branch = 5.5.1
|
||||||
status = deprecated
|
initrepo = true
|
||||||
[submodule "qtmultimedia"]
|
[submodule "qtmultimedia"]
|
||||||
depends = qtbase
|
|
||||||
recommends = qtdeclarative
|
|
||||||
path = qtmultimedia
|
path = qtmultimedia
|
||||||
url = ../qtmultimedia.git
|
url = ../qtmultimedia.git
|
||||||
branch = 5.6.1
|
branch = 5.5.1
|
||||||
status = essential
|
initrepo = true
|
||||||
[submodule "qttools"]
|
[submodule "qttools"]
|
||||||
depends = qtbase
|
|
||||||
recommends = qtdeclarative qtactiveqt qtwebkit
|
|
||||||
path = qttools
|
path = qttools
|
||||||
url = ../qttools.git
|
url = ../qttools.git
|
||||||
branch = 5.6.1
|
branch = 5.5.1
|
||||||
status = essential
|
initrepo = true
|
||||||
[submodule "qtxmlpatterns"]
|
[submodule "qtxmlpatterns"]
|
||||||
depends = qtbase
|
|
||||||
path = qtxmlpatterns
|
path = qtxmlpatterns
|
||||||
url = ../qtxmlpatterns.git
|
url = ../qtxmlpatterns.git
|
||||||
branch = 5.6.1
|
branch = 5.5.1
|
||||||
status = addon
|
initrepo = true
|
||||||
[submodule "qttranslations"]
|
[submodule "qttranslations"]
|
||||||
depends = qttools
|
|
||||||
path = qttranslations
|
path = qttranslations
|
||||||
url = ../qttranslations.git
|
url = ../qttranslations.git
|
||||||
branch = 5.6.1
|
branch = 5.5.1
|
||||||
status = essential
|
initrepo = true
|
||||||
priority = 30
|
|
||||||
[submodule "qtdoc"]
|
[submodule "qtdoc"]
|
||||||
depends = qtdeclarative
|
|
||||||
path = qtdoc
|
path = qtdoc
|
||||||
url = ../qtdoc.git
|
url = ../qtdoc.git
|
||||||
branch = 5.6.1
|
branch = 5.5.1
|
||||||
status = essential
|
initrepo = true
|
||||||
priority = 40
|
|
||||||
[submodule "qtrepotools"]
|
[submodule "qtrepotools"]
|
||||||
path = qtrepotools
|
path = qtrepotools
|
||||||
url = ../qtrepotools.git
|
url = ../qtrepotools.git
|
||||||
branch = master
|
branch = master
|
||||||
status = essential
|
initrepo = true
|
||||||
qt = false
|
|
||||||
[submodule "qtwebkit"]
|
[submodule "qtwebkit"]
|
||||||
depends = qtbase
|
|
||||||
recommends = qtdeclarative qtlocation qtmultimedia qtsensors qtwebchannel qtxmlpatterns
|
|
||||||
path = qtwebkit
|
path = qtwebkit
|
||||||
url = ../qtwebkit.git
|
url = ../qtwebkit.git
|
||||||
branch = 5.6.1
|
branch = 5.5.1
|
||||||
status = obsolete
|
initrepo = true
|
||||||
project = WebKit.pro
|
|
||||||
priority = 20
|
|
||||||
[submodule "qtwebkit-examples"]
|
[submodule "qtwebkit-examples"]
|
||||||
depends = qtwebkit qttools
|
|
||||||
path = qtwebkit-examples
|
path = qtwebkit-examples
|
||||||
url = ../qtwebkit-examples.git
|
url = ../qtwebkit-examples.git
|
||||||
branch = 5.6.1
|
branch = 5.5.1
|
||||||
status = obsolete
|
initrepo = true
|
||||||
[submodule "qtqa"]
|
[submodule "qtqa"]
|
||||||
depends = qtbase
|
|
||||||
path = qtqa
|
path = qtqa
|
||||||
url = ../qtqa.git
|
url = ../qtqa.git
|
||||||
branch = master
|
branch = master
|
||||||
status = essential
|
initrepo = true
|
||||||
priority = 50
|
|
||||||
[submodule "qtlocation"]
|
[submodule "qtlocation"]
|
||||||
depends = qtbase
|
|
||||||
recommends = qtdeclarative qtquickcontrols qtserialport qtsystems
|
|
||||||
path = qtlocation
|
path = qtlocation
|
||||||
url = ../qtlocation.git
|
url = ../qtlocation.git
|
||||||
branch = 5.6.1
|
branch = 5.5.1
|
||||||
status = addon
|
initrepo = true
|
||||||
[submodule "qtsensors"]
|
[submodule "qtsensors"]
|
||||||
depends = qtbase
|
|
||||||
recommends = qtdeclarative
|
|
||||||
path = qtsensors
|
path = qtsensors
|
||||||
url = ../qtsensors.git
|
url = ../qtsensors.git
|
||||||
branch = 5.6.1
|
branch = 5.5.1
|
||||||
status = addon
|
initrepo = true
|
||||||
[submodule "qtsystems"]
|
[submodule "qtsystems"]
|
||||||
depends = qtbase
|
|
||||||
recommends = qtdeclarative
|
|
||||||
path = qtsystems
|
path = qtsystems
|
||||||
url = ../qtsystems.git
|
url = ../qtsystems.git
|
||||||
branch = dev
|
branch = dev
|
||||||
status = ignore
|
|
||||||
[submodule "qtfeedback"]
|
[submodule "qtfeedback"]
|
||||||
depends = qtdeclarative
|
|
||||||
recommends = qtmultimedia
|
|
||||||
path = qtfeedback
|
path = qtfeedback
|
||||||
url = ../qtfeedback.git
|
url = ../qtfeedback.git
|
||||||
branch = master
|
branch = master
|
||||||
status = ignore
|
|
||||||
[submodule "qtdocgallery"]
|
[submodule "qtdocgallery"]
|
||||||
depends = qtdeclarative
|
|
||||||
path = qtdocgallery
|
path = qtdocgallery
|
||||||
url = ../qtdocgallery.git
|
url = ../qtdocgallery.git
|
||||||
branch = master
|
branch = master
|
||||||
status = ignore
|
|
||||||
[submodule "qtpim"]
|
[submodule "qtpim"]
|
||||||
depends = qtdeclarative
|
|
||||||
path = qtpim
|
path = qtpim
|
||||||
url = ../qtpim.git
|
url = ../qtpim.git
|
||||||
branch = dev
|
branch = dev
|
||||||
status = ignore
|
|
||||||
[submodule "qtconnectivity"]
|
[submodule "qtconnectivity"]
|
||||||
depends = qtbase
|
|
||||||
recommends = qtdeclarative qtandroidextras
|
|
||||||
path = qtconnectivity
|
path = qtconnectivity
|
||||||
url = ../qtconnectivity.git
|
url = ../qtconnectivity.git
|
||||||
branch = 5.6.1
|
branch = 5.5.1
|
||||||
status = addon
|
initrepo = true
|
||||||
[submodule "qtwayland"]
|
[submodule "qtwayland"]
|
||||||
depends = qtbase
|
|
||||||
recommends = qtdeclarative
|
|
||||||
path = qtwayland
|
path = qtwayland
|
||||||
url = ../qtwayland.git
|
url = ../qtwayland.git
|
||||||
branch = 5.6.1
|
branch = 5.5.1
|
||||||
status = addon
|
initrepo = true
|
||||||
[submodule "qt3d"]
|
[submodule "qt3d"]
|
||||||
depends = qtdeclarative qtimageformats
|
|
||||||
path = qt3d
|
path = qt3d
|
||||||
url = ../qt3d.git
|
url = ../qt3d.git
|
||||||
branch = 5.6.1
|
branch = 5.5.1
|
||||||
status = preview
|
initrepo = true
|
||||||
[submodule "qtimageformats"]
|
[submodule "qtimageformats"]
|
||||||
depends = qtbase
|
|
||||||
path = qtimageformats
|
path = qtimageformats
|
||||||
url = ../qtimageformats.git
|
url = ../qtimageformats.git
|
||||||
branch = 5.6.1
|
branch = 5.5.1
|
||||||
status = addon
|
initrepo = true
|
||||||
[submodule "qtquick1"]
|
[submodule "qtquick1"]
|
||||||
depends = qtscript
|
|
||||||
recommends = qtsvg qtxmlpatterns
|
|
||||||
path = qtquick1
|
path = qtquick1
|
||||||
url = ../qtquick1.git
|
url = ../qtquick1.git
|
||||||
branch = 5.6.1
|
branch = 5.5.1
|
||||||
status = obsolete
|
initrepo = true
|
||||||
[submodule "qtgraphicaleffects"]
|
[submodule "qtgraphicaleffects"]
|
||||||
depends = qtdeclarative
|
|
||||||
path = qtgraphicaleffects
|
path = qtgraphicaleffects
|
||||||
url = ../qtgraphicaleffects.git
|
url = ../qtgraphicaleffects.git
|
||||||
branch = 5.6.1
|
branch = 5.5.1
|
||||||
status = addon
|
initrepo = true
|
||||||
[submodule "qtquickcontrols"]
|
[submodule "qtquickcontrols"]
|
||||||
depends = qtdeclarative
|
|
||||||
recommends = qtgraphicaleffects
|
|
||||||
path = qtquickcontrols
|
path = qtquickcontrols
|
||||||
url = ../qtquickcontrols.git
|
url = ../qtquickcontrols.git
|
||||||
branch = 5.6.1
|
branch = 5.5.1
|
||||||
status = essential
|
initrepo = true
|
||||||
[submodule "qtserialbus"]
|
|
||||||
depends = qtserialport
|
|
||||||
path = qtserialbus
|
|
||||||
url = ../qtserialbus.git
|
|
||||||
branch = 5.6.1
|
|
||||||
status = preview
|
|
||||||
[submodule "qtserialport"]
|
[submodule "qtserialport"]
|
||||||
depends = qtbase
|
|
||||||
path = qtserialport
|
path = qtserialport
|
||||||
url = ../qtserialport.git
|
url = ../qtserialport.git
|
||||||
branch = 5.6.1
|
branch = 5.5.1
|
||||||
status = addon
|
initrepo = true
|
||||||
[submodule "qtx11extras"]
|
[submodule "qtx11extras"]
|
||||||
depends = qtbase
|
|
||||||
path = qtx11extras
|
path = qtx11extras
|
||||||
url = ../qtx11extras.git
|
url = ../qtx11extras.git
|
||||||
branch = 5.6.1
|
branch = 5.5.1
|
||||||
status = addon
|
initrepo = true
|
||||||
[submodule "qtmacextras"]
|
[submodule "qtmacextras"]
|
||||||
depends = qtbase
|
|
||||||
path = qtmacextras
|
path = qtmacextras
|
||||||
url = ../qtmacextras.git
|
url = ../qtmacextras.git
|
||||||
branch = 5.6.1
|
branch = 5.5.1
|
||||||
status = addon
|
initrepo = true
|
||||||
[submodule "qtwinextras"]
|
[submodule "qtwinextras"]
|
||||||
depends = qtbase
|
|
||||||
recommends = qtdeclarative qtmultimedia
|
|
||||||
path = qtwinextras
|
path = qtwinextras
|
||||||
url = ../qtwinextras.git
|
url = ../qtwinextras.git
|
||||||
branch = 5.6.1
|
branch = 5.5.1
|
||||||
status = addon
|
initrepo = true
|
||||||
[submodule "qtandroidextras"]
|
[submodule "qtandroidextras"]
|
||||||
depends = qtbase
|
|
||||||
path = qtandroidextras
|
path = qtandroidextras
|
||||||
url = ../qtandroidextras.git
|
url = ../qtandroidextras.git
|
||||||
branch = 5.6.1
|
branch = 5.5.1
|
||||||
status = addon
|
initrepo = true
|
||||||
[submodule "qtenginio"]
|
[submodule "qtenginio"]
|
||||||
depends = qtdeclarative
|
|
||||||
path = qtenginio
|
path = qtenginio
|
||||||
url = ../qtenginio.git
|
url = ../qtenginio.git
|
||||||
branch = 5.6.1
|
branch = 1.2.1
|
||||||
status = deprecated
|
initrepo = true
|
||||||
[submodule "qtwebsockets"]
|
[submodule "qtwebsockets"]
|
||||||
depends = qtbase
|
|
||||||
recommends = qtdeclarative
|
|
||||||
path = qtwebsockets
|
path = qtwebsockets
|
||||||
url = ../qtwebsockets.git
|
url = ../qtwebsockets.git
|
||||||
branch = 5.6.1
|
branch = 5.5.1
|
||||||
status = addon
|
initrepo = true
|
||||||
[submodule "qtwebchannel"]
|
[submodule "qtwebchannel"]
|
||||||
depends = qtbase
|
|
||||||
recommends = qtdeclarative qtwebsockets
|
|
||||||
path = qtwebchannel
|
path = qtwebchannel
|
||||||
url = ../qtwebchannel.git
|
url = ../qtwebchannel.git
|
||||||
branch = 5.6.1
|
branch = 5.5.1
|
||||||
status = addon
|
initrepo = true
|
||||||
[submodule "qtwebengine"]
|
[submodule "qtwebengine"]
|
||||||
depends = qtquickcontrols qtwebchannel
|
|
||||||
recommends = qtlocation
|
|
||||||
path = qtwebengine
|
path = qtwebengine
|
||||||
url = ../qtwebengine.git
|
url = ../qtwebengine.git
|
||||||
branch = 5.6.1
|
branch = 5.5.1
|
||||||
status = addon
|
initrepo = true
|
||||||
priority = 10
|
|
||||||
[submodule "qtcanvas3d"]
|
[submodule "qtcanvas3d"]
|
||||||
depends = qtdeclarative
|
|
||||||
path = qtcanvas3d
|
path = qtcanvas3d
|
||||||
url = ../qtcanvas3d.git
|
url = ../qtcanvas3d.git
|
||||||
branch = 5.6.1
|
branch = 5.5.1
|
||||||
status = addon
|
initrepo = true
|
||||||
[submodule "qtwebview"]
|
|
||||||
depends = qtdeclarative
|
|
||||||
recommends = qtwebengine
|
|
||||||
path = qtwebview
|
|
||||||
url = ../qtwebview.git
|
|
||||||
branch = 5.6.1
|
|
||||||
status = addon
|
|
||||||
[submodule "qtquickcontrols2"]
|
|
||||||
depends = qtquickcontrols
|
|
||||||
path = qtquickcontrols2
|
|
||||||
url = ../qtquickcontrols2.git
|
|
||||||
branch = 5.6.1
|
|
||||||
status = preview
|
|
||||||
[submodule "qtpurchasing"]
|
|
||||||
depends = qtbase
|
|
||||||
recommends = qtdeclarative
|
|
||||||
path = qtpurchasing
|
|
||||||
url = ../qtpurchasing.git
|
|
||||||
branch = dev
|
|
||||||
status = ignore
|
|
||||||
|
|||||||
27
README
27
README
@@ -39,24 +39,11 @@ HOW TO BUILD QT5
|
|||||||
The "bin" folder of the ICU installation should be appended to the PATH
|
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.
|
environment variable in order to for the DLLs to be found at run-time.
|
||||||
|
|
||||||
Licensing:
|
|
||||||
----------
|
|
||||||
|
|
||||||
Opensource users:
|
|
||||||
|
|
||||||
<source_package> = qt-everywhere-opensource-src-<version>
|
|
||||||
<license> = -opensource
|
|
||||||
|
|
||||||
Commercial users:
|
|
||||||
|
|
||||||
<source_package> = qt-everywhere-enterprise-src-<version>
|
|
||||||
<license> = -commercial
|
|
||||||
|
|
||||||
Linux, Mac:
|
Linux, Mac:
|
||||||
-----------
|
-----------
|
||||||
|
|
||||||
cd <path>/<source_package>
|
cd <path>/qt-everywhere-opensource-src-<version>
|
||||||
./configure -prefix $PWD/qtbase <license> -nomake tests
|
./configure -prefix $PWD/qtbase -opensource -nomake tests
|
||||||
make -j 4
|
make -j 4
|
||||||
|
|
||||||
Windows:
|
Windows:
|
||||||
@@ -68,8 +55,8 @@ HOW TO BUILD QT5
|
|||||||
* Python version 2.7 or later [http://www.activestate.com/activepython/]
|
* Python version 2.7 or later [http://www.activestate.com/activepython/]
|
||||||
* Ruby version 1.9.3 or later [http://rubyinstaller.org/]
|
* Ruby version 1.9.3 or later [http://rubyinstaller.org/]
|
||||||
|
|
||||||
cd <path>\<source_package>
|
cd <path>\qt-everywhere-opensource-src-<version>
|
||||||
configure -prefix %CD%\qtbase <license> -nomake tests
|
configure -prefix %CD%\qtbase -opensource -nomake tests
|
||||||
nmake // jom // mingw32-make
|
nmake // jom // mingw32-make
|
||||||
|
|
||||||
To accelerate the bootstrap of qmake with MSVC, it may be useful to pass
|
To accelerate the bootstrap of qmake with MSVC, it may be useful to pass
|
||||||
@@ -94,13 +81,13 @@ HOW TO BUILD QT5
|
|||||||
Example for a release build:
|
Example for a release build:
|
||||||
(adjust the `-jN' parameter as appropriate for your system)
|
(adjust the `-jN' parameter as appropriate for your system)
|
||||||
|
|
||||||
./configure -prefix $PWD/qtbase <license>
|
./configure -prefix $PWD/qtbase -opensource
|
||||||
make -j4
|
make -j4
|
||||||
|
|
||||||
Example for a developer build:
|
Example for a developer build:
|
||||||
(enables more autotests, builds debug version of libraries, ...)
|
(enables more autotests, builds debug version of libraries, ...)
|
||||||
|
|
||||||
./configure -developer-build <license>
|
./configure -developer-build -opensource
|
||||||
make -j4
|
make -j4
|
||||||
|
|
||||||
See output of `./configure -help' for documentation on various options to
|
See output of `./configure -help' for documentation on various options to
|
||||||
@@ -113,7 +100,7 @@ HOW TO BUILD QT5
|
|||||||
a `make module-<foo>'. For example, to build only qtscript and qtwebkit,
|
a `make module-<foo>'. For example, to build only qtscript and qtwebkit,
|
||||||
and the modules they depend on:
|
and the modules they depend on:
|
||||||
|
|
||||||
./configure -prefix $PWD/qtbase <license>
|
./configure -prefix $PWD/qtbase -opensource
|
||||||
make -j4 module-qtscript module-qtwebkit
|
make -j4 module-qtscript module-qtwebkit
|
||||||
|
|
||||||
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.
|
||||||
|
|||||||
@@ -1,9 +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.
|
|
||||||
|
|
||||||
@@ -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())
|
|
||||||
}
|
|
||||||
@@ -1,7 +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
|
|
||||||
@@ -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
|
|
||||||
@@ -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
|
|
||||||
@@ -1,6 +0,0 @@
|
|||||||
Set-ExecutionPolicy RemoteSigned -Force
|
|
||||||
|
|
||||||
# install jom
|
|
||||||
. "$PSScriptRoot\..\common\jom.ps1"
|
|
||||||
|
|
||||||
Set-ExecutionPolicy Restricted -Force
|
|
||||||
@@ -1,6 +0,0 @@
|
|||||||
Set-ExecutionPolicy RemoteSigned -Force
|
|
||||||
|
|
||||||
# install jom
|
|
||||||
. "$PSScriptRoot\..\common\jom.ps1"
|
|
||||||
|
|
||||||
Set-ExecutionPolicy Restricted -Force
|
|
||||||
@@ -1,6 +0,0 @@
|
|||||||
Set-ExecutionPolicy RemoteSigned -Force
|
|
||||||
|
|
||||||
# install jom
|
|
||||||
. "$PSScriptRoot\..\common\jom.ps1"
|
|
||||||
|
|
||||||
Set-ExecutionPolicy Restricted -Force
|
|
||||||
@@ -1,6 +0,0 @@
|
|||||||
Set-ExecutionPolicy RemoteSigned -Force
|
|
||||||
|
|
||||||
# install jom
|
|
||||||
. "$PSScriptRoot\..\common\jom.ps1"
|
|
||||||
|
|
||||||
Set-ExecutionPolicy Restricted -Force
|
|
||||||
@@ -1,6 +0,0 @@
|
|||||||
Set-ExecutionPolicy RemoteSigned -Force
|
|
||||||
|
|
||||||
# install jom
|
|
||||||
. "$PSScriptRoot\..\common\jom.ps1"
|
|
||||||
|
|
||||||
Set-ExecutionPolicy Restricted -Force
|
|
||||||
329
init-repository
329
init-repository
@@ -39,128 +39,155 @@ use warnings;
|
|||||||
package Qt::InitRepository;
|
package Qt::InitRepository;
|
||||||
|
|
||||||
|
|
||||||
sub printUsage($)
|
=head1 NAME
|
||||||
{
|
|
||||||
my ($ex) = @_;
|
|
||||||
|
|
||||||
print <<EOF ;
|
init-repository - initialize the Qt5 repository and all submodules
|
||||||
Usage:
|
|
||||||
./init-repository [options]
|
|
||||||
|
|
||||||
This script may be run after an initial `git clone' of Qt5 in order to
|
=head1 SYNOPSIS
|
||||||
check out all submodules. It fetches them from canonical URLs inferred
|
|
||||||
from the clone's origin.
|
|
||||||
|
|
||||||
Options:
|
./init-repository [options]
|
||||||
Global options:
|
|
||||||
|
|
||||||
--force, -f
|
This script may be run after an initial `git clone' of Qt5 in order to check
|
||||||
Force initialization (even if the submodules are already checked
|
out all submodules.
|
||||||
out).
|
|
||||||
|
|
||||||
--force-hooks
|
|
||||||
Force initialization of hooks (even if there are already hooks in
|
|
||||||
checked out submodules).
|
|
||||||
|
|
||||||
--quiet, -q
|
=head1 OPTIONS
|
||||||
Be quiet. Will exit cleanly if the repository is already
|
|
||||||
initialized.
|
|
||||||
|
|
||||||
Module options:
|
B<Global options:>
|
||||||
|
|
||||||
--module-subset=<module1>,<module2>...
|
=over
|
||||||
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".
|
|
||||||
|
|
||||||
--no-update
|
=item --force, -f
|
||||||
Skip the `git submodule update' command.
|
|
||||||
|
|
||||||
--branch
|
Force initialization (even if the submodules are already checked out).
|
||||||
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.
|
|
||||||
|
|
||||||
--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
|
=item --force-hooks
|
||||||
override it as needed.
|
|
||||||
|
|
||||||
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
|
=item --quiet, -q
|
||||||
Switch to internal URLs and make use of the Oslo git mirrors.
|
|
||||||
(Implies `--mirror').
|
|
||||||
|
|
||||||
--codereview-username <Gerrit/JIRA username>
|
Be quiet. Will exit cleanly if the repository is already initialized.
|
||||||
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
|
=back
|
||||||
username and port number, and thus relies on a correct SSH
|
|
||||||
configuration.
|
|
||||||
|
|
||||||
--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
|
=over
|
||||||
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.
|
|
||||||
|
|
||||||
--copy-objects
|
=item --no-webkit
|
||||||
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.
|
|
||||||
|
|
||||||
Note that this negates the disk usage benefits gained from the use
|
Skip webkit and webkit examples submodules.
|
||||||
of `--alternates'.
|
It may be desirable to skip these modules due to the large size of the webkit
|
||||||
|
git repository.
|
||||||
|
|
||||||
--mirror <url-base>
|
=item --module-subset=<module1>,<module2>...
|
||||||
Uses <url-base> as the base URL for submodule git mirrors.
|
|
||||||
|
|
||||||
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
|
Instead of checking out specific SHA1s, check out the submodule branches that
|
||||||
missing modules will fall back to the canonical URLs.
|
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
|
=item --ignore-submodules
|
||||||
exit($ex);
|
|
||||||
}
|
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 Carp qw( confess );
|
||||||
use English qw( -no_match_vars );
|
use English qw( -no_match_vars );
|
||||||
use Getopt::Long qw( GetOptions );
|
use Getopt::Long qw( GetOptionsFromArray );
|
||||||
use Cwd qw( getcwd abs_path );
|
use Pod::Usage qw( pod2usage );
|
||||||
|
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@/';
|
||||||
@@ -200,7 +227,7 @@ sub exe
|
|||||||
|
|
||||||
sub parse_arguments
|
sub parse_arguments
|
||||||
{
|
{
|
||||||
my ($self) = @_;
|
my ($self, @args) = @_;
|
||||||
|
|
||||||
%{$self} = (%{$self},
|
%{$self} = (%{$self},
|
||||||
'alternates' => "",
|
'alternates' => "",
|
||||||
@@ -212,10 +239,11 @@ sub parse_arguments
|
|||||||
'ignore-submodules' => 0 ,
|
'ignore-submodules' => 0 ,
|
||||||
'mirror-url' => "",
|
'mirror-url' => "",
|
||||||
'update' => 1 ,
|
'update' => 1 ,
|
||||||
|
'webkit' => 1 ,
|
||||||
'module-subset' => "default",
|
'module-subset' => "default",
|
||||||
);
|
);
|
||||||
|
|
||||||
GetOptions(
|
GetOptionsFromArray(\@args,
|
||||||
'alternates=s' => \$self->{qw{ alternates }},
|
'alternates=s' => \$self->{qw{ alternates }},
|
||||||
'branch' => \$self->{qw{ branch }},
|
'branch' => \$self->{qw{ branch }},
|
||||||
'codereview-username=s' => \$self->{qw{ codereview-username }},
|
'codereview-username=s' => \$self->{qw{ codereview-username }},
|
||||||
@@ -226,9 +254,10 @@ sub parse_arguments
|
|||||||
'mirror=s' => \$self->{qw{ mirror-url }},
|
'mirror=s' => \$self->{qw{ mirror-url }},
|
||||||
'quiet' => \$self->{qw{ quiet }},
|
'quiet' => \$self->{qw{ quiet }},
|
||||||
'update!' => \$self->{qw{ update }},
|
'update!' => \$self->{qw{ update }},
|
||||||
|
'webkit!' => \$self->{qw{ webkit }},
|
||||||
'module-subset=s' => \$self->{qw{ module-subset }},
|
'module-subset=s' => \$self->{qw{ module-subset }},
|
||||||
|
|
||||||
'help|?' => sub { printUsage(1); },
|
'help|?' => sub { pod2usage(1); },
|
||||||
|
|
||||||
'berlin' => sub {
|
'berlin' => sub {
|
||||||
$self->{'mirror-url'} = $BER_MIRROR_URL_BASE;
|
$self->{'mirror-url'} = $BER_MIRROR_URL_BASE;
|
||||||
@@ -236,13 +265,15 @@ sub parse_arguments
|
|||||||
'oslo' => sub {
|
'oslo' => sub {
|
||||||
$self->{'mirror-url'} = $OSLO_MIRROR_URL_BASE;
|
$self->{'mirror-url'} = $OSLO_MIRROR_URL_BASE;
|
||||||
},
|
},
|
||||||
) || printUsage(2);
|
) || pod2usage(2);
|
||||||
|
|
||||||
# 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'}) ];
|
||||||
|
if (!$self->{webkit}) {
|
||||||
|
push @{$self->{'module-subset'}}, "-qtwebkit", "-qtwebkit-examples";
|
||||||
|
}
|
||||||
|
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
@@ -280,14 +311,6 @@ 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) = @_;
|
||||||
@@ -311,58 +334,22 @@ sub git_clone_all_submodules
|
|||||||
while ($base =~ s,/(?!\.\./)[^/]+/\.\./,/,g) {}
|
while ($base =~ s,/(?!\.\./)[^/]+/\.\./,/,g) {}
|
||||||
$subbases{$mod} = $base;
|
$subbases{$mod} = $base;
|
||||||
} elsif ($2 eq "update") {
|
} elsif ($2 eq "update") {
|
||||||
push @subset, '-'.$1 if ($3 eq 'none');
|
push @subset, '-'.$1 if ($3 eq 'ignore');
|
||||||
} elsif ($2 eq "status") {
|
} elsif ($2 eq "initrepo") {
|
||||||
if ($3 eq "preview") {
|
$subinits{$1} = ($3 eq "yes" or $3 eq "true");
|
||||||
$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") {
|
||||||
@what = keys %subbases;
|
map { $include{$_} = 1; } keys %subbases;
|
||||||
} elsif ($mod eq "essential") {
|
} elsif ($mod eq "default") {
|
||||||
@what = grep { ($subinits{$_} || 0) eq STS_ESSENTIAL } keys %subbases;
|
map { $include{$_} = 1; } grep { $subinits{$_} } keys %subbases;
|
||||||
} elsif ($mod eq "addon") {
|
} elsif ($mod =~ s/^-//) {
|
||||||
@what = grep { ($subinits{$_} || 0) eq STS_ADDON } keys %subbases;
|
delete $include{$mod};
|
||||||
} 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 {
|
||||||
$fail = 1;
|
$include{$mod} = 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;
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -535,16 +522,11 @@ 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});
|
||||||
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
|
# 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";
|
||||||
# Make the path palatable for MSYS.
|
print SCRIPT "#!/bin/sh\nexec `dirname \$0`/$src \"\$\@\"\n";
|
||||||
$src =~ s,\\,/,g;
|
|
||||||
$src =~ s,^(.):/,/$1/,g;
|
|
||||||
print SCRIPT "#!/bin/sh\nexec $src \"\$\@\"\n";
|
|
||||||
close SCRIPT;
|
close SCRIPT;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -552,30 +534,19 @@ sub git_install_hooks
|
|||||||
{
|
{
|
||||||
my ($self) = @_;
|
my ($self) = @_;
|
||||||
|
|
||||||
my $hooks = $script_path.'/qtrepotools/git-hooks';
|
return if (!-d 'qtrepotools/git-hooks');
|
||||||
return if (!-d $hooks);
|
|
||||||
|
|
||||||
my @configresult = qx(git config --list --local);
|
# Force C locale as git submodule returns the localized string "Entering"
|
||||||
foreach my $line (@configresult) {
|
local $ENV{LC_ALL} = 'C';
|
||||||
next if ($line !~ /submodule\.([^.=]+)\.url=/);
|
chomp(my @modules = `git submodule foreach :`);
|
||||||
my $module = $1.'/.git';
|
push @modules, "";
|
||||||
if (!-d $module) {
|
for my $module (@modules) {
|
||||||
open GITD, $module or die "Cannot open $module: $!\n";
|
$module =~ s,^Entering \'([^\']+)\'$,$1/,;
|
||||||
my $gd = <GITD>;
|
my $rel = $module;
|
||||||
close GITD;
|
$rel =~ s,[^/]+,..,g;
|
||||||
chomp($gd);
|
$rel .= "../../qtrepotools/git-hooks/";
|
||||||
$gd =~ s/^gitdir: // or die "Malformed .git file $module\n";
|
$self->ensure_link($rel.'gerrit_commit_msg_hook', $module.'.git/hooks/commit-msg');
|
||||||
$module = $gd; # We expect it to be always absolute.
|
$self->ensure_link($rel.'git_post_commit_hook', $module.'.git/hooks/post-commit');
|
||||||
if (open COMD, $module.'/commondir') {
|
|
||||||
my $cd = <COMD>;
|
|
||||||
chomp($cd);
|
|
||||||
$module .= '/'.$cd;
|
|
||||||
$module = abs_path($module);
|
|
||||||
close COMD;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
$self->ensure_link($hooks.'/gerrit_commit_msg_hook', $module.'/hooks/commit-msg');
|
|
||||||
$self->ensure_link($hooks.'/git_post_commit_hook', $module.'/hooks/post-commit');
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -602,5 +573,5 @@ sub run
|
|||||||
|
|
||||||
#==============================================================================
|
#==============================================================================
|
||||||
|
|
||||||
Qt::InitRepository->new()->run if (!caller);
|
Qt::InitRepository->new(@ARGV)->run if (!caller);
|
||||||
1;
|
1;
|
||||||
|
|||||||
127
qt.pro
127
qt.pro
@@ -7,68 +7,89 @@ CONFIG -= build_pass # unhack, as it confuses Qt Creator
|
|||||||
|
|
||||||
TEMPLATE = subdirs
|
TEMPLATE = subdirs
|
||||||
|
|
||||||
# Extract submodules from .gitmodules.
|
defineReplace(moduleName) {
|
||||||
lines = $$cat(.gitmodules, lines)
|
return(module_$$replace(1, -, _))
|
||||||
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")
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
QMAKE_INTERNAL_INCLUDED_FILES += $$PWD/.gitmodules
|
|
||||||
|
|
||||||
modules = $$sort_depends(modules, module., .depends .recommends)
|
# Arguments: module name, [mandatory deps], [optional deps], [project file]
|
||||||
modules = $$reverse(modules)
|
defineTest(addModule) {
|
||||||
for (mod, modules) {
|
contains(QT_SKIP_MODULES, $$1): return(false)
|
||||||
equals(module.$${mod}.qt, false): \
|
mod = $$moduleName($$1)
|
||||||
next()
|
|
||||||
|
|
||||||
deps = $$eval(module.$${mod}.depends)
|
isEmpty(4) {
|
||||||
recs = $$eval(module.$${mod}.recommends)
|
!exists($$1/$${1}.pro): return(false)
|
||||||
for (d, $$list($$deps $$recs)): \
|
$${mod}.subdir = $$1
|
||||||
!contains(modules, $$d): \
|
export($${mod}.subdir)
|
||||||
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
|
|
||||||
} else {
|
} else {
|
||||||
!exists($$mod/$$project): \
|
!exists($$1/$${4}): return(false)
|
||||||
next()
|
$${mod}.file = $$1/$$4
|
||||||
$${mod}.file = $$mod/$$project
|
|
||||||
$${mod}.makefile = Makefile
|
$${mod}.makefile = Makefile
|
||||||
|
export($${mod}.file)
|
||||||
|
export($${mod}.makefile)
|
||||||
}
|
}
|
||||||
$${mod}.target = module-$$mod
|
|
||||||
|
|
||||||
for (d, deps) {
|
for(d, 2) {
|
||||||
!contains(SUBDIRS, $$d) {
|
dn = $$moduleName($$d)
|
||||||
$${mod}.target =
|
!contains(SUBDIRS, $$dn): \
|
||||||
break()
|
return(false)
|
||||||
}
|
$${mod}.depends += $$dn
|
||||||
$${mod}.depends += $$d
|
|
||||||
}
|
}
|
||||||
isEmpty($${mod}.target): \
|
for(d, 3) {
|
||||||
next()
|
dn = $$moduleName($$d)
|
||||||
for (d, recs) {
|
contains(SUBDIRS, $$dn): \
|
||||||
contains(SUBDIRS, $$d): \
|
$${mod}.depends += $$dn
|
||||||
$${mod}.depends += $$d
|
|
||||||
}
|
}
|
||||||
|
!isEmpty($${mod}.depends): \
|
||||||
|
export($${mod}.depends)
|
||||||
|
|
||||||
|
$${mod}.target = module-$$1
|
||||||
|
export($${mod}.target)
|
||||||
|
|
||||||
SUBDIRS += $$mod
|
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
2
qt3d
Submodule qt3d updated: 2270fae50f...0bcb6600db
Submodule qtactiveqt updated: a466d724e5...32d9165799
Submodule qtandroidextras updated: 0e10177313...38b83c33f3
2
qtbase
2
qtbase
Submodule qtbase updated: 540978288e...6542161d5c
Submodule qtcanvas3d updated: 72312730a7...e372a67c1b
Submodule qtconnectivity updated: 7393531856...869547fc4f
Submodule qtdeclarative updated: 18e77550f1...219c80b329
2
qtdoc
2
qtdoc
Submodule qtdoc updated: f63dd18eab...03117638dd
Submodule qtenginio updated: d23fb94863...e32bcb7b71
Submodule qtfeedback updated: 28ca624149...862de791d7
Submodule qtgraphicaleffects updated: d01a936b64...9aa0edc6d1
Submodule qtimageformats updated: cbf2d7e769...3c68f26c05
Submodule qtlocation updated: 2bdeea2860...63b118c7da
Submodule qtmacextras updated: 98948ff885...872bbed0a7
Submodule qtmultimedia updated: 711efc552d...c595fc74ab
2
qtpim
2
qtpim
Submodule qtpim updated: de4cfc6b53...18e3d741c3
Submodule qtpurchasing deleted from b5c6c76fac
2
qtqa
2
qtqa
Submodule qtqa updated: 32893be6fa...dca1914237
2
qtquick1
2
qtquick1
Submodule qtquick1 updated: dbc9131ebb...f079636a3e
Submodule qtquickcontrols updated: fcc9c02064...6a9c9710aa
Submodule qtquickcontrols2 deleted from 6ea6881ec8
Submodule qtrepotools updated: be3d47ae95...854c537722
2
qtscript
2
qtscript
Submodule qtscript updated: fc9407affb...50446e4edb
Submodule qtsensors updated: b08c3e69e3...6a16281ace
Submodule qtserialbus deleted from ec7b4b2268
Submodule qtserialport updated: c1355ae41e...ad108e9d56
2
qtsvg
2
qtsvg
Submodule qtsvg updated: 0e69a7c86f...23f263b6aa
Submodule qtsystems updated: cc2077700b...44f70d99a2
2
qttools
2
qttools
Submodule qttools updated: 2d838dd06e...0240288756
Submodule qttranslations updated: efa6513bbf...6fbc830e0e
Submodule qtwayland updated: 920387296a...10fd51a3e6
Submodule qtwebchannel updated: b06c69533b...6a7de61bc1
Submodule qtwebengine updated: 6935142841...6c957003de
2
qtwebkit
2
qtwebkit
Submodule qtwebkit updated: b889f46028...0d592678ba
Submodule qtwebkit-examples updated: 2050389a34...df729f9f28
Submodule qtwebsockets updated: 0637eb3f40...12e424f241
Submodule qtwebview deleted from 6d13d430ae
Submodule qtwinextras updated: e47b073a8a...92359d2d57
Submodule qtx11extras updated: f27489d66c...e4f2f0a146
Submodule qtxmlpatterns updated: 23b764d347...670b2073c0
Reference in New Issue
Block a user