mirror of
git://code.qt.io/qt/qt5.git
synced 2026-09-24 01:16:53 +08:00
Compare commits
66
Commits
dev
..
v6.12.0-beta2
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
f5dd2db8c7 | ||
|
|
b8661307db | ||
|
|
827d8aac17 | ||
|
|
37b00fbdb6 | ||
|
|
00a5d6521e | ||
|
|
fecda61b8b | ||
|
|
e652887125 | ||
|
|
3b9753af82 | ||
|
|
8281d0d88d | ||
|
|
7fdcec5fd8 | ||
|
|
de6c82a9af | ||
|
|
1a994d4985 | ||
|
|
def14d0d95 | ||
|
|
0681ab2022 | ||
|
|
1a3d100ae2 | ||
|
|
b964248bc7 | ||
|
|
38f513cef7 | ||
|
|
36abfb7c88 | ||
|
|
74c5a0baf9 | ||
|
|
e8168e9ad9 | ||
|
|
c7581743be | ||
|
|
895dfd6049 | ||
|
|
9bd7678a84 | ||
|
|
f11b0789cd | ||
|
|
5265a079d6 | ||
|
|
1864674381 | ||
|
|
a32e052158 | ||
|
|
41b643267d | ||
|
|
ed39ecee32 | ||
|
|
e167d1f4cd | ||
|
|
ad6abd6652 | ||
|
|
31495953bc | ||
|
|
5898343d28 | ||
|
|
29048a0bd6 | ||
|
|
9cc786b95f | ||
|
|
ae3c676594 | ||
|
|
c54752381c | ||
|
|
ef44cde7b4 | ||
|
|
76c078526b | ||
|
|
68a06896e8 | ||
|
|
91970290eb | ||
|
|
f59e2a9d49 | ||
|
|
a35ee9f428 | ||
|
|
fe37644291 | ||
|
|
a712dca822 | ||
|
|
eb33647a48 | ||
|
|
21de9acbb0 | ||
|
|
707c9b73d1 | ||
|
|
789719fb7f | ||
|
|
a92ce0b897 | ||
|
|
f1698cf646 | ||
|
|
fda3ae0a1b | ||
|
|
efed03b092 | ||
|
|
db31a3fea6 | ||
|
|
9ce7dff139 | ||
|
|
c6a7d048fb | ||
|
|
2d7ecf2916 | ||
|
|
1dec32bb26 | ||
|
|
a35949147c | ||
|
|
ae842b07f6 | ||
|
|
c3477b4141 | ||
|
|
1c57c021bb | ||
|
|
3816bf9e50 | ||
|
|
527787967e | ||
|
|
1904b28cb6 | ||
|
|
aab11114b3 |
@@ -3,5 +3,6 @@
|
|||||||
.gitattributes export-ignore
|
.gitattributes export-ignore
|
||||||
.commit-template export-ignore eol=lf
|
.commit-template export-ignore eol=lf
|
||||||
init-repository export-ignore
|
init-repository export-ignore
|
||||||
|
README.git export-ignore
|
||||||
*.bat text eol=crlf
|
*.bat text eol=crlf
|
||||||
*.bat.in text eol=crlf
|
*.bat.in text eol=crlf
|
||||||
|
|||||||
+56
-47
@@ -1,54 +1,54 @@
|
|||||||
[submodule "qtbase"]
|
[submodule "qtbase"]
|
||||||
path = qtbase
|
path = qtbase
|
||||||
url = ../qtbase.git
|
url = ../qtbase.git
|
||||||
branch = dev
|
branch = 6.12
|
||||||
status = essential
|
status = essential
|
||||||
[submodule "qtsvg"]
|
[submodule "qtsvg"]
|
||||||
depends = qtbase
|
depends = qtbase
|
||||||
path = qtsvg
|
path = qtsvg
|
||||||
url = ../qtsvg.git
|
url = ../qtsvg.git
|
||||||
branch = dev
|
branch = 6.12
|
||||||
status = addon
|
status = addon
|
||||||
[submodule "qtdeclarative"]
|
[submodule "qtdeclarative"]
|
||||||
depends = qtbase
|
depends = qtbase
|
||||||
recommends = qtimageformats qtshadertools qtsvg qtlanguageserver
|
recommends = qtimageformats qtshadertools qtsvg qtlanguageserver
|
||||||
path = qtdeclarative
|
path = qtdeclarative
|
||||||
url = ../qtdeclarative.git
|
url = ../qtdeclarative.git
|
||||||
branch = dev
|
branch = 6.12
|
||||||
status = essential
|
status = essential
|
||||||
[submodule "qtactiveqt"]
|
[submodule "qtactiveqt"]
|
||||||
depends = qtbase
|
depends = qtbase
|
||||||
path = qtactiveqt
|
path = qtactiveqt
|
||||||
url = ../qtactiveqt.git
|
url = ../qtactiveqt.git
|
||||||
branch = dev
|
branch = 6.12
|
||||||
status = addon
|
status = addon
|
||||||
[submodule "qtmultimedia"]
|
[submodule "qtmultimedia"]
|
||||||
depends = qtbase qtshadertools
|
depends = qtbase qtshadertools
|
||||||
recommends = qtdeclarative qtquick3d
|
recommends = qtdeclarative qtquick3d
|
||||||
path = qtmultimedia
|
path = qtmultimedia
|
||||||
url = ../qtmultimedia.git
|
url = ../qtmultimedia.git
|
||||||
branch = dev
|
branch = 6.12
|
||||||
status = addon
|
status = addon
|
||||||
[submodule "qttools"]
|
[submodule "qttools"]
|
||||||
depends = qtbase
|
depends = qtbase
|
||||||
recommends = qtdeclarative qtactiveqt
|
recommends = qtdeclarative qtactiveqt
|
||||||
path = qttools
|
path = qttools
|
||||||
url = ../qttools.git
|
url = ../qttools.git
|
||||||
branch = dev
|
branch = 6.12
|
||||||
status = essential
|
status = essential
|
||||||
[submodule "qttranslations"]
|
[submodule "qttranslations"]
|
||||||
depends = qttools
|
depends = qttools
|
||||||
path = qttranslations
|
path = qttranslations
|
||||||
url = ../qttranslations.git
|
url = ../qttranslations.git
|
||||||
branch = dev
|
branch = 6.12
|
||||||
status = essential
|
status = essential
|
||||||
priority = 30
|
priority = 30
|
||||||
[submodule "qtdoc"]
|
[submodule "qtdoc"]
|
||||||
depends = qtdeclarative qttools
|
depends = qtdeclarative qttools
|
||||||
recommends = qtmultimedia qtshadertools qttasktree
|
recommends = qtmultimedia qtshadertools qttasktree qtwebengine
|
||||||
path = qtdoc
|
path = qtdoc
|
||||||
url = ../qtdoc.git
|
url = ../qtdoc.git
|
||||||
branch = dev
|
branch = 6.12
|
||||||
status = essential
|
status = essential
|
||||||
priority = 40
|
priority = 40
|
||||||
[submodule "qtrepotools"]
|
[submodule "qtrepotools"]
|
||||||
@@ -61,7 +61,7 @@
|
|||||||
depends = qtbase
|
depends = qtbase
|
||||||
path = qtqa
|
path = qtqa
|
||||||
url = ../qtqa.git
|
url = ../qtqa.git
|
||||||
branch = dev
|
branch = 6.12
|
||||||
status = essential
|
status = essential
|
||||||
priority = 50
|
priority = 50
|
||||||
[submodule "qtlocation"]
|
[submodule "qtlocation"]
|
||||||
@@ -69,234 +69,243 @@
|
|||||||
recommends = qtdeclarative
|
recommends = qtdeclarative
|
||||||
path = qtlocation
|
path = qtlocation
|
||||||
url = ../qtlocation.git
|
url = ../qtlocation.git
|
||||||
branch = dev
|
branch = 6.12
|
||||||
status = preview
|
status = preview
|
||||||
[submodule "qtpositioning"]
|
[submodule "qtpositioning"]
|
||||||
depends = qtbase
|
depends = qtbase
|
||||||
recommends = qtdeclarative qtserialport
|
recommends = qtdeclarative qtserialport
|
||||||
path = qtpositioning
|
path = qtpositioning
|
||||||
url = ../qtpositioning.git
|
url = ../qtpositioning.git
|
||||||
branch = dev
|
branch = 6.12
|
||||||
status = addon
|
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 = 6.12
|
||||||
status = addon
|
status = addon
|
||||||
[submodule "qtconnectivity"]
|
[submodule "qtconnectivity"]
|
||||||
depends = qtbase
|
depends = qtbase
|
||||||
recommends = qtdeclarative
|
recommends = qtdeclarative
|
||||||
path = qtconnectivity
|
path = qtconnectivity
|
||||||
url = ../qtconnectivity.git
|
url = ../qtconnectivity.git
|
||||||
branch = dev
|
branch = 6.12
|
||||||
status = addon
|
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 = 6.12
|
||||||
status = addon
|
status = addon
|
||||||
[submodule "qt3d"]
|
[submodule "qt3d"]
|
||||||
depends = qtbase
|
depends = qtbase
|
||||||
recommends = qtdeclarative qtshadertools qtmultimedia
|
recommends = qtdeclarative qtshadertools qtmultimedia
|
||||||
path = qt3d
|
path = qt3d
|
||||||
url = ../qt3d.git
|
url = ../qt3d.git
|
||||||
branch = dev
|
branch = 6.12
|
||||||
status = deprecated
|
status = deprecated
|
||||||
[submodule "qtimageformats"]
|
[submodule "qtimageformats"]
|
||||||
depends = qtbase
|
depends = qtbase
|
||||||
path = qtimageformats
|
path = qtimageformats
|
||||||
url = ../qtimageformats.git
|
url = ../qtimageformats.git
|
||||||
branch = dev
|
branch = 6.12
|
||||||
status = addon
|
status = addon
|
||||||
[submodule "qtserialbus"]
|
[submodule "qtserialbus"]
|
||||||
depends = qtbase
|
depends = qtbase
|
||||||
recommends = qtserialport
|
recommends = qtserialport
|
||||||
path = qtserialbus
|
path = qtserialbus
|
||||||
url = ../qtserialbus.git
|
url = ../qtserialbus.git
|
||||||
branch = dev
|
branch = 6.12
|
||||||
status = addon
|
status = addon
|
||||||
[submodule "qtserialport"]
|
[submodule "qtserialport"]
|
||||||
depends = qtbase
|
depends = qtbase
|
||||||
path = qtserialport
|
path = qtserialport
|
||||||
url = ../qtserialport.git
|
url = ../qtserialport.git
|
||||||
branch = dev
|
branch = 6.12
|
||||||
status = addon
|
status = addon
|
||||||
[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 = 6.12
|
||||||
status = addon
|
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 = 6.12
|
||||||
status = addon
|
status = addon
|
||||||
|
[submodule "qtwebengine"]
|
||||||
|
depends = qtdeclarative
|
||||||
|
recommends = qtwebchannel qttools qtpositioning
|
||||||
|
path = qtwebengine
|
||||||
|
url = ../qtwebengine.git
|
||||||
|
branch = 6.12
|
||||||
|
status = addon
|
||||||
|
priority = 10
|
||||||
[submodule "qtwebview"]
|
[submodule "qtwebview"]
|
||||||
depends = qtdeclarative
|
depends = qtdeclarative
|
||||||
|
recommends = qtwebengine
|
||||||
path = qtwebview
|
path = qtwebview
|
||||||
url = ../qtwebview.git
|
url = ../qtwebview.git
|
||||||
branch = dev
|
branch = 6.12
|
||||||
status = addon
|
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 = 6.12
|
||||||
status = deprecated
|
status = deprecated
|
||||||
[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 = 6.12
|
||||||
status = deprecated
|
status = deprecated
|
||||||
[submodule "qtvirtualkeyboard"]
|
[submodule "qtvirtualkeyboard"]
|
||||||
depends = qtbase qtdeclarative qtsvg
|
depends = qtbase qtdeclarative qtsvg
|
||||||
recommends = qtmultimedia
|
recommends = qtmultimedia
|
||||||
path = qtvirtualkeyboard
|
path = qtvirtualkeyboard
|
||||||
url = ../qtvirtualkeyboard.git
|
url = ../qtvirtualkeyboard.git
|
||||||
branch = dev
|
branch = 6.12
|
||||||
status = addon
|
status = addon
|
||||||
[submodule "qtscxml"]
|
[submodule "qtscxml"]
|
||||||
depends = qtbase qtdeclarative
|
depends = qtbase qtdeclarative
|
||||||
path = qtscxml
|
path = qtscxml
|
||||||
url = ../qtscxml.git
|
url = ../qtscxml.git
|
||||||
branch = dev
|
branch = 6.12
|
||||||
status = addon
|
status = addon
|
||||||
[submodule "qtspeech"]
|
[submodule "qtspeech"]
|
||||||
depends = qtbase qtmultimedia
|
depends = qtbase qtmultimedia
|
||||||
recommends = qtdeclarative
|
recommends = qtdeclarative
|
||||||
path = qtspeech
|
path = qtspeech
|
||||||
url = ../qtspeech.git
|
url = ../qtspeech.git
|
||||||
branch = dev
|
branch = 6.12
|
||||||
status = addon
|
status = addon
|
||||||
[submodule "qtnetworkauth"]
|
[submodule "qtnetworkauth"]
|
||||||
depends = qtbase
|
depends = qtbase
|
||||||
path = qtnetworkauth
|
path = qtnetworkauth
|
||||||
url = ../qtnetworkauth.git
|
url = ../qtnetworkauth.git
|
||||||
branch = dev
|
branch = 6.12
|
||||||
status = addon
|
status = addon
|
||||||
[submodule "qtremoteobjects"]
|
[submodule "qtremoteobjects"]
|
||||||
depends = qtbase
|
depends = qtbase
|
||||||
recommends = qtdeclarative
|
recommends = qtdeclarative
|
||||||
path = qtremoteobjects
|
path = qtremoteobjects
|
||||||
url = ../qtremoteobjects.git
|
url = ../qtremoteobjects.git
|
||||||
branch = dev
|
branch = 6.12
|
||||||
status = addon
|
status = addon
|
||||||
[submodule "qtlottie"]
|
[submodule "qtlottie"]
|
||||||
depends = qtbase qtdeclarative qtquicktimeline
|
depends = qtbase qtdeclarative qtquicktimeline
|
||||||
path = qtlottie
|
path = qtlottie
|
||||||
url = ../qtlottie.git
|
url = ../qtlottie.git
|
||||||
branch = dev
|
branch = 6.12
|
||||||
status = addon
|
status = addon
|
||||||
[submodule "qtquicktimeline"]
|
[submodule "qtquicktimeline"]
|
||||||
depends = qtbase qtdeclarative
|
depends = qtbase qtdeclarative
|
||||||
path = qtquicktimeline
|
path = qtquicktimeline
|
||||||
url = ../qtquicktimeline
|
url = ../qtquicktimeline
|
||||||
branch = dev
|
branch = 6.12
|
||||||
status = addon
|
status = addon
|
||||||
[submodule "qtquick3d"]
|
[submodule "qtquick3d"]
|
||||||
depends = qtbase qtdeclarative qtshadertools
|
depends = qtbase qtdeclarative qtshadertools
|
||||||
recommends = qtquicktimeline
|
recommends = qtquicktimeline
|
||||||
path = qtquick3d
|
path = qtquick3d
|
||||||
url = ../qtquick3d.git
|
url = ../qtquick3d.git
|
||||||
branch = dev
|
branch = 6.12
|
||||||
status = addon
|
status = addon
|
||||||
[submodule "qtshadertools"]
|
[submodule "qtshadertools"]
|
||||||
depends = qtbase
|
depends = qtbase
|
||||||
path = qtshadertools
|
path = qtshadertools
|
||||||
url = ../qtshadertools.git
|
url = ../qtshadertools.git
|
||||||
branch = dev
|
branch = 6.12
|
||||||
status = addon
|
status = addon
|
||||||
[submodule "qt5compat"]
|
[submodule "qt5compat"]
|
||||||
depends = qtbase qtdeclarative
|
depends = qtbase qtdeclarative
|
||||||
path = qt5compat
|
path = qt5compat
|
||||||
url = ../qt5compat.git
|
url = ../qt5compat.git
|
||||||
branch = dev
|
branch = 6.12
|
||||||
status = deprecated
|
status = deprecated
|
||||||
[submodule "qtcoap"]
|
[submodule "qtcoap"]
|
||||||
depends = qtbase
|
depends = qtbase
|
||||||
path = qtcoap
|
path = qtcoap
|
||||||
url = ../qtcoap.git
|
url = ../qtcoap.git
|
||||||
branch = dev
|
branch = 6.12
|
||||||
status = addon
|
status = addon
|
||||||
[submodule "qtmqtt"]
|
[submodule "qtmqtt"]
|
||||||
depends = qtbase qtdeclarative
|
depends = qtbase qtdeclarative
|
||||||
recommends = qtwebsockets
|
recommends = qtwebsockets
|
||||||
path = qtmqtt
|
path = qtmqtt
|
||||||
url = ../qtmqtt.git
|
url = ../qtmqtt.git
|
||||||
branch = dev
|
branch = 6.12
|
||||||
status = addon
|
status = addon
|
||||||
[submodule "qtopcua"]
|
[submodule "qtopcua"]
|
||||||
depends = qtbase qtdeclarative
|
depends = qtbase qtdeclarative
|
||||||
path = qtopcua
|
path = qtopcua
|
||||||
url = ../qtopcua.git
|
url = ../qtopcua.git
|
||||||
branch = dev
|
branch = 6.12
|
||||||
status = addon
|
status = addon
|
||||||
[submodule "qtlanguageserver"]
|
[submodule "qtlanguageserver"]
|
||||||
depends = qtbase
|
depends = qtbase
|
||||||
path = qtlanguageserver
|
path = qtlanguageserver
|
||||||
url = ../qtlanguageserver.git
|
url = ../qtlanguageserver.git
|
||||||
branch = dev
|
branch = 6.12
|
||||||
status = preview
|
status = preview
|
||||||
[submodule "qthttpserver"]
|
[submodule "qthttpserver"]
|
||||||
depends = qtbase
|
depends = qtbase
|
||||||
recommends = qtwebsockets
|
recommends = qtwebsockets
|
||||||
path = qthttpserver
|
path = qthttpserver
|
||||||
url = ../qthttpserver.git
|
url = ../qthttpserver.git
|
||||||
branch = dev
|
branch = 6.12
|
||||||
status = addon
|
status = addon
|
||||||
[submodule "qtquick3dphysics"]
|
[submodule "qtquick3dphysics"]
|
||||||
depends = qtbase qtdeclarative qtquick3d qtshadertools
|
depends = qtbase qtdeclarative qtquick3d qtshadertools
|
||||||
path = qtquick3dphysics
|
path = qtquick3dphysics
|
||||||
url = ../qtquick3dphysics.git
|
url = ../qtquick3dphysics.git
|
||||||
branch = dev
|
branch = 6.12
|
||||||
status = addon
|
status = addon
|
||||||
[submodule "qtgrpc"]
|
[submodule "qtgrpc"]
|
||||||
depends = qtbase
|
depends = qtbase
|
||||||
recommends = qtdeclarative
|
recommends = qtdeclarative
|
||||||
path = qtgrpc
|
path = qtgrpc
|
||||||
url = ../qtgrpc.git
|
url = ../qtgrpc.git
|
||||||
branch = dev
|
branch = 6.12
|
||||||
status = addon
|
status = addon
|
||||||
[submodule "qtquickeffectmaker"]
|
[submodule "qtquickeffectmaker"]
|
||||||
depends = qtbase qtdeclarative qtshadertools
|
depends = qtbase qtdeclarative qtshadertools
|
||||||
recommends = qtquick3d
|
recommends = qtquick3d
|
||||||
path = qtquickeffectmaker
|
path = qtquickeffectmaker
|
||||||
url = ../qtquickeffectmaker.git
|
url = ../qtquickeffectmaker.git
|
||||||
branch = dev
|
branch = 6.12
|
||||||
status = addon
|
status = addon
|
||||||
[submodule "qtgraphs"]
|
[submodule "qtgraphs"]
|
||||||
depends = qtbase qtdeclarative qtquick3d
|
depends = qtbase qtdeclarative qtquick3d
|
||||||
path = qtgraphs
|
path = qtgraphs
|
||||||
url = ../qtgraphs.git
|
url = ../qtgraphs.git
|
||||||
branch = dev
|
branch = 6.12
|
||||||
status = addon
|
status = addon
|
||||||
[submodule "qttasktree"]
|
[submodule "qttasktree"]
|
||||||
depends = qtbase
|
depends = qtbase
|
||||||
path = qttasktree
|
path = qttasktree
|
||||||
url = ../qttasktree.git
|
url = ../qttasktree.git
|
||||||
branch = dev
|
branch = 6.12
|
||||||
status = preview
|
status = preview
|
||||||
[submodule "qtopenapi"]
|
[submodule "qtopenapi"]
|
||||||
depends = qtbase
|
depends = qtbase
|
||||||
recommends = qtdeclarative
|
recommends = qtdeclarative
|
||||||
path = qtopenapi
|
path = qtopenapi
|
||||||
url = ../qtopenapi.git
|
url = ../qtopenapi.git
|
||||||
branch = dev
|
branch = 6.12
|
||||||
status = preview
|
status = preview
|
||||||
[submodule "qtcanvaspainter"]
|
[submodule "qtcanvaspainter"]
|
||||||
depends = qtbase qtdeclarative qtshadertools
|
depends = qtbase qtdeclarative qtshadertools
|
||||||
path = qtcanvaspainter
|
path = qtcanvaspainter
|
||||||
url = ../qtcanvaspainter.git
|
url = ../qtcanvaspainter.git
|
||||||
branch = dev
|
branch = 6.12
|
||||||
status = preview
|
status = addon
|
||||||
|
|||||||
@@ -1,30 +0,0 @@
|
|||||||
# Changelog
|
|
||||||
|
|
||||||
This repository does not keep a changelog of its own. Qt is released as a set
|
|
||||||
of modules, and the change information for a release is published with that
|
|
||||||
release rather than tracked here.
|
|
||||||
|
|
||||||
## Where to look
|
|
||||||
|
|
||||||
**Cumulative release notes** are published in
|
|
||||||
[qt/qtreleasenotes](https://code.qt.io/cgit/qt/qtreleasenotes.git/tree/qt).
|
|
||||||
|
|
||||||
**What changed in a Qt version.** Each minor release has a "What's New" page in
|
|
||||||
the Qt documentation. It lists new modules, new and deprecated APIs, and the
|
|
||||||
notable changes per module.
|
|
||||||
See [What's New in Qt 6](https://doc.qt.io/qt-6/whatsnewqt6.html).
|
|
||||||
|
|
||||||
**Release phases and schedule.** Each release has a wiki page with the
|
|
||||||
release plan. See [Qt Releasing Wiki](https://wiki.qt.io/QtReleasing).
|
|
||||||
|
|
||||||
**Moving between major versions.** The
|
|
||||||
[Porting to Qt 6](https://doc.qt.io/qt-6/portingguide.html) guide covers the
|
|
||||||
changes that affect existing code.
|
|
||||||
|
|
||||||
## Qt 4 and Qt 5 changelogs
|
|
||||||
|
|
||||||
Most module repositories feature a `dist` directory holding `changes-*` files.
|
|
||||||
These are no longer maintained. They stop at `changes-6.0.0` and are kept only
|
|
||||||
as a historical record of Qt 4 and Qt 5 releases. Do not add to them, and do
|
|
||||||
not treat them as a current source of change information for Qt 6. Use the
|
|
||||||
sources above instead.
|
|
||||||
@@ -1,23 +0,0 @@
|
|||||||
# Code of conduct
|
|
||||||
|
|
||||||
The Qt Community Code of Conduct applies to everyone who takes part in the Qt
|
|
||||||
Project. It covers any forum, mailing list, wiki, website, IRC channel, public
|
|
||||||
meeting, or private correspondence in the context of the project and its
|
|
||||||
services.
|
|
||||||
|
|
||||||
[QUIP 12](https://contribute.qt-project.org/quips/12) is the Code of Conduct
|
|
||||||
itself and is the authoritative text. It asks participants to be considerate,
|
|
||||||
respectful, collaborative, pragmatic, and supportive of one another, and it
|
|
||||||
explains what each of those means in practice.
|
|
||||||
|
|
||||||
## If something goes wrong
|
|
||||||
|
|
||||||
QUIP 12 describes how the community handles problems. In short: offer personal
|
|
||||||
support to anyone who is being attacked, and remind those involved of the Code
|
|
||||||
of Conduct. Moderators of a mailing list, channel, or forum can suspend access
|
|
||||||
for anyone who persistently breaks it, so raise the matter with them when it
|
|
||||||
needs to go further. Where a disagreement is technical, ask the community for
|
|
||||||
advice or request mediation rather than escalating it into a public dispute.
|
|
||||||
|
|
||||||
Read [QUIP 12](https://contribute.qt-project.org/quips/12) in full for the
|
|
||||||
complete guidance.
|
|
||||||
@@ -1,29 +0,0 @@
|
|||||||
# Governance
|
|
||||||
|
|
||||||
The Qt Project is a meritocratic, consensus-based community. Anyone with an
|
|
||||||
interest in Qt can join it, take part in its decision-making, and contribute to
|
|
||||||
Qt's development.
|
|
||||||
|
|
||||||
[QUIP 2](https://contribute.qt-project.org/quips/2) is the Qt Governance Model
|
|
||||||
and is the authoritative text. It describes five levels of involvement and how
|
|
||||||
people move between them:
|
|
||||||
|
|
||||||
* **Users** — community members who use Qt. They report bugs, help other
|
|
||||||
users, and advocate for the project.
|
|
||||||
* **Contributors** — community members who provide input to the project, by
|
|
||||||
proposing changes in Gerrit, reviewing, writing documentation, or testing.
|
|
||||||
There is no selection process.
|
|
||||||
* **Approvers** — contributors who have shown a sustained commitment to the
|
|
||||||
project and who can approve changes for inclusion.
|
|
||||||
* **Maintainers** — approvers responsible for a specific area of Qt, who
|
|
||||||
decide what happens in the code they maintain.
|
|
||||||
* **Chief Maintainer** — leads the maintainer group, sets the overall
|
|
||||||
direction of the project, and has the final say when the project fails to
|
|
||||||
reach consensus.
|
|
||||||
|
|
||||||
The current maintainers are listed at
|
|
||||||
[wiki.qt.io/Maintainers](https://wiki.qt.io/Maintainers).
|
|
||||||
|
|
||||||
For the processes that sit alongside this model — the branch policy, the
|
|
||||||
security policy, the code of conduct, and the rest — see
|
|
||||||
[contribute.qt-project.org](https://contribute.qt-project.org/).
|
|
||||||
-69
@@ -1,69 +0,0 @@
|
|||||||
Qt licensing
|
|
||||||
============
|
|
||||||
|
|
||||||
Qt is not distributed under a single license, and this file is not a license
|
|
||||||
text. Qt is available under commercial terms and under several open source
|
|
||||||
licenses, and which terms apply depends on the module and the file.
|
|
||||||
|
|
||||||
The open source licenses in use across the Qt repositories include LGPL-3.0,
|
|
||||||
GPL-2.0, and GPL-3.0 for module implementations, GFDL-1.3 for documentation,
|
|
||||||
and BSD-3-Clause for build system files, examples, and tooling. Third-party
|
|
||||||
code bundled inside a module carries its own terms.
|
|
||||||
|
|
||||||
|
|
||||||
How licensing is declared
|
|
||||||
-------------------------
|
|
||||||
|
|
||||||
Licensing is declared per file, following the
|
|
||||||
[REUSE version 3.3 specification](https://reuse.software/spec-3.3/). Every file
|
|
||||||
carries an SPDX-License-Identifier header, or is covered by an adjacent
|
|
||||||
REUSE.toml file where an inline header is not possible. The full text of every
|
|
||||||
license referenced this way is in the LICENSES directory of the repository it
|
|
||||||
applies to.
|
|
||||||
|
|
||||||
Those SPDX headers and the LICENSES directory are the authoritative,
|
|
||||||
machine-readable record for the Qt sources. They are what the REUSE tool and
|
|
||||||
Qt's software bill of materials pipeline read when generating the SBOM for the
|
|
||||||
sources; they do not describe the licensing of Qt binaries.
|
|
||||||
|
|
||||||
|
|
||||||
Finding the terms for a module
|
|
||||||
------------------------------
|
|
||||||
|
|
||||||
Each Qt module carries its own licensing, and the terms are stated in the
|
|
||||||
"Licenses and Attributions" section of that module's documentation overview
|
|
||||||
page. For example, see:
|
|
||||||
|
|
||||||
https://doc.qt.io/qt-6/qtcore-index.html
|
|
||||||
|
|
||||||
That section also lists the third-party code the module includes and the
|
|
||||||
license of each such component.
|
|
||||||
|
|
||||||
License of built modules and tools
|
|
||||||
----------------------------------
|
|
||||||
|
|
||||||
When building Qt, you can build SBOM documents alongside (`-sbom` argument for
|
|
||||||
`configure`). You can use the generated SBOM artifacts to query copyrights and
|
|
||||||
licenses for built modules, and tools. For more details, see
|
|
||||||
[Software Bill of Materials](https://doc.qt.io/qt-6/sbom.html}.
|
|
||||||
|
|
||||||
Further information
|
|
||||||
-------------------
|
|
||||||
|
|
||||||
Qt licensing overview
|
|
||||||
https://doc.qt.io/qt-6/licensing.html
|
|
||||||
|
|
||||||
Licenses used in Qt
|
|
||||||
https://doc.qt.io/qt-6/licenses-used-in-qt.html
|
|
||||||
|
|
||||||
All Qt modules
|
|
||||||
https://doc.qt.io/qt-6/qtmodules.html
|
|
||||||
|
|
||||||
Commercial licensing
|
|
||||||
https://www.qt.io/licensing/
|
|
||||||
|
|
||||||
Open source licensing and its obligations
|
|
||||||
https://www.qt.io/download-open-source
|
|
||||||
|
|
||||||
Qt educational license
|
|
||||||
https://www.qt.io/qt-educational-license
|
|
||||||
+57
@@ -0,0 +1,57 @@
|
|||||||
|
OBTAINING QT 6 FROM GIT
|
||||||
|
=======================
|
||||||
|
|
||||||
|
Synopsis
|
||||||
|
========
|
||||||
|
|
||||||
|
For a more in-depth description on how to build Qt 6 from git,
|
||||||
|
please see: http://wiki.qt.io/Building_Qt_6_from_Git
|
||||||
|
|
||||||
|
Note that, although the git module is called qt5.git, the dev and 6.x branches
|
||||||
|
do contain Qt 6!
|
||||||
|
|
||||||
|
Get The Submodules
|
||||||
|
==================
|
||||||
|
|
||||||
|
Cloning qt5.git does not automatically clone all submodules.
|
||||||
|
To get the submodules, it is recommended to use the `init-repository' script.
|
||||||
|
|
||||||
|
./init-repository
|
||||||
|
|
||||||
|
See `./init-repository -help' for full documentation on the many supported
|
||||||
|
options.
|
||||||
|
|
||||||
|
|
||||||
|
Update The Submodules (optional)
|
||||||
|
================================
|
||||||
|
|
||||||
|
After a plain `git clone' and `init-repository', you will have each submodule
|
||||||
|
checked out to a particular SHA1. This combination of SHA1s is guaranteed to
|
||||||
|
have passed some basic acceptance testing.
|
||||||
|
|
||||||
|
If (and only if!) you need newer versions of some submodules, you can manually
|
||||||
|
fetch and/or pull and/or reset any modules you like, or use the qt5_tool to
|
||||||
|
pull all modules:
|
||||||
|
|
||||||
|
./qtrepotools/bin/qt5_tool -p
|
||||||
|
|
||||||
|
NOTE! As soon as you change the SHA1 of any submodule, you are using a
|
||||||
|
combination of modules which is potentially untested and broken! If you want
|
||||||
|
something which is more likely to compile, stick to the module SHA1s provided
|
||||||
|
in this repository.
|
||||||
|
|
||||||
|
|
||||||
|
Install The Git Grafts (optional)
|
||||||
|
=================================
|
||||||
|
|
||||||
|
If you want to be able to connect the Qt5 and Qt4 development history, you
|
||||||
|
may set up git grafts with the following command:
|
||||||
|
|
||||||
|
git submodule foreach '../qtrepotools/bin/git-qt-grafts <path_to_history>'
|
||||||
|
|
||||||
|
|
||||||
|
Developing and Contributing to Qt
|
||||||
|
=================================
|
||||||
|
|
||||||
|
For more information on how to develop and contribute to Qt, please see:
|
||||||
|
http://wiki.qt.io/Category:Developing_Qt
|
||||||
@@ -1,80 +1,127 @@
|
|||||||
# Qt 6
|
HOW TO BUILD Qt 6
|
||||||
|
=================
|
||||||
|
|
||||||
This repository, `qt5.git`, is the Qt super-repository. It records a git
|
|
||||||
submodule pointer to each Qt module repository, such as `qtbase` and
|
|
||||||
`qtdeclarative`, along with the build system, the `configure` scripts, and the
|
|
||||||
continuous integration configuration that build those modules as a single tree.
|
|
||||||
|
|
||||||
Each submodule points at a specific revision. The combination of revisions that
|
Synopsis
|
||||||
a branch records is a snapshot that has passed Qt's continuous integration.
|
========
|
||||||
Clone this repository first and let it select the module revisions for you. If
|
|
||||||
you move a submodule to a different revision, you are building a combination
|
|
||||||
that nobody has tested.
|
|
||||||
|
|
||||||
> Despite the name `qt5.git`, the `dev` and `6.x` branches contain Qt 6.
|
System requirements
|
||||||
|
-------------------
|
||||||
|
|
||||||
To use Qt rather than build it from sources, see
|
* C++ compiler supporting the C++17 standard
|
||||||
[Get and Install Qt](https://doc.qt.io/qt-6/get-and-install-qt.html).
|
* CMake
|
||||||
|
* Ninja
|
||||||
|
* Python 3
|
||||||
|
|
||||||
## Repository layout
|
For more details, see also https://doc.qt.io/qt-6/build-sources.html
|
||||||
|
|
||||||
Each Qt module lives in its own directory, such as `qtbase` or
|
Linux, Mac:
|
||||||
`qtdeclarative`. Those directories are git submodules.
|
-----------
|
||||||
|
|
||||||
The other top-level entries are:
|
```
|
||||||
|
cd <path>/<source_package>
|
||||||
|
./configure -prefix $PWD/qtbase
|
||||||
|
cmake --build .
|
||||||
|
```
|
||||||
|
|
||||||
| Entry | Purpose |
|
Windows:
|
||||||
| ----- | ------- |
|
--------
|
||||||
|`.gitmodules`| Lists modules for the current branch.|
|
|
||||||
| `CMakeLists.txt` | Entry point for the top-level build of all modules. |
|
|
||||||
| `configure`, `configure.bat` | Wrappers that configure that build. |
|
|
||||||
| `init-repository` | Checks out the submodules. Git clones only. |
|
|
||||||
| `cmake/` | CMake modules shared by the top-level build. |
|
|
||||||
| `coin/` | Continuous integration configuration and provisioning. |
|
|
||||||
| `LICENSES/`, `REUSE.toml` | License texts and per-file licensing metadata. |
|
|
||||||
|
|
||||||
## Get the sources
|
1. Open a command prompt.
|
||||||
|
2. Ensure that the following tools can be found in the path:
|
||||||
|
* Supported compiler (Visual Studio 2022 or later, or MinGW-builds gcc 13.1 or later)
|
||||||
|
* Python 3 ([https://www.python.org/downloads/windows/] or from Microsoft Store)
|
||||||
|
|
||||||
For instructions, see [Getting Qt Sources from the Git repository](https://doc.qt.io/qt-6/getting-sources-from-git.html).
|
```
|
||||||
|
cd <path>\<source_package>
|
||||||
|
configure -prefix %CD%\qtbase
|
||||||
|
cmake --build .
|
||||||
|
```
|
||||||
|
|
||||||
## Build Qt
|
More details follow.
|
||||||
|
|
||||||
For instructions, see [Build from sources](https://doc.qt.io/qt-6/build-sources.html).
|
|
||||||
|
|
||||||
## Documentation
|
Build!
|
||||||
|
======
|
||||||
|
|
||||||
The [Qt 6 documentation](https://doc.qt.io/qt-6/index.html) covers the
|
Qt is built with CMake, and a typical
|
||||||
framework itself.
|
`configure && cmake --build .` build process is used.
|
||||||
|
|
||||||
## Report an issue
|
If Ninja is installed, it is automatically chosen as CMake generator.
|
||||||
|
|
||||||
Report bugs at [bugreports.qt.io](https://bugreports.qt.io/), following
|
Some relevant configure options (see configure -help):
|
||||||
[these steps](https://doc.qt.io/qt-6/bughowto.html).
|
|
||||||
|
|
||||||
## Security
|
* `-release` Compile and link Qt with debugging turned off.
|
||||||
|
* `-debug` Compile and link Qt with debugging turned on.
|
||||||
|
|
||||||
To report a security vulnerability in Qt, and to read what the Qt Project
|
Example for a release build:
|
||||||
commits to in response, see [SECURITY.md](SECURITY.md).
|
|
||||||
|
|
||||||
## Contribute to Qt
|
```
|
||||||
|
./configure -prefix $PWD/qtbase
|
||||||
|
cmake --build .
|
||||||
|
```
|
||||||
|
|
||||||
The Qt Project does not accept pull requests on GitHub. Every contribution goes
|
Example for a developer build:
|
||||||
through [Gerrit](https://codereview.qt-project.org), so read
|
(enables more autotests, builds debug version of libraries, ...)
|
||||||
[how to contribute](CONTRIBUTING.md) before you push a change. All
|
|
||||||
participation in the project is subject to our
|
|
||||||
[code of conduct](CODE_OF_CONDUCT.md). To learn who decides what, and how
|
|
||||||
someone becomes an approver or a maintainer, see
|
|
||||||
[how the project is governed](GOVERNANCE.md).
|
|
||||||
Development discussions happens in the open on the
|
|
||||||
[Qt Project mailing lists](https://lists.qt-project.org/).
|
|
||||||
|
|
||||||
## License
|
```
|
||||||
|
./configure -developer-build
|
||||||
|
cmake --build .
|
||||||
|
```
|
||||||
|
|
||||||
Qt is available under both commercial and open source licenses, and the terms
|
See output of `./configure -help` for documentation on various options to
|
||||||
depend on the module you use. [LICENSE](LICENSE) explains how licensing is
|
configure.
|
||||||
declared across the Qt repositories and where to find the terms that apply to
|
|
||||||
a given module.
|
|
||||||
|
|
||||||
For the full picture, see the
|
The above examples will build whatever Qt modules have been enabled
|
||||||
[Qt licensing overview](https://doc.qt.io/qt-6/licensing.html) and
|
by default in the build system.
|
||||||
[qt.io/licensing](https://www.qt.io/licensing/).
|
|
||||||
|
It is possible to build selected repositories with their dependencies by doing
|
||||||
|
a `ninja <repo-name>/all`. For example, to build only qtdeclarative,
|
||||||
|
and the modules it depends on:
|
||||||
|
|
||||||
|
```
|
||||||
|
./configure
|
||||||
|
ninja qtdeclarative/all
|
||||||
|
```
|
||||||
|
|
||||||
|
This can save a lot of time if you are only interested in a subset of Qt.
|
||||||
|
|
||||||
|
|
||||||
|
Hints
|
||||||
|
=====
|
||||||
|
|
||||||
|
The submodule repository `qtrepotools` contains useful scripts for
|
||||||
|
developers and release engineers. Consider adding qtrepotools/bin
|
||||||
|
to your `PATH` environment variable to access them.
|
||||||
|
|
||||||
|
|
||||||
|
Building Qt from git
|
||||||
|
====================
|
||||||
|
|
||||||
|
See http://wiki.qt.io/Building_Qt_6_from_Git and [README.git](README.git)
|
||||||
|
for more information.
|
||||||
|
See http://wiki.qt.io/Qt_6 for the reference platforms.
|
||||||
|
|
||||||
|
|
||||||
|
Documentation
|
||||||
|
=============
|
||||||
|
|
||||||
|
After configuring and compiling Qt, building the documentation is possible by running
|
||||||
|
|
||||||
|
```
|
||||||
|
cmake --build . --target docs
|
||||||
|
```
|
||||||
|
|
||||||
|
After having built the documentation, you need to install it with the following
|
||||||
|
command:
|
||||||
|
|
||||||
|
```
|
||||||
|
cmake --build . --target install_docs
|
||||||
|
```
|
||||||
|
|
||||||
|
The documentation is installed in the path specified with the
|
||||||
|
configure argument `-docdir`.
|
||||||
|
|
||||||
|
Information about Qt's documentation is located in qtbase/doc/README
|
||||||
|
|
||||||
|
Note: Building the documentation is only tested on desktop platforms.
|
||||||
|
|||||||
+3
-3
@@ -34,6 +34,6 @@ We welcome contributions to Qt! If you'd like to contribute, read the
|
|||||||
Qt is available under various licenses. For details, check out the
|
Qt is available under various licenses. For details, check out the
|
||||||
[license documentation](https://doc.qt.io/qt-6/licensing.html).
|
[license documentation](https://doc.qt.io/qt-6/licensing.html).
|
||||||
|
|
||||||
*Note that this README.md.template serves as a guideline for the README.md
|
*Note that this README.md.template serves as a guideline for README.md files,
|
||||||
files of Qt module repositories, and that further sections can be added to
|
and that further sections can be added to individual README.md files if
|
||||||
individual README.md files if necessary.*
|
necessary.*
|
||||||
|
|||||||
+1
-3
@@ -26,9 +26,7 @@ SPDX-FileCopyrightText = "Copyright (C) 2024 The Qt Company Ltd."
|
|||||||
SPDX-License-Identifier = "BSD-3-Clause"
|
SPDX-License-Identifier = "BSD-3-Clause"
|
||||||
|
|
||||||
[[annotations]]
|
[[annotations]]
|
||||||
path = ["**README*", "CONTRIBUTING.md", "CODE_OF_CONDUCT.md", "GOVERNANCE.md",
|
path = ["**README*", "CONTRIBUTING.md", ".commit-template", ".github/pull_request_template.md"]
|
||||||
"SECURITY.md", "CHANGELOG.md", "LICENSE",
|
|
||||||
".commit-template", ".github/pull_request_template.md"]
|
|
||||||
comment = "documentation"
|
comment = "documentation"
|
||||||
precedence = "closest"
|
precedence = "closest"
|
||||||
SPDX-FileCopyrightText = "Copyright (C) 2024 The Qt Company Ltd."
|
SPDX-FileCopyrightText = "Copyright (C) 2024 The Qt Company Ltd."
|
||||||
|
|||||||
-42
@@ -1,42 +0,0 @@
|
|||||||
# Security policy
|
|
||||||
|
|
||||||
## Reporting a vulnerability
|
|
||||||
|
|
||||||
Report suspected security vulnerabilities in Qt by email to
|
|
||||||
<security@qt-project.org>. Do not report them in the public bug tracker at
|
|
||||||
bugreports.qt.io.
|
|
||||||
|
|
||||||
If you hold a commercial license, you can instead report the issue to the Qt
|
|
||||||
Company support team through the support portal, using the "Security Issues"
|
|
||||||
category.
|
|
||||||
|
|
||||||
## The policy
|
|
||||||
|
|
||||||
[QUIP 15](https://contribute.qt-project.org/quips/15) is the Qt Project
|
|
||||||
Security Policy. It is the authoritative source for how the project handles
|
|
||||||
security issues, and it covers:
|
|
||||||
|
|
||||||
* How reports are received, acknowledged, and triaged, and in what time frame.
|
|
||||||
* Who is responsible for addressing an issue, and how it is escalated.
|
|
||||||
* How issues are disclosed, including CVE handling and notification of
|
|
||||||
packagers.
|
|
||||||
* Which versions of Qt fixes are guaranteed for.
|
|
||||||
|
|
||||||
Security announcements are published to the
|
|
||||||
[announce mailing list](https://lists.qt-project.org/listinfo/announce).
|
|
||||||
|
|
||||||
Qt customers with a commercial license now have the opportunity to subscribe to
|
|
||||||
the Qt Early Warning List in the [Customer Portal](https://account.qt.io/). The
|
|
||||||
EWL subscription requires an active
|
|
||||||
[Commercial Qt license](https://www.qt.io/development/qt-framework/commercial-qt).
|
|
||||||
|
|
||||||
## Related material
|
|
||||||
|
|
||||||
* [Security in Qt](https://doc.qt.io/qt-6/security.html) — what Qt does and
|
|
||||||
does not protect against, and how to use Qt securely.
|
|
||||||
* [QUIP 23](https://contribute.qt-project.org/quips/23) — the `Qt-Security`
|
|
||||||
header that marks how security-relevant a source file is.
|
|
||||||
* [QUIP 16](https://contribute.qt-project.org/quips/16) — the branch policy,
|
|
||||||
which governs which branches accept which changes.
|
|
||||||
* [Responsible Vulnerability Disclosure Agreement](https://www.qt.io/terms-conditions/responsible-vulnerability-disclosure-process) -
|
|
||||||
Terms and Conditions of Responsible Vulnerability Disclosure Process at Qt Group.
|
|
||||||
@@ -21,9 +21,7 @@ ColumnLimit: 100
|
|||||||
# Disable reflow of some specific comments
|
# Disable reflow of some specific comments
|
||||||
# qdoc comments: indentation rules are different.
|
# qdoc comments: indentation rules are different.
|
||||||
# Translation comments and SPDX license identifiers are also excluded.
|
# Translation comments and SPDX license identifiers are also excluded.
|
||||||
# REUSE-IgnoreStart
|
|
||||||
CommentPragmas: "^!|^:|^ SPDX-License-Identifier:"
|
CommentPragmas: "^!|^:|^ SPDX-License-Identifier:"
|
||||||
# REUSE-IgnoreEnd
|
|
||||||
|
|
||||||
# We want a space between the type and the star for pointer types.
|
# We want a space between the type and the star for pointer types.
|
||||||
PointerBindsToType: false
|
PointerBindsToType: false
|
||||||
|
|||||||
@@ -181,7 +181,6 @@ function(qt_ir_clone_one_submodule submodule_name)
|
|||||||
set(oneValueArgs
|
set(oneValueArgs
|
||||||
ALTERNATES
|
ALTERNATES
|
||||||
BASE_URL
|
BASE_URL
|
||||||
DEPTH
|
|
||||||
WORKING_DIRECTORY
|
WORKING_DIRECTORY
|
||||||
)
|
)
|
||||||
set(multiValueArgs "")
|
set(multiValueArgs "")
|
||||||
@@ -264,9 +263,6 @@ function(qt_ir_clone_one_submodule submodule_name)
|
|||||||
else()
|
else()
|
||||||
list(APPEND clone_args --no-checkout)
|
list(APPEND clone_args --no-checkout)
|
||||||
endif()
|
endif()
|
||||||
if(arg_DEPTH)
|
|
||||||
list(APPEND clone_args --depth "${arg_DEPTH}")
|
|
||||||
endif()
|
|
||||||
list(APPEND clone_args ${progress_args})
|
list(APPEND clone_args ${progress_args})
|
||||||
qt_ir_execute_process_and_log_and_handle_error(
|
qt_ir_execute_process_and_log_and_handle_error(
|
||||||
COMMAND_ARGS git clone ${clone_args} "${mirror_or_original_url}" "${submodule_path}"
|
COMMAND_ARGS git clone ${clone_args} "${mirror_or_original_url}" "${submodule_path}"
|
||||||
@@ -328,7 +324,7 @@ function(qt_ir_get_already_initialized_submodules prefix
|
|||||||
)
|
)
|
||||||
|
|
||||||
qt_ir_parse_git_config_file_contents("${prefix}"
|
qt_ir_parse_git_config_file_contents("${prefix}"
|
||||||
READ_GIT_CONFIG_LOCAL
|
READ_GIT_CONFIG
|
||||||
PARENT_REPO_BASE_GIT_PATH "${parent_repo_base_git_path}"
|
PARENT_REPO_BASE_GIT_PATH "${parent_repo_base_git_path}"
|
||||||
WORKING_DIRECTORY "${working_directory}"
|
WORKING_DIRECTORY "${working_directory}"
|
||||||
)
|
)
|
||||||
@@ -1067,7 +1063,6 @@ function(qt_ir_handle_init_submodules prefix)
|
|||||||
set(oneValueArgs
|
set(oneValueArgs
|
||||||
ALTERNATES
|
ALTERNATES
|
||||||
BASE_URL
|
BASE_URL
|
||||||
DEPTH
|
|
||||||
PARENT_REPO_BASE_GIT_PATH
|
PARENT_REPO_BASE_GIT_PATH
|
||||||
WORKING_DIRECTORY
|
WORKING_DIRECTORY
|
||||||
)
|
)
|
||||||
@@ -1128,7 +1123,6 @@ function(qt_ir_handle_init_submodules prefix)
|
|||||||
qt_ir_clone_one_submodule(${submodule_name}
|
qt_ir_clone_one_submodule(${submodule_name}
|
||||||
ALTERNATES ${arg_ALTERNATES}
|
ALTERNATES ${arg_ALTERNATES}
|
||||||
BASE_URL ${arg_BASE_URL}
|
BASE_URL ${arg_BASE_URL}
|
||||||
DEPTH "${arg_DEPTH}"
|
|
||||||
WORKING_DIRECTORY "${working_directory}"
|
WORKING_DIRECTORY "${working_directory}"
|
||||||
${branch_flag}
|
${branch_flag}
|
||||||
${fetch_flag}
|
${fetch_flag}
|
||||||
@@ -1169,7 +1163,6 @@ function(qt_ir_handle_init_submodules prefix)
|
|||||||
SUBMODULES "all"
|
SUBMODULES "all"
|
||||||
|
|
||||||
BASE_URL "${base_url}"
|
BASE_URL "${base_url}"
|
||||||
DEPTH "${arg_DEPTH}"
|
|
||||||
PARENT_REPO_BASE_GIT_PATH "${submodule_base_git_path}"
|
PARENT_REPO_BASE_GIT_PATH "${submodule_base_git_path}"
|
||||||
WORKING_DIRECTORY "${working_directory}/${submodule_name}"
|
WORKING_DIRECTORY "${working_directory}/${submodule_name}"
|
||||||
|
|
||||||
|
|||||||
@@ -122,16 +122,6 @@ Options:
|
|||||||
|
|
||||||
Note that this negates the disk usage benefits gained from the use
|
Note that this negates the disk usage benefits gained from the use
|
||||||
of `--alternates'.
|
of `--alternates'.
|
||||||
|
|
||||||
--depth <n>
|
|
||||||
Creates a shallow clone with a history truncated to <n> commits for
|
|
||||||
each submodule that is cloned, by passing `--depth <n>' to `git
|
|
||||||
clone'. This also applies recursively to submodules of submodules
|
|
||||||
(e.g. qtwebengine's third-party dependencies).
|
|
||||||
|
|
||||||
This option only affects submodules that are freshly cloned; it has
|
|
||||||
no effect on already-cloned submodules that are merely updated or
|
|
||||||
fetched.
|
|
||||||
--mirror <url-base>
|
--mirror <url-base>
|
||||||
Uses <url-base> as the base URL for submodule git mirrors.
|
Uses <url-base> as the base URL for submodule git mirrors.
|
||||||
|
|
||||||
|
|||||||
+34
-12
@@ -128,6 +128,7 @@ function(qt_ir_get_args_from_optfile_configure_filtered optfile_path out_var)
|
|||||||
|
|
||||||
set(filtered_args ${unknown_args})
|
set(filtered_args ${unknown_args})
|
||||||
set(extra_configure_args "")
|
set(extra_configure_args "")
|
||||||
|
set(extra_cmake_args "")
|
||||||
|
|
||||||
# Collect modules to skip. These may come from:
|
# Collect modules to skip. These may come from:
|
||||||
# 1. The -skip option (consumed by init-repository's option parser)
|
# 1. The -skip option (consumed by init-repository's option parser)
|
||||||
@@ -148,10 +149,14 @@ function(qt_ir_get_args_from_optfile_configure_filtered optfile_path out_var)
|
|||||||
# have a CMakeLists.txt, so remove it.
|
# have a CMakeLists.txt, so remove it.
|
||||||
list(REMOVE_ITEM include_submodules "qtrepotools")
|
list(REMOVE_ITEM include_submodules "qtrepotools")
|
||||||
|
|
||||||
# Note: the submodules are turned on explicitly with -DBUILD_<module>=ON by configure's
|
# Make sure to explicitly pass -DBUILD_<module>=ON, in case they were
|
||||||
# own handling of -submodules. Adding those arguments here as well would record them in
|
# skipped before, otherwise configure might fail.
|
||||||
# config.opt, which is supposed to reflect the command line as it was given.
|
if(include_submodules)
|
||||||
# See QTBUG-134948.
|
set(explicit_build_submodules "${include_submodules}")
|
||||||
|
list(TRANSFORM explicit_build_submodules PREPEND "-DBUILD_")
|
||||||
|
list(TRANSFORM explicit_build_submodules APPEND "=ON")
|
||||||
|
list(APPEND extra_cmake_args ${explicit_build_submodules})
|
||||||
|
endif()
|
||||||
|
|
||||||
list(JOIN include_submodules "," include_submodules)
|
list(JOIN include_submodules "," include_submodules)
|
||||||
|
|
||||||
@@ -174,15 +179,34 @@ function(qt_ir_get_args_from_optfile_configure_filtered optfile_path out_var)
|
|||||||
list(APPEND extra_configure_args "-skip" "${skip_csv}")
|
list(APPEND extra_configure_args "-skip" "${skip_csv}")
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
# Insert the extra arguments, which are all configure arguments, so they have to go before
|
# Insert the extra arguments into the proper positions before and after '--'.
|
||||||
# a '--' if there is one.
|
list(FIND filtered_args "--" cmake_args_index)
|
||||||
if(extra_configure_args)
|
|
||||||
list(FIND filtered_args "--" cmake_args_index)
|
# -- is not found
|
||||||
if(cmake_args_index EQUAL -1)
|
if(cmake_args_index EQUAL -1)
|
||||||
|
# Append extra configure args if present
|
||||||
|
if(extra_configure_args)
|
||||||
list(APPEND filtered_args ${extra_configure_args})
|
list(APPEND filtered_args ${extra_configure_args})
|
||||||
else()
|
endif()
|
||||||
|
# Append extra cmake args if present, but make sure to add -- first at the end
|
||||||
|
if(extra_cmake_args)
|
||||||
|
list(APPEND filtered_args "--")
|
||||||
|
list(APPEND filtered_args ${extra_cmake_args})
|
||||||
|
endif()
|
||||||
|
else()
|
||||||
|
# -- is found, that means we probably have cmake args
|
||||||
|
# Insert extra configure args if present, before the -- index.
|
||||||
|
if(extra_configure_args)
|
||||||
list(INSERT filtered_args "${cmake_args_index}" ${extra_configure_args})
|
list(INSERT filtered_args "${cmake_args_index}" ${extra_configure_args})
|
||||||
endif()
|
endif()
|
||||||
|
# Find the -- index again, because it might have moved
|
||||||
|
list(FIND filtered_args "--" cmake_args_index)
|
||||||
|
# Compute the index of the argument after the --.
|
||||||
|
math(EXPR cmake_args_index "${cmake_args_index} + 1")
|
||||||
|
# Insert extra cmake args if present, after the -- index.
|
||||||
|
if(extra_cmake_args)
|
||||||
|
list(INSERT filtered_args "${cmake_args_index}" ${extra_cmake_args})
|
||||||
|
endif()
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
# Pass --help if it was requested.
|
# Pass --help if it was requested.
|
||||||
@@ -288,7 +312,6 @@ function(qt_ir_run_after_args_parsed top_level_src_path out_var_exit_reason)
|
|||||||
# Get some additional options to pass down.
|
# Get some additional options to pass down.
|
||||||
qt_ir_get_option_as_existing_absolute_path(alternates alternates)
|
qt_ir_get_option_as_existing_absolute_path(alternates alternates)
|
||||||
qt_ir_get_option_as_cmake_flag_option(branch "CHECKOUT_BRANCH" checkout_branch_option)
|
qt_ir_get_option_as_cmake_flag_option(branch "CHECKOUT_BRANCH" checkout_branch_option)
|
||||||
qt_ir_get_option_value(depth depth)
|
|
||||||
|
|
||||||
# The prefix for the cmake-style 'dictionary' that will be used by various functions.
|
# The prefix for the cmake-style 'dictionary' that will be used by various functions.
|
||||||
set(prefix "ir_top")
|
set(prefix "ir_top")
|
||||||
@@ -298,7 +321,6 @@ function(qt_ir_run_after_args_parsed top_level_src_path out_var_exit_reason)
|
|||||||
ALTERNATES "${alternates}"
|
ALTERNATES "${alternates}"
|
||||||
ALREADY_INITIALIZED_SUBMODULES "${already_initialized_submodules}"
|
ALREADY_INITIALIZED_SUBMODULES "${already_initialized_submodules}"
|
||||||
BASE_URL "${base_url}"
|
BASE_URL "${base_url}"
|
||||||
DEPTH "${depth}"
|
|
||||||
PARENT_REPO_BASE_GIT_PATH "${qt5_repo_name}"
|
PARENT_REPO_BASE_GIT_PATH "${qt5_repo_name}"
|
||||||
PROCESS_SUBMODULES_FROM_COMMAND_LINE
|
PROCESS_SUBMODULES_FROM_COMMAND_LINE
|
||||||
WORKING_DIRECTORY "${working_directory}"
|
WORKING_DIRECTORY "${working_directory}"
|
||||||
|
|||||||
@@ -16,7 +16,6 @@ macro(qt_ir_set_known_command_line_options)
|
|||||||
qt_ir_commandline_option(codereview-username TYPE string)
|
qt_ir_commandline_option(codereview-username TYPE string)
|
||||||
qt_ir_commandline_option(codereview-https TYPE boolean)
|
qt_ir_commandline_option(codereview-https TYPE boolean)
|
||||||
qt_ir_commandline_option(copy-objects TYPE boolean)
|
qt_ir_commandline_option(copy-objects TYPE boolean)
|
||||||
qt_ir_commandline_option(depth TYPE string)
|
|
||||||
qt_ir_commandline_option(fetch TYPE boolean DEFAULT_VALUE yes)
|
qt_ir_commandline_option(fetch TYPE boolean DEFAULT_VALUE yes)
|
||||||
qt_ir_commandline_option(force SHORT_NAME f TYPE boolean)
|
qt_ir_commandline_option(force SHORT_NAME f TYPE boolean)
|
||||||
qt_ir_commandline_option(force-hooks TYPE boolean)
|
qt_ir_commandline_option(force-hooks TYPE boolean)
|
||||||
|
|||||||
@@ -1386,7 +1386,7 @@ function(qt_internal_foreach_repo_run)
|
|||||||
|
|
||||||
set(color_supported FALSE)
|
set(color_supported FALSE)
|
||||||
set(output_goes_where "")
|
set(output_goes_where "")
|
||||||
if(NOT tty_exit_code AND tty_name)
|
if(NOT tty_exit_CODE AND tty_name)
|
||||||
set(color_supported TRUE)
|
set(color_supported TRUE)
|
||||||
set(output_goes_where "OUTPUT_FILE" "${tty_name}")
|
set(output_goes_where "OUTPUT_FILE" "${tty_name}")
|
||||||
endif()
|
endif()
|
||||||
|
|||||||
@@ -30,6 +30,3 @@ enable_if:
|
|||||||
- condition: property
|
- condition: property
|
||||||
property: target.os
|
property: target.os
|
||||||
equals_value: Linux
|
equals_value: Linux
|
||||||
- condition: property
|
|
||||||
property: target.osVersion
|
|
||||||
not_equals_value: HarmonyOS_ANY
|
|
||||||
|
|||||||
@@ -16,13 +16,6 @@ instructions:
|
|||||||
variableName: CONFIGURE_ENV_PREFIX
|
variableName: CONFIGURE_ENV_PREFIX
|
||||||
variableValue: "{{.Env.ENV_PREFIX}}"
|
variableValue: "{{.Env.ENV_PREFIX}}"
|
||||||
|
|
||||||
# Re-fetch the qlitehtml repository in the Coin git mirror, otherwise the
|
|
||||||
# RunCMake.InitRepository test might fail trying to checkout a newer sha1 than what is
|
|
||||||
# available in the Coin git mirror.
|
|
||||||
- type: UpdateRepo
|
|
||||||
gitRemote: code.qt.io
|
|
||||||
repos: [playground/qlitehtml.git]
|
|
||||||
|
|
||||||
- type: ExecuteCommand
|
- type: ExecuteCommand
|
||||||
command: "{{.Env.CONFIGURE_ENV_PREFIX}} cmake {{.SourceDir}}/tests/manual/RunCMake"
|
command: "{{.Env.CONFIGURE_ENV_PREFIX}} cmake {{.SourceDir}}/tests/manual/RunCMake"
|
||||||
executeCommandArgumentSplitingBehavior: SplitAfterVariableSubstitution
|
executeCommandArgumentSplitingBehavior: SplitAfterVariableSubstitution
|
||||||
|
|||||||
@@ -105,20 +105,6 @@ Configurations:
|
|||||||
'VCPKG_HOST_TRIPLET=x64-linux-qt',
|
'VCPKG_HOST_TRIPLET=x64-linux-qt',
|
||||||
'VCPKG_TARGET_TRIPLET=x64-linux-qt',
|
'VCPKG_TARGET_TRIPLET=x64-linux-qt',
|
||||||
]
|
]
|
||||||
# Ubuntu 26.04 x64 Wayland
|
|
||||||
-
|
|
||||||
Id: 'ubuntu-26.04-x64-developer-build'
|
|
||||||
Template: 'qtci-linux-Ubuntu-26.04-x86_64-51'
|
|
||||||
Compiler: 'GCC'
|
|
||||||
Features: ['Sccache', 'UseConfigure', 'InsignificantTests', 'VerboseCTestOutput', 'StandaloneExamples']
|
|
||||||
Configure arguments: '-make examples -developer-build -c++std c++20 -linker gold -qtlibinfix TestInfix -qtnamespace TestNamespace'
|
|
||||||
Environment variables: [
|
|
||||||
'COMMON_TEST_CMAKE_ARGS=-DQT_SKIP_DOCKER_COMPOSE=ON',
|
|
||||||
'NON_QTBASE_CMAKE_ARGS=-DFFMPEG_DIR={{.Env.FFMPEG_DIR}} -DQT_DEPLOY_FFMPEG=TRUE',
|
|
||||||
'VCPKG_HOST_TRIPLET=x64-linux-qt',
|
|
||||||
'VCPKG_TARGET_TRIPLET=x64-linux-qt',
|
|
||||||
]
|
|
||||||
# Ubuntu 24.04 x64 Wayland
|
|
||||||
-
|
-
|
||||||
Id: 'ubuntu-24.04-x64'
|
Id: 'ubuntu-24.04-x64'
|
||||||
Template: 'qtci-linux-Ubuntu-24.04-x86_64-50'
|
Template: 'qtci-linux-Ubuntu-24.04-x86_64-50'
|
||||||
@@ -132,20 +118,6 @@ Configurations:
|
|||||||
'VCPKG_HOST_TRIPLET=x64-linux-qt',
|
'VCPKG_HOST_TRIPLET=x64-linux-qt',
|
||||||
'VCPKG_TARGET_TRIPLET=x64-linux-qt',
|
'VCPKG_TARGET_TRIPLET=x64-linux-qt',
|
||||||
]
|
]
|
||||||
# Ubuntu 26.04 x64 Wayland
|
|
||||||
-
|
|
||||||
Id: 'ubuntu-26.04-x64'
|
|
||||||
Template: 'qtci-linux-Ubuntu-26.04-x86_64-51'
|
|
||||||
Compiler: 'GCC'
|
|
||||||
Features: ['Sccache', 'UseConfigure', 'InsignificantTests', 'VerboseCTestOutput', 'GenerateSBOM', 'VerifySBOM', 'DocsGenerationV2']
|
|
||||||
Configure arguments: '-nomake examples -release -force-debug-info -separate-debug-info -headersclean -qt-libjpeg -qt-libpng -qt-pcre -qt-harfbuzz -qt-doubleconversion -no-libudev -bundled-xcb-xinput'
|
|
||||||
Environment variables: [
|
|
||||||
'CMAKE_ARGS=-DOpenGL_GL_PREFERENCE=LEGACY',
|
|
||||||
'COMMON_TEST_CMAKE_ARGS=-DQT_SKIP_DOCKER_COMPOSE=ON',
|
|
||||||
'NON_QTBASE_CMAKE_ARGS=-DFFMPEG_DIR={{.Env.FFMPEG_DIR}} -DQT_DEPLOY_FFMPEG=TRUE -DINPUT_headersclean=ON',
|
|
||||||
'VCPKG_HOST_TRIPLET=x64-linux-qt',
|
|
||||||
'VCPKG_TARGET_TRIPLET=x64-linux-qt',
|
|
||||||
]
|
|
||||||
# Test on Ubuntu 24.04 x64 X11
|
# Test on Ubuntu 24.04 x64 X11
|
||||||
-
|
-
|
||||||
Id: 'ubuntu-24.04-x64-developer-build-x11-tests'
|
Id: 'ubuntu-24.04-x64-developer-build-x11-tests'
|
||||||
@@ -297,7 +269,7 @@ Configurations:
|
|||||||
Compiler: 'MSVC2022'
|
Compiler: 'MSVC2022'
|
||||||
Target arch: 'arm64'
|
Target arch: 'arm64'
|
||||||
Features: ['Sccache', 'Packaging', 'DoNotRunTests', 'TargetBuildOnly', 'UseConfigure', 'GenerateSBOM', 'VerifySBOM']
|
Features: ['Sccache', 'Packaging', 'DoNotRunTests', 'TargetBuildOnly', 'UseConfigure', 'GenerateSBOM', 'VerifySBOM']
|
||||||
Platform dependency: 'windows-11_24h2-mingw15'
|
Platform dependency: 'windows-11_24h2-mingw13'
|
||||||
Environment variables: [
|
Environment variables: [
|
||||||
'Path={{.Env.MINGW_PATH}}\bin;{{.Env.Path}}',
|
'Path={{.Env.MINGW_PATH}}\bin;{{.Env.Path}}',
|
||||||
'TARGET_CONFIGURE_ARGS=-debug-and-release -force-debug-info -platform win32-arm64-msvc -qt-zlib -no-sql-db2 -no-sql-ibase -no-sql-mysql -no-sql-oci -no-sql-psql -no-sql-mimer',
|
'TARGET_CONFIGURE_ARGS=-debug-and-release -force-debug-info -platform win32-arm64-msvc -qt-zlib -no-sql-db2 -no-sql-ibase -no-sql-mysql -no-sql-oci -no-sql-psql -no-sql-mimer',
|
||||||
@@ -318,7 +290,7 @@ Configurations:
|
|||||||
Compiler: 'MSVC2026'
|
Compiler: 'MSVC2026'
|
||||||
Target arch: 'arm64'
|
Target arch: 'arm64'
|
||||||
Features: ['Sccache', 'DoNotRunTests', 'TargetBuildOnly', 'UseConfigure', 'GenerateSBOM', 'VerifySBOM']
|
Features: ['Sccache', 'DoNotRunTests', 'TargetBuildOnly', 'UseConfigure', 'GenerateSBOM', 'VerifySBOM']
|
||||||
Platform dependency: 'windows-11_24h2-mingw15'
|
Platform dependency: 'windows-11_24h2-mingw13'
|
||||||
Environment variables: [
|
Environment variables: [
|
||||||
'Path={{.Env.MINGW_PATH}}\bin;{{.Env.Path}}',
|
'Path={{.Env.MINGW_PATH}}\bin;{{.Env.Path}}',
|
||||||
'TARGET_CONFIGURE_ARGS=-debug-and-release -force-debug-info -platform win32-arm64-msvc -qt-zlib -no-sql-db2 -no-sql-ibase -no-sql-mysql -no-sql-oci -no-sql-psql -no-sql-mimer',
|
'TARGET_CONFIGURE_ARGS=-debug-and-release -force-debug-info -platform win32-arm64-msvc -qt-zlib -no-sql-db2 -no-sql-ibase -no-sql-mysql -no-sql-oci -no-sql-psql -no-sql-mimer',
|
||||||
@@ -386,7 +358,7 @@ Configurations:
|
|||||||
Id: 'rhel-10.0'
|
Id: 'rhel-10.0'
|
||||||
Template: 'qtci-linux-RHEL-10.0-x86_64-51'
|
Template: 'qtci-linux-RHEL-10.0-x86_64-51'
|
||||||
Compiler: 'GCC'
|
Compiler: 'GCC'
|
||||||
Features: ['Sccache', 'UseConfigure', 'InstallQt5Dependencies', 'GenerateSBOM', 'VerifySBOM', 'DoNotAbortTestingOnFirstFailure']
|
Features: ['Sccache', 'UseConfigure', 'InstallQt5Dependencies', 'GenerateSBOM', 'VerifySBOM', 'InsignificantTests', 'DoNotAbortTestingOnFirstFailure']
|
||||||
Configure arguments: '-nomake examples -release -force-debug-info -headersclean -separate-debug-info -qt-libjpeg -qt-libpng -qt-pcre -qt-harfbuzz -qt-doubleconversion -no-libudev -bundled-xcb-xinput'
|
Configure arguments: '-nomake examples -release -force-debug-info -headersclean -separate-debug-info -qt-libjpeg -qt-libpng -qt-pcre -qt-harfbuzz -qt-doubleconversion -no-libudev -bundled-xcb-xinput'
|
||||||
Environment variables: [
|
Environment variables: [
|
||||||
'CMAKE_ARGS=-DOpenGL_GL_PREFERENCE=LEGACY',
|
'CMAKE_ARGS=-DOpenGL_GL_PREFERENCE=LEGACY',
|
||||||
@@ -395,7 +367,7 @@ Configurations:
|
|||||||
'VCPKG_TARGET_TRIPLET=x64-linux-qt',
|
'VCPKG_TARGET_TRIPLET=x64-linux-qt',
|
||||||
]
|
]
|
||||||
-
|
-
|
||||||
Id: 'ios-device'
|
Id: 'ios-universal'
|
||||||
Template: 'qtci-macos-26-arm-105'
|
Template: 'qtci-macos-26-arm-105'
|
||||||
Target os: 'IOS_ANY'
|
Target os: 'IOS_ANY'
|
||||||
Target arch: 'arm64'
|
Target arch: 'arm64'
|
||||||
@@ -404,35 +376,7 @@ Configurations:
|
|||||||
Platform dependency: 'macos-universal-on-arm64'
|
Platform dependency: 'macos-universal-on-arm64'
|
||||||
Features: ['Packaging', 'Sccache', 'DebugAndRelease', 'DisableTests', 'UseConfigure', 'WarningsAreErrors', 'GenerateSBOM', 'VerifySBOM']
|
Features: ['Packaging', 'Sccache', 'DebugAndRelease', 'DisableTests', 'UseConfigure', 'WarningsAreErrors', 'GenerateSBOM', 'VerifySBOM']
|
||||||
Environment variables: [
|
Environment variables: [
|
||||||
'TARGET_CONFIGURE_ARGS=-debug-and-release -nomake examples -platform macx-ios-clang -sdk iphoneos',
|
'TARGET_CONFIGURE_ARGS=-debug-and-release -nomake examples -platform macx-ios-clang',
|
||||||
'NON_QTBASE_TARGET_CMAKE_ARGS= -DQT_PROTOBUF_WELL_KNOWN_TYPES_PROTO_DIR=/usr/local/include -DFFMPEG_DIR={{.Env.FFMPEG_DIR_IOS}} -DQT_DEPLOY_FFMPEG=TRUE',
|
|
||||||
]
|
|
||||||
-
|
|
||||||
Id: 'ios-arm64-simulator'
|
|
||||||
Template: 'qtci-macos-26-arm-105'
|
|
||||||
Target os: 'IOS_ANY'
|
|
||||||
Target arch: 'arm64'
|
|
||||||
Compiler: 'Clang'
|
|
||||||
Target compiler: 'Clang'
|
|
||||||
Platform dependency: 'macos-universal-on-arm64'
|
|
||||||
Features: ['Packaging', 'Sccache', 'DebugAndRelease', 'DisableTests', 'UseConfigure', 'WarningsAreErrors', 'GenerateSBOM', 'VerifySBOM']
|
|
||||||
Environment variables: [
|
|
||||||
'TARGET_CONFIGURE_ARGS=-debug-and-release -nomake examples -platform macx-ios-clang -sdk iphonesimulator',
|
|
||||||
'TARGET_CMAKE_ARGS=-DCMAKE_OSX_ARCHITECTURES="arm64"',
|
|
||||||
'NON_QTBASE_TARGET_CMAKE_ARGS= -DQT_PROTOBUF_WELL_KNOWN_TYPES_PROTO_DIR=/usr/local/include -DFFMPEG_DIR={{.Env.FFMPEG_DIR_IOS}} -DQT_DEPLOY_FFMPEG=TRUE',
|
|
||||||
]
|
|
||||||
-
|
|
||||||
Id: 'ios-x86_64-simulator'
|
|
||||||
Template: 'qtci-macos-26-arm-105'
|
|
||||||
Target os: 'IOS_ANY'
|
|
||||||
Target arch: 'x86_64'
|
|
||||||
Compiler: 'Clang'
|
|
||||||
Target compiler: 'Clang'
|
|
||||||
Platform dependency: 'macos-universal-on-arm64'
|
|
||||||
Features: ['Packaging', 'Sccache', 'DebugAndRelease', 'DisableTests', 'UseConfigure', 'WarningsAreErrors', 'GenerateSBOM', 'VerifySBOM']
|
|
||||||
Environment variables: [
|
|
||||||
'TARGET_CONFIGURE_ARGS=-debug-and-release -nomake examples -platform macx-ios-clang -sdk iphonesimulator',
|
|
||||||
'TARGET_CMAKE_ARGS=-DCMAKE_OSX_ARCHITECTURES="x86_64"',
|
|
||||||
'NON_QTBASE_TARGET_CMAKE_ARGS= -DQT_PROTOBUF_WELL_KNOWN_TYPES_PROTO_DIR=/usr/local/include -DFFMPEG_DIR={{.Env.FFMPEG_DIR_IOS}} -DQT_DEPLOY_FFMPEG=TRUE',
|
'NON_QTBASE_TARGET_CMAKE_ARGS= -DQT_PROTOBUF_WELL_KNOWN_TYPES_PROTO_DIR=/usr/local/include -DFFMPEG_DIR={{.Env.FFMPEG_DIR_IOS}} -DQT_DEPLOY_FFMPEG=TRUE',
|
||||||
]
|
]
|
||||||
-
|
-
|
||||||
@@ -448,7 +392,7 @@ Configurations:
|
|||||||
'TARGET_CONFIGURE_ARGS=-developer-build -no-warnings-are-errors -nomake examples -nomake tests -platform macx-visionos-clang',
|
'TARGET_CONFIGURE_ARGS=-developer-build -no-warnings-are-errors -nomake examples -nomake tests -platform macx-visionos-clang',
|
||||||
]
|
]
|
||||||
-
|
-
|
||||||
Id: 'windows-11_24h2-mingw15'
|
Id: 'windows-11_24h2-mingw13'
|
||||||
Template: 'qtci-windows-11_24H2-x86_64-73'
|
Template: 'qtci-windows-11_24H2-x86_64-73'
|
||||||
Compiler: 'Mingw'
|
Compiler: 'Mingw'
|
||||||
Features: ['Packaging', 'Sccache', 'UseConfigure', 'GenerateSBOM', 'VerifySBOM']
|
Features: ['Packaging', 'Sccache', 'UseConfigure', 'GenerateSBOM', 'VerifySBOM']
|
||||||
@@ -474,7 +418,7 @@ Configurations:
|
|||||||
'Protobuf_ROOT={{.Env.Protobuf_ROOT_llvm_mingw}}',
|
'Protobuf_ROOT={{.Env.Protobuf_ROOT_llvm_mingw}}',
|
||||||
]
|
]
|
||||||
-
|
-
|
||||||
Id: 'windows-11_24H2-mingw15-developer-build'
|
Id: 'windows-11_24H2-mingw13-developer-build'
|
||||||
Template: 'qtci-windows-11_24H2-x86_64-73'
|
Template: 'qtci-windows-11_24H2-x86_64-73'
|
||||||
Compiler: 'Mingw'
|
Compiler: 'Mingw'
|
||||||
Features: ['Sccache', 'WarningsAreErrors', 'UseConfigure', 'StandaloneExamples']
|
Features: ['Sccache', 'WarningsAreErrors', 'UseConfigure', 'StandaloneExamples']
|
||||||
|
|||||||
@@ -12,7 +12,7 @@ Configurations:
|
|||||||
'TARGET_CONFIGURE_ARGS=-release -force-asserts -force-debug-info -developer-build -no-warnings-are-errors -make examples -qt-harfbuzz -device linux-imx7-g++ -device-option "CROSS_COMPILE={{.Env.QEMUARMV7_TOOLCHAIN_CROSS_COMPILE}}" -device-option "DISTRO_OPTS=hard-float boot2qt" -no-feature-forkfd_pidfd',
|
'TARGET_CONFIGURE_ARGS=-release -force-asserts -force-debug-info -developer-build -no-warnings-are-errors -make examples -qt-harfbuzz -device linux-imx7-g++ -device-option "CROSS_COMPILE={{.Env.QEMUARMV7_TOOLCHAIN_CROSS_COMPILE}}" -device-option "DISTRO_OPTS=hard-float boot2qt" -no-feature-forkfd_pidfd',
|
||||||
'TARGET_CMAKE_ARGS=-DCMAKE_TOOLCHAIN_FILE={{.Env.QEMUARMV7_TOOLCHAIN_FILE}} -DQT_FORCE_BUILD_TOOLS=ON',
|
'TARGET_CMAKE_ARGS=-DCMAKE_TOOLCHAIN_FILE={{.Env.QEMUARMV7_TOOLCHAIN_FILE}} -DQT_FORCE_BUILD_TOOLS=ON',
|
||||||
'QT_YOCTO_ENVSETUP={{.Env.QEMUARMV7_TOOLCHAIN_ENVSETUP}}',
|
'QT_YOCTO_ENVSETUP={{.Env.QEMUARMV7_TOOLCHAIN_ENVSETUP}}',
|
||||||
"QT_CMAKE_DIR=/opt/cmake-4.3.2/bin",
|
"QT_CMAKE_DIR=/opt/cmake-3.30.5/bin",
|
||||||
'QT_SYSROOT_FOR_RUNNING_TESTS={{.Env.QEMUARMV7_TOOLCHAIN_SYSROOT}}',
|
'QT_SYSROOT_FOR_RUNNING_TESTS={{.Env.QEMUARMV7_TOOLCHAIN_SYSROOT}}',
|
||||||
'GST_PLUGIN_SCANNER={{.Env.QEMUARMV7_TOOLCHAIN_SYSROOT}}/usr/libexec/gstreamer-1.0/gst-plugin-scanner',
|
'GST_PLUGIN_SCANNER={{.Env.QEMUARMV7_TOOLCHAIN_SYSROOT}}/usr/libexec/gstreamer-1.0/gst-plugin-scanner',
|
||||||
'QT_QUICK_BACKEND=software',
|
'QT_QUICK_BACKEND=software',
|
||||||
@@ -31,7 +31,7 @@ Configurations:
|
|||||||
'TARGET_CONFIGURE_ARGS=-release -force-asserts -force-debug-info -developer-build -no-warnings-are-errors -nomake examples -qt-harfbuzz -device linux-generic-g++ -device-option "CROSS_COMPILE={{.Env.QEMUARM64_TOOLCHAIN_CROSS_COMPILE}}" -device-option "DISTRO_OPTS=boot2qt" -no-feature-forkfd_pidfd',
|
'TARGET_CONFIGURE_ARGS=-release -force-asserts -force-debug-info -developer-build -no-warnings-are-errors -nomake examples -qt-harfbuzz -device linux-generic-g++ -device-option "CROSS_COMPILE={{.Env.QEMUARM64_TOOLCHAIN_CROSS_COMPILE}}" -device-option "DISTRO_OPTS=boot2qt" -no-feature-forkfd_pidfd',
|
||||||
'TARGET_CMAKE_ARGS=-DCMAKE_TOOLCHAIN_FILE={{.Env.QEMUARM64_TOOLCHAIN_FILE}} -DQT_FORCE_BUILD_TOOLS=ON',
|
'TARGET_CMAKE_ARGS=-DCMAKE_TOOLCHAIN_FILE={{.Env.QEMUARM64_TOOLCHAIN_FILE}} -DQT_FORCE_BUILD_TOOLS=ON',
|
||||||
'QT_YOCTO_ENVSETUP={{.Env.QEMUARM64_TOOLCHAIN_ENVSETUP}}',
|
'QT_YOCTO_ENVSETUP={{.Env.QEMUARM64_TOOLCHAIN_ENVSETUP}}',
|
||||||
"QT_CMAKE_DIR=/opt/cmake-4.3.2/bin",
|
"QT_CMAKE_DIR=/opt/cmake-3.30.5/bin",
|
||||||
'QT_SYSROOT_FOR_RUNNING_TESTS={{.Env.QEMUARM64_TOOLCHAIN_SYSROOT}}',
|
'QT_SYSROOT_FOR_RUNNING_TESTS={{.Env.QEMUARM64_TOOLCHAIN_SYSROOT}}',
|
||||||
'GST_PLUGIN_SCANNER={{.Env.QEMUARM64_TOOLCHAIN_SYSROOT}}/usr/libexec/gstreamer-1.0/gst-plugin-scanner',
|
'GST_PLUGIN_SCANNER={{.Env.QEMUARM64_TOOLCHAIN_SYSROOT}}/usr/libexec/gstreamer-1.0/gst-plugin-scanner',
|
||||||
'QT_QUICK_BACKEND=software',
|
'QT_QUICK_BACKEND=software',
|
||||||
@@ -50,7 +50,7 @@ Configurations:
|
|||||||
'TARGET_CONFIGURE_ARGS=-release -force-asserts -force-debug-info -developer-build -no-warnings-are-errors -nomake examples -qt-harfbuzz -device linux-generic-g++ -device-option "CROSS_COMPILE={{.Env.QEMUMIPS64_TOOLCHAIN_CROSS_COMPILE}}" -device-option "DISTRO_OPTS=boot2qt" -no-feature-forkfd_pidfd',
|
'TARGET_CONFIGURE_ARGS=-release -force-asserts -force-debug-info -developer-build -no-warnings-are-errors -nomake examples -qt-harfbuzz -device linux-generic-g++ -device-option "CROSS_COMPILE={{.Env.QEMUMIPS64_TOOLCHAIN_CROSS_COMPILE}}" -device-option "DISTRO_OPTS=boot2qt" -no-feature-forkfd_pidfd',
|
||||||
'TARGET_CMAKE_ARGS=-DCMAKE_TOOLCHAIN_FILE={{.Env.QEMUMIPS64_TOOLCHAIN_FILE}} -DQT_FORCE_BUILD_TOOLS=ON',
|
'TARGET_CMAKE_ARGS=-DCMAKE_TOOLCHAIN_FILE={{.Env.QEMUMIPS64_TOOLCHAIN_FILE}} -DQT_FORCE_BUILD_TOOLS=ON',
|
||||||
'QT_YOCTO_ENVSETUP={{.Env.QEMUMIPS64_TOOLCHAIN_ENVSETUP}}',
|
'QT_YOCTO_ENVSETUP={{.Env.QEMUMIPS64_TOOLCHAIN_ENVSETUP}}',
|
||||||
"QT_CMAKE_DIR=/opt/cmake-4.3.2/bin",
|
"QT_CMAKE_DIR=/opt/cmake-3.30.5/bin",
|
||||||
'QT_SYSROOT_FOR_RUNNING_TESTS={{.Env.QEMUMIPS64_TOOLCHAIN_SYSROOT}}',
|
'QT_SYSROOT_FOR_RUNNING_TESTS={{.Env.QEMUMIPS64_TOOLCHAIN_SYSROOT}}',
|
||||||
'GST_PLUGIN_SCANNER={{.Env.QEMUMIPS64_TOOLCHAIN_SYSROOT}}/usr/libexec/gstreamer-1.0/gst-plugin-scanner',
|
'GST_PLUGIN_SCANNER={{.Env.QEMUMIPS64_TOOLCHAIN_SYSROOT}}/usr/libexec/gstreamer-1.0/gst-plugin-scanner',
|
||||||
'QT_QUICK_BACKEND=software',
|
'QT_QUICK_BACKEND=software',
|
||||||
|
|||||||
@@ -12,7 +12,7 @@ Configurations:
|
|||||||
Environment variables: [
|
Environment variables: [
|
||||||
'TARGET_CONFIGURE_ARGS=-release -force-debug-info -developer-build -no-dbus -nomake examples',
|
'TARGET_CONFIGURE_ARGS=-release -force-debug-info -developer-build -no-dbus -nomake examples',
|
||||||
'TARGET_CMAKE_ARGS=-DCMAKE_TOOLCHAIN_FILE={{.Env.QNX_710}}/qnx-toolchain-x8664.cmake -DQT_GENERATE_WRAPPER_SCRIPTS_FOR_ALL_HOSTS=ON',
|
'TARGET_CMAKE_ARGS=-DCMAKE_TOOLCHAIN_FILE={{.Env.QNX_710}}/qnx-toolchain-x8664.cmake -DQT_GENERATE_WRAPPER_SCRIPTS_FOR_ALL_HOSTS=ON',
|
||||||
'QT_CMAKE_DIR=/opt/cmake-4.3.2/bin',
|
'QT_CMAKE_DIR=/opt/cmake-3.30.5/bin',
|
||||||
'QNX_TEST_ENV=TMPDIR=/data/var/tmp HOME=/data/home/root FONTCONFIG_FILE=/data/var/etc/fontconfig/fonts.conf LD_LIBRARY_PATH={{.Env.QNX_QEMU_LD_LIBRARY_PATH}} QSG_RHI_BACKEND=software QT_QPA_PLATFORM=offscreen QTEST_ENVIRONMENT=ci',
|
'QNX_TEST_ENV=TMPDIR=/data/var/tmp HOME=/data/home/root FONTCONFIG_FILE=/data/var/etc/fontconfig/fonts.conf LD_LIBRARY_PATH={{.Env.QNX_QEMU_LD_LIBRARY_PATH}} QSG_RHI_BACKEND=software QT_QPA_PLATFORM=offscreen QTEST_ENVIRONMENT=ci',
|
||||||
'NON_QTBASE_TARGET_CMAKE_ARGS=-DCMAKE_SYSTEM_VERSION=710 -DQT_PROTOBUF_WELL_KNOWN_TYPES_PROTO_DIR=/usr/local/include',
|
'NON_QTBASE_TARGET_CMAKE_ARGS=-DCMAKE_SYSTEM_VERSION=710 -DQT_PROTOBUF_WELL_KNOWN_TYPES_PROTO_DIR=/usr/local/include',
|
||||||
'QNX_QEMU={{.Env.QNX_710_QEMU}}',
|
'QNX_QEMU={{.Env.QNX_710_QEMU}}',
|
||||||
@@ -63,7 +63,7 @@ Configurations:
|
|||||||
Environment variables: [
|
Environment variables: [
|
||||||
'TARGET_CONFIGURE_ARGS=-release -force-debug-info -developer-build -no-dbus -nomake examples',
|
'TARGET_CONFIGURE_ARGS=-release -force-debug-info -developer-build -no-dbus -nomake examples',
|
||||||
'TARGET_CMAKE_ARGS=-DCMAKE_TOOLCHAIN_FILE={{.Env.QNX_800}}/qnx-toolchain-x8664.cmake -DQT_GENERATE_WRAPPER_SCRIPTS_FOR_ALL_HOSTS=ON',
|
'TARGET_CMAKE_ARGS=-DCMAKE_TOOLCHAIN_FILE={{.Env.QNX_800}}/qnx-toolchain-x8664.cmake -DQT_GENERATE_WRAPPER_SCRIPTS_FOR_ALL_HOSTS=ON',
|
||||||
'QT_CMAKE_DIR=/opt/cmake-4.3.2/bin',
|
'QT_CMAKE_DIR=/opt/cmake-3.30.5/bin',
|
||||||
'QNX_TEST_ENV=TMPDIR=/data/var/tmp HOME=/data/home/root FONTCONFIG_FILE=/data/var/etc/fontconfig/fonts.conf LD_LIBRARY_PATH={{.Env.QNX_QEMU_LD_LIBRARY_PATH}} QSG_RHI_BACKEND=software QT_QPA_PLATFORM=offscreen QTEST_ENVIRONMENT=ci',
|
'QNX_TEST_ENV=TMPDIR=/data/var/tmp HOME=/data/home/root FONTCONFIG_FILE=/data/var/etc/fontconfig/fonts.conf LD_LIBRARY_PATH={{.Env.QNX_QEMU_LD_LIBRARY_PATH}} QSG_RHI_BACKEND=software QT_QPA_PLATFORM=offscreen QTEST_ENVIRONMENT=ci',
|
||||||
'NON_QTBASE_TARGET_CMAKE_ARGS=-DCMAKE_SYSTEM_VERSION=802 -DQT_PROTOBUF_WELL_KNOWN_TYPES_PROTO_DIR=/usr/local/include',
|
'NON_QTBASE_TARGET_CMAKE_ARGS=-DCMAKE_SYSTEM_VERSION=802 -DQT_PROTOBUF_WELL_KNOWN_TYPES_PROTO_DIR=/usr/local/include',
|
||||||
'QNX_QEMU={{.Env.QNX_800_QEMU}}',
|
'QNX_QEMU={{.Env.QNX_800_QEMU}}',
|
||||||
|
|||||||
@@ -10,7 +10,7 @@ Configurations:
|
|||||||
Platform dependency: 'ubuntu-22.04'
|
Platform dependency: 'ubuntu-22.04'
|
||||||
Features: ['VMSize8', 'UseConfigure', 'DoNotRunTests', 'DoNotUploadTests']
|
Features: ['VMSize8', 'UseConfigure', 'DoNotRunTests', 'DoNotUploadTests']
|
||||||
Environment variables: [
|
Environment variables: [
|
||||||
'WIND_CC_SYSROOT=/opt/fsl_imx6_2_0_6_3_VSB',
|
'WIND_CC_SYSROOT=/opt/fsl_imx6_2_0_6_2_VSB',
|
||||||
'TARGET_CONFIGURE_ARGS=-release -force-debug-info -qpa offscreen -nomake examples',
|
'TARGET_CONFIGURE_ARGS=-release -force-debug-info -qpa offscreen -nomake examples',
|
||||||
'TARGET_CMAKE_ARGS=-DBUILD_SHARED_LIBS=OFF -DWARNINGS_ARE_ERRORS=OFF -DCMAKE_TOOLCHAIN_FILE="{{.Env.WIND_CC_SYSROOT}}/mk/rtp.toolchain.cmake" -DFEATURE_vulkan=OFF -DQT_QMAKE_TARGET_MKSPEC=vxworks-clang -DQT_HOST_PATH=/home/qt/work/install -DCMAKE_AUTOGEN_VERBOSE=ON -DCMAKE_STAGING_PREFIX:PATH=/home/qt/work/install/target',
|
'TARGET_CMAKE_ARGS=-DBUILD_SHARED_LIBS=OFF -DWARNINGS_ARE_ERRORS=OFF -DCMAKE_TOOLCHAIN_FILE="{{.Env.WIND_CC_SYSROOT}}/mk/rtp.toolchain.cmake" -DFEATURE_vulkan=OFF -DQT_QMAKE_TARGET_MKSPEC=vxworks-clang -DQT_HOST_PATH=/home/qt/work/install -DCMAKE_AUTOGEN_VERBOSE=ON -DCMAKE_STAGING_PREFIX:PATH=/home/qt/work/install/target',
|
||||||
'VCPKG_HOST_TRIPLET=x64-linux-qt',
|
'VCPKG_HOST_TRIPLET=x64-linux-qt',
|
||||||
@@ -26,8 +26,8 @@ Configurations:
|
|||||||
Platform dependency: 'ubuntu-22.04'
|
Platform dependency: 'ubuntu-22.04'
|
||||||
Features: ['VMSize8', 'UseConfigure', 'DoNotRunTests', 'DoNotUploadTests']
|
Features: ['VMSize8', 'UseConfigure', 'DoNotRunTests', 'DoNotUploadTests']
|
||||||
Environment variables: [
|
Environment variables: [
|
||||||
'WIND_CC_SYSROOT=/opt/nxp_imx8_1_0_7_1_VSB',
|
'WIND_CC_SYSROOT=/opt/nxp_imx8_1_0_7_0_VSB',
|
||||||
'TARGET_CONFIGURE_ARGS=-release -qpa offscreen -nomake examples',
|
'TARGET_CONFIGURE_ARGS=-release -force-debug-info -qpa offscreen -nomake examples',
|
||||||
'TARGET_CMAKE_ARGS=-DBUILD_SHARED_LIBS=OFF -DWARNINGS_ARE_ERRORS=OFF -DCMAKE_TOOLCHAIN_FILE="{{.Env.WIND_CC_SYSROOT}}/mk/rtp.toolchain.cmake" -DFEATURE_vulkan=OFF -DQT_QMAKE_TARGET_MKSPEC=vxworks-clang -DQT_HOST_PATH=/home/qt/work/install -DCMAKE_AUTOGEN_VERBOSE=ON -DCMAKE_STAGING_PREFIX:PATH=/home/qt/work/install/target'
|
'TARGET_CMAKE_ARGS=-DBUILD_SHARED_LIBS=OFF -DWARNINGS_ARE_ERRORS=OFF -DCMAKE_TOOLCHAIN_FILE="{{.Env.WIND_CC_SYSROOT}}/mk/rtp.toolchain.cmake" -DFEATURE_vulkan=OFF -DQT_QMAKE_TARGET_MKSPEC=vxworks-clang -DQT_HOST_PATH=/home/qt/work/install -DCMAKE_AUTOGEN_VERBOSE=ON -DCMAKE_STAGING_PREFIX:PATH=/home/qt/work/install/target'
|
||||||
]
|
]
|
||||||
-
|
-
|
||||||
|
|||||||
@@ -8,10 +8,10 @@ Configurations:
|
|||||||
Compiler: 'Clang'
|
Compiler: 'Clang'
|
||||||
Target compiler: 'Clang'
|
Target compiler: 'Clang'
|
||||||
Platform dependency: 'vxworks-imx6-buildtest'
|
Platform dependency: 'vxworks-imx6-buildtest'
|
||||||
Features: ['VMSize8', 'UseConfigure', 'BuildTestsInTest', 'TestOnly', 'InsignificantTests']
|
Features: ['VMSize8', 'UseConfigure', 'BuildTestsInTest', 'TestOnly']
|
||||||
Environment variables: [
|
Environment variables: [
|
||||||
'WIND_CC_SYSROOT=/opt/fsl_imx6_2_0_6_3_VSB',
|
'WIND_CC_SYSROOT=/opt/fsl_imx6_2_0_6_2_VSB',
|
||||||
'VXWORKS_TEST_LIBS_PATH=/opt/fsl_imx6_2_0_6_3_VSB/usr/lib/common;/opt/fsl_imx6_2_0_6_3_VSB/usr/root/llvm/bin;/opt/fsl_imx6_2_0_6_3_VSB/usr/3pp/develop/usr/lib;/home/qt/work/install/target/lib',
|
'VXWORKS_TEST_LIBS_PATH=/opt/fsl_imx6_2_0_6_2_VSB/usr/lib/common;/opt/fsl_imx6_2_0_6_2_VSB/usr/root/llvm/bin;/opt/fsl_imx6_2_0_6_2_VSB/usr/3pp/develop/usr/lib;/home/qt/work/install/target/lib',
|
||||||
'TARGET_CONFIGURE_ARGS=-release -force-debug-info -qpa offscreen -nomake examples',
|
'TARGET_CONFIGURE_ARGS=-release -force-debug-info -qpa offscreen -nomake examples',
|
||||||
'TARGET_CMAKE_ARGS=-DBUILD_SHARED_LIBS=OFF -DWARNINGS_ARE_ERRORS=OFF -DCMAKE_TOOLCHAIN_FILE="{{.Env.WIND_CC_SYSROOT}}/mk/rtp.toolchain.cmake" -DFEATURE_vulkan=OFF -DQT_QMAKE_TARGET_MKSPEC=vxworks-clang -DQT_HOST_PATH=/home/qt/work/install -DCMAKE_AUTOGEN_VERBOSE=ON -DCMAKE_STAGING_PREFIX:PATH=/home/qt/work/install/target',
|
'TARGET_CMAKE_ARGS=-DBUILD_SHARED_LIBS=OFF -DWARNINGS_ARE_ERRORS=OFF -DCMAKE_TOOLCHAIN_FILE="{{.Env.WIND_CC_SYSROOT}}/mk/rtp.toolchain.cmake" -DFEATURE_vulkan=OFF -DQT_QMAKE_TARGET_MKSPEC=vxworks-clang -DQT_HOST_PATH=/home/qt/work/install -DCMAKE_AUTOGEN_VERBOSE=ON -DCMAKE_STAGING_PREFIX:PATH=/home/qt/work/install/target',
|
||||||
'VCPKG_HOST_TRIPLET=x64-linux-qt',
|
'VCPKG_HOST_TRIPLET=x64-linux-qt',
|
||||||
@@ -25,7 +25,7 @@ Configurations:
|
|||||||
Compiler: 'Clang'
|
Compiler: 'Clang'
|
||||||
Target compiler: 'Clang'
|
Target compiler: 'Clang'
|
||||||
Platform dependency: 'vxworks-x86_64-buildtest'
|
Platform dependency: 'vxworks-x86_64-buildtest'
|
||||||
Features: ['VMSize16', 'UseConfigure', 'BuildTestsInTest', 'TestOnly', 'InsignificantTests']
|
Features: ['VMSize8', 'UseConfigure', 'BuildTestsInTest', 'TestOnly']
|
||||||
Environment variables: [
|
Environment variables: [
|
||||||
'WIND_CC_SYSROOT=/opt/itl_generic_skylake_VSB',
|
'WIND_CC_SYSROOT=/opt/itl_generic_skylake_VSB',
|
||||||
'VXWORKS_TEST_LIBS_PATH=/opt/itl_generic_skylake_VSB/usr/lib/common;/opt/itl_generic_skylake_VSB/usr/root/llvm/bin;/opt/itl_generic_skylake_VSB/usr/3pp/develop/usr/lib;/home/qt/work/install/target/lib',
|
'VXWORKS_TEST_LIBS_PATH=/opt/itl_generic_skylake_VSB/usr/lib/common;/opt/itl_generic_skylake_VSB/usr/root/llvm/bin;/opt/itl_generic_skylake_VSB/usr/3pp/develop/usr/lib;/home/qt/work/install/target/lib',
|
||||||
|
|||||||
@@ -10,7 +10,7 @@ Configurations:
|
|||||||
Platform dependency: 'macos-universal-on-arm64'
|
Platform dependency: 'macos-universal-on-arm64'
|
||||||
Features: ['Packaging', 'Sccache', 'WarningsAreErrors', 'DisableTests', 'UseConfigure', 'GenerateSBOM', 'VerifySBOM']
|
Features: ['Packaging', 'Sccache', 'WarningsAreErrors', 'DisableTests', 'UseConfigure', 'GenerateSBOM', 'VerifySBOM']
|
||||||
Environment variables: [
|
Environment variables: [
|
||||||
'TARGET_CONFIGURE_ARGS=-nomake examples -release -force-debug-info -qpa android;offscreen -android-ndk {{.Env.ANDROID_NDK_ROOT_LATEST}} -android-sdk {{.Env.ANDROID_SDK_ROOT}} -android-abis arm64-v8a',
|
'TARGET_CONFIGURE_ARGS=-nomake examples -release -force-debug-info -android-ndk {{.Env.ANDROID_NDK_ROOT_LATEST}} -android-sdk {{.Env.ANDROID_SDK_ROOT}} -android-abis arm64-v8a',
|
||||||
'TARGET_CMAKE_ARGS=-DCMAKE_C_COMPILER_FRONTEND_VARIANT=GNU -DCMAKE_CXX_COMPILER_FRONTEND_VARIANT=GNU -DOPENSSL_ROOT_DIR={{.Env.OPENSSL_ANDROID_HOME_LATEST}} -DQT_GENERATE_WRAPPER_SCRIPTS_FOR_ALL_HOSTS=ON',
|
'TARGET_CMAKE_ARGS=-DCMAKE_C_COMPILER_FRONTEND_VARIANT=GNU -DCMAKE_CXX_COMPILER_FRONTEND_VARIANT=GNU -DOPENSSL_ROOT_DIR={{.Env.OPENSSL_ANDROID_HOME_LATEST}} -DQT_GENERATE_WRAPPER_SCRIPTS_FOR_ALL_HOSTS=ON',
|
||||||
'NON_QTBASE_TARGET_CMAKE_ARGS=-DQT_ADDITIONAL_HOST_PACKAGES_PREFIX_PATH=/usr/local -DFFMPEG_DIR={{.Env.FFMPEG_DIR_ANDROID_ARM64_NDK_LATEST}} -DQT_DEPLOY_FFMPEG=TRUE -DQT_PROTOBUF_WELL_KNOWN_TYPES_PROTO_DIR=/usr/local/include',
|
'NON_QTBASE_TARGET_CMAKE_ARGS=-DQT_ADDITIONAL_HOST_PACKAGES_PREFIX_PATH=/usr/local -DFFMPEG_DIR={{.Env.FFMPEG_DIR_ANDROID_ARM64_NDK_LATEST}} -DQT_DEPLOY_FFMPEG=TRUE -DQT_PROTOBUF_WELL_KNOWN_TYPES_PROTO_DIR=/usr/local/include',
|
||||||
'ANDROID_NDK_ROOT={{.Env.ANDROID_NDK_ROOT_LATEST}}'
|
'ANDROID_NDK_ROOT={{.Env.ANDROID_NDK_ROOT_LATEST}}'
|
||||||
@@ -22,11 +22,11 @@ Configurations:
|
|||||||
Target arch: 'armv7'
|
Target arch: 'armv7'
|
||||||
Compiler: 'Mingw'
|
Compiler: 'Mingw'
|
||||||
Target compiler: 'Clang'
|
Target compiler: 'Clang'
|
||||||
Platform dependency: 'windows-11_24h2-mingw15'
|
Platform dependency: 'windows-11_24h2-mingw13'
|
||||||
Features: ['Packaging', 'Sccache', 'WarningsAreErrors', 'DisableTests', 'UseConfigure', 'GenerateSBOM', 'VerifySBOM']
|
Features: ['Packaging', 'Sccache', 'WarningsAreErrors', 'DisableTests', 'UseConfigure', 'GenerateSBOM', 'VerifySBOM']
|
||||||
Environment variables: [
|
Environment variables: [
|
||||||
'Path={{.Env.MINGW_PATH}}\bin;{{.Env.Path}}',
|
'Path={{.Env.MINGW_PATH}}\bin;{{.Env.Path}}',
|
||||||
'TARGET_CONFIGURE_ARGS=-nomake examples -release -force-debug-info -qpa android;offscreen -android-ndk {{.Env.ANDROID_NDK_ROOT_LATEST}} -android-sdk {{.Env.ANDROID_SDK_ROOT}} -android-abis armeabi-v7a -no-feature-pkg-config',
|
'TARGET_CONFIGURE_ARGS=-nomake examples -release -force-debug-info -android-ndk {{.Env.ANDROID_NDK_ROOT_LATEST}} -android-sdk {{.Env.ANDROID_SDK_ROOT}} -android-abis armeabi-v7a -no-feature-pkg-config',
|
||||||
'TARGET_CMAKE_ARGS=-DCMAKE_C_COMPILER_FRONTEND_VARIANT=GNU -DCMAKE_CXX_COMPILER_FRONTEND_VARIANT=GNU -DOPENSSL_ROOT_DIR={{.Env.OPENSSL_ANDROID_HOME_LATEST}} -DQT_GENERATE_WRAPPER_SCRIPTS_FOR_ALL_HOSTS=ON',
|
'TARGET_CMAKE_ARGS=-DCMAKE_C_COMPILER_FRONTEND_VARIANT=GNU -DCMAKE_CXX_COMPILER_FRONTEND_VARIANT=GNU -DOPENSSL_ROOT_DIR={{.Env.OPENSSL_ANDROID_HOME_LATEST}} -DQT_GENERATE_WRAPPER_SCRIPTS_FOR_ALL_HOSTS=ON',
|
||||||
'NON_QTBASE_TARGET_CMAKE_ARGS=-DQT_ADDITIONAL_HOST_PACKAGES_PREFIX_PATH={{.Env.Protobuf_ROOT_mingw}} -DFFMPEG_DIR={{.Env.FFMPEG_DIR_ANDROID_ARMV7_NDK_LATEST}} -DQT_DEPLOY_FFMPEG=TRUE -DQT_PROTOBUF_WELL_KNOWN_TYPES_PROTO_DIR={{.Env.Protobuf_ROOT_msvc}}/include',
|
'NON_QTBASE_TARGET_CMAKE_ARGS=-DQT_ADDITIONAL_HOST_PACKAGES_PREFIX_PATH={{.Env.Protobuf_ROOT_mingw}} -DFFMPEG_DIR={{.Env.FFMPEG_DIR_ANDROID_ARMV7_NDK_LATEST}} -DQT_DEPLOY_FFMPEG=TRUE -DQT_PROTOBUF_WELL_KNOWN_TYPES_PROTO_DIR={{.Env.Protobuf_ROOT_msvc}}/include',
|
||||||
'ANDROID_NDK_ROOT={{.Env.ANDROID_NDK_ROOT_LATEST}}'
|
'ANDROID_NDK_ROOT={{.Env.ANDROID_NDK_ROOT_LATEST}}'
|
||||||
@@ -41,7 +41,7 @@ Configurations:
|
|||||||
Platform dependency: 'rhel-9.6'
|
Platform dependency: 'rhel-9.6'
|
||||||
Features: ['Packaging', 'Sccache', 'WarningsAreErrors', 'AndroidTestRun', 'VMSize8', 'UseConfigure', 'GenerateSBOM', 'VerifySBOM', 'JavaDocs']
|
Features: ['Packaging', 'Sccache', 'WarningsAreErrors', 'AndroidTestRun', 'VMSize8', 'UseConfigure', 'GenerateSBOM', 'VerifySBOM', 'JavaDocs']
|
||||||
Environment variables: [
|
Environment variables: [
|
||||||
'TARGET_CONFIGURE_ARGS=-nomake examples -release -force-debug-info -qpa android;offscreen -android-ndk {{.Env.ANDROID_NDK_ROOT_LATEST}} -android-sdk {{.Env.ANDROID_SDK_ROOT}} -android-abis x86',
|
'TARGET_CONFIGURE_ARGS=-nomake examples -release -force-debug-info -android-ndk {{.Env.ANDROID_NDK_ROOT_LATEST}} -android-sdk {{.Env.ANDROID_SDK_ROOT}} -android-abis x86',
|
||||||
'TARGET_CMAKE_ARGS=-DCMAKE_C_COMPILER_FRONTEND_VARIANT=GNU -DCMAKE_CXX_COMPILER_FRONTEND_VARIANT=GNU -DOPENSSL_ROOT_DIR={{.Env.OPENSSL_ANDROID_HOME_LATEST}} -DQT_GENERATE_WRAPPER_SCRIPTS_FOR_ALL_HOSTS=ON',
|
'TARGET_CMAKE_ARGS=-DCMAKE_C_COMPILER_FRONTEND_VARIANT=GNU -DCMAKE_CXX_COMPILER_FRONTEND_VARIANT=GNU -DOPENSSL_ROOT_DIR={{.Env.OPENSSL_ANDROID_HOME_LATEST}} -DQT_GENERATE_WRAPPER_SCRIPTS_FOR_ALL_HOSTS=ON',
|
||||||
'NON_QTBASE_TARGET_CMAKE_ARGS=-DFFMPEG_DIR={{.Env.FFMPEG_DIR_ANDROID_X86_NDK_LATEST}} -DQT_DEPLOY_FFMPEG=TRUE -DQT_PROTOBUF_WELL_KNOWN_TYPES_PROTO_DIR=/usr/local/include',
|
'NON_QTBASE_TARGET_CMAKE_ARGS=-DFFMPEG_DIR={{.Env.FFMPEG_DIR_ANDROID_X86_NDK_LATEST}} -DQT_DEPLOY_FFMPEG=TRUE -DQT_PROTOBUF_WELL_KNOWN_TYPES_PROTO_DIR=/usr/local/include',
|
||||||
# We check QT_USE_TARGET_ANDROID_BUILD_DIR only in one configuration, to ensure builds
|
# We check QT_USE_TARGET_ANDROID_BUILD_DIR only in one configuration, to ensure builds
|
||||||
@@ -51,7 +51,7 @@ Configurations:
|
|||||||
'ANDROID_EMULATOR=emulator_x86_api_28'
|
'ANDROID_EMULATOR=emulator_x86_api_28'
|
||||||
]
|
]
|
||||||
-
|
-
|
||||||
Id: 'android-17-x86_64-on-linux'
|
Id: 'android-16-x86_64-on-linux'
|
||||||
Template: 'qtci-linux-RHEL-9.6-x86_64-51'
|
Template: 'qtci-linux-RHEL-9.6-x86_64-51'
|
||||||
Target os: 'Android_ANY'
|
Target os: 'Android_ANY'
|
||||||
Target arch: 'x86_64'
|
Target arch: 'x86_64'
|
||||||
@@ -60,12 +60,31 @@ Configurations:
|
|||||||
Platform dependency: 'rhel-9.6'
|
Platform dependency: 'rhel-9.6'
|
||||||
Features: ['Packaging', 'Sccache', 'WarningsAreErrors', 'AndroidTestRun', 'VMSize8', 'UseConfigure', 'GenerateSBOM', 'VerifySBOM', 'JavaDocs']
|
Features: ['Packaging', 'Sccache', 'WarningsAreErrors', 'AndroidTestRun', 'VMSize8', 'UseConfigure', 'GenerateSBOM', 'VerifySBOM', 'JavaDocs']
|
||||||
Environment variables: [
|
Environment variables: [
|
||||||
'TARGET_CONFIGURE_ARGS=-nomake examples -release -force-debug-info -qpa android;offscreen -android-ndk {{.Env.ANDROID_NDK_ROOT_LATEST}} -android-sdk {{.Env.ANDROID_SDK_ROOT}} -android-abis x86_64',
|
'TARGET_CONFIGURE_ARGS=-nomake examples -release -force-debug-info -android-ndk {{.Env.ANDROID_NDK_ROOT_LATEST}} -android-sdk {{.Env.ANDROID_SDK_ROOT}} -android-abis x86_64',
|
||||||
'TARGET_CMAKE_ARGS=-DCMAKE_C_COMPILER_FRONTEND_VARIANT=GNU -DCMAKE_CXX_COMPILER_FRONTEND_VARIANT=GNU -DOPENSSL_ROOT_DIR={{.Env.OPENSSL_ANDROID_HOME_LATEST}} -DQT_GENERATE_WRAPPER_SCRIPTS_FOR_ALL_HOSTS=ON',
|
'TARGET_CMAKE_ARGS=-DCMAKE_C_COMPILER_FRONTEND_VARIANT=GNU -DCMAKE_CXX_COMPILER_FRONTEND_VARIANT=GNU -DOPENSSL_ROOT_DIR={{.Env.OPENSSL_ANDROID_HOME_LATEST}} -DQT_GENERATE_WRAPPER_SCRIPTS_FOR_ALL_HOSTS=ON',
|
||||||
'NON_QTBASE_TARGET_CMAKE_ARGS=-DFFMPEG_DIR={{.Env.FFMPEG_DIR_ANDROID_X86_64_NDK_LATEST}} -DQT_DEPLOY_FFMPEG=TRUE -DQT_PROTOBUF_WELL_KNOWN_TYPES_PROTO_DIR=/usr/local/include',
|
'NON_QTBASE_TARGET_CMAKE_ARGS=-DFFMPEG_DIR={{.Env.FFMPEG_DIR_ANDROID_X86_64_NDK_LATEST}} -DQT_DEPLOY_FFMPEG=TRUE -DQT_PROTOBUF_WELL_KNOWN_TYPES_PROTO_DIR=/usr/local/include',
|
||||||
# We check QT_USE_TARGET_ANDROID_BUILD_DIR and QT_ANDROID_GRADLE_MULTI_MODULE only in one
|
# We check QT_USE_TARGET_ANDROID_BUILD_DIR and QT_USE_ANDROID_MODERN_BUNDLE only in one
|
||||||
# configuration, to ensure builds without this option work too.
|
# configuration, to ensure builds without this option work too.
|
||||||
'COMMON_TARGET_TEST_CMAKE_ARGS=-DQT_USE_TARGET_ANDROID_BUILD_DIR=ON -DQT_ANDROID_GRADLE_MULTI_MODULE=ON',
|
'COMMON_TARGET_TEST_CMAKE_ARGS=-DQT_USE_TARGET_ANDROID_BUILD_DIR=ON -DQT_USE_ANDROID_MODERN_BUNDLE=ON',
|
||||||
|
'ANDROID_NDK_ROOT={{.Env.ANDROID_NDK_ROOT_LATEST}}',
|
||||||
|
'ANDROID_EMULATOR=emulator_x86_64_api_36'
|
||||||
|
]
|
||||||
|
-
|
||||||
|
Id: 'android-17-x86_64-on-linux'
|
||||||
|
Template: 'qtci-linux-RHEL-9.6-x86_64-51'
|
||||||
|
Target os: 'Android_ANY'
|
||||||
|
Target arch: 'x86_64'
|
||||||
|
Compiler: 'GCC'
|
||||||
|
Target compiler: 'Clang'
|
||||||
|
Platform dependency: 'rhel-9.6'
|
||||||
|
Features: ['Sccache', 'WarningsAreErrors', 'AndroidTestRun', 'VMSize8', 'UseConfigure', 'GenerateSBOM', 'VerifySBOM', 'JavaDocs', 'InsignificantTests', 'DoNotAbortTestingOnFirstFailure']
|
||||||
|
Environment variables: [
|
||||||
|
'TARGET_CONFIGURE_ARGS=-nomake examples -release -force-debug-info -android-ndk {{.Env.ANDROID_NDK_ROOT_LATEST}} -android-sdk {{.Env.ANDROID_SDK_ROOT}} -android-abis x86_64',
|
||||||
|
'TARGET_CMAKE_ARGS=-DCMAKE_C_COMPILER_FRONTEND_VARIANT=GNU -DCMAKE_CXX_COMPILER_FRONTEND_VARIANT=GNU -DOPENSSL_ROOT_DIR={{.Env.OPENSSL_ANDROID_HOME_LATEST}} -DQT_GENERATE_WRAPPER_SCRIPTS_FOR_ALL_HOSTS=ON',
|
||||||
|
'NON_QTBASE_TARGET_CMAKE_ARGS=-DFFMPEG_DIR={{.Env.FFMPEG_DIR_ANDROID_X86_64_NDK_LATEST}} -DQT_DEPLOY_FFMPEG=TRUE -DQT_PROTOBUF_WELL_KNOWN_TYPES_PROTO_DIR=/usr/local/include',
|
||||||
|
# We check QT_USE_TARGET_ANDROID_BUILD_DIR and QT_USE_ANDROID_MODERN_BUNDLE only in one
|
||||||
|
# configuration, to ensure builds without this option work too.
|
||||||
|
'COMMON_TARGET_TEST_CMAKE_ARGS=-DQT_USE_TARGET_ANDROID_BUILD_DIR=ON -DQT_USE_ANDROID_MODERN_BUNDLE=ON',
|
||||||
'ANDROID_NDK_ROOT={{.Env.ANDROID_NDK_ROOT_LATEST}}',
|
'ANDROID_NDK_ROOT={{.Env.ANDROID_NDK_ROOT_LATEST}}',
|
||||||
'ANDROID_EMULATOR=emulator_x86_64_api_37'
|
'ANDROID_EMULATOR=emulator_x86_64_api_37'
|
||||||
]
|
]
|
||||||
|
|||||||
@@ -11,10 +11,10 @@ Configurations:
|
|||||||
Features: ['Sccache', 'UseConfigure', 'DoNotRunTests', 'Packaging', 'GenerateSBOM', 'VerifySBOM']
|
Features: ['Sccache', 'UseConfigure', 'DoNotRunTests', 'Packaging', 'GenerateSBOM', 'VerifySBOM']
|
||||||
Environment variables: [
|
Environment variables: [
|
||||||
'TARGET_CONFIGURE_ARGS=-release -nomake examples -no-dbus -no-use-gold-linker -no-pch -openssl-runtime',
|
'TARGET_CONFIGURE_ARGS=-release -nomake examples -no-dbus -no-use-gold-linker -no-pch -openssl-runtime',
|
||||||
'TARGET_CMAKE_ARGS=-DOHOS_SDK_ROOT={{.Env.HARMONYOS_SDK_ROOT_CURRENT}}/sdk/default/openharmony -DOHOS_ARCH=arm64-v8a -DWARNINGS_ARE_ERRORS=OFF -DQT_QMAKE_TARGET_MKSPEC=ohos-clang -DCMAKE_FIND_ROOT_PATH={{.Env.VCPKG_OHOS_INSTALLED}} -DQT_GENERATE_WRAPPER_SCRIPTS_FOR_ALL_HOSTS=ON',
|
'TARGET_CMAKE_ARGS=-DOHOS_SDK_ROOT={{.Env.HARMONYOS_SDK_ROOT}} -DOHOS_ARCH=arm64-v8a -DWARNINGS_ARE_ERRORS=OFF -DQT_QMAKE_TARGET_MKSPEC=ohos-clang -DCMAKE_FIND_ROOT_PATH={{.Env.VCPKG_OHOS_INSTALLED}} -DQT_GENERATE_WRAPPER_SCRIPTS_FOR_ALL_HOSTS=ON',
|
||||||
'NON_QTBASE_TARGET_CMAKE_ARGS=-DCMAKE_FIND_ROOT_PATH={{.Env.VCPKG_OHOS_INSTALLED}}',
|
'NON_QTBASE_TARGET_CMAKE_ARGS=-DCMAKE_FIND_ROOT_PATH={{.Env.VCPKG_OHOS_INSTALLED}}',
|
||||||
'COMMON_TARGET_TEST_CMAKE_ARGS=-DCMAKE_FIND_ROOT_PATH={{.Env.VCPKG_OHOS_INSTALLED}}',
|
'COMMON_TARGET_TEST_CMAKE_ARGS=-DCMAKE_FIND_ROOT_PATH={{.Env.VCPKG_OHOS_INSTALLED}}',
|
||||||
'QT_HARMONYOS_HVIGOR={{.Env.HARMONYOS_SDK_ROOT_CURRENT}}/bin/hvigorw'
|
'QT_HARMONYOS_HVIGOR=/opt/harmonyos/command-line-tools/bin/hvigorw'
|
||||||
]
|
]
|
||||||
-
|
-
|
||||||
Id: 'harmonyos-23-arm64-on-linux-developer-build'
|
Id: 'harmonyos-23-arm64-on-linux-developer-build'
|
||||||
@@ -27,56 +27,8 @@ Configurations:
|
|||||||
Features: ['Sccache', 'UseConfigure', 'DoNotRunTests', 'StandaloneExamples']
|
Features: ['Sccache', 'UseConfigure', 'DoNotRunTests', 'StandaloneExamples']
|
||||||
Environment variables: [
|
Environment variables: [
|
||||||
'TARGET_CONFIGURE_ARGS=-developer-build -debug -make examples -no-dbus -no-use-gold-linker -no-pch -openssl-runtime',
|
'TARGET_CONFIGURE_ARGS=-developer-build -debug -make examples -no-dbus -no-use-gold-linker -no-pch -openssl-runtime',
|
||||||
'TARGET_CMAKE_ARGS=-DOHOS_SDK_ROOT={{.Env.HARMONYOS_SDK_ROOT_CURRENT}}/sdk/default/openharmony -DOHOS_ARCH=arm64-v8a -DWARNINGS_ARE_ERRORS=OFF -DQT_QMAKE_TARGET_MKSPEC=ohos-clang -DCMAKE_FIND_ROOT_PATH={{.Env.VCPKG_OHOS_INSTALLED}}',
|
'TARGET_CMAKE_ARGS=-DOHOS_SDK_ROOT={{.Env.HARMONYOS_SDK_ROOT}} -DOHOS_ARCH=arm64-v8a -DWARNINGS_ARE_ERRORS=OFF -DQT_QMAKE_TARGET_MKSPEC=ohos-clang -DCMAKE_FIND_ROOT_PATH={{.Env.VCPKG_OHOS_INSTALLED}}',
|
||||||
'NON_QTBASE_TARGET_CMAKE_ARGS=-DCMAKE_FIND_ROOT_PATH={{.Env.VCPKG_OHOS_INSTALLED}}',
|
'NON_QTBASE_TARGET_CMAKE_ARGS=-DCMAKE_FIND_ROOT_PATH={{.Env.VCPKG_OHOS_INSTALLED}}',
|
||||||
'COMMON_TARGET_TEST_CMAKE_ARGS=-DCMAKE_FIND_ROOT_PATH={{.Env.VCPKG_OHOS_INSTALLED}}',
|
'COMMON_TARGET_TEST_CMAKE_ARGS=-DCMAKE_FIND_ROOT_PATH={{.Env.VCPKG_OHOS_INSTALLED}}',
|
||||||
'QT_HARMONYOS_HVIGOR={{.Env.HARMONYOS_SDK_ROOT_CURRENT}}/bin/hvigorw'
|
'QT_HARMONYOS_HVIGOR=/opt/harmonyos/command-line-tools/bin/hvigorw'
|
||||||
]
|
|
||||||
-
|
|
||||||
Id: 'harmonyos-26-arm64-on-linux'
|
|
||||||
Template: 'qtci-linux-Ubuntu-24.04-x86_64-50'
|
|
||||||
Target os: 'HarmonyOS_ANY'
|
|
||||||
Target arch: 'arm64'
|
|
||||||
Compiler: 'Clang'
|
|
||||||
Target compiler: 'Clang'
|
|
||||||
Platform dependency: 'ubuntu-24.04-x64'
|
|
||||||
Features: ['Sccache', 'UseConfigure', 'DoNotRunTests', 'Packaging', 'GenerateSBOM', 'VerifySBOM']
|
|
||||||
Environment variables: [
|
|
||||||
'TARGET_CONFIGURE_ARGS=-release -nomake examples -no-dbus -no-use-gold-linker -no-pch -openssl-runtime',
|
|
||||||
'TARGET_CMAKE_ARGS=-DOHOS_SDK_ROOT={{.Env.HARMONYOS_SDK_ROOT_NEXT}}/sdk/default/openharmony -DOHOS_ARCH=arm64-v8a -DWARNINGS_ARE_ERRORS=OFF -DQT_QMAKE_TARGET_MKSPEC=ohos-clang -DCMAKE_FIND_ROOT_PATH={{.Env.VCPKG_OHOS_INSTALLED}} -DQT_GENERATE_WRAPPER_SCRIPTS_FOR_ALL_HOSTS=ON',
|
|
||||||
'NON_QTBASE_TARGET_CMAKE_ARGS=-DCMAKE_FIND_ROOT_PATH={{.Env.VCPKG_OHOS_INSTALLED}}',
|
|
||||||
'COMMON_TARGET_TEST_CMAKE_ARGS=-DCMAKE_FIND_ROOT_PATH={{.Env.VCPKG_OHOS_INSTALLED}}',
|
|
||||||
'QT_HARMONYOS_HVIGOR={{.Env.HARMONYOS_SDK_ROOT_NEXT}}/bin/hvigorw'
|
|
||||||
]
|
|
||||||
-
|
|
||||||
Id: 'harmonyos-26-arm64-on-linux-developer-build'
|
|
||||||
Template: 'qtci-linux-Ubuntu-24.04-x86_64-50'
|
|
||||||
Target os: 'HarmonyOS_ANY'
|
|
||||||
Target arch: 'arm64'
|
|
||||||
Compiler: 'Clang'
|
|
||||||
Target compiler: 'Clang'
|
|
||||||
Platform dependency: 'ubuntu-24.04-x64-developer-build'
|
|
||||||
Features: ['Sccache', 'UseConfigure', 'DoNotRunTests', 'StandaloneExamples']
|
|
||||||
Environment variables: [
|
|
||||||
'TARGET_CONFIGURE_ARGS=-developer-build -debug -make examples -no-dbus -no-use-gold-linker -no-pch -openssl-runtime',
|
|
||||||
'TARGET_CMAKE_ARGS=-DOHOS_SDK_ROOT={{.Env.HARMONYOS_SDK_ROOT_NEXT}}/sdk/default/openharmony -DOHOS_ARCH=arm64-v8a -DWARNINGS_ARE_ERRORS=OFF -DQT_QMAKE_TARGET_MKSPEC=ohos-clang -DCMAKE_FIND_ROOT_PATH={{.Env.VCPKG_OHOS_INSTALLED}}',
|
|
||||||
'NON_QTBASE_TARGET_CMAKE_ARGS=-DCMAKE_FIND_ROOT_PATH={{.Env.VCPKG_OHOS_INSTALLED}}',
|
|
||||||
'COMMON_TARGET_TEST_CMAKE_ARGS=-DCMAKE_FIND_ROOT_PATH={{.Env.VCPKG_OHOS_INSTALLED}}',
|
|
||||||
'QT_HARMONYOS_HVIGOR={{.Env.HARMONYOS_SDK_ROOT_NEXT}}/bin/hvigorw'
|
|
||||||
]
|
|
||||||
-
|
|
||||||
Id: 'harmonyos-23-arm64-on-macos'
|
|
||||||
Template: 'qtci-macos-26-arm-105'
|
|
||||||
Target os: 'HarmonyOS_ANY'
|
|
||||||
Target arch: 'arm64'
|
|
||||||
Compiler: 'Clang'
|
|
||||||
Target compiler: 'Clang'
|
|
||||||
Platform dependency: 'macos-universal-on-arm64'
|
|
||||||
Features: ['Sccache', 'UseConfigure', 'DoNotRunTests', 'StandaloneExamples']
|
|
||||||
Environment variables: [
|
|
||||||
'TARGET_CONFIGURE_ARGS=-developer-build -debug -make examples -no-dbus -no-use-gold-linker -no-pch -openssl-runtime',
|
|
||||||
'TARGET_CMAKE_ARGS=-DOHOS_SDK_ROOT={{.Env.HARMONYOS_SDK_ROOT_CURRENT}}/sdk/default/openharmony -DOHOS_ARCH=arm64-v8a -DWARNINGS_ARE_ERRORS=OFF -DQT_QMAKE_TARGET_MKSPEC=ohos-clang -DCMAKE_FIND_ROOT_PATH={{.Env.VCPKG_OHOS_INSTALLED}}',
|
|
||||||
'NON_QTBASE_TARGET_CMAKE_ARGS=-DCMAKE_FIND_ROOT_PATH={{.Env.VCPKG_OHOS_INSTALLED}}',
|
|
||||||
'COMMON_TARGET_TEST_CMAKE_ARGS=-DCMAKE_FIND_ROOT_PATH={{.Env.VCPKG_OHOS_INSTALLED}}',
|
|
||||||
'QT_HARMONYOS_HVIGOR={{.Env.HARMONYOS_SDK_ROOT_CURRENT}}/bin/hvigorw'
|
|
||||||
]
|
]
|
||||||
|
|||||||
@@ -19,7 +19,7 @@ Configurations:
|
|||||||
Target os: 'WebAssembly'
|
Target os: 'WebAssembly'
|
||||||
Compiler: 'Mingw'
|
Compiler: 'Mingw'
|
||||||
Target compiler: 'Clang'
|
Target compiler: 'Clang'
|
||||||
Platform dependency: 'windows-11_24h2-mingw15'
|
Platform dependency: 'windows-11_24h2-mingw13'
|
||||||
Features: ['Packaging','DisableTests', 'UseConfigure', 'GenerateSBOM', 'VerifySBOM']
|
Features: ['Packaging','DisableTests', 'UseConfigure', 'GenerateSBOM', 'VerifySBOM']
|
||||||
Environment variables: [
|
Environment variables: [
|
||||||
'Path={{.Env.EMSDK_PATH}};{{.Env.MINGW_PATH}}\bin;{{.Env.Path}}',
|
'Path={{.Env.EMSDK_PATH}};{{.Env.MINGW_PATH}}\bin;{{.Env.Path}}',
|
||||||
|
|||||||
@@ -10,7 +10,7 @@ Configurations:
|
|||||||
Platform dependency: [
|
Platform dependency: [
|
||||||
'rhel-9.6',
|
'rhel-9.6',
|
||||||
'android-9-x86-on-linux',
|
'android-9-x86-on-linux',
|
||||||
'android-17-x86_64-on-linux'
|
'android-16-x86_64-on-linux'
|
||||||
]
|
]
|
||||||
Features: [
|
Features: [
|
||||||
'Sccache',
|
'Sccache',
|
||||||
@@ -24,7 +24,7 @@ Configurations:
|
|||||||
Environment variables: [
|
Environment variables: [
|
||||||
'QT_CI_ARTIFACT_ID_PATH_Android-host=QT_CI_ARTIFACT_ID_PATH_rhel-9.6',
|
'QT_CI_ARTIFACT_ID_PATH_Android-host=QT_CI_ARTIFACT_ID_PATH_rhel-9.6',
|
||||||
'QT_CI_ARTIFACT_ID_PATH_Android-x86=QT_CI_ARTIFACT_ID_PATH_android-9-x86-on-linux',
|
'QT_CI_ARTIFACT_ID_PATH_Android-x86=QT_CI_ARTIFACT_ID_PATH_android-9-x86-on-linux',
|
||||||
'QT_CI_ARTIFACT_ID_PATH_Android-x86_64=QT_CI_ARTIFACT_ID_PATH_android-17-x86_64-on-linux',
|
'QT_CI_ARTIFACT_ID_PATH_Android-x86_64=QT_CI_ARTIFACT_ID_PATH_android-16-x86_64-on-linux',
|
||||||
'COMMON_TARGET_TEST_CMAKE_ARGS=-DQT_ANDROID_ABIS="x86;x86_64"',
|
'COMMON_TARGET_TEST_CMAKE_ARGS=-DQT_ANDROID_ABIS="x86;x86_64"',
|
||||||
'ANDROID_EMULATOR=emulator_x86_api_28'
|
'ANDROID_EMULATOR=emulator_x86_api_28'
|
||||||
]
|
]
|
||||||
|
|||||||
@@ -1,4 +0,0 @@
|
|||||||
Version: 2
|
|
||||||
Module only: True
|
|
||||||
Include: [yocto.yaml]
|
|
||||||
Configurations: []
|
|
||||||
@@ -4,7 +4,7 @@ Include: [
|
|||||||
'rhel-9.6'
|
'rhel-9.6'
|
||||||
],
|
],
|
||||||
cmake_platforms_target_android.yaml: [
|
cmake_platforms_target_android.yaml: [
|
||||||
'android-17-x86_64-on-linux',
|
'android-15-x86_64-on-linux',
|
||||||
'android-9-x86-on-linux'
|
'android-9-x86-on-linux'
|
||||||
]
|
]
|
||||||
]
|
]
|
||||||
@@ -12,14 +12,14 @@ Configurations: []
|
|||||||
# Android nightly to check for -qtnamespace errors/issues
|
# Android nightly to check for -qtnamespace errors/issues
|
||||||
Overrides:
|
Overrides:
|
||||||
-
|
-
|
||||||
Id: 'android-17-x86_64-on-linux'
|
Id: 'android-15-x86_64-on-linux'
|
||||||
Features: ['Sccache', 'AndroidTestRun', 'VMSize8', 'UseConfigure']
|
Features: ['Sccache', 'AndroidTestRun', 'VMSize8', 'UseConfigure']
|
||||||
Environment variables: [
|
Environment variables: [
|
||||||
'TARGET_CONFIGURE_ARGS=-qtnamespace TestNamespace -nomake examples -release -force-debug-info -android-ndk {{.Env.ANDROID_NDK_ROOT_LATEST}} -android-sdk {{.Env.ANDROID_SDK_ROOT}} -android-abis x86_64',
|
'TARGET_CONFIGURE_ARGS=-qtnamespace TestNamespace -nomake examples -release -force-debug-info -android-ndk {{.Env.ANDROID_NDK_ROOT_LATEST}} -android-sdk {{.Env.ANDROID_SDK_ROOT}} -android-abis x86_64',
|
||||||
'TARGET_CMAKE_ARGS=-DCMAKE_C_COMPILER_FRONTEND_VARIANT=GNU -DCMAKE_CXX_COMPILER_FRONTEND_VARIANT=GNU -DOPENSSL_ROOT_DIR={{.Env.OPENSSL_ANDROID_HOME_LATEST}} -DQT_GENERATE_WRAPPER_SCRIPTS_FOR_ALL_HOSTS=ON',
|
'TARGET_CMAKE_ARGS=-DCMAKE_C_COMPILER_FRONTEND_VARIANT=GNU -DCMAKE_CXX_COMPILER_FRONTEND_VARIANT=GNU -DOPENSSL_ROOT_DIR={{.Env.OPENSSL_ANDROID_HOME_LATEST}} -DQT_GENERATE_WRAPPER_SCRIPTS_FOR_ALL_HOSTS=ON',
|
||||||
'NON_QTBASE_TARGET_CMAKE_ARGS=-DFFMPEG_DIR={{.Env.FFMPEG_DIR_ANDROID_X86_64_NDK_LATEST}} -DQT_DEPLOY_FFMPEG=TRUE -DQT_PROTOBUF_WELL_KNOWN_TYPES_PROTO_DIR=/usr/local/include',
|
'NON_QTBASE_TARGET_CMAKE_ARGS=-DFFMPEG_DIR={{.Env.FFMPEG_DIR_ANDROID_X86_64_NDK_LATEST}} -DQT_DEPLOY_FFMPEG=TRUE -DQT_PROTOBUF_WELL_KNOWN_TYPES_PROTO_DIR=/usr/local/include',
|
||||||
'ANDROID_NDK_ROOT={{.Env.ANDROID_NDK_ROOT_LATEST}}',
|
'ANDROID_NDK_ROOT={{.Env.ANDROID_NDK_ROOT_LATEST}}',
|
||||||
'ANDROID_EMULATOR=emulator_x86_64_api_37'
|
'ANDROID_EMULATOR=emulator_x86_64_api_35'
|
||||||
]
|
]
|
||||||
-
|
-
|
||||||
Id: 'android-9-x86-on-linux'
|
Id: 'android-9-x86-on-linux'
|
||||||
|
|||||||
@@ -2,10 +2,10 @@ Version: 2
|
|||||||
Include: [
|
Include: [
|
||||||
cmake_platforms.yaml: [
|
cmake_platforms.yaml: [
|
||||||
'rhel-9.6',
|
'rhel-9.6',
|
||||||
'windows-11_24h2-mingw15'
|
'windows-11_24h2-mingw13'
|
||||||
],
|
],
|
||||||
cmake_platforms_target_android.yaml: [
|
cmake_platforms_target_android.yaml: [
|
||||||
'android-17-x86_64-on-linux',
|
'android-15-x86_64-on-linux',
|
||||||
'android-9-x86-on-linux',
|
'android-9-x86-on-linux',
|
||||||
'android-armv7-on-windows',
|
'android-armv7-on-windows',
|
||||||
'android-arm64-on-macos'
|
'android-arm64-on-macos'
|
||||||
@@ -18,14 +18,14 @@ Configurations: []
|
|||||||
# Android nightly to check for older (but still supported for the branch) NDKs
|
# Android nightly to check for older (but still supported for the branch) NDKs
|
||||||
Overrides:
|
Overrides:
|
||||||
-
|
-
|
||||||
Id: 'android-17-x86_64-on-linux'
|
Id: 'android-15-x86_64-on-linux'
|
||||||
Features: ['Sccache', 'AndroidTestRun', 'VMSize8', 'UseConfigure', 'WarningsAreErrors']
|
Features: ['Sccache', 'AndroidTestRun', 'VMSize8', 'UseConfigure', 'WarningsAreErrors']
|
||||||
Environment variables: [
|
Environment variables: [
|
||||||
'TARGET_CONFIGURE_ARGS=-nomake examples -release -force-debug-info -android-ndk {{.Env.ANDROID_NDK_ROOT_NIGHTLY1}} -android-sdk {{.Env.ANDROID_SDK_ROOT}} -android-abis x86_64',
|
'TARGET_CONFIGURE_ARGS=-nomake examples -release -force-debug-info -android-ndk {{.Env.ANDROID_NDK_ROOT_NIGHTLY1}} -android-sdk {{.Env.ANDROID_SDK_ROOT}} -android-abis x86_64',
|
||||||
'TARGET_CMAKE_ARGS=-DCMAKE_C_COMPILER_FRONTEND_VARIANT=GNU -DCMAKE_CXX_COMPILER_FRONTEND_VARIANT=GNU -DOPENSSL_ROOT_DIR={{.Env.OPENSSL_ANDROID_HOME_NIGHTLY1}} -DQT_GENERATE_WRAPPER_SCRIPTS_FOR_ALL_HOSTS=ON',
|
'TARGET_CMAKE_ARGS=-DCMAKE_C_COMPILER_FRONTEND_VARIANT=GNU -DCMAKE_CXX_COMPILER_FRONTEND_VARIANT=GNU -DOPENSSL_ROOT_DIR={{.Env.OPENSSL_ANDROID_HOME_NIGHTLY1}} -DQT_GENERATE_WRAPPER_SCRIPTS_FOR_ALL_HOSTS=ON',
|
||||||
'NON_QTBASE_TARGET_CMAKE_ARGS=-DFFMPEG_DIR={{.Env.FFMPEG_DIR_ANDROID_X86_64_NDK_NIGHTLY1}} -DQT_DEPLOY_FFMPEG=TRUE -DQT_PROTOBUF_WELL_KNOWN_TYPES_PROTO_DIR=/usr/local/include',
|
'NON_QTBASE_TARGET_CMAKE_ARGS=-DFFMPEG_DIR={{.Env.FFMPEG_DIR_ANDROID_X86_64_NDK_NIGHTLY1}} -DQT_DEPLOY_FFMPEG=TRUE -DQT_PROTOBUF_WELL_KNOWN_TYPES_PROTO_DIR=/usr/local/include',
|
||||||
'ANDROID_NDK_ROOT={{.Env.ANDROID_NDK_ROOT_NIGHTLY1}}',
|
'ANDROID_NDK_ROOT={{.Env.ANDROID_NDK_ROOT_NIGHTLY1}}',
|
||||||
'ANDROID_EMULATOR=emulator_x86_64_api_37'
|
'ANDROID_EMULATOR=emulator_x86_64_api_35'
|
||||||
]
|
]
|
||||||
-
|
-
|
||||||
Id: 'android-9-x86-on-linux'
|
Id: 'android-9-x86-on-linux'
|
||||||
|
|||||||
@@ -2,10 +2,10 @@ Version: 2
|
|||||||
Include: [
|
Include: [
|
||||||
cmake_platforms.yaml: [
|
cmake_platforms.yaml: [
|
||||||
'rhel-9.6',
|
'rhel-9.6',
|
||||||
'windows-11_24h2-mingw15'
|
'windows-11_24h2-mingw13'
|
||||||
],
|
],
|
||||||
cmake_platforms_target_android.yaml: [
|
cmake_platforms_target_android.yaml: [
|
||||||
'android-17-x86_64-on-linux',
|
'android-15-x86_64-on-linux',
|
||||||
'android-9-x86-on-linux',
|
'android-9-x86-on-linux',
|
||||||
'android-armv7-on-windows',
|
'android-armv7-on-windows',
|
||||||
'android-arm64-on-macos'
|
'android-arm64-on-macos'
|
||||||
@@ -18,14 +18,14 @@ Configurations: []
|
|||||||
# Android nightly to check for older (but still supported for the branch) NDKs
|
# Android nightly to check for older (but still supported for the branch) NDKs
|
||||||
Overrides:
|
Overrides:
|
||||||
-
|
-
|
||||||
Id: 'android-17-x86_64-on-linux'
|
Id: 'android-15-x86_64-on-linux'
|
||||||
Features: ['Sccache', 'AndroidTestRun', 'VMSize8', 'UseConfigure', 'WarningsAreErrors']
|
Features: ['Sccache', 'AndroidTestRun', 'VMSize8', 'UseConfigure', 'WarningsAreErrors']
|
||||||
Environment variables: [
|
Environment variables: [
|
||||||
'TARGET_CONFIGURE_ARGS=-nomake examples -release -force-debug-info -android-ndk {{.Env.ANDROID_NDK_ROOT_NIGHTLY2}} -android-sdk {{.Env.ANDROID_SDK_ROOT}} -android-abis x86_64',
|
'TARGET_CONFIGURE_ARGS=-nomake examples -release -force-debug-info -android-ndk {{.Env.ANDROID_NDK_ROOT_NIGHTLY2}} -android-sdk {{.Env.ANDROID_SDK_ROOT}} -android-abis x86_64',
|
||||||
'TARGET_CMAKE_ARGS=-DCMAKE_C_COMPILER_FRONTEND_VARIANT=GNU -DCMAKE_CXX_COMPILER_FRONTEND_VARIANT=GNU -DOPENSSL_ROOT_DIR={{.Env.OPENSSL_ANDROID_HOME_NIGHTLY2}} -DQT_GENERATE_WRAPPER_SCRIPTS_FOR_ALL_HOSTS=ON',
|
'TARGET_CMAKE_ARGS=-DCMAKE_C_COMPILER_FRONTEND_VARIANT=GNU -DCMAKE_CXX_COMPILER_FRONTEND_VARIANT=GNU -DOPENSSL_ROOT_DIR={{.Env.OPENSSL_ANDROID_HOME_NIGHTLY2}} -DQT_GENERATE_WRAPPER_SCRIPTS_FOR_ALL_HOSTS=ON',
|
||||||
'NON_QTBASE_TARGET_CMAKE_ARGS=-DFFMPEG_DIR={{.Env.FFMPEG_DIR_ANDROID_X86_64_NDK_NIGHTLY2}} -DQT_DEPLOY_FFMPEG=TRUE -DQT_PROTOBUF_WELL_KNOWN_TYPES_PROTO_DIR=/usr/local/include',
|
'NON_QTBASE_TARGET_CMAKE_ARGS=-DFFMPEG_DIR={{.Env.FFMPEG_DIR_ANDROID_X86_64_NDK_NIGHTLY2}} -DQT_DEPLOY_FFMPEG=TRUE -DQT_PROTOBUF_WELL_KNOWN_TYPES_PROTO_DIR=/usr/local/include',
|
||||||
'ANDROID_NDK_ROOT={{.Env.ANDROID_NDK_ROOT_NIGHTLY2}}',
|
'ANDROID_NDK_ROOT={{.Env.ANDROID_NDK_ROOT_NIGHTLY2}}',
|
||||||
'ANDROID_EMULATOR=emulator_x86_64_api_37'
|
'ANDROID_EMULATOR=emulator_x86_64_api_35'
|
||||||
]
|
]
|
||||||
-
|
-
|
||||||
Id: 'android-9-x86-on-linux'
|
Id: 'android-9-x86-on-linux'
|
||||||
|
|||||||
@@ -4,7 +4,7 @@ Include: [
|
|||||||
'rhel-9.6'
|
'rhel-9.6'
|
||||||
],
|
],
|
||||||
cmake_platforms_target_android.yaml: [
|
cmake_platforms_target_android.yaml: [
|
||||||
'android-17-x86_64-on-linux',
|
'android-16-x86_64-on-linux',
|
||||||
'android-9-x86-on-linux'
|
'android-9-x86-on-linux'
|
||||||
]
|
]
|
||||||
]
|
]
|
||||||
@@ -12,14 +12,14 @@ Configurations: []
|
|||||||
# Android nightly to check for preview NDKs (beta/RC or a newer NDK than the _LATEST used in CI)
|
# Android nightly to check for preview NDKs (beta/RC or a newer NDK than the _LATEST used in CI)
|
||||||
Overrides:
|
Overrides:
|
||||||
-
|
-
|
||||||
Id: 'android-17-x86_64-on-linux'
|
Id: 'android-16-x86_64-on-linux'
|
||||||
Features: ['Sccache', 'AndroidTestRun', 'VMSize8', 'UseConfigure', 'WarningsAreErrors']
|
Features: ['Sccache', 'AndroidTestRun', 'VMSize8', 'UseConfigure', 'WarningsAreErrors']
|
||||||
Environment variables: [
|
Environment variables: [
|
||||||
'TARGET_CONFIGURE_ARGS=-nomake examples -release -force-debug-info -android-ndk {{.Env.ANDROID_NDK_ROOT_PREVIEW}} -android-sdk {{.Env.ANDROID_SDK_ROOT}} -android-abis x86_64',
|
'TARGET_CONFIGURE_ARGS=-nomake examples -release -force-debug-info -android-ndk {{.Env.ANDROID_NDK_ROOT_PREVIEW}} -android-sdk {{.Env.ANDROID_SDK_ROOT}} -android-abis x86_64',
|
||||||
'TARGET_CMAKE_ARGS=-DCMAKE_C_COMPILER_FRONTEND_VARIANT=GNU -DCMAKE_CXX_COMPILER_FRONTEND_VARIANT=GNU -DOPENSSL_ROOT_DIR={{.Env.OPENSSL_ANDROID_HOME_PREVIEW}} -DQT_GENERATE_WRAPPER_SCRIPTS_FOR_ALL_HOSTS=ON',
|
'TARGET_CMAKE_ARGS=-DCMAKE_C_COMPILER_FRONTEND_VARIANT=GNU -DCMAKE_CXX_COMPILER_FRONTEND_VARIANT=GNU -DOPENSSL_ROOT_DIR={{.Env.OPENSSL_ANDROID_HOME_PREVIEW}} -DQT_GENERATE_WRAPPER_SCRIPTS_FOR_ALL_HOSTS=ON',
|
||||||
'NON_QTBASE_TARGET_CMAKE_ARGS=-DFFMPEG_DIR={{.Env.FFMPEG_DIR_ANDROID_X86_64_NDK_PREVIEW}} -DQT_DEPLOY_FFMPEG=TRUE -DQT_PROTOBUF_WELL_KNOWN_TYPES_PROTO_DIR=/usr/local/include',
|
'NON_QTBASE_TARGET_CMAKE_ARGS=-DFFMPEG_DIR={{.Env.FFMPEG_DIR_ANDROID_X86_64_NDK_PREVIEW}} -DQT_DEPLOY_FFMPEG=TRUE -DQT_PROTOBUF_WELL_KNOWN_TYPES_PROTO_DIR=/usr/local/include',
|
||||||
'ANDROID_NDK_ROOT={{.Env.ANDROID_NDK_ROOT_PREVIEW}}',
|
'ANDROID_NDK_ROOT={{.Env.ANDROID_NDK_ROOT_PREVIEW}}',
|
||||||
'ANDROID_EMULATOR=emulator_x86_64_api_37'
|
'ANDROID_EMULATOR=emulator_x86_64_api_35'
|
||||||
]
|
]
|
||||||
-
|
-
|
||||||
Id: 'android-9-x86-on-linux'
|
Id: 'android-9-x86-on-linux'
|
||||||
|
|||||||
@@ -1,15 +0,0 @@
|
|||||||
Version: 2
|
|
||||||
Module only: True
|
|
||||||
Include: [
|
|
||||||
cmake_platforms.yaml: [
|
|
||||||
"ubuntu-24.04-x64-developer-build"
|
|
||||||
],
|
|
||||||
cmake_platforms_target_harmonyos.yaml: [
|
|
||||||
"harmonyos-23-arm64-on-linux-developer-build"
|
|
||||||
]
|
|
||||||
]
|
|
||||||
Configurations: []
|
|
||||||
Overrides:
|
|
||||||
-
|
|
||||||
Id: 'harmonyos-23-arm64-on-linux-developer-build'
|
|
||||||
-Features: ['DoNotRunTests']
|
|
||||||
@@ -1,24 +0,0 @@
|
|||||||
Version: 2
|
|
||||||
Module only: True
|
|
||||||
Include: [
|
|
||||||
cmake_platforms.yaml: [
|
|
||||||
"ios-arm64-simulator"
|
|
||||||
]
|
|
||||||
]
|
|
||||||
Configurations:
|
|
||||||
-
|
|
||||||
Id: 'ios-26-simulator-tests'
|
|
||||||
Template: 'qtci-macos-26-arm-105'
|
|
||||||
Compiler: 'Clang'
|
|
||||||
Target os: 'IOS_ANY'
|
|
||||||
Target arch: 'arm64'
|
|
||||||
Platform dependency: 'ios-arm64-simulator'
|
|
||||||
Features: ['TestOnly', 'Insignificant', 'DoNotAbortTestingOnFirstFailure']
|
|
||||||
Environment variables: [
|
|
||||||
'APPLE_SIMULATOR_DEVICE_TYPE=com.apple.CoreSimulator.SimDeviceType.iPad-Pro-13-inch-M4-8GB',
|
|
||||||
]
|
|
||||||
Overrides:
|
|
||||||
-
|
|
||||||
Id: 'ios-arm64-simulator'
|
|
||||||
-Features: ['DisableTests']
|
|
||||||
+Features: ['DoNotRunTests']
|
|
||||||
@@ -1,14 +0,0 @@
|
|||||||
Version: 2
|
|
||||||
Module only: True
|
|
||||||
Include: [
|
|
||||||
cmake_platforms.yaml: [
|
|
||||||
'ubuntu-22.04'
|
|
||||||
]
|
|
||||||
]
|
|
||||||
Configurations:
|
|
||||||
-
|
|
||||||
Id: 'ubuntu-22.04-Axivion'
|
|
||||||
Template: 'qtci-linux-Ubuntu-22.04-x86_64-51'
|
|
||||||
Compiler: 'GCC'
|
|
||||||
Features: ['UseConfigure', 'VMSize16', 'RunAsPlatformDependency', 'PysideAxivion']
|
|
||||||
Platform dependency: 'ubuntu-22.04'
|
|
||||||
@@ -1,7 +1,7 @@
|
|||||||
Version: 2
|
Version: 2
|
||||||
Include: [
|
Include: [
|
||||||
cmake_platforms.yaml: [
|
cmake_platforms.yaml: [
|
||||||
'windows-11_24h2-mingw15'
|
'windows-11_24h2-mingw13'
|
||||||
]
|
]
|
||||||
]
|
]
|
||||||
Configurations:
|
Configurations:
|
||||||
@@ -12,7 +12,7 @@ Configurations:
|
|||||||
Target arch: 'arm64'
|
Target arch: 'arm64'
|
||||||
Compiler: 'Mingw'
|
Compiler: 'Mingw'
|
||||||
Target compiler: 'QCC'
|
Target compiler: 'QCC'
|
||||||
Platform dependency: 'windows-11_24h2-mingw15'
|
Platform dependency: 'windows-11_24h2-mingw13'
|
||||||
Features: ['DisableTests', 'UseConfigure']
|
Features: ['DisableTests', 'UseConfigure']
|
||||||
Environment variables: [
|
Environment variables: [
|
||||||
'Path={{.Env.MINGW_PATH}}\bin;{{.Env.Path}}',
|
'Path={{.Env.MINGW_PATH}}\bin;{{.Env.Path}}',
|
||||||
|
|||||||
@@ -1,14 +0,0 @@
|
|||||||
Version: 2
|
|
||||||
Module only: True
|
|
||||||
Configurations:
|
|
||||||
-
|
|
||||||
Id: 'ubuntu-24.04-lcov'
|
|
||||||
Template: 'qtci-linux-Ubuntu-24.04-x86_64-51'
|
|
||||||
Compiler: 'GCC'
|
|
||||||
Features: ['Sccache', 'UseConfigure', 'lcov', 'VMSize8', 'DisableTests']
|
|
||||||
Configure arguments: '-developer-build -nomake examples -release -force-debug-info -separate-debug-info -headersclean -qt-libjpeg -qt-libpng -qt-pcre -qt-harfbuzz -qt-doubleconversion -no-libudev -bundled-xcb-xinput'
|
|
||||||
Environment variables: [
|
|
||||||
'CMAKE_ARGS=-DOpenGL_GL_PREFERENCE=LEGACY',
|
|
||||||
'NON_QTBASE_CMAKE_ARGS=-DFFMPEG_DIR={{.Env.FFMPEG_DIR}} -DINPUT_headersclean=ON'
|
|
||||||
]
|
|
||||||
|
|
||||||
@@ -3,7 +3,7 @@ Configurations: []
|
|||||||
Include: [
|
Include: [
|
||||||
cmake_platforms.yaml: [
|
cmake_platforms.yaml: [
|
||||||
'windows-11_24H2-msvc2022-developer-build',
|
'windows-11_24H2-msvc2022-developer-build',
|
||||||
'windows-11_24H2-mingw15-developer-build',
|
'windows-11_24H2-mingw13-developer-build',
|
||||||
'windows-11_24H2-llvm'
|
'windows-11_24H2-llvm'
|
||||||
]
|
]
|
||||||
]
|
]
|
||||||
@@ -13,7 +13,7 @@ Overrides:
|
|||||||
Id: 'windows-11_24H2-msvc2022-developer-build'
|
Id: 'windows-11_24H2-msvc2022-developer-build'
|
||||||
Configure arguments: '-qtnamespace TestNamespace -debug-and-release -force-asserts -make examples -developer-build -force-debug-info -qt-zlib -c++std c++20'
|
Configure arguments: '-qtnamespace TestNamespace -debug-and-release -force-asserts -make examples -developer-build -force-debug-info -qt-zlib -c++std c++20'
|
||||||
-
|
-
|
||||||
Id: 'windows-11_24H2-mingw15-developer-build'
|
Id: 'windows-11_24H2-mingw13-developer-build'
|
||||||
Configure arguments: '-qtnamespace TestNamespace -developer-build -release -force-asserts -force-debug-info -separate-debug-info -make examples'
|
Configure arguments: '-qtnamespace TestNamespace -developer-build -release -force-asserts -force-debug-info -separate-debug-info -make examples'
|
||||||
-
|
-
|
||||||
Id: 'windows-11_24H2-llvm'
|
Id: 'windows-11_24H2-llvm'
|
||||||
|
|||||||
@@ -7,7 +7,7 @@ Include: [
|
|||||||
"ubuntu-22.04-developer-build-x11-tests",
|
"ubuntu-22.04-developer-build-x11-tests",
|
||||||
"ubuntu-24.04-x64",
|
"ubuntu-24.04-x64",
|
||||||
"windows-11_24H2-msvc2022-developer-build",
|
"windows-11_24H2-msvc2022-developer-build",
|
||||||
"ios-device",
|
"ios-universal",
|
||||||
"documentation-warnings",
|
"documentation-warnings",
|
||||||
],
|
],
|
||||||
macos.yaml: [
|
macos.yaml: [
|
||||||
|
|||||||
@@ -5,7 +5,7 @@ Include: [
|
|||||||
'rhel-9.6'
|
'rhel-9.6'
|
||||||
],
|
],
|
||||||
cmake_platforms_target_android.yaml: [
|
cmake_platforms_target_android.yaml: [
|
||||||
'android-17-x86_64-on-linux'
|
'android-15-x86_64-on-linux'
|
||||||
]
|
]
|
||||||
]
|
]
|
||||||
Configurations: []
|
Configurations: []
|
||||||
|
|||||||
@@ -1,6 +0,0 @@
|
|||||||
Version: 2
|
|
||||||
Include: [
|
|
||||||
cmake_platforms.yaml,
|
|
||||||
address_sanitizer_platforms.yaml
|
|
||||||
]
|
|
||||||
Configurations: []
|
|
||||||
@@ -7,13 +7,12 @@ Include: [
|
|||||||
"ubuntu-22.04",
|
"ubuntu-22.04",
|
||||||
"ubuntu-22.04-developer-build",
|
"ubuntu-22.04-developer-build",
|
||||||
"ubuntu-24.04-arm64",
|
"ubuntu-24.04-arm64",
|
||||||
"ubuntu-24.04-x64",
|
|
||||||
"opensuse-16.0-developer-build",
|
"opensuse-16.0-developer-build",
|
||||||
"sles-15_sp6-static",
|
"sles-15_sp6-static",
|
||||||
"windows-10_22h2-msvc2022",
|
"windows-10_22h2-msvc2022",
|
||||||
"rhel-9.6",
|
"rhel-9.6",
|
||||||
"windows-11_24h2-mingw15",
|
"windows-11_24h2-mingw13",
|
||||||
"windows-11_24H2-mingw15-developer-build",
|
"windows-11_24H2-mingw13-developer-build",
|
||||||
"windows-11_24H2-llvm",
|
"windows-11_24H2-llvm",
|
||||||
"windows-11_24H2-msvc2022",
|
"windows-11_24H2-msvc2022",
|
||||||
"windows-11_23h2-arm64-msvc2022"
|
"windows-11_23h2-arm64-msvc2022"
|
||||||
@@ -46,7 +45,7 @@ Configurations:
|
|||||||
'TARGET_CONFIGURE_ARGS=-release -no-warnings-are-errors -nomake examples -qt-harfbuzz -device linux-generic-g++ -device-option "CROSS_COMPILE={{.Env.QEMUARM64_TOOLCHAIN_CROSS_COMPILE}}" -device-option "DISTRO_OPTS=boot2qt" -no-feature-forkfd_pidfd -qtlibinfix TestInfix',
|
'TARGET_CONFIGURE_ARGS=-release -no-warnings-are-errors -nomake examples -qt-harfbuzz -device linux-generic-g++ -device-option "CROSS_COMPILE={{.Env.QEMUARM64_TOOLCHAIN_CROSS_COMPILE}}" -device-option "DISTRO_OPTS=boot2qt" -no-feature-forkfd_pidfd -qtlibinfix TestInfix',
|
||||||
'TARGET_CMAKE_ARGS=-DCMAKE_TOOLCHAIN_FILE={{.Env.QEMUARM64_TOOLCHAIN_FILE}} -DQT_FORCE_BUILD_TOOLS=ON',
|
'TARGET_CMAKE_ARGS=-DCMAKE_TOOLCHAIN_FILE={{.Env.QEMUARM64_TOOLCHAIN_FILE}} -DQT_FORCE_BUILD_TOOLS=ON',
|
||||||
'QT_YOCTO_ENVSETUP={{.Env.QEMUARM64_TOOLCHAIN_ENVSETUP}}',
|
'QT_YOCTO_ENVSETUP={{.Env.QEMUARM64_TOOLCHAIN_ENVSETUP}}',
|
||||||
"QT_CMAKE_DIR=/opt/cmake-4.3.2/bin",
|
"QT_CMAKE_DIR=/opt/cmake-3.30.5/bin",
|
||||||
'QT_SYSROOT_FOR_RUNNING_TESTS={{.Env.QEMUARM64_TOOLCHAIN_SYSROOT}}',
|
'QT_SYSROOT_FOR_RUNNING_TESTS={{.Env.QEMUARM64_TOOLCHAIN_SYSROOT}}',
|
||||||
'GST_PLUGIN_SCANNER={{.Env.QEMUARM64_TOOLCHAIN_SYSROOT}}/usr/libexec/gstreamer-1.0/gst-plugin-scanner',
|
'GST_PLUGIN_SCANNER={{.Env.QEMUARM64_TOOLCHAIN_SYSROOT}}/usr/libexec/gstreamer-1.0/gst-plugin-scanner',
|
||||||
'QT_QUICK_BACKEND=software',
|
'QT_QUICK_BACKEND=software',
|
||||||
|
|||||||
@@ -13,8 +13,8 @@ Include: [
|
|||||||
"sles-15_sp6-static",
|
"sles-15_sp6-static",
|
||||||
"windows-10_22h2-msvc2022",
|
"windows-10_22h2-msvc2022",
|
||||||
"rhel-9.6",
|
"rhel-9.6",
|
||||||
"windows-11_24h2-mingw15",
|
"windows-11_24h2-mingw13",
|
||||||
"windows-11_24H2-mingw15-developer-build",
|
"windows-11_24H2-mingw13-developer-build",
|
||||||
"windows-11_24H2-llvm",
|
"windows-11_24H2-llvm",
|
||||||
"windows-11_24H2-msvc2022",
|
"windows-11_24H2-msvc2022",
|
||||||
"windows-11_23h2-arm64-msvc2022"
|
"windows-11_23h2-arm64-msvc2022"
|
||||||
|
|||||||
@@ -1,7 +1,6 @@
|
|||||||
Version: 2
|
Version: 2
|
||||||
Include: [
|
Include: [
|
||||||
cmake_platforms.yaml,
|
cmake_platforms.yaml,
|
||||||
address_sanitizer_platforms.yaml,
|
address_sanitizer_platforms.yaml
|
||||||
offline_documentation.yaml
|
|
||||||
]
|
]
|
||||||
Configurations: []
|
Configurations: []
|
||||||
|
|||||||
@@ -1,9 +0,0 @@
|
|||||||
Version: 2
|
|
||||||
Include: [
|
|
||||||
cmake_platforms.yaml: [
|
|
||||||
'rhel-9.6',
|
|
||||||
'ubuntu-24.04-arm64',
|
|
||||||
'ubuntu-24.04-x64-developer-build'
|
|
||||||
]
|
|
||||||
]
|
|
||||||
Configurations: []
|
|
||||||
@@ -3,7 +3,7 @@ Include: [
|
|||||||
cmake_platforms.yaml: [
|
cmake_platforms.yaml: [
|
||||||
"documentation-warnings",
|
"documentation-warnings",
|
||||||
"rhel-9.6",
|
"rhel-9.6",
|
||||||
'windows-11_24h2-mingw15',
|
'windows-11_24h2-mingw13',
|
||||||
],
|
],
|
||||||
macos.yaml: [
|
macos.yaml: [
|
||||||
'macos-universal-on-arm64'
|
'macos-universal-on-arm64'
|
||||||
@@ -12,7 +12,7 @@ Include: [
|
|||||||
'android-arm64-on-macos',
|
'android-arm64-on-macos',
|
||||||
'android-armv7-on-windows',
|
'android-armv7-on-windows',
|
||||||
'android-9-x86-on-linux',
|
'android-9-x86-on-linux',
|
||||||
'android-17-x86_64-on-linux'
|
'android-16-x86_64-on-linux'
|
||||||
],
|
],
|
||||||
offline_documentation.yaml
|
offline_documentation.yaml
|
||||||
]
|
]
|
||||||
|
|||||||
@@ -1,25 +0,0 @@
|
|||||||
Version: 2
|
|
||||||
Include: [
|
|
||||||
cmake_platforms.yaml: [
|
|
||||||
'ubuntu-22.04',
|
|
||||||
'ubuntu-22.04-x11-tests',
|
|
||||||
'ubuntu-24.04-x64',
|
|
||||||
'ubuntu-24.04-x64-x11-tests',
|
|
||||||
'rhel-9.6',
|
|
||||||
'rhel-10.0',
|
|
||||||
'windows-11_24H2-msvc2022',
|
|
||||||
'windows-11_24H2-msvc2026',
|
|
||||||
'windows-11_24h2-mingw15',
|
|
||||||
'windows-11_24H2-llvm'
|
|
||||||
],
|
|
||||||
macos.yaml: [
|
|
||||||
'macos-universal-on-arm64',
|
|
||||||
'macos-14-x86_64-tests',
|
|
||||||
'macos-15-x86_64-tests',
|
|
||||||
'macos-26-x86_64-tests',
|
|
||||||
'macos-14-arm64-tests',
|
|
||||||
'macos-15-arm64-tests',
|
|
||||||
'macos-26-arm64-tests'
|
|
||||||
]
|
|
||||||
]
|
|
||||||
Configurations: []
|
|
||||||
@@ -5,21 +5,11 @@ Include: [
|
|||||||
'ubuntu-22.04-x11-tests',
|
'ubuntu-22.04-x11-tests',
|
||||||
'ubuntu-24.04-x64',
|
'ubuntu-24.04-x64',
|
||||||
'ubuntu-24.04-x64-x11-tests',
|
'ubuntu-24.04-x64-x11-tests',
|
||||||
'rhel-9.6',
|
'windows-11_24H2-msvc2022'
|
||||||
'rhel-10.0',
|
|
||||||
'windows-11_24H2-msvc2022',
|
|
||||||
'windows-11_24H2-msvc2026',
|
|
||||||
'windows-11_24h2-mingw15',
|
|
||||||
'windows-11_24H2-llvm'
|
|
||||||
],
|
],
|
||||||
macos.yaml: [
|
macos.yaml: [
|
||||||
'macos-universal-on-arm64',
|
'macos-arm64-developer-build',
|
||||||
'macos-14-x86_64-tests',
|
'macos-14-arm64-developer-build-tests'
|
||||||
'macos-15-x86_64-tests',
|
|
||||||
'macos-26-x86_64-tests',
|
|
||||||
'macos-14-arm64-tests',
|
|
||||||
'macos-15-arm64-tests',
|
|
||||||
'macos-26-arm64-tests'
|
|
||||||
]
|
]
|
||||||
]
|
]
|
||||||
Configurations: []
|
Configurations: []
|
||||||
|
|||||||
@@ -1,25 +0,0 @@
|
|||||||
#!/usr/bin/env bash
|
|
||||||
# Copyright (C) 2026 The Qt Company Ltd.
|
|
||||||
# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
|
|
||||||
|
|
||||||
# Distribution-specific build settings.
|
|
||||||
# For another distro/version, copy the bundle and change these values first.
|
|
||||||
|
|
||||||
DISTRO_NAME="ubuntu"
|
|
||||||
DISTRO_VERSION="26.04"
|
|
||||||
ISO_PATH="/tmp/ubuntu-26.04-desktop-amd64.iso"
|
|
||||||
# ISO_CHECKSUM_FILE="/tmp/SHA256SUMS"
|
|
||||||
|
|
||||||
# Usually reusable without changes.
|
|
||||||
IMAGE_PREFIX="qtci-linux"
|
|
||||||
ARCH="x86_64"
|
|
||||||
MINIMAL_INDEX="50"
|
|
||||||
CUSTOM_INDEX="51"
|
|
||||||
DISK_SIZE="500G"
|
|
||||||
CPUS="8"
|
|
||||||
MEMORY_MB="16184"
|
|
||||||
SSH_USERNAME="qt"
|
|
||||||
SSH_PASSWORD="$(cat /tmp/PASS)"
|
|
||||||
|
|
||||||
PROJECT_DIR="/tmp/packer-linux"
|
|
||||||
ARTIFACT_DIR="/tmp/output-linux-images"
|
|
||||||
@@ -1,111 +0,0 @@
|
|||||||
#!/usr/bin/env bash
|
|
||||||
# Copyright (C) 2026 The Qt Company Ltd.
|
|
||||||
# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
|
|
||||||
|
|
||||||
set -euo pipefail
|
|
||||||
|
|
||||||
script_dir="$(cd -- "$(dirname -- "${BASH_SOURCE[0]}")" && pwd)"
|
|
||||||
# shellcheck source=build-config.sh
|
|
||||||
source "${script_dir}/build-config.sh"
|
|
||||||
|
|
||||||
image_base_name="${IMAGE_PREFIX}-${DISTRO_NAME}-${DISTRO_VERSION}-${ARCH}"
|
|
||||||
image_50_name="${image_base_name}-${MINIMAL_INDEX}"
|
|
||||||
image_51_name="${image_base_name}-${CUSTOM_INDEX}"
|
|
||||||
image_50="${ARTIFACT_DIR}/${image_50_name}"
|
|
||||||
image_51="${ARTIFACT_DIR}/${image_51_name}"
|
|
||||||
image_51_seed="/tmp/${image_51_name}-seed.qcow2"
|
|
||||||
stage_50_output="/tmp/packer-output-${MINIMAL_INDEX}"
|
|
||||||
stage_51_output="/tmp/packer-output-${CUSTOM_INDEX}"
|
|
||||||
template="linux-image.pkr.hcl"
|
|
||||||
|
|
||||||
# Pass one source of configuration into Packer without duplicating distro and
|
|
||||||
# version literals in HCL or a second variable file.
|
|
||||||
export PKR_VAR_distro_name="$DISTRO_NAME"
|
|
||||||
export PKR_VAR_distro_version="$DISTRO_VERSION"
|
|
||||||
export PKR_VAR_image_prefix="$IMAGE_PREFIX"
|
|
||||||
export PKR_VAR_arch="$ARCH"
|
|
||||||
export PKR_VAR_minimal_index="$MINIMAL_INDEX"
|
|
||||||
export PKR_VAR_custom_index="$CUSTOM_INDEX"
|
|
||||||
export PKR_VAR_iso_path="$ISO_PATH"
|
|
||||||
# export PKR_VAR_iso_checksum_file="$ISO_CHECKSUM_FILE"
|
|
||||||
export PKR_VAR_project_dir="$PROJECT_DIR"
|
|
||||||
export PKR_VAR_artifact_dir="$ARTIFACT_DIR"
|
|
||||||
export PKR_VAR_disk_size="$DISK_SIZE"
|
|
||||||
export PKR_VAR_cpus="$CPUS"
|
|
||||||
export PKR_VAR_memory_mb="$MEMORY_MB"
|
|
||||||
export PKR_VAR_ssh_username="$SSH_USERNAME"
|
|
||||||
export PKR_VAR_ssh_password="$SSH_PASSWORD"
|
|
||||||
|
|
||||||
if [[ "$script_dir" != "$PROJECT_DIR" ]]; then
|
|
||||||
echo "ERROR: Bundle is at '$script_dir', but PROJECT_DIR is '$PROJECT_DIR'." >&2
|
|
||||||
echo "Move/extract it there or update PROJECT_DIR in build-config.sh." >&2
|
|
||||||
exit 1
|
|
||||||
fi
|
|
||||||
|
|
||||||
for required_file in $ISO_PATH; do
|
|
||||||
if [[ ! -f "$required_file" ]]; then
|
|
||||||
echo "ERROR: Required file is missing: $required_file" >&2
|
|
||||||
exit 1
|
|
||||||
fi
|
|
||||||
done
|
|
||||||
|
|
||||||
# Stage 51 is always regenerated. Stage 50 is retained
|
|
||||||
rm -rf "$stage_50_output" "$stage_51_output"
|
|
||||||
rm -f "$image_51" "$image_51_seed"
|
|
||||||
rm -f "${image_51}.sha256"
|
|
||||||
|
|
||||||
packer init "$template"
|
|
||||||
packer validate "$template"
|
|
||||||
|
|
||||||
if [[ -f "$image_50" ]]; then
|
|
||||||
echo "Stage ${MINIMAL_INDEX}: existing image found:"
|
|
||||||
echo " $image_50"
|
|
||||||
echo "Validating existing image before skipping the build..."
|
|
||||||
|
|
||||||
if ! qemu-img check "$image_50"; then
|
|
||||||
echo "ERROR: Existing stage-${MINIMAL_INDEX} image failed validation:" >&2
|
|
||||||
echo " $image_50" >&2
|
|
||||||
echo "The image was not deleted or overwritten." >&2
|
|
||||||
echo "Remove it manually" >&2
|
|
||||||
exit 1
|
|
||||||
fi
|
|
||||||
|
|
||||||
echo "Stage ${MINIMAL_INDEX}: image is valid, skipping Packer build."
|
|
||||||
sha256sum "$image_50" > "${image_50}.sha256"
|
|
||||||
|
|
||||||
else
|
|
||||||
echo "Stage ${MINIMAL_INDEX}: no existing image found, starting Packer."
|
|
||||||
|
|
||||||
PACKER_LOG=1 \
|
|
||||||
PACKER_LOG_PATH="/tmp/packer-stage-${MINIMAL_INDEX}.log" \
|
|
||||||
packer build -only=stage-50.qemu.stage_50 "$template"
|
|
||||||
|
|
||||||
qemu-img check "$image_50"
|
|
||||||
sha256sum "$image_50" > "${image_50}.sha256"
|
|
||||||
fi
|
|
||||||
|
|
||||||
echo "Creating independent stage-${CUSTOM_INDEX} seed..."
|
|
||||||
qemu-img convert -p -f qcow2 -O qcow2 "$image_50" "$image_51_seed"
|
|
||||||
qemu-img check "$image_51_seed"
|
|
||||||
|
|
||||||
PACKER_LOG=1 \
|
|
||||||
PACKER_LOG_PATH="/tmp/packer-stage-${CUSTOM_INDEX}.log" \
|
|
||||||
packer build -only=stage-51.qemu.stage_51 "$template"
|
|
||||||
|
|
||||||
qemu-img check "$image_51"
|
|
||||||
sha256sum "$image_51" > "${image_51}.sha256"
|
|
||||||
|
|
||||||
(
|
|
||||||
cd "$ARTIFACT_DIR"
|
|
||||||
sha256sum --check "$(basename "${image_50}.sha256")"
|
|
||||||
)
|
|
||||||
|
|
||||||
rm -f "$image_51_seed"
|
|
||||||
|
|
||||||
echo
|
|
||||||
echo "Created independent images:"
|
|
||||||
echo " $image_50"
|
|
||||||
echo " $image_51"
|
|
||||||
echo "Checksums:"
|
|
||||||
echo " ${image_50}.sha256"
|
|
||||||
echo " ${image_51}.sha256"
|
|
||||||
@@ -1,2 +0,0 @@
|
|||||||
instance-id: qtci-ubuntu26-packer
|
|
||||||
local-hostname: qtci-ubuntu26-x64
|
|
||||||
@@ -1,22 +0,0 @@
|
|||||||
#cloud-config
|
|
||||||
# This file is installer/distribution-specific. The generic HCL and wrapper can
|
|
||||||
# be reused, but replace this file for a distro that does not use autoinstall.
|
|
||||||
autoinstall:
|
|
||||||
version: 1
|
|
||||||
source:
|
|
||||||
id: ubuntu-desktop-minimal
|
|
||||||
locale: en_US.UTF-8
|
|
||||||
keyboard:
|
|
||||||
layout: us
|
|
||||||
timezone: UTC
|
|
||||||
identity:
|
|
||||||
hostname: qtci-ubuntu26-x64
|
|
||||||
username: qt
|
|
||||||
password: "$6$qtciubuntu2604$FAeHIUtg1iOarKFnnDZim5fWEJ6ZaaYXSc360m68XFTqurIBWNBxsmUDKj.8mGJkVDKlWjFdKZLfrqHYhuBH8/"
|
|
||||||
ssh:
|
|
||||||
install-server: true
|
|
||||||
allow-pw: true
|
|
||||||
storage:
|
|
||||||
layout:
|
|
||||||
name: direct
|
|
||||||
shutdown: reboot
|
|
||||||
@@ -1,192 +0,0 @@
|
|||||||
packer {
|
|
||||||
required_version = ">= 1.14.0"
|
|
||||||
|
|
||||||
required_plugins {
|
|
||||||
qemu = {
|
|
||||||
version = "~> 1"
|
|
||||||
source = "github.com/hashicorp/qemu"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
variable "distro_name" {
|
|
||||||
type = string
|
|
||||||
}
|
|
||||||
variable "distro_version" {
|
|
||||||
type = string
|
|
||||||
}
|
|
||||||
variable "image_prefix" {
|
|
||||||
type = string
|
|
||||||
}
|
|
||||||
variable "arch" {
|
|
||||||
type = string
|
|
||||||
}
|
|
||||||
variable "minimal_index" {
|
|
||||||
type = string
|
|
||||||
}
|
|
||||||
variable "custom_index" {
|
|
||||||
type = string
|
|
||||||
}
|
|
||||||
variable "iso_path" {
|
|
||||||
type = string
|
|
||||||
}
|
|
||||||
variable "project_dir" {
|
|
||||||
type = string
|
|
||||||
}
|
|
||||||
variable "artifact_dir" {
|
|
||||||
type = string
|
|
||||||
}
|
|
||||||
variable "disk_size" {
|
|
||||||
type = string
|
|
||||||
}
|
|
||||||
variable "cpus" {
|
|
||||||
type = number
|
|
||||||
}
|
|
||||||
variable "memory_mb" {
|
|
||||||
type = number
|
|
||||||
}
|
|
||||||
variable "ssh_username" {
|
|
||||||
type = string
|
|
||||||
}
|
|
||||||
variable "ssh_password" {
|
|
||||||
type = string
|
|
||||||
sensitive = true
|
|
||||||
}
|
|
||||||
|
|
||||||
locals {
|
|
||||||
image_base_name = "${var.image_prefix}-${var.distro_name}-${var.distro_version}-${var.arch}"
|
|
||||||
image_50_name = "${local.image_base_name}-${var.minimal_index}"
|
|
||||||
image_51_name = "${local.image_base_name}-${var.custom_index}"
|
|
||||||
|
|
||||||
image_50_path = "${var.artifact_dir}/${local.image_50_name}"
|
|
||||||
image_51_path = "${var.artifact_dir}/${local.image_51_name}"
|
|
||||||
image_51_seed = "/tmp/${local.image_51_name}-seed.qcow2"
|
|
||||||
|
|
||||||
stage_50_output = "/tmp/packer-output-${var.minimal_index}"
|
|
||||||
stage_51_output = "/tmp/packer-output-${var.custom_index}"
|
|
||||||
}
|
|
||||||
|
|
||||||
source "qemu" "stage_50" {
|
|
||||||
vm_name = local.image_50_name
|
|
||||||
output_directory = local.stage_50_output
|
|
||||||
|
|
||||||
iso_url = var.iso_path
|
|
||||||
iso_checksum = "none"
|
|
||||||
|
|
||||||
accelerator = "kvm"
|
|
||||||
qemu_binary = "qemu-system-x86_64"
|
|
||||||
format = "qcow2"
|
|
||||||
disk_size = var.disk_size
|
|
||||||
disk_interface = "virtio"
|
|
||||||
net_device = "virtio-net"
|
|
||||||
|
|
||||||
cpus = var.cpus
|
|
||||||
memory = var.memory_mb
|
|
||||||
|
|
||||||
communicator = "ssh"
|
|
||||||
ssh_username = var.ssh_username
|
|
||||||
ssh_password = var.ssh_password
|
|
||||||
ssh_timeout = "60m"
|
|
||||||
ssh_handshake_attempts = 100
|
|
||||||
|
|
||||||
http_directory = "${var.project_dir}/http"
|
|
||||||
boot_wait = "10s"
|
|
||||||
|
|
||||||
# This boot sequence is installer-family-specific. Replace it when adapting
|
|
||||||
# the bundle to a distro that does not use Ubuntu/Subiquity autoinstall.
|
|
||||||
boot_command = [
|
|
||||||
"c<wait>",
|
|
||||||
"linux /casper/vmlinuz autoinstall ds=nocloud-net\\;s=http://{{ .HTTPIP }}:{{ .HTTPPort }}/ ---<enter><wait>",
|
|
||||||
"initrd /casper/initrd<enter><wait>",
|
|
||||||
"boot<enter>"
|
|
||||||
]
|
|
||||||
|
|
||||||
headless = true
|
|
||||||
vnc_bind_address = "127.0.0.1"
|
|
||||||
shutdown_command = "echo '${var.ssh_password}' | sudo -S shutdown -P now"
|
|
||||||
}
|
|
||||||
|
|
||||||
source "qemu" "stage_51" {
|
|
||||||
vm_name = local.image_51_name
|
|
||||||
output_directory = local.stage_51_output
|
|
||||||
|
|
||||||
# build-images.sh creates this independent seed from immutable image -50.
|
|
||||||
iso_url = local.image_51_seed
|
|
||||||
iso_checksum = "none"
|
|
||||||
disk_image = true
|
|
||||||
|
|
||||||
accelerator = "kvm"
|
|
||||||
qemu_binary = "qemu-system-x86_64"
|
|
||||||
format = "qcow2"
|
|
||||||
disk_size = var.disk_size
|
|
||||||
disk_interface = "virtio"
|
|
||||||
net_device = "virtio-net"
|
|
||||||
|
|
||||||
cpus = var.cpus
|
|
||||||
memory = var.memory_mb
|
|
||||||
|
|
||||||
communicator = "ssh"
|
|
||||||
ssh_username = var.ssh_username
|
|
||||||
ssh_password = var.ssh_password
|
|
||||||
ssh_timeout = "30m"
|
|
||||||
ssh_handshake_attempts = 100
|
|
||||||
|
|
||||||
headless = true
|
|
||||||
vnc_bind_address = "127.0.0.1"
|
|
||||||
shutdown_command = "echo '${var.ssh_password}' | sudo -S shutdown -P now"
|
|
||||||
}
|
|
||||||
|
|
||||||
build {
|
|
||||||
name = "stage-50"
|
|
||||||
sources = ["source.qemu.stage_50"]
|
|
||||||
|
|
||||||
provisioner "shell" {
|
|
||||||
execute_command = "echo '${var.ssh_password}' | {{ .Vars }} sudo -S -E bash '{{ .Path }}'"
|
|
||||||
script = "${var.project_dir}/scripts/01-minimal-50.sh"
|
|
||||||
}
|
|
||||||
|
|
||||||
post-processor "shell-local" {
|
|
||||||
inline = [
|
|
||||||
"mkdir -p '${var.artifact_dir}'",
|
|
||||||
"rm -f '${local.image_50_path}'",
|
|
||||||
"mv '${local.stage_50_output}/${local.image_50_name}' '${local.image_50_path}'",
|
|
||||||
"qemu-img check '${local.image_50_path}'",
|
|
||||||
"qemu-img info '${local.image_50_path}'"
|
|
||||||
]
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
build {
|
|
||||||
name = "stage-51"
|
|
||||||
sources = ["source.qemu.stage_51"]
|
|
||||||
|
|
||||||
provisioner "shell" {
|
|
||||||
execute_command = "echo '${var.ssh_password}' | {{ .Vars }} sudo -S -E bash '{{ .Path }}'"
|
|
||||||
script = "${var.project_dir}/scripts/02-coin-configuration-51.sh"
|
|
||||||
}
|
|
||||||
|
|
||||||
provisioner "shell" {
|
|
||||||
execute_command = "echo '${var.ssh_password}' | {{ .Vars }} sudo -S -E bash '{{ .Path }}'"
|
|
||||||
script = "${var.project_dir}/scripts/03-gnome-configuration-51.sh"
|
|
||||||
}
|
|
||||||
|
|
||||||
provisioner "shell" {
|
|
||||||
execute_command = "echo '${var.ssh_password}' | {{ .Vars }} sudo -S -E bash '{{ .Path }}'"
|
|
||||||
script = "${var.project_dir}/scripts/04-no-overview-extension-51.sh"
|
|
||||||
}
|
|
||||||
|
|
||||||
provisioner "shell" {
|
|
||||||
execute_command = "echo '${var.ssh_password}' | {{ .Vars }} sudo -S -E bash '{{ .Path }}'"
|
|
||||||
script = "${var.project_dir}/scripts/05-check-configurations-51.sh"
|
|
||||||
}
|
|
||||||
|
|
||||||
post-processor "shell-local" {
|
|
||||||
inline = [
|
|
||||||
"mkdir -p '${var.artifact_dir}'",
|
|
||||||
"rm -f '${local.image_51_path}'",
|
|
||||||
"mv '${local.stage_51_output}/${local.image_51_name}' '${local.image_51_path}'",
|
|
||||||
"qemu-img check '${local.image_51_path}'",
|
|
||||||
"qemu-img info '${local.image_51_path}'"
|
|
||||||
]
|
|
||||||
}
|
|
||||||
}
|
|
||||||
@@ -1,27 +0,0 @@
|
|||||||
#!/usr/bin/env bash
|
|
||||||
# Copyright (C) 2026 The Qt Company Ltd.
|
|
||||||
# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
|
|
||||||
|
|
||||||
set -euo pipefail
|
|
||||||
|
|
||||||
# This script is run on the minimal -50 image
|
|
||||||
# Other scripts will be run on the -50 -> -51 cloned image
|
|
||||||
|
|
||||||
readonly CI_USER="${CI_USER:-qt}"
|
|
||||||
export DEBIAN_FRONTEND=noninteractive
|
|
||||||
|
|
||||||
# Debian/Ubuntu implementation. Replace this script with the distro's package
|
|
||||||
# manager commands when reusing the generic wrapper and HCL elsewhere.
|
|
||||||
apt-get update
|
|
||||||
apt-get -y full-upgrade
|
|
||||||
apt-get install -y qemu-guest-agent
|
|
||||||
systemctl enable qemu-guest-agent
|
|
||||||
|
|
||||||
dpkg-query -W -f='${binary:Package}\t${Version}\n' \
|
|
||||||
> /var/tmp/qtci-minimal-image-packages.txt
|
|
||||||
|
|
||||||
apt-get -y autoremove
|
|
||||||
apt-get clean
|
|
||||||
rm -rf /var/lib/apt/lists/*
|
|
||||||
|
|
||||||
qemu-ga --version
|
|
||||||
-169
@@ -1,169 +0,0 @@
|
|||||||
#!/usr/bin/env bash
|
|
||||||
# Copyright (C) 2026 The Qt Company Ltd.
|
|
||||||
# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
|
|
||||||
|
|
||||||
set -euo pipefail
|
|
||||||
|
|
||||||
# Initial Coin configuration for the customized image (-51).
|
|
||||||
|
|
||||||
readonly CI_USER="${CI_USER:-qt}"
|
|
||||||
readonly GRUB_GFXMODE_VALUE="${GRUB_GFXMODE_VALUE:-1280x800}"
|
|
||||||
|
|
||||||
export DEBIAN_FRONTEND=noninteractive
|
|
||||||
|
|
||||||
log() {
|
|
||||||
printf '\n[51-coin-configuration] %s\n' "$*"
|
|
||||||
}
|
|
||||||
|
|
||||||
require_root() {
|
|
||||||
if [[ "${EUID}" -ne 0 ]]; then
|
|
||||||
echo "ERROR: This script must run as root." >&2
|
|
||||||
exit 1
|
|
||||||
fi
|
|
||||||
}
|
|
||||||
|
|
||||||
require_user() {
|
|
||||||
if ! id "$CI_USER" >/dev/null 2>&1; then
|
|
||||||
echo "ERROR: Required CI user does not exist: $CI_USER" >&2
|
|
||||||
exit 1
|
|
||||||
fi
|
|
||||||
}
|
|
||||||
|
|
||||||
require_root
|
|
||||||
require_user
|
|
||||||
|
|
||||||
log "Installing required base packages"
|
|
||||||
apt-get update
|
|
||||||
apt-get install -y \
|
|
||||||
openssh-server \
|
|
||||||
ufw
|
|
||||||
|
|
||||||
# Remove GNOME welcome window at boot
|
|
||||||
log "Removing gnome-initial-setup"
|
|
||||||
apt-get purge -y gnome-initial-setup
|
|
||||||
|
|
||||||
# No sudo PW
|
|
||||||
log "Configuring passwordless sudo for ${CI_USER}"
|
|
||||||
cat > "/etc/sudoers.d/${CI_USER}" <<EOF
|
|
||||||
${CI_USER} ALL=(ALL) NOPASSWD: ALL
|
|
||||||
EOF
|
|
||||||
chmod 0440 "/etc/sudoers.d/${CI_USER}"
|
|
||||||
visudo --check
|
|
||||||
|
|
||||||
# UTC
|
|
||||||
log "Setting the system timezone to UTC"
|
|
||||||
timedatectl set-timezone UTC
|
|
||||||
|
|
||||||
# Enable SSH
|
|
||||||
log "Enabling SSH"
|
|
||||||
# Current Ubuntu releases may use socket activation. Enabling both units is
|
|
||||||
# harmless and keeps the image compatible with service- and socket-based SSH.
|
|
||||||
systemctl enable ssh.service
|
|
||||||
systemctl enable ssh.socket 2>/dev/null || true
|
|
||||||
|
|
||||||
# Enable QEMU GA
|
|
||||||
log "Enabling QEMU guest agent"
|
|
||||||
systemctl enable qemu-guest-agent
|
|
||||||
|
|
||||||
# Disable firewall
|
|
||||||
log "Disabling UFW"
|
|
||||||
ufw --force disable
|
|
||||||
systemctl disable ufw.service 2>/dev/null || true
|
|
||||||
|
|
||||||
# Set resolution
|
|
||||||
log "Configuring GRUB graphics mode: ${GRUB_GFXMODE_VALUE}"
|
|
||||||
if grep -qE '^GRUB_GFXMODE=' /etc/default/grub; then
|
|
||||||
sed -i "s/^GRUB_GFXMODE=.*/GRUB_GFXMODE=${GRUB_GFXMODE_VALUE}/" /etc/default/grub
|
|
||||||
else
|
|
||||||
printf '\nGRUB_GFXMODE=%s\n' "$GRUB_GFXMODE_VALUE" >> /etc/default/grub
|
|
||||||
fi
|
|
||||||
update-grub
|
|
||||||
|
|
||||||
# Disable auto upgrade/update
|
|
||||||
log "Disabling periodic APT update checks"
|
|
||||||
cat > /etc/apt/apt.conf.d/99-qtci-no-periodic-updates << EOF
|
|
||||||
APT::Periodic "0";
|
|
||||||
APT::Periodic::Update-Package-Lists "0";
|
|
||||||
APT::Periodic::Download-Upgradeable-Packages "0";
|
|
||||||
APT::Periodic::AutocleanInterval "0";
|
|
||||||
APT::Periodic::Unattended-Upgrade "0";
|
|
||||||
EOF
|
|
||||||
|
|
||||||
sudo systemctl disable --now \
|
|
||||||
apt-daily.timer \
|
|
||||||
apt-daily-upgrade.timer
|
|
||||||
|
|
||||||
sudo systemctl mask \
|
|
||||||
apt-daily.service \
|
|
||||||
apt-daily-upgrade.service \
|
|
||||||
apt-daily.timer \
|
|
||||||
apt-daily-upgrade.timer
|
|
||||||
|
|
||||||
log "Disabling release-upgrade notifications"
|
|
||||||
if [[ -f /etc/update-manager/release-upgrades ]]; then
|
|
||||||
if grep -qE '^Prompt=' /etc/update-manager/release-upgrades; then
|
|
||||||
sed -i 's/^Prompt=.*/Prompt=never/' \
|
|
||||||
/etc/update-manager/release-upgrades
|
|
||||||
else
|
|
||||||
printf '\nPrompt=never\n' >> /etc/update-manager/release-upgrades
|
|
||||||
fi
|
|
||||||
fi
|
|
||||||
|
|
||||||
# GDM Auto login
|
|
||||||
log "Configuring GDM for ${CI_USER}"
|
|
||||||
if [[ -d /etc/gdm3 ]]; then
|
|
||||||
gdm_config="/etc/gdm3/custom.conf"
|
|
||||||
touch "$gdm_config"
|
|
||||||
|
|
||||||
if ! grep -qE '^\[daemon\]' "$gdm_config"; then
|
|
||||||
printf '\n[daemon]\n' >> "$gdm_config"
|
|
||||||
fi
|
|
||||||
sed -i \
|
|
||||||
'/^AutomaticLoginEnable=/d; /^AutomaticLogin=/d; /^InitialSetupEnable=/d' \
|
|
||||||
"$gdm_config"
|
|
||||||
sed -i \
|
|
||||||
"/^\[daemon\]/a InitialSetupEnable=False\nAutomaticLogin=${CI_USER}\nAutomaticLoginEnable=True" \
|
|
||||||
"$gdm_config"
|
|
||||||
else
|
|
||||||
log "GDM is not installed; skipping GDM configuration"
|
|
||||||
fi
|
|
||||||
|
|
||||||
# Run Coin-setup
|
|
||||||
log "Downloading and running coin-setup"
|
|
||||||
|
|
||||||
coin_setup_url="https://ci-files01-hki.ci.qt.io/input/linux/coin-setup-linux-amd64.zip"
|
|
||||||
coin_setup_zip="/tmp/coin-setup-linux-amd64.zip"
|
|
||||||
coin_setup_dir="/tmp/coin-setup-linux-amd64"
|
|
||||||
coin_setup_binary="${coin_setup_dir}/coin-setup"
|
|
||||||
|
|
||||||
rm -rf "$coin_setup_dir"
|
|
||||||
rm -f "$coin_setup_zip"
|
|
||||||
mkdir -p "$coin_setup_dir"
|
|
||||||
|
|
||||||
wget --quiet --output-document="$coin_setup_zip" "$coin_setup_url"
|
|
||||||
|
|
||||||
unzip -q "$coin_setup_zip" -d "$coin_setup_dir"
|
|
||||||
|
|
||||||
if [[ ! -f "$coin_setup_binary" ]]; then
|
|
||||||
echo "ERROR: coin-setup binary was not found at ${coin_setup_binary}" >&2
|
|
||||||
echo "Archive contents:" >&2
|
|
||||||
unzip -l "$coin_setup_zip" >&2
|
|
||||||
exit 1
|
|
||||||
fi
|
|
||||||
|
|
||||||
chmod 0755 "$coin_setup_binary"
|
|
||||||
|
|
||||||
sudo -H -u "$CI_USER" "$coin_setup_binary"
|
|
||||||
|
|
||||||
rm -rf "$coin_setup_dir"
|
|
||||||
rm -f "$coin_setup_zip"
|
|
||||||
|
|
||||||
log "coin-setup completed successfully"
|
|
||||||
|
|
||||||
# Clean apt
|
|
||||||
log "Cleaning APT metadata"
|
|
||||||
apt-get clean
|
|
||||||
rm -rf /var/lib/apt/lists/*
|
|
||||||
|
|
||||||
log "Configuration completed successfully"
|
|
||||||
echo "A reboot is required for all GRUB and login-manager changes to take effect."
|
|
||||||
-150
@@ -1,150 +0,0 @@
|
|||||||
#!/usr/bin/env bash
|
|
||||||
# Copyright (C) 2026 The Qt Company Ltd.
|
|
||||||
# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
|
|
||||||
|
|
||||||
set -euo pipefail
|
|
||||||
|
|
||||||
readonly CI_USER="${CI_USER:-qt}"
|
|
||||||
|
|
||||||
log() {
|
|
||||||
printf '\n[gnome-configuration] %s\n' "$*"
|
|
||||||
}
|
|
||||||
|
|
||||||
if [[ "$EUID" -ne 0 ]]; then
|
|
||||||
echo "ERROR: This script must run as root." >&2
|
|
||||||
exit 1
|
|
||||||
fi
|
|
||||||
|
|
||||||
if ! id "$CI_USER" >/dev/null 2>&1; then
|
|
||||||
echo "ERROR: User does not exist: $CI_USER" >&2
|
|
||||||
exit 1
|
|
||||||
fi
|
|
||||||
|
|
||||||
ci_home="$(getent passwd "$CI_USER" | cut -d: -f6)"
|
|
||||||
|
|
||||||
if [[ -z "$ci_home" || ! -d "$ci_home" ]]; then
|
|
||||||
echo "ERROR: Cannot determine home directory for $CI_USER" >&2
|
|
||||||
exit 1
|
|
||||||
fi
|
|
||||||
|
|
||||||
log "Applying GNOME preferences for ${CI_USER}"
|
|
||||||
|
|
||||||
# GNOME preferences are stored per user in the dconf database. Packer runs this
|
|
||||||
# provisioner as root over SSH, without a graphical login or user D-Bus session.
|
|
||||||
# Run gsettings as the CI user inside a temporary D-Bus session so the values
|
|
||||||
# are written to the CI user's dconf database rather than root's configuration.
|
|
||||||
|
|
||||||
sudo -H -u "$CI_USER" HOME="$ci_home" dbus-run-session -- bash <<'GNOME_SETTINGS'
|
|
||||||
set -euo pipefail
|
|
||||||
|
|
||||||
schema_exists() {
|
|
||||||
local schema="$1"
|
|
||||||
|
|
||||||
gsettings list-schemas |
|
|
||||||
grep -Fx "$schema" >/dev/null
|
|
||||||
}
|
|
||||||
|
|
||||||
key_exists() {
|
|
||||||
local schema="$1"
|
|
||||||
local key="$2"
|
|
||||||
|
|
||||||
gsettings list-keys "$schema" |
|
|
||||||
grep -Fx "$key" >/dev/null
|
|
||||||
}
|
|
||||||
|
|
||||||
set_setting() {
|
|
||||||
local schema="$1"
|
|
||||||
local key="$2"
|
|
||||||
local value="$3"
|
|
||||||
|
|
||||||
if ! schema_exists "$schema"; then
|
|
||||||
echo "ERROR: Missing GSettings schema: $schema" >&2
|
|
||||||
exit 1
|
|
||||||
fi
|
|
||||||
|
|
||||||
if ! key_exists "$schema" "$key"; then
|
|
||||||
echo "ERROR: Missing GSettings key: $schema $key" >&2
|
|
||||||
exit 1
|
|
||||||
fi
|
|
||||||
|
|
||||||
echo "Setting: $schema $key = $value"
|
|
||||||
gsettings set "$schema" "$key" "$value"
|
|
||||||
|
|
||||||
actual="$(gsettings get "$schema" "$key")"
|
|
||||||
echo "Result: $schema $key = $actual"
|
|
||||||
}
|
|
||||||
|
|
||||||
set_setting \
|
|
||||||
org.gnome.desktop.notifications \
|
|
||||||
show-banners \
|
|
||||||
false
|
|
||||||
|
|
||||||
set_setting \
|
|
||||||
org.gnome.desktop.notifications \
|
|
||||||
show-in-lock-screen \
|
|
||||||
false
|
|
||||||
|
|
||||||
set_setting \
|
|
||||||
org.gnome.desktop.screensaver \
|
|
||||||
lock-enabled \
|
|
||||||
false
|
|
||||||
|
|
||||||
if key_exists \
|
|
||||||
org.gnome.desktop.screensaver \
|
|
||||||
ubuntu-lock-on-suspend; then
|
|
||||||
|
|
||||||
set_setting \
|
|
||||||
org.gnome.desktop.screensaver \
|
|
||||||
ubuntu-lock-on-suspend \
|
|
||||||
false
|
|
||||||
fi
|
|
||||||
|
|
||||||
set_setting \
|
|
||||||
org.gnome.desktop.privacy \
|
|
||||||
remember-recent-files \
|
|
||||||
false
|
|
||||||
|
|
||||||
rm -f "${XDG_DATA_HOME:-$HOME/.local/share}/recently-used.xbel"
|
|
||||||
|
|
||||||
set_setting \
|
|
||||||
org.gnome.desktop.session \
|
|
||||||
idle-delay \
|
|
||||||
'uint32 0'
|
|
||||||
|
|
||||||
set_setting \
|
|
||||||
org.gnome.settings-daemon.plugins.power \
|
|
||||||
sleep-inactive-ac-type \
|
|
||||||
"'nothing'"
|
|
||||||
|
|
||||||
set_setting \
|
|
||||||
org.gnome.settings-daemon.plugins.power \
|
|
||||||
sleep-inactive-battery-type \
|
|
||||||
"'nothing'"
|
|
||||||
|
|
||||||
set_setting \
|
|
||||||
org.gnome.settings-daemon.plugins.power \
|
|
||||||
sleep-inactive-ac-timeout \
|
|
||||||
0
|
|
||||||
|
|
||||||
set_setting \
|
|
||||||
org.gnome.settings-daemon.plugins.power \
|
|
||||||
sleep-inactive-battery-timeout \
|
|
||||||
0
|
|
||||||
|
|
||||||
set_setting \
|
|
||||||
org.gnome.shell.extensions.dash-to-dock \
|
|
||||||
dock-fixed \
|
|
||||||
true
|
|
||||||
|
|
||||||
set_setting \
|
|
||||||
org.gnome.shell.extensions.dash-to-dock \
|
|
||||||
autohide \
|
|
||||||
false
|
|
||||||
|
|
||||||
set_setting \
|
|
||||||
org.gnome.shell.extensions.dash-to-dock \
|
|
||||||
intellihide \
|
|
||||||
false
|
|
||||||
GNOME_SETTINGS
|
|
||||||
|
|
||||||
log "GNOME preferences applied successfully"
|
|
||||||
-46
@@ -1,46 +0,0 @@
|
|||||||
#!/usr/bin/env bash
|
|
||||||
# Copyright (C) 2026 The Qt Company Ltd.
|
|
||||||
# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
|
|
||||||
|
|
||||||
set -euo pipefail
|
|
||||||
|
|
||||||
# Install no-overview gnome extension to prevent desktop overview at boot (QTBUG-132070)
|
|
||||||
|
|
||||||
readonly CI_USER="${CI_USER:-qt}"
|
|
||||||
readonly EXTENSION_UUID="no-overview@fthx"
|
|
||||||
readonly EXTENSION_URL="https://ci-files01-hki.ci.qt.io/input/linux/no-overviewfthx.v23.shell-extension.zip" # GNOME <50
|
|
||||||
readonly EXTENSION_ZIP="/tmp/${EXTENSION_UUID}.zip"
|
|
||||||
readonly EXTENSION_DIR="/usr/share/gnome-shell/extensions/${EXTENSION_UUID}"
|
|
||||||
|
|
||||||
if [[ "$EUID" -ne 0 ]]; then
|
|
||||||
echo "ERROR: This script must run as root." >&2
|
|
||||||
exit 1
|
|
||||||
fi
|
|
||||||
|
|
||||||
if ! id "$CI_USER" >/dev/null 2>&1; then
|
|
||||||
echo "ERROR: User does not exist: $CI_USER" >&2
|
|
||||||
exit 1
|
|
||||||
fi
|
|
||||||
|
|
||||||
ci_home="$(getent passwd "$CI_USER" | cut -d: -f6)"
|
|
||||||
|
|
||||||
echo "Installing No Overview GNOME extension"
|
|
||||||
|
|
||||||
wget --quiet --output-document="$EXTENSION_ZIP" "$EXTENSION_URL"
|
|
||||||
|
|
||||||
install -d -o root -g root -m 0755 "$EXTENSION_DIR"
|
|
||||||
|
|
||||||
unzip -q "$EXTENSION_ZIP" -d "$EXTENSION_DIR"
|
|
||||||
|
|
||||||
chown -R root:root "$EXTENSION_DIR"
|
|
||||||
find "$EXTENSION_DIR" -type d -exec chmod 0755 {} +
|
|
||||||
find "$EXTENSION_DIR" -type f -exec chmod 0644 {} +
|
|
||||||
|
|
||||||
# gnome-extensions writes the enabled state to the CI user's dconf database.
|
|
||||||
# Packer runs over SSH without a user session, so provide a temporary D-Bus.
|
|
||||||
sudo -H -u "$CI_USER" HOME="$ci_home" dbus-run-session -- gnome-extensions enable "$EXTENSION_UUID"
|
|
||||||
|
|
||||||
rm -f "$EXTENSION_ZIP"
|
|
||||||
|
|
||||||
echo "Installed and enabled: $EXTENSION_UUID"
|
|
||||||
echo "After a reboot, check with: gnome-extensions list --enabled"
|
|
||||||
-138
@@ -1,138 +0,0 @@
|
|||||||
#!/usr/bin/env bash
|
|
||||||
# Copyright (C) 2026 The Qt Company Ltd.
|
|
||||||
# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
|
|
||||||
|
|
||||||
set -euo pipefail
|
|
||||||
|
|
||||||
failures=0
|
|
||||||
|
|
||||||
pass() {
|
|
||||||
printf 'PASS: %s\n' "$1"
|
|
||||||
}
|
|
||||||
|
|
||||||
fail() {
|
|
||||||
printf 'FAIL: %s\n' "$1"
|
|
||||||
failures=$((failures + 1))
|
|
||||||
}
|
|
||||||
|
|
||||||
echo "=== Image -51 verification ==="
|
|
||||||
|
|
||||||
# No PW prompt
|
|
||||||
if sudo -n true 2>/dev/null; then
|
|
||||||
pass "passwordless sudo"
|
|
||||||
else
|
|
||||||
fail "passwordless sudo"
|
|
||||||
fi
|
|
||||||
|
|
||||||
if sudo visudo --check >/dev/null 2>&1; then
|
|
||||||
pass "sudoers syntax"
|
|
||||||
else
|
|
||||||
fail "sudoers syntax"
|
|
||||||
fi
|
|
||||||
|
|
||||||
# Timezone
|
|
||||||
timezone="$(timedatectl show --property=Timezone --value)"
|
|
||||||
|
|
||||||
if [[ "$timezone" == "UTC" || "$timezone" == "Etc/UTC" ]]; then
|
|
||||||
pass "timezone is UTC"
|
|
||||||
else
|
|
||||||
fail "timezone is '$timezone', expected UTC"
|
|
||||||
fi
|
|
||||||
|
|
||||||
# SSH
|
|
||||||
if dpkg-query -W -f='${db:Status-Abbrev}' openssh-server 2>/dev/null | grep -q '^ii'; then
|
|
||||||
pass "openssh-server installed"
|
|
||||||
else
|
|
||||||
fail "openssh-server installed"
|
|
||||||
fi
|
|
||||||
|
|
||||||
if systemctl is-active --quiet ssh.socket || systemctl is-active --quiet ssh.service; then
|
|
||||||
pass "SSH listener active"
|
|
||||||
else
|
|
||||||
fail "SSH listener active"
|
|
||||||
fi
|
|
||||||
|
|
||||||
if sudo ss -ltn |
|
|
||||||
grep -qE 'LISTEN.+:22[[:space:]]'; then
|
|
||||||
pass "TCP port 22 listening"
|
|
||||||
else
|
|
||||||
fail "TCP port 22 listening"
|
|
||||||
fi
|
|
||||||
|
|
||||||
# QEMU GA
|
|
||||||
if dpkg-query -W -f='${db:Status-Abbrev}' qemu-guest-agent 2>/dev/null | grep -q '^ii'; then
|
|
||||||
pass "qemu-guest-agent installed"
|
|
||||||
else
|
|
||||||
fail "qemu-guest-agent installed"
|
|
||||||
fi
|
|
||||||
|
|
||||||
if systemctl is-enabled --quiet qemu-guest-agent; then
|
|
||||||
pass "qemu-guest-agent enabled"
|
|
||||||
else
|
|
||||||
fail "qemu-guest-agent enabled"
|
|
||||||
fi
|
|
||||||
|
|
||||||
# UFW
|
|
||||||
if sudo ufw status | grep -Fxq 'Status: inactive'; then
|
|
||||||
pass "UFW inactive"
|
|
||||||
else
|
|
||||||
fail "UFW inactive"
|
|
||||||
fi
|
|
||||||
|
|
||||||
# Resolution
|
|
||||||
if grep -Fxq 'GRUB_GFXMODE=1280x800' /etc/default/grub; then
|
|
||||||
pass "GRUB graphics mode"
|
|
||||||
else
|
|
||||||
fail "GRUB graphics mode"
|
|
||||||
fi
|
|
||||||
|
|
||||||
# Auto update/upgrade disabled
|
|
||||||
if apt-config dump | grep -i 'APT::Periodic \"0\";'; then
|
|
||||||
pass "APT periodic processing disabled"
|
|
||||||
else
|
|
||||||
apt-config dump | grep -i APT::Periodic
|
|
||||||
fail "APT periodic processing enabled"
|
|
||||||
fi
|
|
||||||
|
|
||||||
if apt-config dump | grep -i 'APT::Periodic::Unattended-Upgrade \"0\";'; then
|
|
||||||
pass "APT unattended upgrades disabled"
|
|
||||||
else
|
|
||||||
apt-config dump | grep -i APT::Periodic
|
|
||||||
fail "APT unattended upgrades enabled"
|
|
||||||
fi
|
|
||||||
|
|
||||||
if grep -Fxq 'Prompt=never' /etc/update-manager/release-upgrades; then
|
|
||||||
pass "release-upgrade notifications disabled"
|
|
||||||
else
|
|
||||||
fail "release-upgrade notifications enabled"
|
|
||||||
fi
|
|
||||||
|
|
||||||
# Auto login
|
|
||||||
if sudo grep -Fxq 'AutomaticLoginEnable=True' /etc/gdm3/custom.conf && sudo grep -Fxq 'AutomaticLogin=qt' /etc/gdm3/custom.conf; then
|
|
||||||
pass "GDM automatic login configured"
|
|
||||||
else
|
|
||||||
fail "GDM automatic login configured"
|
|
||||||
fi
|
|
||||||
|
|
||||||
# Broken packages
|
|
||||||
if [[ -z "$(sudo dpkg --audit)" ]]; then
|
|
||||||
pass "dpkg audit"
|
|
||||||
else
|
|
||||||
fail "dpkg audit"
|
|
||||||
fi
|
|
||||||
|
|
||||||
# GNOME initial setup executable removed
|
|
||||||
if [[ ! -x /usr/libexec/gnome-initial-setup ]]; then
|
|
||||||
pass "GNOME initial setup executable is absent"
|
|
||||||
else
|
|
||||||
fail "/usr/libexec/gnome-initial-setup exists. There might be a welcome window popup"
|
|
||||||
fi
|
|
||||||
|
|
||||||
# Summary
|
|
||||||
echo
|
|
||||||
if (( failures == 0 )); then
|
|
||||||
echo "All conf checks passed."
|
|
||||||
else
|
|
||||||
echo "${failures} check(s) failed."
|
|
||||||
# exit 1
|
|
||||||
fi
|
|
||||||
@@ -25,8 +25,8 @@ basePath="http://ci-files01-hki.ci.qt.io/input/android"
|
|||||||
toolsVersion="19.0"
|
toolsVersion="19.0"
|
||||||
toolsFile="commandlinetools-linux-13114758_latest.zip"
|
toolsFile="commandlinetools-linux-13114758_latest.zip"
|
||||||
toolsBackupUrl="https://dl.google.com/android/repository/$toolsFile"
|
toolsBackupUrl="https://dl.google.com/android/repository/$toolsFile"
|
||||||
sdkBuildToolsVersion="37.0.0"
|
sdkBuildToolsVersion="36.0.0"
|
||||||
sdkApiLevel="android-37.0"
|
sdkApiLevel="android-36"
|
||||||
toolsSha1="5fdcc763663eefb86a5b8879697aa6088b041e70"
|
toolsSha1="5fdcc763663eefb86a5b8879697aa6088b041e70"
|
||||||
|
|
||||||
ndkVersionLatest="r27c"
|
ndkVersionLatest="r27c"
|
||||||
@@ -161,13 +161,12 @@ cd "$sdkTargetFolder/cmdline-tools/tools/bin"
|
|||||||
./sdkmanager --install "emulator" --sdk_root="$sdkTargetFolder" \
|
./sdkmanager --install "emulator" --sdk_root="$sdkTargetFolder" \
|
||||||
| eval "$sdkmanager_no_progress_bar_cmd"
|
| eval "$sdkmanager_no_progress_bar_cmd"
|
||||||
|
|
||||||
echo "Download and unzip Android Emulator version 36.6.11"
|
echo "Download and unzip Android Emulator version 35.2.10"
|
||||||
# See https://developer.android.com/studio/emulator_archive
|
emulatorFileName="emulator-linux_x64-12414864.zip"
|
||||||
emulatorFileName="emulator-linux_x64-15507667.zip"
|
|
||||||
emulatorCiUrl="https://ci-files01-hki.ci.qt.io/input/android/$emulatorFileName"
|
emulatorCiUrl="https://ci-files01-hki.ci.qt.io/input/android/$emulatorFileName"
|
||||||
emulatorUrl="http://dl.google.com/android/repository/$emulatorFileName"
|
emulatorUrl="http://dl.google.com/android/repository/$emulatorFileName"
|
||||||
emulatorTargetFile="$sdkTargetFolder/$emulatorFileName"
|
emulatorTargetFile="$sdkTargetFolder/$emulatorFileName"
|
||||||
emulatorSha1="f8d8b83cf21a04966326eb1378bacda255f63b93"
|
emulatorSha1="41dd213d120f727d8c3840347d234b135793ba10"
|
||||||
DownloadURL "$emulatorCiUrl" "$emulatorUrl" "$emulatorSha1" "$emulatorTargetFile"
|
DownloadURL "$emulatorCiUrl" "$emulatorUrl" "$emulatorSha1" "$emulatorTargetFile"
|
||||||
echo "Unzipping the Android Emulator to '$sdkTargetFolder'"
|
echo "Unzipping the Android Emulator to '$sdkTargetFolder'"
|
||||||
sudo unzip -o -q "$emulatorTargetFile" -d "$sdkTargetFolder"
|
sudo unzip -o -q "$emulatorTargetFile" -d "$sdkTargetFolder"
|
||||||
@@ -188,21 +187,36 @@ echo "Unzipping the Android 9 to $minVersionDestination"
|
|||||||
sudo unzip -o -q "$minVersionFilePath" -d "$minVersionDestination"
|
sudo unzip -o -q "$minVersionFilePath" -d "$minVersionDestination"
|
||||||
rm "$minVersionFilePath"
|
rm "$minVersionFilePath"
|
||||||
|
|
||||||
echo "Download and unzip Android 17 (16KB Page Size) System Image"
|
echo "Download and unzip Android 16 System Image"
|
||||||
insignificantMaxVersionFileName="x86_64-ps16k-37.1_r07.zip"
|
maxVersionFileName="x86_64-36_r07.zip"
|
||||||
|
maxVersionDestination="$sdkTargetFolder/system-images/android-36/google_apis/"
|
||||||
|
maxVersionFilePath="$maxVersionDestination/$maxVersionFileName"
|
||||||
|
maxVersionCiUrl="$basePath/system_images/google_apis/$maxVersionFileName"
|
||||||
|
maxVersionUrl="https://dl.google.com/android/repository/sys-img/google_apis/$maxVersionFileName"
|
||||||
|
maxVersionSha1="c6bf44bdcd885bb902b4ba752d111a073ad7a817"
|
||||||
|
|
||||||
|
mkdir -p "$maxVersionDestination"
|
||||||
|
DownloadURL "$maxVersionCiUrl" "$maxVersionUrl" "$maxVersionSha1" "$maxVersionFilePath"
|
||||||
|
|
||||||
|
echo "Unzipping the Android 16 to $maxVersionDestination"
|
||||||
|
sudo unzip -o -q "$maxVersionFilePath" -d "$maxVersionDestination"
|
||||||
|
rm "$maxVersionFilePath"
|
||||||
|
|
||||||
|
echo "Download and unzip Android 17 Beta 3 16KB System Image"
|
||||||
|
insignificantMaxVersionFileName="x86_64-ps16k-37.0_r03.zip"
|
||||||
insignificantMaxVersionDestination="$sdkTargetFolder/system-images/android-37/google_apis_ps16k/"
|
insignificantMaxVersionDestination="$sdkTargetFolder/system-images/android-37/google_apis_ps16k/"
|
||||||
insignificantMaxVersionFilePath="$insignificantMaxVersionDestination/$insignificantMaxVersionFileName"
|
insignificantMaxVersionFilePath="$insignificantMaxVersionDestination/$insignificantMaxVersionFileName"
|
||||||
insignificantMaxVersionCiUrl="$basePath/system_images/google_apis/$insignificantMaxVersionFileName"
|
insignificantMaxVersionCiUrl="$basePath/system_images/google_apis/$insignificantMaxVersionFileName"
|
||||||
insignificantMaxVersionUrl="https://dl.google.com/android/repository/sys-img/google_apis/$insignificantMaxVersionFileName"
|
insignificantMaxVersionUrl="https://dl.google.com/android/repository/sys-img/google_apis/$insignificantMaxVersionFileName"
|
||||||
insignificantMaxVersionSha1="88e208a83a5f0b18958275b7c1a047e931395f3f"
|
insignificantMaxVersionSha1="b89a6686f9a9e9942d596bed45d422cbccb70c98"
|
||||||
|
|
||||||
mkdir -p "$insignificantMaxVersionDestination"
|
mkdir -p "$insignificantMaxVersionDestination"
|
||||||
DownloadURL "$insignificantMaxVersionCiUrl" "$insignificantMaxVersionUrl" "$insignificantMaxVersionSha1" "$insignificantMaxVersionFilePath"
|
DownloadURL "$insignificantMaxVersionCiUrl" "$insignificantMaxVersionUrl" "$insignificantMaxVersionSha1" "$insignificantMaxVersionFilePath"
|
||||||
|
|
||||||
echo "Unzipping the Android 17 (16KB Page Size) to $insignificantMaxVersionDestination"
|
echo "Unzipping the Android 17 Beta3 16KB to $insignificantMaxVersionDestination"
|
||||||
sudo unzip -o -q "$insignificantMaxVersionFilePath" -d "$insignificantMaxVersionDestination"
|
sudo unzip -o -q "$insignificantMaxVersionFilePath" -d "$insignificantMaxVersionDestination"
|
||||||
# Hack to avoid SDK version bug in source.properties file, the usage of ".0" messes things for avdmanager. TODO: undo when official comes
|
# Hack to avoid SDK version bug in source.properties file, the usage of ".0" messes things for avdmanager. TODO: undo when official comes
|
||||||
sudo sed -i 's/AndroidVersion.ApiLevel=37.1/AndroidVersion.ApiLevel=37/g' "$insignificantMaxVersionDestination/x86_64/source.properties"
|
sudo sed -i 's/AndroidVersion.ApiLevel=37.0/AndroidVersion.ApiLevel=37/g' "$insignificantMaxVersionDestination/x86_64/source.properties"
|
||||||
rm "$insignificantMaxVersionFilePath"
|
rm "$insignificantMaxVersionFilePath"
|
||||||
|
|
||||||
echo "Checking the contents of Android SDK again..."
|
echo "Checking the contents of Android SDK again..."
|
||||||
@@ -211,8 +225,11 @@ ls -l "$sdkTargetFolder"
|
|||||||
echo "no" | ./avdmanager create avd -n emulator_x86_api_28 -c 2048M -f \
|
echo "no" | ./avdmanager create avd -n emulator_x86_api_28 -c 2048M -f \
|
||||||
-k "system-images;android-28;google_apis;x86"
|
-k "system-images;android-28;google_apis;x86"
|
||||||
|
|
||||||
|
echo "no" | ./avdmanager create avd -n emulator_x86_64_api_36 -c 2048M -f \
|
||||||
|
-k "system-images;android-36;google_apis;x86_64"
|
||||||
|
|
||||||
echo "no" | ./avdmanager create avd -n emulator_x86_64_api_37 -c 2048M -f \
|
echo "no" | ./avdmanager create avd -n emulator_x86_64_api_37 -c 2048M -f \
|
||||||
-k "system-images;android-37;google_apis,page_size_16kb;x86_64"
|
-k "system-images;android-37;google_apis,page_size_16kb,ai_glasses_compatible;x86_64"
|
||||||
|
|
||||||
echo "Install maximum supported SDK level image for Android Automotive $sdkApiLevelAutomotiveMax"
|
echo "Install maximum supported SDK level image for Android Automotive $sdkApiLevelAutomotiveMax"
|
||||||
DownloadURL "$androidAutomotiveMaxUrl" "$androidAutomotiveMaxUrl" "$androidAutomotiveMaxSha" \
|
DownloadURL "$androidAutomotiveMaxUrl" "$androidAutomotiveMaxUrl" "$androidAutomotiveMaxSha" \
|
||||||
|
|||||||
@@ -11,26 +11,13 @@ source "${BASH_SOURCE%/*}/../unix/InstallFromCompressedFileFromURL.sh"
|
|||||||
# shellcheck source=../unix/SetEnvVar.sh
|
# shellcheck source=../unix/SetEnvVar.sh
|
||||||
source "${BASH_SOURCE%/*}/../unix/SetEnvVar.sh"
|
source "${BASH_SOURCE%/*}/../unix/SetEnvVar.sh"
|
||||||
|
|
||||||
majorminorversion="4.3"
|
majorminorversion="3.30"
|
||||||
version="4.3.2"
|
version="3.30.5"
|
||||||
|
PrimaryUrl="http://ci-files01-hki.ci.qt.io/input/cmake/cmake-$version-linux-x86_64.tar.gz"
|
||||||
uname_m="$(uname -m)"
|
AltUrl="https://cmake.org/files/v$majorminorversion/cmake-$version-linux-x86_64.tar.gz"
|
||||||
case "$uname_m" in
|
SHA1="61b339cac5f110d5ed2934f66a26c2e991945e01"
|
||||||
x86_64|amd64)
|
|
||||||
SHA1="736c0722ed8393b3eb74fd573f6c9c245770206a"
|
|
||||||
arch="x86_64"
|
|
||||||
;;
|
|
||||||
arm64|aarch64)
|
|
||||||
SHA1="a173eb910c808f561422feb45fe1fe57c3e346fa"
|
|
||||||
arch="aarch64"
|
|
||||||
;;
|
|
||||||
*) fatal "Unknown architecture in uname: $uname_m" 43 ;;
|
|
||||||
esac
|
|
||||||
|
|
||||||
PrimaryUrl="http://ci-files01-hki.ci.qt.io/input/cmake/cmake-$version-linux-$arch.tar.gz"
|
|
||||||
AltUrl="https://cmake.org/files/v$majorminorversion/cmake-$version-linux-$arch.tar.gz"
|
|
||||||
targetFolder="/opt/cmake-$version"
|
targetFolder="/opt/cmake-$version"
|
||||||
appPrefix="cmake-$version-linux-$arch"
|
appPrefix="cmake-$version-linux-x86_64"
|
||||||
|
|
||||||
InstallFromCompressedFileFromURL "$PrimaryUrl" "$AltUrl" "$SHA1" "$targetFolder" "$appPrefix"
|
InstallFromCompressedFileFromURL "$PrimaryUrl" "$AltUrl" "$SHA1" "$targetFolder" "$appPrefix"
|
||||||
|
|
||||||
|
|||||||
@@ -1,66 +0,0 @@
|
|||||||
#!/usr/bin/env bash
|
|
||||||
# Copyright (C) 2026 The Qt Company Ltd.
|
|
||||||
# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
|
|
||||||
|
|
||||||
set -e
|
|
||||||
|
|
||||||
OS_STATE_DIR="/var/lib/qtciid"
|
|
||||||
OS_STATE_FILE="$OS_STATE_DIR/os-version"
|
|
||||||
|
|
||||||
get_os_id() {
|
|
||||||
if [[ -r /etc/os-release ]]; then
|
|
||||||
# shellcheck disable=SC1091
|
|
||||||
. /etc/os-release
|
|
||||||
# os-release contains ID of the distro (e.g. 'ubuntu')
|
|
||||||
# VERSION e.g. '24.04.1 LTS (Noble Numbat)'
|
|
||||||
if [[ -n "${ID:-}" && -n "${VERSION:-}" ]]; then
|
|
||||||
echo "${ID}:${VERSION}"
|
|
||||||
return 0
|
|
||||||
fi
|
|
||||||
fi
|
|
||||||
|
|
||||||
echo "unknown:unknown"
|
|
||||||
return 1
|
|
||||||
}
|
|
||||||
|
|
||||||
record_os_version() {
|
|
||||||
local os_id
|
|
||||||
|
|
||||||
os_id="$(get_os_id)"
|
|
||||||
|
|
||||||
if [[ "$os_id" == "unknown:unknown" ]]; then
|
|
||||||
echo "ERROR: Unable to determine OS version"
|
|
||||||
exit 1
|
|
||||||
fi
|
|
||||||
|
|
||||||
sudo mkdir -p "$OS_STATE_DIR"
|
|
||||||
echo "$os_id" | sudo tee "$OS_STATE_FILE" > /dev/null
|
|
||||||
|
|
||||||
echo "OS version: $os_id"
|
|
||||||
}
|
|
||||||
|
|
||||||
verify_os_version_unchanged() {
|
|
||||||
if [[ ! -f "$OS_STATE_FILE" ]]; then
|
|
||||||
echo "ERROR: OS version state file missing: $OS_STATE_FILE"
|
|
||||||
exit 1
|
|
||||||
fi
|
|
||||||
|
|
||||||
local start_version current_version
|
|
||||||
|
|
||||||
start_version="$(cat "$OS_STATE_FILE")"
|
|
||||||
current_version="$(get_os_id)"
|
|
||||||
|
|
||||||
if [[ "$current_version" == "unknown:unknown" ]]; then
|
|
||||||
echo "ERROR: Unable to determine current OS version"
|
|
||||||
exit 1
|
|
||||||
fi
|
|
||||||
|
|
||||||
if [[ "$start_version" != "$current_version" ]]; then
|
|
||||||
echo "ERROR: OS version changed during provisioning!"
|
|
||||||
echo " Start version : $start_version"
|
|
||||||
echo " End version : $current_version"
|
|
||||||
exit 1
|
|
||||||
fi
|
|
||||||
|
|
||||||
echo "OS version unchanged ($current_version)"
|
|
||||||
}
|
|
||||||
@@ -11,12 +11,8 @@ PROVISIONING_DIR="$(dirname "$0")/../.."
|
|||||||
# shellcheck source=../unix/common.sourced.sh
|
# shellcheck source=../unix/common.sourced.sh
|
||||||
source "$PROVISIONING_DIR/common/unix/common.sourced.sh"
|
source "$PROVISIONING_DIR/common/unix/common.sourced.sh"
|
||||||
|
|
||||||
if [ -f /usr/lib/sysctl.d/55-ptrace.conf ]; then
|
|
||||||
f="/usr/lib/sysctl.d/55-ptrace.conf" # New location in Ubuntu 26.04
|
|
||||||
else
|
|
||||||
f="/etc/sysctl.d/10-ptrace.conf"
|
|
||||||
fi
|
|
||||||
|
|
||||||
|
f="/etc/sysctl.d/10-ptrace.conf"
|
||||||
if [ -f $f ]
|
if [ -f $f ]
|
||||||
then
|
then
|
||||||
echo "Modifying $f ..."
|
echo "Modifying $f ..."
|
||||||
|
|||||||
@@ -1,4 +1,3 @@
|
|||||||
diffutils
|
diffutils
|
||||||
make
|
make
|
||||||
nasm
|
|
||||||
yasm
|
yasm
|
||||||
|
|||||||
@@ -1,5 +1,4 @@
|
|||||||
diffutils
|
diffutils
|
||||||
libva-devel
|
libva-devel
|
||||||
make
|
make
|
||||||
nasm
|
|
||||||
yasm
|
yasm
|
||||||
|
|||||||
@@ -1,4 +1,3 @@
|
|||||||
diffutils
|
diffutils
|
||||||
make
|
make
|
||||||
nasm
|
|
||||||
yasm
|
yasm
|
||||||
|
|||||||
@@ -1,5 +1,4 @@
|
|||||||
diffutils
|
diffutils
|
||||||
libva-dev
|
libva-dev
|
||||||
make
|
make
|
||||||
nasm
|
|
||||||
yasm
|
yasm
|
||||||
|
|||||||
@@ -9,105 +9,18 @@ source "${BASH_SOURCE%/*}/../unix/DownloadURL.sh"
|
|||||||
# shellcheck source=../unix/SourceEnvVars.sh
|
# shellcheck source=../unix/SourceEnvVars.sh
|
||||||
source "${BASH_SOURCE%/*}/../unix/SourceEnvVars.sh"
|
source "${BASH_SOURCE%/*}/../unix/SourceEnvVars.sh"
|
||||||
|
|
||||||
echo "Caching Gradle distributions and dependencies"
|
echo "Caching Gradle distribution and dependencies"
|
||||||
|
gradleCacheFileName="gradle_9.3.1_linux_cache_v2.tar.gz"
|
||||||
|
gradleCacheUrl="http://ci-files01-hki.ci.qt.io/input/gradle/$gradleCacheFileName"
|
||||||
|
gradleCacheSha1="e88989d55f68e978442e567e4707a6093c829af6"
|
||||||
|
gradleCacheFile="/tmp/$gradleCacheFileName"
|
||||||
|
DownloadURL "$gradleCacheUrl" "$gradleCacheUrl" "$gradleCacheSha1" "$gradleCacheFile"
|
||||||
|
mkdir -p "$HOME/.gradle"
|
||||||
|
tar -xzf "$gradleCacheFile" -C "$HOME/.gradle" --strip-components=1
|
||||||
|
rm "$gradleCacheFile"
|
||||||
|
|
||||||
gradle_project_source="${BASH_SOURCE%/*}/../shared/gradle/project"
|
gradle_project_source="${BASH_SOURCE%/*}/../shared/gradle/project"
|
||||||
gradleDistributionMirror="http://ci-files01-hki.ci.qt.io/input/gradle"
|
cp -r "$gradle_project_source" /tmp/gradle_project
|
||||||
gradleInitScript="init.d/nexus-mirror.gradle"
|
cd /tmp/gradle_project
|
||||||
|
chmod +x gradlew
|
||||||
# Route every Gradle repository through the internal Nexus mirror.
|
sh gradlew build
|
||||||
mkdir -p "$HOME/.gradle/init.d"
|
|
||||||
cp "${BASH_SOURCE%/*}/../shared/gradle/$gradleInitScript" "$HOME/.gradle/$gradleInitScript"
|
|
||||||
|
|
||||||
# Returns the hash of the Gradle binary distribution for a given Gradle version.
|
|
||||||
# Gradle calculates the hash as base36(md5(distributionUrl)).
|
|
||||||
gradleDistributionHash () {
|
|
||||||
version="$1"
|
|
||||||
propertiesFile="$gradle_project_source/gradle/wrapper/gradle-wrapper.properties"
|
|
||||||
|
|
||||||
# 1. Read the project's distributionUrl.
|
|
||||||
distributionUrl=$(grep '^distributionUrl=' "$propertiesFile")
|
|
||||||
distributionUrl=${distributionUrl#distributionUrl=}
|
|
||||||
# 2. Unescape the Java-properties (e.g. '\:').
|
|
||||||
distributionUrl=${distributionUrl//\\:/:}
|
|
||||||
# 3. Swap in the requested version while maintaining the distribution URL.
|
|
||||||
distributionUrl=${distributionUrl/gradle-[0-9.]*-bin.zip/gradle-$version-bin.zip}
|
|
||||||
|
|
||||||
if command -v md5sum >/dev/null 2>&1; then
|
|
||||||
md5Hex=$(printf '%s' "$distributionUrl" | md5sum | awk '{print $1}')
|
|
||||||
else
|
|
||||||
md5Hex=$(printf '%s' "$distributionUrl" | md5)
|
|
||||||
fi
|
|
||||||
|
|
||||||
# Convert the md5 to base36: read it as a number, then repeatedly take the
|
|
||||||
# next digit (number % 36) and divide by 36, prepending each digit's character.
|
|
||||||
number=$(printf 'ibase=16; %s\n' "$(printf '%s' "$md5Hex" | tr 'a-f' 'A-F')" | bc)
|
|
||||||
hash=""
|
|
||||||
alphabet="0123456789abcdefghijklmnopqrstuvwxyz"
|
|
||||||
while [ "$number" != "0" ]; do
|
|
||||||
digit=$(printf '%s %% 36\n' "$number" | bc)
|
|
||||||
number=$(printf '%s / 36\n' "$number" | bc)
|
|
||||||
hash="${alphabet:$digit:1}$hash"
|
|
||||||
done
|
|
||||||
printf '%s' "$hash"
|
|
||||||
}
|
|
||||||
|
|
||||||
# Seed a Gradle distribution binary into ~/.gradle from the internal mirror.
|
|
||||||
seedGradleDistribution () {
|
|
||||||
version="$1"
|
|
||||||
sha="$2"
|
|
||||||
|
|
||||||
distributionDir="$HOME/.gradle/wrapper/dists/gradle-${version}-bin/$(gradleDistributionHash "$version")"
|
|
||||||
if [ -e "$distributionDir/gradle-${version}-bin.zip.ok" ]; then
|
|
||||||
return 0
|
|
||||||
fi
|
|
||||||
mkdir -p "$distributionDir"
|
|
||||||
zip="$distributionDir/gradle-${version}-bin.zip"
|
|
||||||
url="$gradleDistributionMirror/gradle-${version}-bin.zip"
|
|
||||||
DownloadURL "$url" "$url" "$sha" "$zip"
|
|
||||||
unzip -q -o "$zip" -d "$distributionDir"
|
|
||||||
rm -f "$zip"
|
|
||||||
touch "$distributionDir/gradle-${version}-bin.zip.ok"
|
|
||||||
}
|
|
||||||
|
|
||||||
# Populate ~/.gradle/caches by priming the shared project for each Gradle and AGP profile.
|
|
||||||
cacheGradleProfile () {
|
|
||||||
echo "Caching Gradle profile $*"
|
|
||||||
tmp="$(mktemp -d)"
|
|
||||||
project="$tmp/project"
|
|
||||||
cp -r "$gradle_project_source" "$project"
|
|
||||||
|
|
||||||
props="$project/gradle/wrapper/gradle-wrapper.properties"
|
|
||||||
for kv in "$@"; do
|
|
||||||
case "$kv" in
|
|
||||||
gradle=*)
|
|
||||||
sed "s#gradle-[0-9.]*-bin.zip#gradle-${kv#*=}-bin.zip#" "$props" > "$props.tmp"
|
|
||||||
mv "$props.tmp" "$props"
|
|
||||||
;;
|
|
||||||
esac
|
|
||||||
done
|
|
||||||
|
|
||||||
toml="$project/gradle/libs.versions.toml"
|
|
||||||
for kv in "$@"; do
|
|
||||||
case "$kv" in
|
|
||||||
gradle=*) ;;
|
|
||||||
*)
|
|
||||||
key="${kv%%=*}"
|
|
||||||
val="${kv#*=}"
|
|
||||||
sed "/^\[versions\]/,/^\[/ s/^$key = .*/$key = \"$val\"/" "$toml" > "$toml.tmp"
|
|
||||||
mv "$toml.tmp" "$toml"
|
|
||||||
;;
|
|
||||||
esac
|
|
||||||
done
|
|
||||||
|
|
||||||
sh "$project/gradlew" --project-dir "$project" build
|
|
||||||
rm -rf "$tmp"
|
|
||||||
}
|
|
||||||
|
|
||||||
# Cache both the current and the previous versions to avoid issues during bumps.
|
|
||||||
seedGradleDistribution 9.3.1 "b266d5ff6b90eada6dc3b20cb090e3731302e553a27c5d3e4df1f0d76beaff06"
|
|
||||||
cacheGradleProfile gradle=9.3.1 agp=9.0.0
|
|
||||||
seedGradleDistribution 9.5.1 "bafc141b619ad6350fd975fc903156dd5c151998cc8b058e8c1044ab5f7b031f"
|
|
||||||
cacheGradleProfile gradle=9.5.1 agp=9.2.1
|
|
||||||
|
|
||||||
echo "Cached Gradle distributions and dependencies under $HOME/.gradle."
|
|
||||||
|
|||||||
@@ -16,42 +16,52 @@ source "${BASH_SOURCE%/*}/../unix/SetEnvVar.sh"
|
|||||||
targetFolder="/opt/harmonyos"
|
targetFolder="/opt/harmonyos"
|
||||||
sdkTargetFolder="$targetFolder/command-line-tools"
|
sdkTargetFolder="$targetFolder/command-line-tools"
|
||||||
|
|
||||||
|
sudo mkdir -p "$sdkTargetFolder"
|
||||||
|
|
||||||
basePath="http://ci-files01-hki.ci.qt.io/input/harmonyos"
|
basePath="http://ci-files01-hki.ci.qt.io/input/harmonyos"
|
||||||
|
|
||||||
function InstallCommandLineTools() {
|
toolsVersion="6.1.0.850"
|
||||||
|
toolsFile="commandline-tools-linux-x64-6.1.0.850.zip"
|
||||||
|
toolsSha1="6fdf7dbe0faddeb6a36cc76752faaf03d2abd462"
|
||||||
|
|
||||||
cltVersion=$1
|
toolsTargetFile="/tmp/$toolsFile"
|
||||||
cltSha1=$2
|
toolsSourceFile="$basePath/$toolsFile"
|
||||||
|
|
||||||
cltFile="commandline-tools-linux-x64-$cltVersion.zip"
|
echo "Download and unzip HarmonyOS SDK"
|
||||||
cltTargetFile="/tmp/$cltFile"
|
DownloadURL "$toolsSourceFile" "$toolsSourceFile" "$toolsSha1" "$toolsTargetFile"
|
||||||
cltSourceFile="$basePath/$cltFile"
|
echo "Unzipping HarmonyOS Tools to '$targetFolder'"
|
||||||
|
sudo unzip -q "$toolsTargetFile" -d "$targetFolder"
|
||||||
|
rm "$toolsTargetFile"
|
||||||
|
|
||||||
cltTargetDir="$targetFolder/$cltVersion"
|
patchFile="harmonyos_sdk_patches.zip"
|
||||||
sudo mkdir -p "$cltTargetDir"
|
patchSha1="7f912104a5600bc176891bc6e9d97732f4266ad6"
|
||||||
|
|
||||||
DownloadURL "$cltSourceFile" "$cltSourceFile" "$cltSha1" "$cltTargetFile"
|
patchTargetFile="/tmp/$patchFile"
|
||||||
echo "Unzipping HarmonyOS Command Line Tools to '$cltTargetDir'"
|
patchSourceFile="$basePath/$patchFile"
|
||||||
# Get the package base directory name as string
|
patchTargetFolder="$targetFolder/harmonyos_sdk_patches"
|
||||||
zipBase=$(sudo zipinfo -1 "$cltTargetFile" 2>/dev/null | awk '!seen {sub("/.*",""); print; seen=1}')
|
|
||||||
sudo unzip -q "$cltTargetFile" -d "$cltTargetDir"
|
|
||||||
rm "$cltTargetFile"
|
|
||||||
harmonycltRoot="${cltTargetDir}/${zipBase}"
|
|
||||||
|
|
||||||
echo "Changing ownership of HarmonyOS files."
|
echo "Download and unzip HarmonyOS SDK patches"
|
||||||
sudo chown -R qt:users "$harmonycltRoot"
|
DownloadURL "$patchSourceFile" "$patchSourceFile" "$patchSha1" "$patchTargetFile"
|
||||||
}
|
echo "Unzipping HarmonyOS SDK patches to '$targetFolder'"
|
||||||
|
sudo unzip -q "$patchTargetFile" -d "$targetFolder"
|
||||||
|
rm "$patchTargetFile"
|
||||||
|
|
||||||
cltVersionCurrent="6.1.0.850"
|
echo "Changing ownership of HarmonyOS files."
|
||||||
cltSha1Current="6fdf7dbe0faddeb6a36cc76752faaf03d2abd462"
|
if uname -a |grep -q "el7"; then
|
||||||
InstallCommandLineTools $cltVersionCurrent $cltSha1Current
|
sudo chown -R qt:wheel "$sdkTargetFolder"
|
||||||
SetEnvVar "HARMONYOS_SDK_ROOT_CURRENT" "$harmonycltRoot"
|
sudo chown -R qt:wheel "$patchTargetFolder"
|
||||||
sudo ln -s "$harmonycltRoot" "$sdkTargetFolder"
|
else
|
||||||
SetEnvVar "HARMONYOS_SDK_ROOT" "$sdkTargetFolder"
|
sudo chown -R qt:users "$sdkTargetFolder"
|
||||||
|
sudo chown -R qt:users "$patchTargetFolder"
|
||||||
|
fi
|
||||||
|
|
||||||
cltVersionNext="26.0.0.821"
|
echo "Patching HarmonyOS SDK"
|
||||||
cltSha1Next="d89fc1a09ceb5b25a350695068fe9918912785d2"
|
|
||||||
InstallCommandLineTools $cltVersionNext $cltSha1Next
|
sdkRootFolder="$sdkTargetFolder/sdk/default/openharmony"
|
||||||
SetEnvVar "HARMONYOS_SDK_ROOT_NEXT" "$harmonycltRoot"
|
echo "Checking the contents of HarmonyOS SDK..."
|
||||||
|
ls -l "$sdkRootFolder"
|
||||||
|
|
||||||
|
SetEnvVar "HARMONYOS_SDK_ROOT" "$sdkRootFolder"
|
||||||
|
export HARMONYOS_SDK_ROOT="$sdkRootFolder"
|
||||||
|
|
||||||
echo "HarmonyOS SDK setup finished"
|
echo "HarmonyOS SDK setup finished"
|
||||||
|
|||||||
@@ -21,12 +21,13 @@ prefix="${2:-$default_prefix}"
|
|||||||
pkgconfig_path="$PKG_CONFIG_PATH"
|
pkgconfig_path="$PKG_CONFIG_PATH"
|
||||||
|
|
||||||
install_ff_nvcodec_headers() {
|
install_ff_nvcodec_headers() {
|
||||||
local nv_codec_version="12.0.16.1" # use 11.x.x.x to ensure compatibility with 520 nvidia drivers
|
local nv_codec_version="11.1.5.3" # use 11.x.x.x to ensure compatibility with 470 nvidia drivers; might be upated to 12.0
|
||||||
local nv_codec_url_public="https://github.com/FFmpeg/nv-codec-headers/releases/download/n12.0.16.1/nv-codec-headers-$nv_codec_version.tar.gz"
|
local nv_codec_url_public="https://github.com/FFmpeg/nv-codec-headers/archive/refs/tags/n$nv_codec_version.zip"
|
||||||
local nv_codec_url_cached="http://ci-files01-hki.ci.qt.io/input/ffmpeg/nv-codec-headers/nv-codec-headers-$nv_codec_version.tar.gz"
|
local nv_codec_url_cached="http://ci-files01-hki.ci.qt.io/input/ffmpeg/nv-codec-headers/nv-codec-headers-$nv_codec_version.zip"
|
||||||
local nv_codec_sha1="df7239777af15af5d7e563d2af0deff874c3b770"
|
local nv_codec_sha1="78715d521de102362e553dc92577bbe81905a321"
|
||||||
|
#nv_codec_sha1="4f30539f8dd31945da4c3da32e66022f9ca59c08" // 12.0
|
||||||
local target_dir="$HOME"
|
local target_dir="$HOME"
|
||||||
local nv_codec_dir="$target_dir/nv-codec-headers-$nv_codec_version"
|
local nv_codec_dir="$target_dir/nv-codec-headers-n$nv_codec_version"
|
||||||
|
|
||||||
if [ ! -d "$nv_codec_dir" ]; then
|
if [ ! -d "$nv_codec_dir" ]; then
|
||||||
source "${BASH_SOURCE%/*}/../unix/InstallFromCompressedFileFromURL.sh"
|
source "${BASH_SOURCE%/*}/../unix/InstallFromCompressedFileFromURL.sh"
|
||||||
|
|||||||
@@ -17,8 +17,8 @@ APPNAME="CiNetworkTest"
|
|||||||
EXECPATH="${ROOT}/${APPNAME}/bin"
|
EXECPATH="${ROOT}/${APPNAME}/bin"
|
||||||
EXEC="${EXECPATH}/${APPNAME}"
|
EXEC="${EXECPATH}/${APPNAME}"
|
||||||
URL="https://ci-files01-hki.ci.qt.io/input/networktestapp"
|
URL="https://ci-files01-hki.ci.qt.io/input/networktestapp"
|
||||||
TARBALL="CiNetworkTest-rhel-linux-x86_64-v1.2.tgz"
|
TARBALL="CiNetworkTest-rhel-linux-x86_64-v1.1.tgz"
|
||||||
sha256="2be05baebf48ff29ebcd06a0761b2a3d92ae5a66f78d0cd953513d8271eb7f83"
|
sha256="3a23593f163ca2452546d20d56cabc81fed03c930d6d96334a22827da5a6840a"
|
||||||
SOURCE="$URL/$TARBALL"
|
SOURCE="$URL/$TARBALL"
|
||||||
InstallFromCompressedFileFromURL "$SOURCE" "" "$sha256" "$ROOT" "$PREFIX"
|
InstallFromCompressedFileFromURL "$SOURCE" "" "$sha256" "$ROOT" "$PREFIX"
|
||||||
|
|
||||||
|
|||||||
@@ -14,7 +14,7 @@ cp -R x86_64-android-qt-tmp/* "$VCPKG_ROOT/installed/"
|
|||||||
|
|
||||||
cmake "-DVCPKG_EXECUTABLE=$VCPKG_ROOT/vcpkg"\
|
cmake "-DVCPKG_EXECUTABLE=$VCPKG_ROOT/vcpkg"\
|
||||||
"-DVCPKG_INSTALL_ROOT=$PWD/x86-android-qt-tmp"\
|
"-DVCPKG_INSTALL_ROOT=$PWD/x86-android-qt-tmp"\
|
||||||
"-DOUTPUT=$HOME/versions.txt"\
|
"-DOUTPUT=~/versions.txt"\
|
||||||
-P\
|
-P\
|
||||||
"${BASH_SOURCE%/*}/../shared/vcpkg_parse_packages.cmake"
|
"${BASH_SOURCE%/*}/../shared/vcpkg_parse_packages.cmake"
|
||||||
|
|
||||||
|
|||||||
+2
-11
@@ -8,22 +8,13 @@ source "${BASH_SOURCE%/*}/../unix/SetEnvVar.sh"
|
|||||||
echo "Installing vcpkg OHOS ports"
|
echo "Installing vcpkg OHOS ports"
|
||||||
|
|
||||||
# The vcpkg OHOS toolchain expects OHOS_SDK_ROOT; CI sets HARMONYOS_SDK_ROOT.
|
# The vcpkg OHOS toolchain expects OHOS_SDK_ROOT; CI sets HARMONYOS_SDK_ROOT.
|
||||||
ohosSdkRoot="${OHOS_SDK_ROOT:-$HARMONYOS_SDK_ROOT}"
|
export OHOS_SDK_ROOT="${OHOS_SDK_ROOT:-$HARMONYOS_SDK_ROOT}"
|
||||||
|
|
||||||
if [ -z "$ohosSdkRoot" ]; then
|
if [ -z "$OHOS_SDK_ROOT" ]; then
|
||||||
echo "ERROR: Neither OHOS_SDK_ROOT nor HARMONYOS_SDK_ROOT is set." >&2
|
echo "ERROR: Neither OHOS_SDK_ROOT nor HARMONYOS_SDK_ROOT is set." >&2
|
||||||
exit 1
|
exit 1
|
||||||
fi
|
fi
|
||||||
|
|
||||||
# On Linux, HARMONYOS_SDK_ROOT points at the command-line-tools root; the vcpkg
|
|
||||||
# toolchain needs the openharmony native SDK inside it. On macOS it already
|
|
||||||
# points there, so only descend when the nested SDK exists.
|
|
||||||
if [ -d "$ohosSdkRoot/sdk/default/openharmony/native" ]; then
|
|
||||||
ohosSdkRoot="$ohosSdkRoot/sdk/default/openharmony"
|
|
||||||
fi
|
|
||||||
|
|
||||||
export OHOS_SDK_ROOT="$ohosSdkRoot"
|
|
||||||
|
|
||||||
# Coin sets TARGET=hdb in the environment. GNU Make imports env vars as make
|
# Coin sets TARGET=hdb in the environment. GNU Make imports env vars as make
|
||||||
# variables, which breaks ICU's Makefile (it defines its own TARGET variable
|
# variables, which breaks ICU's Makefile (it defines its own TARGET variable
|
||||||
# for the library path). Unset it before invoking vcpkg.
|
# for the library path). Unset it before invoking vcpkg.
|
||||||
@@ -43,19 +43,11 @@ if [ ! -d "$targetFolder" ]; then
|
|||||||
fi
|
fi
|
||||||
|
|
||||||
# QNX SDP
|
# QNX SDP
|
||||||
sourceFile="http://ci-files01-hki.ci.qt.io/input/qnx/qnx710-windows-linux-20260828.tar.xz"
|
sourceFile="http://ci-files01-hki.ci.qt.io/input/qnx/qnx710-windows-linux-20240417.tar.xz"
|
||||||
targetFile="qnx710.tar.xz"
|
targetFile="qnx710.tar.xz"
|
||||||
sha1="c37e6f3a49a259d450b601843a9af2818b6feb96"
|
sha1="cd2d35004fb2798089e29d9e1226691426632da0"
|
||||||
DownloadAndExtract "$sourceFile" "$sha1" "$targetFile" "$targetFolder"
|
DownloadAndExtract "$sourceFile" "$sha1" "$targetFile" "$targetFolder"
|
||||||
|
|
||||||
# IANA timezone database overlay. Packaged separately from the SDP so it can be
|
|
||||||
# bumped without rebuilding the SDP tarball. Archive root is usr/ so the same
|
|
||||||
# archive suits both the 7.1 and 8.0 SDP layouts.
|
|
||||||
sourceFile="http://ci-files01-hki.ci.qt.io/input/qnx/zoneinfo-2026a-usr.tar.xz"
|
|
||||||
targetFile="zoneinfo.tar.xz"
|
|
||||||
sha1="02deef2df3513d191ee3bb3a13fd61a814d7161a"
|
|
||||||
DownloadAndExtract "$sourceFile" "$sha1" "$targetFile" "$targetPath/target/qnx7"
|
|
||||||
|
|
||||||
sudo cp "$aarch64le_toolchain" "$targetPath"
|
sudo cp "$aarch64le_toolchain" "$targetPath"
|
||||||
sudo cp "$armv7le_toolchain" "$targetPath"
|
sudo cp "$armv7le_toolchain" "$targetPath"
|
||||||
sudo cp "$x8664_toolchain" "$targetPath"
|
sudo cp "$x8664_toolchain" "$targetPath"
|
||||||
|
|||||||
@@ -43,34 +43,31 @@ if [ ! -d "$targetFolder" ]; then
|
|||||||
fi
|
fi
|
||||||
|
|
||||||
# QNX SDP
|
# QNX SDP
|
||||||
sourceFile="http://ci-files01-hki.ci.qt.io/input/qnx/qnx800-windows-linux-20260828.tar.xz"
|
sourceFile="http://ci-files01-hki.ci.qt.io/input/qnx/qnx800-windows-linux-20260410.tar.xz"
|
||||||
targetFile="qnx800.tar.xz"
|
targetFile="qnx800.tar.xz"
|
||||||
sha1="f44b66d91625ab33e367cfb62a2950a041607caa"
|
sha1="a3fdcd98e12bc5054d00f18e4088af26288fd020"
|
||||||
DownloadAndExtract "$sourceFile" "$sha1" "$targetFile" "$targetFolder"
|
DownloadAndExtract "$sourceFile" "$sha1" "$targetFile" "$targetFolder"
|
||||||
|
|
||||||
# IANA timezone database overlay. Packaged separately from the SDP so it can be
|
# IANA timezone database overlay. Packaged separately from the SDP so it can be
|
||||||
# bumped without rebuilding the SDP tarball. Archive root is usr/ so the same
|
# bumped without rebuilding the SDP tarball. Archive root is qnx800/target/qnx/
|
||||||
# archive suits both the 7.1 and 8.0 SDP layouts.
|
# so it overlays onto $targetFolder (/opt/) directly.
|
||||||
sourceFile="http://ci-files01-hki.ci.qt.io/input/qnx/zoneinfo-2026a-usr.tar.xz"
|
sourceFile="http://ci-files01-hki.ci.qt.io/input/qnx/zoneinfo-2026a.tar.xz"
|
||||||
targetFile="zoneinfo.tar.xz"
|
targetFile="zoneinfo.tar.xz"
|
||||||
sha1="02deef2df3513d191ee3bb3a13fd61a814d7161a"
|
sha1="8c1678ff673bb588f63fc9277497cd38e0ea2253"
|
||||||
DownloadAndExtract "$sourceFile" "$sha1" "$targetFile" "$targetPath/target/qnx"
|
DownloadAndExtract "$sourceFile" "$sha1" "$targetFile" "$targetFolder"
|
||||||
|
|
||||||
sudo cp "$aarch64le_toolchain" "$targetPath"
|
sudo cp "$aarch64le_toolchain" "$targetPath"
|
||||||
sudo cp "$armv7le_toolchain" "$targetPath"
|
sudo cp "$armv7le_toolchain" "$targetPath"
|
||||||
sudo cp "$x8664_toolchain" "$targetPath"
|
sudo cp "$x8664_toolchain" "$targetPath"
|
||||||
cp -R "$QNX_qemu_bld_files_dir" "$qemuTargetPath"
|
cp -R "$QNX_qemu_bld_files_dir" "$qemuTargetPath"
|
||||||
# The SDP ships fc-cache but not fc-match, which tst_qfont needs. Build it from
|
# fc-match tool is missing from QNX SDP and tst_qfont requires it to work corretly
|
||||||
# fontconfig's fc-match/fc-match.c at the release matching the SDP's fontconfig
|
# Download code-only package from https://www.iana.org/time-zones and follow README
|
||||||
# (FC_MINOR/FC_REVISION in fontconfig.h), once per arch:
|
# to build tools for QNX x86_64. If need to build new tool create new qnx_qemu_utils
|
||||||
# qcc -Vgcc_ntox86_64 -O2 -o fc-match fc-match.c \
|
# package which contains it and update required info below
|
||||||
# -DHAVE_GETOPT_LONG=1 -DHAVE_UNISTD_H=1 -lfontconfig
|
sourceFile="http://ci-files01-hki.ci.qt.io/input/qnx/qnx_qemu_utils_20211208.tar.xz"
|
||||||
# Pack as <arch>/fc-match into a new dated archive, then update below. 7.1 keeps
|
|
||||||
# its own archive.
|
|
||||||
sourceFile="http://ci-files01-hki.ci.qt.io/input/qnx/qnx_qemu_utils_800_20260825.tar.xz"
|
|
||||||
targetFile="qnx_qemu_utils.tar.xz"
|
targetFile="qnx_qemu_utils.tar.xz"
|
||||||
targetFolder="$qemuTargetPath/local/misc_files"
|
targetFolder="$qemuTargetPath/local/misc_files"
|
||||||
sha1="965b957c76d4bc59c010bb0908d1fea8975179c1"
|
sha1="7653f5d50f61f1591d7785c3ec261228ecc9dd22"
|
||||||
|
|
||||||
mkdir -p "$targetFolder"
|
mkdir -p "$targetFolder"
|
||||||
|
|
||||||
|
|||||||
+1
-1
@@ -13,7 +13,7 @@ PATH=__IFS_PATH__:/system/xbin:.
|
|||||||
var/share/zoneinfo=usr/share/zoneinfo
|
var/share/zoneinfo=usr/share/zoneinfo
|
||||||
|
|
||||||
[uid=0 gid=0 dperms=755 type=dir] var/share/fonts
|
[uid=0 gid=0 dperms=755 type=dir] var/share/fonts
|
||||||
var/etc/fontconfig/fonts.conf=etc/fonts/fonts.conf
|
var/etc/fontconfig/fonts.conf=etc/fontconfig/fonts.conf
|
||||||
var/share/fonts=usr/share/fonts
|
var/share/fonts=usr/share/fonts
|
||||||
|
|
||||||
var/etc/hosts=local/misc_files/etc/hosts
|
var/etc/hosts=local/misc_files/etc/hosts
|
||||||
|
|||||||
-3
@@ -1,3 +0,0 @@
|
|||||||
# local/snippets/ifs_files.custom
|
|
||||||
# Placeholder for local list of files to add to ifs
|
|
||||||
/usr/libexec/sshd-session=usr/libexec/sshd-session
|
|
||||||
-2
@@ -18,8 +18,6 @@ rm -rf /data/var/share/fonts/NotoSansCJK*
|
|||||||
rm -rf /data/var/share/fonts/NotoSansMonoCJK*
|
rm -rf /data/var/share/fonts/NotoSansMonoCJK*
|
||||||
echo "---> Create fontconfig cache"
|
echo "---> Create fontconfig cache"
|
||||||
fc-cache &
|
fc-cache &
|
||||||
# For fc-match in QFont tests
|
|
||||||
ln -Ps /system/lib/libfontconfig.so.17 /system/lib/libfontconfig.so.1
|
|
||||||
|
|
||||||
# Add default route so QNX knows where to send
|
# Add default route so QNX knows where to send
|
||||||
# requests for unknown network
|
# requests for unknown network
|
||||||
|
|||||||
+2
-2
@@ -21,7 +21,7 @@ lib/libGLESv2.so.1=usr/lib/libGLESv2.so.1
|
|||||||
lib/libEGL.so.1=usr/lib/libEGL.so.1
|
lib/libEGL.so.1=usr/lib/libEGL.so.1
|
||||||
lib/libz.so.2=usr/lib/libz.so.2
|
lib/libz.so.2=usr/lib/libz.so.2
|
||||||
lib/libxml2.so.2=usr/lib/libxml2.so.2
|
lib/libxml2.so.2=usr/lib/libxml2.so.2
|
||||||
lib/libfreetype.so.26=usr/lib/libfreetype.so.26
|
lib/libfreetype.so.24=usr/lib/libfreetype.so.24
|
||||||
lib/libbz2.so.1=usr/lib/libbz2.so.1
|
lib/libbz2.so.1=usr/lib/libbz2.so.1
|
||||||
lib/liblzma.so.5=usr/lib/liblzma.so.5
|
lib/liblzma.so.5=usr/lib/liblzma.so.5
|
||||||
lib/libbacktrace.so.1=usr/lib/libbacktrace.so.1
|
lib/libbacktrace.so.1=usr/lib/libbacktrace.so.1
|
||||||
@@ -54,7 +54,7 @@ lib/libmmrndclient.so.1=usr/lib/libmmrndclient.so.1
|
|||||||
lib/libscreen.so.1=usr/lib/libscreen.so.1
|
lib/libscreen.so.1=usr/lib/libscreen.so.1
|
||||||
|
|
||||||
# for fontconfig
|
# for fontconfig
|
||||||
lib/libfontconfig.so.17=usr/lib/libfontconfig.so.17
|
lib/libfontconfig.so.1=usr/lib/libfontconfig.so.1
|
||||||
xbin/fc-cache=bin/fc-cache
|
xbin/fc-cache=bin/fc-cache
|
||||||
xbin/fc-match=local/misc_files/fc-match
|
xbin/fc-match=local/misc_files/fc-match
|
||||||
|
|
||||||
|
|||||||
+1
-1
@@ -17,7 +17,7 @@ var/etc/fontconfig/fonts.conf=etc/fonts/fonts.conf
|
|||||||
var/share/fonts=usr/share/fonts
|
var/share/fonts=usr/share/fonts
|
||||||
|
|
||||||
var/etc/hosts=local/misc_files/etc/hosts
|
var/etc/hosts=local/misc_files/etc/hosts
|
||||||
var/dhcpcd/resolv.conf=local/misc_files/etc/resolv.conf
|
var/etc/resolv.conf=local/misc_files/etc/resolv.conf
|
||||||
var/etc/nsswitch.conf=etc/nsswitch.conf
|
var/etc/nsswitch.conf=etc/nsswitch.conf
|
||||||
|
|
||||||
[uid=0 gid=0 dperms=755 type=dir] var/etc/ssl/certs
|
[uid=0 gid=0 dperms=755 type=dir] var/etc/ssl/certs
|
||||||
|
|||||||
+2
-8
@@ -28,8 +28,6 @@ lib/liblzma.so.5=usr/lib/liblzma.so.5
|
|||||||
lib/libdbus-1.so=usr/lib//libdbus-1.so
|
lib/libdbus-1.so=usr/lib//libdbus-1.so
|
||||||
lib/libdbus-1.so.22=usr/lib//libdbus-1.so.22
|
lib/libdbus-1.so.22=usr/lib//libdbus-1.so.22
|
||||||
lib/libbacktrace.so.1=lib/libbacktrace.so.1
|
lib/libbacktrace.so.1=lib/libbacktrace.so.1
|
||||||
lib/libunwind-nto.so.0=usr/lib/libunwind-nto.so.0
|
|
||||||
lib/libunwind-x86_64.so.8=usr/lib/libunwind-x86_64.so.8
|
|
||||||
lib/libm.so.3=lib/libm.so.3
|
lib/libm.so.3=lib/libm.so.3
|
||||||
|
|
||||||
#############################################
|
#############################################
|
||||||
@@ -55,17 +53,13 @@ xbin/fsevmgr=sbin/fsevmgr
|
|||||||
##############################################
|
##############################################
|
||||||
lib/libscreen.so.1=usr/lib/libscreen.so.1
|
lib/libscreen.so.1=usr/lib/libscreen.so.1
|
||||||
|
|
||||||
##############################################
|
|
||||||
### Audio support
|
|
||||||
##############################################
|
|
||||||
lib/libasound.so.5=lib/libasound.so.5
|
|
||||||
|
|
||||||
# for fontconfig
|
# for fontconfig
|
||||||
lib/libfontconfig.so.17=usr/lib/libfontconfig.so.17
|
lib/libfontconfig.so.17=usr/lib/libfontconfig.so.17
|
||||||
xbin/fc-cache=bin/fc-cache
|
xbin/fc-cache=bin/fc-cache
|
||||||
xbin/fc-match=local/misc_files/x86_64/fc-match
|
xbin/fc-match=local/misc_files/fc-match
|
||||||
|
|
||||||
# network
|
# network
|
||||||
lib/libssl.so=usr/lib/libssl.so
|
lib/libssl.so=usr/lib/libssl.so
|
||||||
|
xbin/nslookup=usr/bin/nslookup
|
||||||
xbin/unbound=sbin/unbound
|
xbin/unbound=sbin/unbound
|
||||||
xbin/curl=usr/bin/curl
|
xbin/curl=usr/bin/curl
|
||||||
|
|||||||
@@ -13,60 +13,60 @@ source "${BASH_SOURCE%/*}/../unix/SetEnvVar.sh"
|
|||||||
|
|
||||||
######### VXworks libs #########
|
######### VXworks libs #########
|
||||||
# Installs to /opt/vxworks
|
# Installs to /opt/vxworks
|
||||||
PrimaryUrl="http://ci-files01-hki.ci.qt.io/input/vxworks/vxworks_libs_2603.tar.gz"
|
PrimaryUrl="http://ci-files01-hki.ci.qt.io/input/vxworks/vxworks_libs_2503.tar.gz"
|
||||||
AltUrl=""
|
AltUrl=""
|
||||||
sha1="e9337894d4591e1d9e67640181c3d48fdb3d4a12"
|
sha1="96db52d86c2138a1ca31212372f48838ec08013e"
|
||||||
targetFolder="/opt"
|
targetFolder="/opt"
|
||||||
InstallFromCompressedFileFromURL "$PrimaryUrl" "$AltUrl" "$sha1" "$targetFolder" ""
|
InstallFromCompressedFileFromURL "$PrimaryUrl" "$AltUrl" "$sha1" "$targetFolder" ""
|
||||||
SetEnvVar "VXWORKS_HOME" "/opt/vxworks"
|
SetEnvVar "VXWORKS_HOME" "/opt/vxworks"
|
||||||
SetEnvVar "VXWORKS_SSH" "[email protected]"
|
SetEnvVar "VXWORKS_SSH" "[email protected]"
|
||||||
|
|
||||||
# IMX 6
|
# IMX 6
|
||||||
VXWORKS_BUILD_VER="20-08-2026"
|
VXWORKS_BUILD_VER="16-04-2025"
|
||||||
######### VXworks toolchain #########
|
######### VXworks toolchain #########
|
||||||
# Installs to /opt/fsl_imx6_2_0_6_3_VSB
|
# Installs to /opt/fsl_imx6_2_0_6_2_VSB
|
||||||
PrimaryUrl="http://ci-files01-hki.ci.qt.io/input/vxworks/vxworks_arm_vsb_${VXWORKS_BUILD_VER}.tar.gz"
|
PrimaryUrl="http://ci-files01-hki.ci.qt.io/input/vxworks/vxworks_arm_vsb_${VXWORKS_BUILD_VER}.tar.gz"
|
||||||
AltUrl=""
|
AltUrl=""
|
||||||
sha1="cb40acde7227aaefe8397e3472318fe09af2d9d0"
|
sha1="88f0f139ac62e8c0a4c5477d880a1ff345826479"
|
||||||
targetFolder="/opt/"
|
targetFolder="/opt/"
|
||||||
InstallFromCompressedFileFromURL "$PrimaryUrl" "$AltUrl" "$sha1" "$targetFolder" ""
|
InstallFromCompressedFileFromURL "$PrimaryUrl" "$AltUrl" "$sha1" "$targetFolder" ""
|
||||||
SetEnvVar "WIND_CC_SYSROOT" "/opt/fsl_imx6_2_0_6_3_VSB"
|
SetEnvVar "WIND_CC_SYSROOT" "/opt/fsl_imx6_2_0_6_2_VSB"
|
||||||
|
|
||||||
######### VXworks VIP kernel #########
|
######### VXworks VIP kernel #########
|
||||||
# Installs to /opt/fsl_imx6_2_0_6_3_VIP_QEMU
|
# Installs to /opt/fsl_imx6_2_0_6_2_VIP_QEMU
|
||||||
PrimaryUrl="http://ci-files01-hki.ci.qt.io/input/vxworks/vxworks_arm_vip_${VXWORKS_BUILD_VER}.tar.gz"
|
PrimaryUrl="http://ci-files01-hki.ci.qt.io/input/vxworks/vxworks_arm_vip_${VXWORKS_BUILD_VER}.tar.gz"
|
||||||
AltUrl=""
|
AltUrl=""
|
||||||
sha1="4209a8c2724fccfec9d30a22e53ca6598ef83b57"
|
sha1="96056c0f9b1234160db2d9038a9e6fc24a2bbbd7"
|
||||||
targetFolder="/opt/"
|
targetFolder="/opt/"
|
||||||
InstallFromCompressedFileFromURL "$PrimaryUrl" "$AltUrl" "$sha1" "$targetFolder" ""
|
InstallFromCompressedFileFromURL "$PrimaryUrl" "$AltUrl" "$sha1" "$targetFolder" ""
|
||||||
|
|
||||||
# IMX 8
|
# IMX 8
|
||||||
# Installs to /opt/nxp_imx8_1_0_7_1_VSB
|
# Installs to /opt/nxp_imx8_1_0_6_3_VSB
|
||||||
PrimaryUrl="http://ci-files01-hki.ci.qt.io/input/vxworks/vxworks_arm_imx8_vsb_${VXWORKS_BUILD_VER}.tar.gz"
|
PrimaryUrl="http://ci-files01-hki.ci.qt.io/input/vxworks/vxworks_arm_imx8_vsb_${VXWORKS_BUILD_VER}.tar.gz"
|
||||||
AltUrl=""
|
AltUrl=""
|
||||||
sha1="20c1c31fc8ddc5356566a717a913e51bef42d41f"
|
sha1="cf6194b78bf08b894397fd5ce2a57abd25cf497b"
|
||||||
targetFolder="/opt/"
|
targetFolder="/opt/"
|
||||||
InstallFromCompressedFileFromURL "$PrimaryUrl" "$AltUrl" "$sha1" "$targetFolder" ""
|
InstallFromCompressedFileFromURL "$PrimaryUrl" "$AltUrl" "$sha1" "$targetFolder" ""
|
||||||
|
|
||||||
# Installs to /opt/itl_generic_skylake_VSB
|
# Installs to /opt/itl_generic_skylake_VSB
|
||||||
PrimaryUrl="http://ci-files01-hki.ci.qt.io/input/vxworks/vxworks_intel_vsb_${VXWORKS_BUILD_VER}.tar.gz"
|
PrimaryUrl="http://ci-files01-hki.ci.qt.io/input/vxworks/vxworks_intel_vsb_${VXWORKS_BUILD_VER}.tar.gz"
|
||||||
AltUrl=""
|
AltUrl=""
|
||||||
sha1="dae9280a45f0ece5a2adc3bc6182ff0b675f4389"
|
sha1="4c75222364d3907db9fb1605cabe0c92616d9ec9"
|
||||||
targetFolder="/opt/"
|
targetFolder="/opt/"
|
||||||
InstallFromCompressedFileFromURL "$PrimaryUrl" "$AltUrl" "$sha1" "$targetFolder" ""
|
InstallFromCompressedFileFromURL "$PrimaryUrl" "$AltUrl" "$sha1" "$targetFolder" ""
|
||||||
# Installs to /opt/itl_generic_skylake_VIP_QEMU
|
# Installs to /opt/itl_generic_skylake_VIP_QEMU
|
||||||
PrimaryUrl="http://ci-files01-hki.ci.qt.io/input/vxworks/vxworks_intel_vip_${VXWORKS_BUILD_VER}.tar.gz"
|
PrimaryUrl="http://ci-files01-hki.ci.qt.io/input/vxworks/vxworks_intel_vip_${VXWORKS_BUILD_VER}.tar.gz"
|
||||||
AltUrl=""
|
AltUrl=""
|
||||||
sha1="264b3280e6fa89c8c8a2b1cdc8cb29bd3f1bb621"
|
sha1="c3af7da92832ea71201dcf1022d7404966291f5c"
|
||||||
targetFolder="/opt/"
|
targetFolder="/opt/"
|
||||||
InstallFromCompressedFileFromURL "$PrimaryUrl" "$AltUrl" "$sha1" "$targetFolder" ""
|
InstallFromCompressedFileFromURL "$PrimaryUrl" "$AltUrl" "$sha1" "$targetFolder" ""
|
||||||
|
|
||||||
######### VXworks fonts and certs #########
|
######### VXworks fonts and certs #########
|
||||||
# Installs to /opt/fsl_imx6_2_0_6_3_VSB
|
# Installs to /opt/fsl_imx6_2_0_6_2_VSB
|
||||||
PrimaryUrl="http://ci-files01-hki.ci.qt.io/input/vxworks/vxworks_misc.tar.gz"
|
PrimaryUrl="http://ci-files01-hki.ci.qt.io/input/vxworks/vxworks_misc.tar.gz"
|
||||||
AltUrl=""
|
AltUrl=""
|
||||||
sha1="1bc529b90b35b0b249f219e47d5798225a9b68d8"
|
sha1="1bc529b90b35b0b249f219e47d5798225a9b68d8"
|
||||||
targetFolder="/opt/fsl_imx6_2_0_6_3_VSB/"
|
targetFolder="/opt/fsl_imx6_2_0_6_2_VSB/"
|
||||||
InstallFromCompressedFileFromURL "$PrimaryUrl" "$AltUrl" "$sha1" "$targetFolder" ""
|
InstallFromCompressedFileFromURL "$PrimaryUrl" "$AltUrl" "$sha1" "$targetFolder" ""
|
||||||
######### VXworks fonts and certs #########
|
######### VXworks fonts and certs #########
|
||||||
# Installs to /opt/itl_generic_skylake_VSB
|
# Installs to /opt/itl_generic_skylake_VSB
|
||||||
@@ -76,13 +76,15 @@ sha1="1bc529b90b35b0b249f219e47d5798225a9b68d8"
|
|||||||
targetFolder="/opt/itl_generic_skylake_VSB/"
|
targetFolder="/opt/itl_generic_skylake_VSB/"
|
||||||
InstallFromCompressedFileFromURL "$PrimaryUrl" "$AltUrl" "$sha1" "$targetFolder" ""
|
InstallFromCompressedFileFromURL "$PrimaryUrl" "$AltUrl" "$sha1" "$targetFolder" ""
|
||||||
|
|
||||||
|
# Setup NFS exports that are needed by VxWorks qemu
|
||||||
|
sudo bash -c "echo '/home/qt/work 172.31.1.10/24(rw,sync,root_squash,no_subtree_check,anonuid=2001,anongid=100)' >> /etc/exports"
|
||||||
|
sudo bash -c "echo '/opt/fsl_imx6_2_0_6_2_VSB 172.31.1.10/24(rw,sync,root_squash,no_subtree_check,anonuid=2001,anongid=100)' >> /etc/exports"
|
||||||
|
sudo bash -c "echo '/opt/itl_generic_skylake_VSB 172.31.1.10/24(rw,sync,root_squash,no_subtree_check,anonuid=2001,anongid=100)' >> /etc/exports"
|
||||||
|
|
||||||
|
sudo exportfs -a
|
||||||
|
|
||||||
# Enable ipv4 routing from vxWorks to Qt DNS
|
# Enable ipv4 routing from vxWorks to Qt DNS
|
||||||
if [ -f /etc/sysctl.conf ]; then
|
sudo sed -i s/#net.ipv4.ip_forward=1/net.ipv4.ip_forward=1/g /etc/sysctl.conf
|
||||||
sudo sed -i 's/#net.ipv4.ip_forward=1/net.ipv4.ip_forward=1/g' /etc/sysctl.conf
|
|
||||||
else
|
|
||||||
# There's no /etc/sysctl.conf in Ubuntu 26.04, use sysctl.d instead
|
|
||||||
echo "net.ipv4.ip_forward=1" | sudo tee /etc/sysctl.d/99-vxworks.conf
|
|
||||||
fi
|
|
||||||
sudo iptables -I FORWARD 1 -j ACCEPT
|
sudo iptables -I FORWARD 1 -j ACCEPT
|
||||||
sudo iptables -t nat -A POSTROUTING -o ens3 -j MASQUERADE
|
sudo iptables -t nat -A POSTROUTING -o ens3 -j MASQUERADE
|
||||||
|
|
||||||
|
|||||||
@@ -2,160 +2,57 @@
|
|||||||
# Copyright (C) 2023 The Qt Company Ltd.
|
# Copyright (C) 2023 The Qt Company Ltd.
|
||||||
# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
|
# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
|
||||||
|
|
||||||
# Launch a single VxWorks QEMU emulator instance.
|
|
||||||
#
|
|
||||||
# Usage: vxworks_qemu_launcher.sh <arm|intel> [instance-id]
|
|
||||||
#
|
|
||||||
# Multiple instances are run in parallel to speed up the autotest run. Each
|
|
||||||
# instance gets its own tap device, guest IP, MAC address, serial FIFO pair,
|
|
||||||
# QEMU log and (for the TCG-based ARM emulator) a dedicated set of host CPU
|
|
||||||
# cores. Instance 0 keeps the historical addresses so a single-instance run
|
|
||||||
# behaves exactly as before.
|
|
||||||
|
|
||||||
[ $# -ge 1 ] || echo "Supply parameter which emulator to start <arm|intel> [instance-id]"
|
|
||||||
TYPE=$1
|
|
||||||
INSTANCE=${2:-0}
|
|
||||||
|
|
||||||
# Per-instance identifiers. Instance 0 == the original single-emulator layout.
|
|
||||||
TAP="tap${INSTANCE}"
|
|
||||||
GUEST_IP="172.31.1.$((10 + INSTANCE))"
|
|
||||||
MAC=$(printf '52:54:00:12:34:%02x' "$INSTANCE")
|
|
||||||
PIPE="/tmp/guest${INSTANCE}"
|
|
||||||
QEMU_LOG_PATH="/home/qt/work/vxworks_qemu_log_${INSTANCE}.txt"
|
|
||||||
|
|
||||||
# Per-instance SSH target: same user as VXWORKS_SSH, but the instance's IP.
|
|
||||||
if [[ "$VXWORKS_SSH" == *"@"* ]]; then
|
|
||||||
SSH_TARGET="${VXWORKS_SSH%@*}@${GUEST_IP}"
|
|
||||||
else
|
|
||||||
SSH_TARGET="${GUEST_IP}"
|
|
||||||
fi
|
|
||||||
|
|
||||||
# Host bridge and per-instance tap setup. Serialized across parallel launches
|
|
||||||
# and made idempotent so concurrent instances don't race on the shared bridge.
|
|
||||||
exec 9>"/tmp/vxworks_qemu_host_setup.lock"
|
|
||||||
flock 9
|
|
||||||
NFS_CONF_MARKER="# VxWorks QEMU NFS settings (added by vxworks_qemu_launcher.sh)"
|
|
||||||
# Persist the sysctl settings so they survive the reboot between the build
|
|
||||||
# and test phases, then apply them to the running kernel as well.
|
|
||||||
SYSCTL_CONF="/etc/sysctl.d/90-vxworks-qemu.conf"
|
|
||||||
if [ ! -f "$SYSCTL_CONF" ]; then
|
|
||||||
sudo tee "$SYSCTL_CONF" >/dev/null <<'EOF'
|
|
||||||
# VxWorks QEMU network settings (added by vxworks_qemu_launcher.sh)
|
|
||||||
net.core.rmem_max=8388608
|
|
||||||
net.core.rmem_default=8388608
|
|
||||||
net.core.wmem_max=8388608
|
|
||||||
net.core.wmem_default=8388608
|
|
||||||
net.ipv4.ipfrag_high_thresh=16777216
|
|
||||||
net.ipv4.ipfrag_low_thresh=12582912
|
|
||||||
EOF
|
|
||||||
fi
|
|
||||||
sudo sysctl -q -p "$SYSCTL_CONF"
|
|
||||||
|
|
||||||
if ! grep -qF "$NFS_CONF_MARKER" /etc/nfs.conf; then
|
|
||||||
# Configure NFS for UDP traffic
|
|
||||||
sudo bash -c "echo -e '\n${NFS_CONF_MARKER}\n' >> /etc/nfs.conf"
|
|
||||||
sudo bash -c "echo -e '[nfsd]\n' >> /etc/nfs.conf"
|
|
||||||
sudo bash -c "echo -e 'threads=32\n' >> /etc/nfs.conf"
|
|
||||||
sudo bash -c "echo -e 'udp=y\n' >> /etc/nfs.conf"
|
|
||||||
sudo bash -c "echo -e 'tcp=n\n' >> /etc/nfs.conf"
|
|
||||||
sudo bash -c "echo -e 'vers2=n\n' >> /etc/nfs.conf"
|
|
||||||
sudo bash -c "echo -e 'vers3=y\n' >> /etc/nfs.conf"
|
|
||||||
sudo bash -c "echo -e 'vers4=n\n' >> /etc/nfs.conf"
|
|
||||||
# Setup NFS exports that are needed by VxWorks qemu
|
|
||||||
sudo bash -c "echo '/home/qt/work 172.31.1.10/24(rw,async,root_squash,no_subtree_check,anonuid=2001,anongid=100)' >> /etc/exports"
|
|
||||||
sudo bash -c "echo '/opt/fsl_imx6_2_0_6_3_VSB 172.31.1.10/24(rw,async,root_squash,no_subtree_check,anonuid=2001,anongid=100)' >> /etc/exports"
|
|
||||||
sudo bash -c "echo '/opt/itl_generic_skylake_VSB 172.31.1.10/24(rw,async,root_squash,no_subtree_check,anonuid=2001,anongid=100)' >> /etc/exports"
|
|
||||||
# Restart NFS server
|
|
||||||
sudo exportfs -ra
|
|
||||||
sudo systemctl restart nfs-server
|
|
||||||
fi
|
|
||||||
|
|
||||||
# Setup bridge if not exist for VxWorks QEMU
|
# Setup bridge if not exist for VxWorks QEMU
|
||||||
if ! ip link show br0 >/dev/null 2>&1; then
|
if ! ip link show br0 >/dev/null 2>&1; then
|
||||||
sudo brctl addbr br0
|
sudo brctl addbr br0
|
||||||
sudo brctl stp br0 off
|
sudo brctl stp br0 off
|
||||||
sudo ifconfig br0 172.31.1.1 netmask 255.255.255.0 promisc up
|
sudo ifconfig br0 172.31.1.1 netmask 255.255.255.0 promisc up
|
||||||
|
sudo tunctl -u qt -t tap0
|
||||||
|
sudo ifconfig tap0 promisc up
|
||||||
|
sudo brctl addif br0 tap0
|
||||||
fi
|
fi
|
||||||
if ! ip link show "${TAP}" >/dev/null 2>&1; then
|
|
||||||
sudo tunctl -u qt -t "${TAP}"
|
|
||||||
sudo ifconfig "${TAP}" promisc up
|
|
||||||
sudo brctl addif br0 "${TAP}"
|
|
||||||
fi
|
|
||||||
exec 9>&-
|
|
||||||
|
|
||||||
|
[ $# -eq 1 ] || echo "Supply parameter which emulator to start <arm|intel>"
|
||||||
|
TYPE=$1
|
||||||
|
|
||||||
|
QEMU_LOG_PATH="/home/qt/work/vxworks_qemu_log.txt"
|
||||||
if [ "$TYPE" = "arm" ] || [ "$TYPE" = "" ]; then
|
if [ "$TYPE" = "arm" ] || [ "$TYPE" = "" ]; then
|
||||||
$VXWORKS_QEMU/bin/qemu-system-arm \
|
$VXWORKS_QEMU/bin/qemu-system-arm \
|
||||||
-machine sabrelite \
|
-machine sabrelite \
|
||||||
-smp 2 \
|
-smp 4 \
|
||||||
-m 3G \
|
-m 1G \
|
||||||
-nographic \
|
-nographic \
|
||||||
-monitor none \
|
-monitor none \
|
||||||
-serial null \
|
-serial null \
|
||||||
-serial pipe:${PIPE} \
|
-serial pipe:/tmp/guest \
|
||||||
-kernel /opt/fsl_imx6_2_0_6_3_VIP_QEMU/default/uVxWorks \
|
-kernel /opt/fsl_imx6_2_0_6_2_VIP_QEMU/default/uVxWorks \
|
||||||
-dtb /opt/fsl_imx6_2_0_6_3_VIP_QEMU/default/imx6q-sabrelite.dtb \
|
-dtb /opt/fsl_imx6_2_0_6_2_VIP_QEMU/default/imx6q-sabrelite.dtb \
|
||||||
-append "enet(0,0)host:vxWorks h=172.31.1.1 g=172.31.1.1 e=${GUEST_IP} u=target pw=vxTarget s=/romfs/startup_script.txt" \
|
-append "enet(0,0)host:vxWorks h=172.31.1.1 g=172.31.1.1 e=172.31.1.10 u=target pw=vxTarget s=/romfs/startup_script.txt" \
|
||||||
-rtc base=localtime,clock=rt \
|
-nic "tap,ifname=tap0,script=no" >"${QEMU_LOG_PATH}" 2>&1 &
|
||||||
-icount sleep=off \
|
|
||||||
-nic "tap,ifname=${TAP},script=no,mac=${MAC}" >"${QEMU_LOG_PATH}" 2>&1 &
|
|
||||||
elif [ "$TYPE" = "intel" ]; then
|
elif [ "$TYPE" = "intel" ]; then
|
||||||
$VXWORKS_QEMU/bin/qemu-system-x86_64 \
|
$VXWORKS_QEMU/bin/qemu-system-x86_64 \
|
||||||
-M q35 \
|
-M q35 \
|
||||||
-smp 4 \
|
-smp 8 \
|
||||||
-m 15G \
|
-m 16G \
|
||||||
-cpu "Skylake-Client" \
|
-cpu "Skylake-Client" \
|
||||||
-enable-kvm \
|
-enable-kvm \
|
||||||
-monitor none \
|
-monitor none \
|
||||||
-nographic \
|
-nographic \
|
||||||
-serial null \
|
-serial null \
|
||||||
-serial pipe:${PIPE} \
|
-serial pipe:/tmp/guest \
|
||||||
-kernel "/opt/itl_generic_skylake_VIP_QEMU/default/vxWorks" \
|
-kernel "/opt/itl_generic_skylake_VIP_QEMU/default/vxWorks" \
|
||||||
-append "sysbootline:gei(0,0)host:vxWorks h=172.31.1.1 g=172.31.1.1 e=${GUEST_IP} u=target pw=vxTarget s=/romfs/startup_script.txt" \
|
-append "sysbootline:gei(0,0)host:vxWorks h=172.31.1.1 g=172.31.1.1 e=172.31.1.10 u=target pw=vxTarget s=/romfs/startup_script.txt" \
|
||||||
-nic "tap,ifname=${TAP},script=no,downscript=no,mac=${MAC}" >"${QEMU_LOG_PATH}" 2>&1 &
|
-nic tap,ifname=tap0,script=no,downscript=no >"${QEMU_LOG_PATH}" 2>&1 &
|
||||||
fi
|
fi
|
||||||
QEMU_PID=$!
|
|
||||||
|
|
||||||
# The launcher is also re-invoked from inside the ctest environment when
|
for _ in $(seq 30)
|
||||||
# coin_vxworks_qemu_runner.sh restarts a wedged emulator. That environment
|
|
||||||
# carries a library path with the provisioned OpenSSL, which the system ssh
|
|
||||||
# (linked against the distro OpenSSL) refuses to load ("OpenSSL version
|
|
||||||
# mismatch"), so run ssh with a clean library path. Bound each probe with a
|
|
||||||
# hard timeout as well: ConnectTimeout only limits TCP connect, and a
|
|
||||||
# half-booted guest that accepts the connection but never answers would
|
|
||||||
# otherwise stall the loop.
|
|
||||||
#
|
|
||||||
# Boot-to-ssh takes seconds on KVM x86 but 15-60s+ on TCG ARM, with a long
|
|
||||||
# tail when several instances boot in parallel (a fixed 30-try budget killed
|
|
||||||
# healthy relaunches mid-boot on qemu_armv7), so wait on a wall-clock
|
|
||||||
# deadline rather than a retry count, and give up early only when the QEMU
|
|
||||||
# process itself has died.
|
|
||||||
SSH_WAIT_SECS=${VXWORKS_SSH_WAIT_SECS:-300}
|
|
||||||
SSH_UP=0
|
|
||||||
deadline=$((SECONDS + SSH_WAIT_SECS))
|
|
||||||
while (( SECONDS < deadline ))
|
|
||||||
do
|
do
|
||||||
if [[ -n "$QEMU_PID" ]] && ! kill -0 "$QEMU_PID" 2>/dev/null; then
|
status=$(ssh -o BatchMode=yes -o HostKeyAlgorithms=+ssh-rsa -o ConnectTimeout=1 "${VXWORKS_SSH}" echo emulator up) || true
|
||||||
echo "QEMU process for instance ${INSTANCE} exited during boot"
|
|
||||||
break
|
|
||||||
fi
|
|
||||||
status=$(env -u LD_LIBRARY_PATH timeout -k 5 15 \
|
|
||||||
ssh -n -o BatchMode=yes -o HostKeyAlgorithms=+ssh-rsa \
|
|
||||||
-o ConnectTimeout=1 "${SSH_TARGET}" echo emulator up) || true
|
|
||||||
if [[ $status == *"emulator up"* ]] ; then
|
if [[ $status == *"emulator up"* ]] ; then
|
||||||
echo "VXWORKS QEMU SSH server up (instance ${INSTANCE} @ ${GUEST_IP})"
|
echo "VXWORKS QEMU SSH server up"
|
||||||
SSH_UP=1
|
|
||||||
break
|
break
|
||||||
else
|
else
|
||||||
echo "Waiting VXWORKS QEMU SSH server (instance ${INSTANCE} @ ${GUEST_IP})"
|
echo "Waiting VXWORKS QEMU SSH server"
|
||||||
sleep 1
|
sleep 1
|
||||||
fi
|
fi
|
||||||
done
|
done
|
||||||
|
|
||||||
# Do not report success for an instance whose SSH server never came up: the
|
|
||||||
# caller would go on to source the test script on a guest in an unknown
|
|
||||||
# state. Exit non-zero so the testrunner's restart path can fail the attempt
|
|
||||||
# and let qt-testrunner retry with a clean slot.
|
|
||||||
if [[ $SSH_UP -ne 1 ]]; then
|
|
||||||
echo "VXWORKS QEMU SSH server did not come up (instance ${INSTANCE} @ ${GUEST_IP})"
|
|
||||||
exit 1
|
|
||||||
fi
|
|
||||||
|
|||||||
@@ -25,8 +25,8 @@ basePath="http://ci-files01-hki.ci.qt.io/input/android"
|
|||||||
toolsVersion="19.0"
|
toolsVersion="19.0"
|
||||||
toolsFile="commandlinetools-mac-13114758_latest.zip"
|
toolsFile="commandlinetools-mac-13114758_latest.zip"
|
||||||
toolsBackupUrl="https://dl.google.com/android/repository/$toolsFile"
|
toolsBackupUrl="https://dl.google.com/android/repository/$toolsFile"
|
||||||
sdkBuildToolsVersion="37.0.0"
|
sdkBuildToolsVersion="35.0.1"
|
||||||
sdkApiLevel="android-37.0"
|
sdkApiLevel="android-35"
|
||||||
toolsSha1="c3e06a1959762e89167d1cbaa988605f6f7c1d24"
|
toolsSha1="c3e06a1959762e89167d1cbaa988605f6f7c1d24"
|
||||||
|
|
||||||
ndkVersionLatest="r27c"
|
ndkVersionLatest="r27c"
|
||||||
@@ -43,6 +43,9 @@ ndkVersionNightly1=$ndkVersionLatest # Set as same version as latest = skip NDK
|
|||||||
ndkSha1Nightly1=$ndkSha1Latest
|
ndkSha1Nightly1=$ndkSha1Latest
|
||||||
ndkVersionNightly2=$ndkVersionLatest
|
ndkVersionNightly2=$ndkVersionLatest
|
||||||
ndkSha1Nightly2=$ndkSha1Latest
|
ndkSha1Nightly2=$ndkSha1Latest
|
||||||
|
sdkBuildToolsVersion="36.0.0"
|
||||||
|
# this is compile sdk version
|
||||||
|
sdkApiLevel="android-36"
|
||||||
|
|
||||||
toolsTargetFile="/tmp/$toolsFile"
|
toolsTargetFile="/tmp/$toolsFile"
|
||||||
toolsSourceFile="$basePath/$toolsFile"
|
toolsSourceFile="$basePath/$toolsFile"
|
||||||
|
|||||||
@@ -11,11 +11,11 @@ source "${BASH_SOURCE%/*}/InstallAppFromCompressedFileFromURL.sh"
|
|||||||
# shellcheck source=../unix/SetEnvVar.sh
|
# shellcheck source=../unix/SetEnvVar.sh
|
||||||
source "${BASH_SOURCE%/*}/../unix/SetEnvVar.sh"
|
source "${BASH_SOURCE%/*}/../unix/SetEnvVar.sh"
|
||||||
|
|
||||||
majorminorversion="4.3"
|
majorminorversion="3.30.5"
|
||||||
version="4.3.2"
|
version="3.30.5"
|
||||||
PrimaryUrl="http://ci-files01-hki.ci.qt.io/input/cmake/cmake-$version-macos-universal.tar.gz"
|
PrimaryUrl="http://ci-files01-hki.ci.qt.io/input/cmake/cmake-$version-macos-universal.tar.gz"
|
||||||
AltUrl="https://cmake.org/files/v$majorminorversion/cmake-$version-macos-universal.tar.gz"
|
AltUrl="https://cmake.org/files/v$majorminorversion/cmake-$version-macos-universal.tar.gz"
|
||||||
SHA1="e3b456c03d992239f9d83d933336768c7fc1ff54"
|
SHA1="c81c2f7482a901c4a32a81034920c23c22233a0f"
|
||||||
appPrefix="cmake-$version-macos-universal"
|
appPrefix="cmake-$version-macos-universal"
|
||||||
|
|
||||||
InstallAppFromCompressedFileFromURL "$PrimaryUrl" "$AltUrl" "$SHA1" "$appPrefix"
|
InstallAppFromCompressedFileFromURL "$PrimaryUrl" "$AltUrl" "$SHA1" "$appPrefix"
|
||||||
|
|||||||
@@ -1,3 +1,2 @@
|
|||||||
diffutils
|
diffutils
|
||||||
nasm
|
|
||||||
yasm
|
yasm
|
||||||
|
|||||||
@@ -9,105 +9,18 @@ source "${BASH_SOURCE%/*}/../unix/DownloadURL.sh"
|
|||||||
# shellcheck source=../unix/SourceEnvVars.sh
|
# shellcheck source=../unix/SourceEnvVars.sh
|
||||||
source "${BASH_SOURCE%/*}/../unix/SourceEnvVars.sh"
|
source "${BASH_SOURCE%/*}/../unix/SourceEnvVars.sh"
|
||||||
|
|
||||||
echo "Caching Gradle distributions and dependencies"
|
echo "Caching Gradle distribution and dependencies"
|
||||||
|
gradleCacheFileName="gradle_9.3.1_darwin_cache_v2.tar.gz"
|
||||||
|
gradleCacheUrl="http://ci-files01-hki.ci.qt.io/input/gradle/$gradleCacheFileName"
|
||||||
|
gradleCacheSha1="d4f93be293224e3d55779cf64252337fbb26b53b"
|
||||||
|
gradleCacheFile="/tmp/$gradleCacheFileName"
|
||||||
|
DownloadURL "$gradleCacheUrl" "$gradleCacheUrl" "$gradleCacheSha1" "$gradleCacheFile"
|
||||||
|
mkdir -p "$HOME/.gradle"
|
||||||
|
tar -xzf "$gradleCacheFile" -C "$HOME/.gradle" --strip-components=1
|
||||||
|
rm "$gradleCacheFile"
|
||||||
|
|
||||||
gradle_project_source="${BASH_SOURCE%/*}/../shared/gradle/project"
|
gradle_project_source="${BASH_SOURCE%/*}/../shared/gradle/project"
|
||||||
gradleDistributionMirror="http://ci-files01-hki.ci.qt.io/input/gradle"
|
cp -r "$gradle_project_source" /tmp/gradle_project
|
||||||
gradleInitScript="init.d/nexus-mirror.gradle"
|
cd /tmp/gradle_project
|
||||||
|
chmod +x gradlew
|
||||||
# Route every Gradle repository through the internal Nexus mirror.
|
sh gradlew build
|
||||||
mkdir -p "$HOME/.gradle/init.d"
|
|
||||||
cp "${BASH_SOURCE%/*}/../shared/gradle/$gradleInitScript" "$HOME/.gradle/$gradleInitScript"
|
|
||||||
|
|
||||||
# Returns the hash of the Gradle binary distribution for a given Gradle version.
|
|
||||||
# Gradle calculates the hash as base36(md5(distributionUrl)).
|
|
||||||
gradleDistributionHash () {
|
|
||||||
version="$1"
|
|
||||||
propertiesFile="$gradle_project_source/gradle/wrapper/gradle-wrapper.properties"
|
|
||||||
|
|
||||||
# 1. Read the project's distributionUrl.
|
|
||||||
distributionUrl=$(grep '^distributionUrl=' "$propertiesFile")
|
|
||||||
distributionUrl=${distributionUrl#distributionUrl=}
|
|
||||||
# 2. Unescape the Java-properties (e.g. '\:').
|
|
||||||
distributionUrl=${distributionUrl//\\:/:}
|
|
||||||
# 3. Swap in the requested version while maintaining the distribution URL.
|
|
||||||
distributionUrl=${distributionUrl/gradle-[0-9.]*-bin.zip/gradle-$version-bin.zip}
|
|
||||||
|
|
||||||
if command -v md5sum >/dev/null 2>&1; then
|
|
||||||
md5Hex=$(printf '%s' "$distributionUrl" | md5sum | awk '{print $1}')
|
|
||||||
else
|
|
||||||
md5Hex=$(printf '%s' "$distributionUrl" | md5)
|
|
||||||
fi
|
|
||||||
|
|
||||||
# Convert the md5 to base36: read it as a number, then repeatedly take the
|
|
||||||
# next digit (number % 36) and divide by 36, prepending each digit's character.
|
|
||||||
number=$(printf 'ibase=16; %s\n' "$(printf '%s' "$md5Hex" | tr 'a-f' 'A-F')" | bc)
|
|
||||||
hash=""
|
|
||||||
alphabet="0123456789abcdefghijklmnopqrstuvwxyz"
|
|
||||||
while [ "$number" != "0" ]; do
|
|
||||||
digit=$(printf '%s %% 36\n' "$number" | bc)
|
|
||||||
number=$(printf '%s / 36\n' "$number" | bc)
|
|
||||||
hash="${alphabet:$digit:1}$hash"
|
|
||||||
done
|
|
||||||
printf '%s' "$hash"
|
|
||||||
}
|
|
||||||
|
|
||||||
# Seed a Gradle distribution binary into ~/.gradle from the internal mirror.
|
|
||||||
seedGradleDistribution () {
|
|
||||||
version="$1"
|
|
||||||
sha="$2"
|
|
||||||
|
|
||||||
distributionDir="$HOME/.gradle/wrapper/dists/gradle-${version}-bin/$(gradleDistributionHash "$version")"
|
|
||||||
if [ -e "$distributionDir/gradle-${version}-bin.zip.ok" ]; then
|
|
||||||
return 0
|
|
||||||
fi
|
|
||||||
mkdir -p "$distributionDir"
|
|
||||||
zip="$distributionDir/gradle-${version}-bin.zip"
|
|
||||||
url="$gradleDistributionMirror/gradle-${version}-bin.zip"
|
|
||||||
DownloadURL "$url" "$url" "$sha" "$zip"
|
|
||||||
unzip -q -o "$zip" -d "$distributionDir"
|
|
||||||
rm -f "$zip"
|
|
||||||
touch "$distributionDir/gradle-${version}-bin.zip.ok"
|
|
||||||
}
|
|
||||||
|
|
||||||
# Populate ~/.gradle/caches by priming the shared project for each Gradle and AGP profile.
|
|
||||||
cacheGradleProfile () {
|
|
||||||
echo "Caching Gradle profile $*"
|
|
||||||
tmp="$(mktemp -d)"
|
|
||||||
project="$tmp/project"
|
|
||||||
cp -r "$gradle_project_source" "$project"
|
|
||||||
|
|
||||||
props="$project/gradle/wrapper/gradle-wrapper.properties"
|
|
||||||
for kv in "$@"; do
|
|
||||||
case "$kv" in
|
|
||||||
gradle=*)
|
|
||||||
sed "s#gradle-[0-9.]*-bin.zip#gradle-${kv#*=}-bin.zip#" "$props" > "$props.tmp"
|
|
||||||
mv "$props.tmp" "$props"
|
|
||||||
;;
|
|
||||||
esac
|
|
||||||
done
|
|
||||||
|
|
||||||
toml="$project/gradle/libs.versions.toml"
|
|
||||||
for kv in "$@"; do
|
|
||||||
case "$kv" in
|
|
||||||
gradle=*) ;;
|
|
||||||
*)
|
|
||||||
key="${kv%%=*}"
|
|
||||||
val="${kv#*=}"
|
|
||||||
sed "/^\[versions\]/,/^\[/ s/^$key = .*/$key = \"$val\"/" "$toml" > "$toml.tmp"
|
|
||||||
mv "$toml.tmp" "$toml"
|
|
||||||
;;
|
|
||||||
esac
|
|
||||||
done
|
|
||||||
|
|
||||||
sh "$project/gradlew" --project-dir "$project" build
|
|
||||||
rm -rf "$tmp"
|
|
||||||
}
|
|
||||||
|
|
||||||
# Cache both the current and the previous versions to avoid issues during bumps.
|
|
||||||
seedGradleDistribution 9.3.1 "b266d5ff6b90eada6dc3b20cb090e3731302e553a27c5d3e4df1f0d76beaff06"
|
|
||||||
cacheGradleProfile gradle=9.3.1 agp=9.0.0
|
|
||||||
seedGradleDistribution 9.5.1 "bafc141b619ad6350fd975fc903156dd5c151998cc8b058e8c1044ab5f7b031f"
|
|
||||||
cacheGradleProfile gradle=9.5.1 agp=9.2.1
|
|
||||||
|
|
||||||
echo "Cached Gradle distributions and dependencies under $HOME/.gradle."
|
|
||||||
|
|||||||
@@ -1,68 +0,0 @@
|
|||||||
#!/usr/bin/env bash
|
|
||||||
# Copyright (C) 2025 The Qt Company Ltd.
|
|
||||||
# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
|
|
||||||
|
|
||||||
# This script install HarmonyOS sdk and patches.
|
|
||||||
|
|
||||||
set -e
|
|
||||||
|
|
||||||
# shellcheck source=../unix/DownloadURL.sh
|
|
||||||
source "${BASH_SOURCE%/*}/../unix/DownloadURL.sh"
|
|
||||||
# shellcheck source=../unix/check_and_set_proxy.sh
|
|
||||||
source "${BASH_SOURCE%/*}/../unix/check_and_set_proxy.sh"
|
|
||||||
# shellcheck source=../unix/SetEnvVar.sh
|
|
||||||
source "${BASH_SOURCE%/*}/../unix/SetEnvVar.sh"
|
|
||||||
|
|
||||||
targetFolder="/opt/harmonyos"
|
|
||||||
sdkTargetFolder="$targetFolder/command-line-tools"
|
|
||||||
|
|
||||||
sudo mkdir -p "$sdkTargetFolder"
|
|
||||||
|
|
||||||
basePath="http://ci-files01-hki.ci.qt.io/input/harmonyos"
|
|
||||||
|
|
||||||
toolsVersion="6.1.0.860"
|
|
||||||
toolsFile="commandline-tools-mac-arm64-6.1.0.860.zip"
|
|
||||||
toolsSha1="4ba9df069fc5c651753c74297d723a2461be12e9"
|
|
||||||
|
|
||||||
toolsTargetFile="/tmp/$toolsFile"
|
|
||||||
toolsSourceFile="$basePath/$toolsFile"
|
|
||||||
|
|
||||||
echo "Download and unzip HarmonyOS SDK"
|
|
||||||
DownloadURL "$toolsSourceFile" "$toolsSourceFile" "$toolsSha1" "$toolsTargetFile"
|
|
||||||
echo "Unzipping HarmonyOS Tools to '$targetFolder'"
|
|
||||||
sudo unzip -q "$toolsTargetFile" -d "$targetFolder"
|
|
||||||
rm "$toolsTargetFile"
|
|
||||||
|
|
||||||
patchFile="harmonyos_sdk_patches.zip"
|
|
||||||
patchSha1="7f912104a5600bc176891bc6e9d97732f4266ad6"
|
|
||||||
|
|
||||||
patchTargetFile="/tmp/$patchFile"
|
|
||||||
patchSourceFile="$basePath/$patchFile"
|
|
||||||
patchTargetFolder="$targetFolder/harmonyos_sdk_patches"
|
|
||||||
|
|
||||||
echo "Download and unzip HarmonyOS SDK patches"
|
|
||||||
DownloadURL "$patchSourceFile" "$patchSourceFile" "$patchSha1" "$patchTargetFile"
|
|
||||||
echo "Unzipping HarmonyOS SDK patches to '$targetFolder'"
|
|
||||||
sudo unzip -q "$patchTargetFile" -d "$targetFolder"
|
|
||||||
rm "$patchTargetFile"
|
|
||||||
|
|
||||||
echo "Changing ownership of HarmonyOS files."
|
|
||||||
sudo chown -R qt:wheel "$sdkTargetFolder"
|
|
||||||
sudo chmod -R 755 $sdkTargetFolder
|
|
||||||
sudo chown -R qt:wheel "$patchTargetFolder"
|
|
||||||
sudo chmod -R 755 $patchTargetFolder
|
|
||||||
|
|
||||||
echo "Patching HarmonyOS SDK"
|
|
||||||
|
|
||||||
sdkRootFolder="$sdkTargetFolder/sdk/default/openharmony"
|
|
||||||
echo "Checking the contents of HarmonyOS SDK..."
|
|
||||||
ls -l "$sdkRootFolder"
|
|
||||||
|
|
||||||
SetEnvVar "HARMONYOS_SDK_ROOT" "$sdkRootFolder"
|
|
||||||
export HARMONYOS_SDK_ROOT="$sdkRootFolder"
|
|
||||||
|
|
||||||
# Same meaning as on Linux: the command-line-tools root, which holds hvigorw.
|
|
||||||
SetEnvVar "HARMONYOS_SDK_ROOT_CURRENT" "$sdkTargetFolder"
|
|
||||||
export HARMONYOS_SDK_ROOT_CURRENT="$sdkTargetFolder"
|
|
||||||
|
|
||||||
echo "HarmonyOS SDK setup finished"
|
|
||||||
@@ -102,6 +102,7 @@ build_ffmpeg_ios() {
|
|||||||
--extra-ldflags="${common_arch_flags}"
|
--extra-ldflags="${common_arch_flags}"
|
||||||
--target-os=darwin
|
--target-os=darwin
|
||||||
--install-name-dir="@rpath"
|
--install-name-dir="@rpath"
|
||||||
|
--disable-audiotoolbox
|
||||||
|
|
||||||
# We perform manual stripping after generating dSYMs.
|
# We perform manual stripping after generating dSYMs.
|
||||||
# Make sure to skip it during FFmpeg compilation.
|
# Make sure to skip it during FFmpeg compilation.
|
||||||
|
|||||||
@@ -22,12 +22,6 @@ ffmpeg_config_options=$(get_ffmpeg_config_options "shared")
|
|||||||
default_prefix="/usr/local/$ffmpeg_name"
|
default_prefix="/usr/local/$ffmpeg_name"
|
||||||
prefix="${2:-$default_prefix}"
|
prefix="${2:-$default_prefix}"
|
||||||
|
|
||||||
# Disable X11 linkage on macOS. FFmpeg auto-detect
|
|
||||||
# mechanisms will pull it in as a dependency if found
|
|
||||||
# on the host. If this happens, it makes the binaries
|
|
||||||
# not loadable on macOS machines without libx11 installed.
|
|
||||||
ffmpeg_config_options+=" --disable-libxcb --disable-xlib"
|
|
||||||
|
|
||||||
build_ffmpeg() {
|
build_ffmpeg() {
|
||||||
local arch="$1"
|
local arch="$1"
|
||||||
local build_dir="$ffmpeg_source_dir/build/$arch"
|
local build_dir="$ffmpeg_source_dir/build/$arch"
|
||||||
|
|||||||
@@ -58,12 +58,7 @@ function InstallXCode() {
|
|||||||
# Xcode 26 ships a more minimal base install
|
# Xcode 26 ships a more minimal base install
|
||||||
if ((majorVersion >= 26)); then
|
if ((majorVersion >= 26)); then
|
||||||
xcodebuild -downloadComponent MetalToolchain
|
xcodebuild -downloadComponent MetalToolchain
|
||||||
if ((majorVersion >= 27)); then
|
xcodebuild -downloadPlatform iOS
|
||||||
# No more universal iOS simulator in Xcode 27
|
|
||||||
xcodebuild -downloadPlatform iOS
|
|
||||||
else
|
|
||||||
xcodebuild -downloadPlatform iOS -architectureVariant universal
|
|
||||||
fi
|
|
||||||
if [[ $(uname -m) == "arm64" ]]; then
|
if [[ $(uname -m) == "arm64" ]]; then
|
||||||
xcodebuild -downloadPlatform visionOS
|
xcodebuild -downloadPlatform visionOS
|
||||||
fi
|
fi
|
||||||
|
|||||||
@@ -34,6 +34,6 @@ SetEnvVar "SBOM_PYTHON_APPS_PATH" "/Library/Frameworks/Python.framework/Versions
|
|||||||
SetEnvVar "SBOM_PYTHON_INTERP_PATH" "/Library/Frameworks/Python.framework/Versions/3.11/bin/python3"
|
SetEnvVar "SBOM_PYTHON_INTERP_PATH" "/Library/Frameworks/Python.framework/Versions/3.11/bin/python3"
|
||||||
|
|
||||||
# Install Python certificates. Required at least for emsdk installation
|
# Install Python certificates. Required at least for emsdk installation
|
||||||
/Applications/Python\ 3.11/Install\ Certificates.command
|
open /Applications/Python\ 3.11/Install\ Certificates.command
|
||||||
|
|
||||||
echo "python3 = 3.11.9" >> ~/versions.txt
|
echo "python3 = 3.11.9" >> ~/versions.txt
|
||||||
|
|||||||
@@ -1,39 +0,0 @@
|
|||||||
// Copyright (C) 2026 The Qt Company Ltd.
|
|
||||||
// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
|
|
||||||
|
|
||||||
// Installed by Coin into $GRADLE_USER_HOME/init.d to route every gradle
|
|
||||||
// invocation's repositories through the internal Nexus mirror.
|
|
||||||
|
|
||||||
def mirror = 'https://ci-passth-cache.ci.qt.io/repository/gradle-all/'
|
|
||||||
|
|
||||||
def addMirror = { repositories ->
|
|
||||||
repositories.maven { mavenRepository ->
|
|
||||||
mavenRepository.name = 'qt-nexus-mirror'
|
|
||||||
mavenRepository.url = mirror
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
def enforceMirror = { repositories ->
|
|
||||||
repositories.all { repository ->
|
|
||||||
if (repository.name != 'qt-nexus-mirror')
|
|
||||||
repositories.remove(repository)
|
|
||||||
}
|
|
||||||
addMirror(repositories)
|
|
||||||
}
|
|
||||||
|
|
||||||
// Modern templates: replace the settings-level repositories with the mirror.
|
|
||||||
settingsEvaluated { settings ->
|
|
||||||
settings.pluginManagement.repositories.clear()
|
|
||||||
addMirror(settings.pluginManagement.repositories)
|
|
||||||
settings.dependencyResolutionManagement {
|
|
||||||
repositoriesMode.set(RepositoriesMode.PREFER_PROJECT)
|
|
||||||
repositories.clear()
|
|
||||||
addMirror(repositories)
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
// Legacy templates: replace the buildscript and project repositories with the mirror.
|
|
||||||
allprojects { project ->
|
|
||||||
enforceMirror(project.buildscript.repositories)
|
|
||||||
enforceMirror(project.repositories)
|
|
||||||
}
|
|
||||||
@@ -7,9 +7,7 @@ which use `--offline`.
|
|||||||
Caches dependencies for:
|
Caches dependencies for:
|
||||||
- `com.android.application`: used by Qt test/example APK builds
|
- `com.android.application`: used by Qt test/example APK builds
|
||||||
- `com.android.library`: used by Qt JAR builds
|
- `com.android.library`: used by Qt JAR builds
|
||||||
- `android.dynamic.feature`: used by Feature Delivery tests
|
|
||||||
- `org.jetbrains.kotlin.android`: used by some Qt modules
|
- `org.jetbrains.kotlin.android`: used by some Qt modules
|
||||||
- `org.qtproject.qt.gradleplugin`: used by Qt for Android Studio projects
|
|
||||||
- AndroidX: used by app builds
|
- AndroidX: used by app builds
|
||||||
|
|
||||||
These files should be updated each time Qt bumps the supported Android or
|
These files should be updated each time Qt bumps the supported Android or
|
||||||
|
|||||||
@@ -4,21 +4,17 @@ plugins {
|
|||||||
|
|
||||||
android {
|
android {
|
||||||
namespace = 'org.qtproject.qt.gradlecache.app'
|
namespace = 'org.qtproject.qt.gradlecache.app'
|
||||||
compileSdk = 37
|
compileSdk = 36
|
||||||
compileSdkMinor = 0
|
|
||||||
|
|
||||||
defaultConfig {
|
defaultConfig {
|
||||||
applicationId 'org.qtproject.qt.gradlecache.app'
|
applicationId 'org.qtproject.qt.gradlecache.app'
|
||||||
minSdk = 28
|
minSdk = 28
|
||||||
}
|
}
|
||||||
|
|
||||||
dynamicFeatures = [':feature']
|
|
||||||
}
|
}
|
||||||
|
|
||||||
dependencies {
|
dependencies {
|
||||||
implementation libs.core
|
implementation libs.core
|
||||||
implementation libs.appcompat
|
implementation libs.appcompat
|
||||||
implementation libs.material
|
implementation libs.material
|
||||||
implementation libs.play.feature.delivery
|
|
||||||
testImplementation libs.junit
|
testImplementation libs.junit
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,4 +0,0 @@
|
|||||||
<?xml version="1.0" encoding="utf-8"?>
|
|
||||||
<resources>
|
|
||||||
<string name="feature_title">Feature</string>
|
|
||||||
</resources>
|
|
||||||
@@ -1,6 +1,4 @@
|
|||||||
plugins {
|
plugins {
|
||||||
alias(libs.plugins.android.application) apply false
|
alias(libs.plugins.android.application) apply false
|
||||||
alias(libs.plugins.android.library) apply false
|
alias(libs.plugins.android.library) apply false
|
||||||
alias(libs.plugins.android.dynamic.feature) apply false
|
|
||||||
alias(libs.plugins.qt.gradle.plugin) apply false
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,18 +0,0 @@
|
|||||||
plugins {
|
|
||||||
alias(libs.plugins.android.dynamic.feature)
|
|
||||||
}
|
|
||||||
|
|
||||||
android {
|
|
||||||
namespace = 'org.qtproject.qt.gradlecache.feature'
|
|
||||||
compileSdk = 37
|
|
||||||
compileSdkMinor = 0
|
|
||||||
|
|
||||||
defaultConfig {
|
|
||||||
minSdk = 28
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
dependencies {
|
|
||||||
implementation project(':app')
|
|
||||||
implementation libs.play.feature.delivery
|
|
||||||
}
|
|
||||||
@@ -1,12 +0,0 @@
|
|||||||
<?xml version="1.0" encoding="utf-8"?>
|
|
||||||
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
|
|
||||||
xmlns:dist="http://schemas.android.com/apk/distribution">
|
|
||||||
<dist:module
|
|
||||||
dist:instant="false"
|
|
||||||
dist:title="@string/feature_title">
|
|
||||||
<dist:delivery>
|
|
||||||
<dist:on-demand />
|
|
||||||
</dist:delivery>
|
|
||||||
<dist:fusing dist:include="true" />
|
|
||||||
</dist:module>
|
|
||||||
</manifest>
|
|
||||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user