mirror of
git://code.qt.io/qt/qt5.git
synced 2026-09-23 00:46:52 +08:00
Compare commits
15
Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
b679fc833f | ||
|
|
3c74fcadea | ||
|
|
badc52004e | ||
|
|
574021bdfa | ||
|
|
ec6b23ce8a | ||
|
|
392114430e | ||
|
|
acbb42c920 | ||
|
|
f79439844d | ||
|
|
3e9b56e0ad | ||
|
|
da7ca1ee75 | ||
|
|
d110ff4c98 | ||
|
|
f77f152366 | ||
|
|
178aaee44f | ||
|
|
edde2ec93f | ||
|
|
a870cffea0 |
@@ -3,6 +3,5 @@
|
||||
.gitattributes export-ignore
|
||||
.commit-template export-ignore eol=lf
|
||||
init-repository export-ignore
|
||||
README.git export-ignore
|
||||
*.bat text eol=crlf
|
||||
*.bat.in text eol=crlf
|
||||
|
||||
+45
-45
@@ -1,46 +1,46 @@
|
||||
[submodule "qtbase"]
|
||||
path = qtbase
|
||||
url = ../qtbase.git
|
||||
branch = 6.12
|
||||
branch = 6.12.0
|
||||
status = essential
|
||||
[submodule "qtsvg"]
|
||||
depends = qtbase
|
||||
path = qtsvg
|
||||
url = ../qtsvg.git
|
||||
branch = 6.12
|
||||
branch = 6.12.0
|
||||
status = addon
|
||||
[submodule "qtdeclarative"]
|
||||
depends = qtbase
|
||||
recommends = qtimageformats qtshadertools qtsvg qtlanguageserver
|
||||
path = qtdeclarative
|
||||
url = ../qtdeclarative.git
|
||||
branch = 6.12
|
||||
branch = 6.12.0
|
||||
status = essential
|
||||
[submodule "qtactiveqt"]
|
||||
depends = qtbase
|
||||
path = qtactiveqt
|
||||
url = ../qtactiveqt.git
|
||||
branch = 6.12
|
||||
branch = 6.12.0
|
||||
status = addon
|
||||
[submodule "qtmultimedia"]
|
||||
depends = qtbase qtshadertools
|
||||
recommends = qtdeclarative qtquick3d
|
||||
path = qtmultimedia
|
||||
url = ../qtmultimedia.git
|
||||
branch = 6.12
|
||||
branch = 6.12.0
|
||||
status = addon
|
||||
[submodule "qttools"]
|
||||
depends = qtbase
|
||||
recommends = qtdeclarative qtactiveqt
|
||||
path = qttools
|
||||
url = ../qttools.git
|
||||
branch = 6.12
|
||||
branch = 6.12.0
|
||||
status = essential
|
||||
[submodule "qttranslations"]
|
||||
depends = qttools
|
||||
path = qttranslations
|
||||
url = ../qttranslations.git
|
||||
branch = 6.12
|
||||
branch = 6.12.0
|
||||
status = essential
|
||||
priority = 30
|
||||
[submodule "qtdoc"]
|
||||
@@ -48,7 +48,7 @@
|
||||
recommends = qtmultimedia qtshadertools qttasktree
|
||||
path = qtdoc
|
||||
url = ../qtdoc.git
|
||||
branch = 6.12
|
||||
branch = 6.12.0
|
||||
status = essential
|
||||
priority = 40
|
||||
[submodule "qtrepotools"]
|
||||
@@ -61,7 +61,7 @@
|
||||
depends = qtbase
|
||||
path = qtqa
|
||||
url = ../qtqa.git
|
||||
branch = 6.12
|
||||
branch = 6.12.0
|
||||
status = essential
|
||||
priority = 50
|
||||
[submodule "qtlocation"]
|
||||
@@ -69,234 +69,234 @@
|
||||
recommends = qtdeclarative
|
||||
path = qtlocation
|
||||
url = ../qtlocation.git
|
||||
branch = 6.12
|
||||
branch = 6.12.0
|
||||
status = preview
|
||||
[submodule "qtpositioning"]
|
||||
depends = qtbase
|
||||
recommends = qtdeclarative qtserialport
|
||||
path = qtpositioning
|
||||
url = ../qtpositioning.git
|
||||
branch = 6.12
|
||||
branch = 6.12.0
|
||||
status = addon
|
||||
[submodule "qtsensors"]
|
||||
depends = qtbase
|
||||
recommends = qtdeclarative
|
||||
path = qtsensors
|
||||
url = ../qtsensors.git
|
||||
branch = 6.12
|
||||
branch = 6.12.0
|
||||
status = addon
|
||||
[submodule "qtconnectivity"]
|
||||
depends = qtbase
|
||||
recommends = qtdeclarative
|
||||
path = qtconnectivity
|
||||
url = ../qtconnectivity.git
|
||||
branch = 6.12
|
||||
branch = 6.12.0
|
||||
status = addon
|
||||
[submodule "qtwayland"]
|
||||
depends = qtbase
|
||||
recommends = qtdeclarative
|
||||
path = qtwayland
|
||||
url = ../qtwayland.git
|
||||
branch = 6.12
|
||||
branch = 6.12.0
|
||||
status = addon
|
||||
[submodule "qt3d"]
|
||||
depends = qtbase
|
||||
recommends = qtdeclarative qtshadertools qtmultimedia
|
||||
path = qt3d
|
||||
url = ../qt3d.git
|
||||
branch = 6.12
|
||||
branch = 6.12.0
|
||||
status = deprecated
|
||||
[submodule "qtimageformats"]
|
||||
depends = qtbase
|
||||
path = qtimageformats
|
||||
url = ../qtimageformats.git
|
||||
branch = 6.12
|
||||
branch = 6.12.0
|
||||
status = addon
|
||||
[submodule "qtserialbus"]
|
||||
depends = qtbase
|
||||
recommends = qtserialport
|
||||
path = qtserialbus
|
||||
url = ../qtserialbus.git
|
||||
branch = 6.12
|
||||
branch = 6.12.0
|
||||
status = addon
|
||||
[submodule "qtserialport"]
|
||||
depends = qtbase
|
||||
path = qtserialport
|
||||
url = ../qtserialport.git
|
||||
branch = 6.12
|
||||
branch = 6.12.0
|
||||
status = addon
|
||||
[submodule "qtwebsockets"]
|
||||
depends = qtbase
|
||||
recommends = qtdeclarative
|
||||
path = qtwebsockets
|
||||
url = ../qtwebsockets.git
|
||||
branch = 6.12
|
||||
branch = 6.12.0
|
||||
status = addon
|
||||
[submodule "qtwebchannel"]
|
||||
depends = qtbase
|
||||
recommends = qtdeclarative qtwebsockets
|
||||
path = qtwebchannel
|
||||
url = ../qtwebchannel.git
|
||||
branch = 6.12
|
||||
branch = 6.12.0
|
||||
status = addon
|
||||
[submodule "qtwebview"]
|
||||
depends = qtdeclarative
|
||||
path = qtwebview
|
||||
url = ../qtwebview.git
|
||||
branch = 6.12
|
||||
branch = 6.12.0
|
||||
status = addon
|
||||
[submodule "qtcharts"]
|
||||
depends = qtbase
|
||||
recommends = qtdeclarative qtmultimedia
|
||||
path = qtcharts
|
||||
url = ../qtcharts.git
|
||||
branch = 6.12
|
||||
branch = 6.12.0
|
||||
status = deprecated
|
||||
[submodule "qtdatavis3d"]
|
||||
depends = qtbase
|
||||
recommends = qtdeclarative qtmultimedia
|
||||
path = qtdatavis3d
|
||||
url = ../qtdatavis3d.git
|
||||
branch = 6.12
|
||||
branch = 6.12.0
|
||||
status = deprecated
|
||||
[submodule "qtvirtualkeyboard"]
|
||||
depends = qtbase qtdeclarative qtsvg
|
||||
recommends = qtmultimedia
|
||||
path = qtvirtualkeyboard
|
||||
url = ../qtvirtualkeyboard.git
|
||||
branch = 6.12
|
||||
branch = 6.12.0
|
||||
status = addon
|
||||
[submodule "qtscxml"]
|
||||
depends = qtbase qtdeclarative
|
||||
path = qtscxml
|
||||
url = ../qtscxml.git
|
||||
branch = 6.12
|
||||
branch = 6.12.0
|
||||
status = addon
|
||||
[submodule "qtspeech"]
|
||||
depends = qtbase qtmultimedia
|
||||
recommends = qtdeclarative
|
||||
path = qtspeech
|
||||
url = ../qtspeech.git
|
||||
branch = 6.12
|
||||
branch = 6.12.0
|
||||
status = addon
|
||||
[submodule "qtnetworkauth"]
|
||||
depends = qtbase
|
||||
path = qtnetworkauth
|
||||
url = ../qtnetworkauth.git
|
||||
branch = 6.12
|
||||
branch = 6.12.0
|
||||
status = addon
|
||||
[submodule "qtremoteobjects"]
|
||||
depends = qtbase
|
||||
recommends = qtdeclarative
|
||||
path = qtremoteobjects
|
||||
url = ../qtremoteobjects.git
|
||||
branch = 6.12
|
||||
branch = 6.12.0
|
||||
status = addon
|
||||
[submodule "qtlottie"]
|
||||
depends = qtbase qtdeclarative qtquicktimeline
|
||||
path = qtlottie
|
||||
url = ../qtlottie.git
|
||||
branch = 6.12
|
||||
branch = 6.12.0
|
||||
status = addon
|
||||
[submodule "qtquicktimeline"]
|
||||
depends = qtbase qtdeclarative
|
||||
path = qtquicktimeline
|
||||
url = ../qtquicktimeline
|
||||
branch = 6.12
|
||||
branch = 6.12.0
|
||||
status = addon
|
||||
[submodule "qtquick3d"]
|
||||
depends = qtbase qtdeclarative qtshadertools
|
||||
recommends = qtquicktimeline
|
||||
path = qtquick3d
|
||||
url = ../qtquick3d.git
|
||||
branch = 6.12
|
||||
branch = 6.12.0
|
||||
status = addon
|
||||
[submodule "qtshadertools"]
|
||||
depends = qtbase
|
||||
path = qtshadertools
|
||||
url = ../qtshadertools.git
|
||||
branch = 6.12
|
||||
branch = 6.12.0
|
||||
status = addon
|
||||
[submodule "qt5compat"]
|
||||
depends = qtbase qtdeclarative
|
||||
path = qt5compat
|
||||
url = ../qt5compat.git
|
||||
branch = 6.12
|
||||
branch = 6.12.0
|
||||
status = deprecated
|
||||
[submodule "qtcoap"]
|
||||
depends = qtbase
|
||||
path = qtcoap
|
||||
url = ../qtcoap.git
|
||||
branch = 6.12
|
||||
branch = 6.12.0
|
||||
status = addon
|
||||
[submodule "qtmqtt"]
|
||||
depends = qtbase qtdeclarative
|
||||
recommends = qtwebsockets
|
||||
path = qtmqtt
|
||||
url = ../qtmqtt.git
|
||||
branch = 6.12
|
||||
branch = 6.12.0
|
||||
status = addon
|
||||
[submodule "qtopcua"]
|
||||
depends = qtbase qtdeclarative
|
||||
path = qtopcua
|
||||
url = ../qtopcua.git
|
||||
branch = 6.12
|
||||
branch = 6.12.0
|
||||
status = addon
|
||||
[submodule "qtlanguageserver"]
|
||||
depends = qtbase
|
||||
path = qtlanguageserver
|
||||
url = ../qtlanguageserver.git
|
||||
branch = 6.12
|
||||
branch = 6.12.0
|
||||
status = preview
|
||||
[submodule "qthttpserver"]
|
||||
depends = qtbase
|
||||
recommends = qtwebsockets
|
||||
path = qthttpserver
|
||||
url = ../qthttpserver.git
|
||||
branch = 6.12
|
||||
branch = 6.12.0
|
||||
status = addon
|
||||
[submodule "qtquick3dphysics"]
|
||||
depends = qtbase qtdeclarative qtquick3d qtshadertools
|
||||
path = qtquick3dphysics
|
||||
url = ../qtquick3dphysics.git
|
||||
branch = 6.12
|
||||
branch = 6.12.0
|
||||
status = addon
|
||||
[submodule "qtgrpc"]
|
||||
depends = qtbase
|
||||
recommends = qtdeclarative
|
||||
path = qtgrpc
|
||||
url = ../qtgrpc.git
|
||||
branch = 6.12
|
||||
branch = 6.12.0
|
||||
status = addon
|
||||
[submodule "qtquickeffectmaker"]
|
||||
depends = qtbase qtdeclarative qtshadertools
|
||||
recommends = qtquick3d
|
||||
path = qtquickeffectmaker
|
||||
url = ../qtquickeffectmaker.git
|
||||
branch = 6.12
|
||||
branch = 6.12.0
|
||||
status = addon
|
||||
[submodule "qtgraphs"]
|
||||
depends = qtbase qtdeclarative qtquick3d
|
||||
path = qtgraphs
|
||||
url = ../qtgraphs.git
|
||||
branch = 6.12
|
||||
branch = 6.12.0
|
||||
status = addon
|
||||
[submodule "qttasktree"]
|
||||
depends = qtbase
|
||||
path = qttasktree
|
||||
url = ../qttasktree.git
|
||||
branch = 6.12
|
||||
branch = 6.12.0
|
||||
status = preview
|
||||
[submodule "qtopenapi"]
|
||||
depends = qtbase
|
||||
recommends = qtdeclarative
|
||||
path = qtopenapi
|
||||
url = ../qtopenapi.git
|
||||
branch = 6.12
|
||||
branch = 6.12.0
|
||||
status = preview
|
||||
[submodule "qtcanvaspainter"]
|
||||
depends = qtbase qtdeclarative qtshadertools
|
||||
path = qtcanvaspainter
|
||||
url = ../qtcanvaspainter.git
|
||||
branch = 6.12
|
||||
branch = 6.12.0
|
||||
status = addon
|
||||
|
||||
@@ -0,0 +1,30 @@
|
||||
# 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.
|
||||
@@ -0,0 +1,23 @@
|
||||
# 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.
|
||||
@@ -0,0 +1,29 @@
|
||||
# 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
@@ -0,0 +1,69 @@
|
||||
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
@@ -1,57 +0,0 @@
|
||||
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,127 +1,80 @@
|
||||
HOW TO BUILD Qt 6
|
||||
=================
|
||||
# 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.
|
||||
|
||||
Synopsis
|
||||
========
|
||||
Each submodule points at a specific revision. The combination of revisions that
|
||||
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.
|
||||
|
||||
System requirements
|
||||
-------------------
|
||||
> Despite the name `qt5.git`, the `dev` and `6.x` branches contain Qt 6.
|
||||
|
||||
* C++ compiler supporting the C++17 standard
|
||||
* CMake
|
||||
* Ninja
|
||||
* Python 3
|
||||
To use Qt rather than build it from sources, see
|
||||
[Get and Install Qt](https://doc.qt.io/qt-6/get-and-install-qt.html).
|
||||
|
||||
For more details, see also https://doc.qt.io/qt-6/build-sources.html
|
||||
## Repository layout
|
||||
|
||||
Linux, Mac:
|
||||
-----------
|
||||
Each Qt module lives in its own directory, such as `qtbase` or
|
||||
`qtdeclarative`. Those directories are git submodules.
|
||||
|
||||
```
|
||||
cd <path>/<source_package>
|
||||
./configure -prefix $PWD/qtbase
|
||||
cmake --build .
|
||||
```
|
||||
The other top-level entries are:
|
||||
|
||||
Windows:
|
||||
--------
|
||||
| Entry | Purpose |
|
||||
| ----- | ------- |
|
||||
|`.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. |
|
||||
|
||||
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)
|
||||
## Get the sources
|
||||
|
||||
```
|
||||
cd <path>\<source_package>
|
||||
configure -prefix %CD%\qtbase
|
||||
cmake --build .
|
||||
```
|
||||
For instructions, see [Getting Qt Sources from the Git repository](https://doc.qt.io/qt-6/getting-sources-from-git.html).
|
||||
|
||||
More details follow.
|
||||
## Build Qt
|
||||
|
||||
For instructions, see [Build from sources](https://doc.qt.io/qt-6/build-sources.html).
|
||||
|
||||
Build!
|
||||
======
|
||||
## Documentation
|
||||
|
||||
Qt is built with CMake, and a typical
|
||||
`configure && cmake --build .` build process is used.
|
||||
The [Qt 6 documentation](https://doc.qt.io/qt-6/index.html) covers the
|
||||
framework itself.
|
||||
|
||||
If Ninja is installed, it is automatically chosen as CMake generator.
|
||||
## Report an issue
|
||||
|
||||
Some relevant configure options (see configure -help):
|
||||
Report bugs at [bugreports.qt.io](https://bugreports.qt.io/), following
|
||||
[these steps](https://doc.qt.io/qt-6/bughowto.html).
|
||||
|
||||
* `-release` Compile and link Qt with debugging turned off.
|
||||
* `-debug` Compile and link Qt with debugging turned on.
|
||||
## Security
|
||||
|
||||
Example for a release build:
|
||||
To report a security vulnerability in Qt, and to read what the Qt Project
|
||||
commits to in response, see [SECURITY.md](SECURITY.md).
|
||||
|
||||
```
|
||||
./configure -prefix $PWD/qtbase
|
||||
cmake --build .
|
||||
```
|
||||
## Contribute to Qt
|
||||
|
||||
Example for a developer build:
|
||||
(enables more autotests, builds debug version of libraries, ...)
|
||||
The Qt Project does not accept pull requests on GitHub. Every contribution goes
|
||||
through [Gerrit](https://codereview.qt-project.org), so read
|
||||
[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/).
|
||||
|
||||
```
|
||||
./configure -developer-build
|
||||
cmake --build .
|
||||
```
|
||||
## License
|
||||
|
||||
See output of `./configure -help` for documentation on various options to
|
||||
configure.
|
||||
Qt is available under both commercial and open source licenses, and the terms
|
||||
depend on the module you use. [LICENSE](LICENSE) explains how licensing is
|
||||
declared across the Qt repositories and where to find the terms that apply to
|
||||
a given module.
|
||||
|
||||
The above examples will build whatever Qt modules have been enabled
|
||||
by default in the build system.
|
||||
|
||||
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.
|
||||
For the full picture, see the
|
||||
[Qt licensing overview](https://doc.qt.io/qt-6/licensing.html) and
|
||||
[qt.io/licensing](https://www.qt.io/licensing/).
|
||||
|
||||
+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
|
||||
[license documentation](https://doc.qt.io/qt-6/licensing.html).
|
||||
|
||||
*Note that this README.md.template serves as a guideline for README.md files,
|
||||
and that further sections can be added to individual README.md files if
|
||||
necessary.*
|
||||
*Note that this README.md.template serves as a guideline for the README.md
|
||||
files of Qt module repositories, and that further sections can be added to
|
||||
individual README.md files if necessary.*
|
||||
|
||||
+3
-1
@@ -26,7 +26,9 @@ SPDX-FileCopyrightText = "Copyright (C) 2024 The Qt Company Ltd."
|
||||
SPDX-License-Identifier = "BSD-3-Clause"
|
||||
|
||||
[[annotations]]
|
||||
path = ["**README*", "CONTRIBUTING.md", ".commit-template", ".github/pull_request_template.md"]
|
||||
path = ["**README*", "CONTRIBUTING.md", "CODE_OF_CONDUCT.md", "GOVERNANCE.md",
|
||||
"SECURITY.md", "CHANGELOG.md", "LICENSE",
|
||||
".commit-template", ".github/pull_request_template.md"]
|
||||
comment = "documentation"
|
||||
precedence = "closest"
|
||||
SPDX-FileCopyrightText = "Copyright (C) 2024 The Qt Company Ltd."
|
||||
|
||||
+42
@@ -0,0 +1,42 @@
|
||||
# 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.
|
||||
@@ -10,7 +10,7 @@ Configurations:
|
||||
Platform dependency: 'macos-universal-on-arm64'
|
||||
Features: ['Packaging', 'Sccache', 'WarningsAreErrors', 'DisableTests', 'UseConfigure', 'GenerateSBOM', 'VerifySBOM']
|
||||
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 arm64-v8a',
|
||||
'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_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',
|
||||
'ANDROID_NDK_ROOT={{.Env.ANDROID_NDK_ROOT_LATEST}}'
|
||||
@@ -26,7 +26,7 @@ Configurations:
|
||||
Features: ['Packaging', 'Sccache', 'WarningsAreErrors', 'DisableTests', 'UseConfigure', 'GenerateSBOM', 'VerifySBOM']
|
||||
Environment variables: [
|
||||
'Path={{.Env.MINGW_PATH}}\bin;{{.Env.Path}}',
|
||||
'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_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_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',
|
||||
'ANDROID_NDK_ROOT={{.Env.ANDROID_NDK_ROOT_LATEST}}'
|
||||
@@ -41,7 +41,7 @@ Configurations:
|
||||
Platform dependency: 'rhel-9.6'
|
||||
Features: ['Packaging', 'Sccache', 'WarningsAreErrors', 'AndroidTestRun', 'VMSize8', 'UseConfigure', 'GenerateSBOM', 'VerifySBOM', 'JavaDocs']
|
||||
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',
|
||||
'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_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',
|
||||
# We check QT_USE_TARGET_ANDROID_BUILD_DIR only in one configuration, to ensure builds
|
||||
@@ -60,7 +60,7 @@ Configurations:
|
||||
Platform dependency: 'rhel-9.6'
|
||||
Features: ['Packaging', 'Sccache', 'WarningsAreErrors', 'AndroidTestRun', 'VMSize8', 'UseConfigure', 'GenerateSBOM', 'VerifySBOM', 'JavaDocs']
|
||||
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_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_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_ANDROID_GRADLE_MULTI_MODULE only in one
|
||||
@@ -79,7 +79,7 @@ Configurations:
|
||||
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_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_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_ANDROID_GRADLE_MULTI_MODULE only in one
|
||||
|
||||
@@ -0,0 +1,9 @@
|
||||
Version: 2
|
||||
Include: [
|
||||
cmake_platforms.yaml: [
|
||||
'rhel-9.6',
|
||||
'ubuntu-24.04-arm64',
|
||||
'ubuntu-24.04-x64-developer-build'
|
||||
]
|
||||
]
|
||||
Configurations: []
|
||||
@@ -0,0 +1,37 @@
|
||||
Version: 2
|
||||
Include: [
|
||||
cmake_platforms.yaml: [
|
||||
'ubuntu-22.04',
|
||||
'ubuntu-24.04-x64',
|
||||
'ubuntu-24.04-arm64',
|
||||
'jammy-arm64-debian-pkg-packaging',
|
||||
'jammy-amd64-debian-pkg-packaging'
|
||||
],
|
||||
cmake_platforms_qemu.yaml: [
|
||||
'qemu-arm64-developer-build'
|
||||
]
|
||||
]
|
||||
Configurations: []
|
||||
Overrides:
|
||||
# Set pch off due to stale pch file causing false positive sccache hit
|
||||
-
|
||||
Id: 'ubuntu-22.04'
|
||||
-Environment variables: ['NON_QTBASE_CMAKE_ARGS=-DFFMPEG_DIR={{.Env.FFMPEG_DIR}} -DINPUT_headersclean=ON -DQT_DEPLOY_FFMPEG=TRUE']
|
||||
+Environment variables: ['NON_QTBASE_CMAKE_ARGS=-DFFMPEG_DIR={{.Env.FFMPEG_DIR}} -DINPUT_headersclean=ON -DQT_DEPLOY_FFMPEG=TRUE -DQT_FEATURE_gstreamer_qt_api=ON -DBUILD_WITH_PCH=OFF']
|
||||
-
|
||||
Id: 'ubuntu-24.04-x64'
|
||||
-Environment variables: ['NON_QTBASE_CMAKE_ARGS=-DFFMPEG_DIR={{.Env.FFMPEG_DIR}} -DQT_DEPLOY_FFMPEG=TRUE -DINPUT_headersclean=ON']
|
||||
+Environment variables: ['NON_QTBASE_CMAKE_ARGS=-DFFMPEG_DIR={{.Env.FFMPEG_DIR}} -DQT_DEPLOY_FFMPEG=TRUE -DINPUT_headersclean=ON -DQT_FEATURE_gstreamer_qt_api=ON -DBUILD_WITH_PCH=OFF']
|
||||
-
|
||||
Id: 'ubuntu-24.04-arm64'
|
||||
-Environment variables: ['NON_QTBASE_CMAKE_ARGS=-DFFMPEG_DIR={{.Env.FFMPEG_DIR}} -DQT_DEPLOY_FFMPEG=TRUE -DINPUT_headersclean=ON -DINPUT_tiff=qt -DINPUT_webp=qt']
|
||||
+Environment variables: ['NON_QTBASE_CMAKE_ARGS=-DFFMPEG_DIR={{.Env.FFMPEG_DIR}} -DQT_DEPLOY_FFMPEG=TRUE -DINPUT_headersclean=ON -DINPUT_tiff=qt -DINPUT_webp=qt -DQT_FEATURE_gstreamer_qt_api=ON -DBUILD_WITH_PCH=OFF']
|
||||
-
|
||||
Id: 'jammy-arm64-debian-pkg-packaging'
|
||||
+Environment variables: ['NON_QTBASE_CMAKE_ARGS=-DQT_FEATURE_gstreamer_qt_api=ON -DBUILD_WITH_PCH=OFF']
|
||||
-
|
||||
Id: 'jammy-amd64-debian-pkg-packaging'
|
||||
+Environment variables: ['NON_QTBASE_CMAKE_ARGS=-DQT_FEATURE_gstreamer_qt_api=ON -DBUILD_WITH_PCH=OFF']
|
||||
-
|
||||
Id: 'qemu-arm64-developer-build'
|
||||
+Environment variables: ['NON_QTBASE_CMAKE_ARGS=-DQT_FEATURE_gstreamer_qt_api=ON -DBUILD_WITH_PCH=OFF']
|
||||
@@ -25,8 +25,8 @@ basePath="http://ci-files01-hki.ci.qt.io/input/android"
|
||||
toolsVersion="19.0"
|
||||
toolsFile="commandlinetools-linux-13114758_latest.zip"
|
||||
toolsBackupUrl="https://dl.google.com/android/repository/$toolsFile"
|
||||
sdkBuildToolsVersion="36.0.0"
|
||||
sdkApiLevel="android-36"
|
||||
sdkBuildToolsVersion="37.0.0"
|
||||
sdkApiLevel="android-37.0"
|
||||
toolsSha1="5fdcc763663eefb86a5b8879697aa6088b041e70"
|
||||
|
||||
ndkVersionLatest="r27c"
|
||||
|
||||
@@ -0,0 +1,66 @@
|
||||
#!/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)"
|
||||
}
|
||||
@@ -22,12 +22,12 @@ SetEnvVar "VXWORKS_HOME" "/opt/vxworks"
|
||||
SetEnvVar "VXWORKS_SSH" "[email protected]"
|
||||
|
||||
# IMX 6
|
||||
VXWORKS_BUILD_VER="12-05-2026_2"
|
||||
VXWORKS_BUILD_VER="20-08-2026"
|
||||
######### VXworks toolchain #########
|
||||
# Installs to /opt/fsl_imx6_2_0_6_3_VSB
|
||||
PrimaryUrl="http://ci-files01-hki.ci.qt.io/input/vxworks/vxworks_arm_vsb_${VXWORKS_BUILD_VER}.tar.gz"
|
||||
AltUrl=""
|
||||
sha1="a1553f377ae84a722c8ad258fccb684f9198717c"
|
||||
sha1="cb40acde7227aaefe8397e3472318fe09af2d9d0"
|
||||
targetFolder="/opt/"
|
||||
InstallFromCompressedFileFromURL "$PrimaryUrl" "$AltUrl" "$sha1" "$targetFolder" ""
|
||||
SetEnvVar "WIND_CC_SYSROOT" "/opt/fsl_imx6_2_0_6_3_VSB"
|
||||
@@ -36,7 +36,7 @@ SetEnvVar "WIND_CC_SYSROOT" "/opt/fsl_imx6_2_0_6_3_VSB"
|
||||
# Installs to /opt/fsl_imx6_2_0_6_3_VIP_QEMU
|
||||
PrimaryUrl="http://ci-files01-hki.ci.qt.io/input/vxworks/vxworks_arm_vip_${VXWORKS_BUILD_VER}.tar.gz"
|
||||
AltUrl=""
|
||||
sha1="487a056d389a764717142100fb408e65ea720f92"
|
||||
sha1="4209a8c2724fccfec9d30a22e53ca6598ef83b57"
|
||||
targetFolder="/opt/"
|
||||
InstallFromCompressedFileFromURL "$PrimaryUrl" "$AltUrl" "$sha1" "$targetFolder" ""
|
||||
|
||||
@@ -44,20 +44,20 @@ InstallFromCompressedFileFromURL "$PrimaryUrl" "$AltUrl" "$sha1" "$targetFolder"
|
||||
# Installs to /opt/nxp_imx8_1_0_7_1_VSB
|
||||
PrimaryUrl="http://ci-files01-hki.ci.qt.io/input/vxworks/vxworks_arm_imx8_vsb_${VXWORKS_BUILD_VER}.tar.gz"
|
||||
AltUrl=""
|
||||
sha1="b312f38a7ca670398c940c25d20ed2a26155160d"
|
||||
sha1="20c1c31fc8ddc5356566a717a913e51bef42d41f"
|
||||
targetFolder="/opt/"
|
||||
InstallFromCompressedFileFromURL "$PrimaryUrl" "$AltUrl" "$sha1" "$targetFolder" ""
|
||||
|
||||
# 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"
|
||||
AltUrl=""
|
||||
sha1="9fddd5aa0b9599113c22670fcc1221004978ee8a"
|
||||
sha1="dae9280a45f0ece5a2adc3bc6182ff0b675f4389"
|
||||
targetFolder="/opt/"
|
||||
InstallFromCompressedFileFromURL "$PrimaryUrl" "$AltUrl" "$sha1" "$targetFolder" ""
|
||||
# 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"
|
||||
AltUrl=""
|
||||
sha1="cb366addbea7a1fd34aa49b739dcc0b480350fce"
|
||||
sha1="264b3280e6fa89c8c8a2b1cdc8cb29bd3f1bb621"
|
||||
targetFolder="/opt/"
|
||||
InstallFromCompressedFileFromURL "$PrimaryUrl" "$AltUrl" "$sha1" "$targetFolder" ""
|
||||
|
||||
|
||||
@@ -35,21 +35,38 @@ fi
|
||||
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,sync,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,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 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 -a
|
||||
sudo exportfs -ra
|
||||
sudo systemctl restart nfs-server
|
||||
fi
|
||||
|
||||
@@ -70,7 +87,7 @@ if [ "$TYPE" = "arm" ] || [ "$TYPE" = "" ]; then
|
||||
$VXWORKS_QEMU/bin/qemu-system-arm \
|
||||
-machine sabrelite \
|
||||
-smp 2 \
|
||||
-m 2G \
|
||||
-m 3G \
|
||||
-nographic \
|
||||
-monitor none \
|
||||
-serial null \
|
||||
@@ -85,7 +102,7 @@ elif [ "$TYPE" = "intel" ]; then
|
||||
$VXWORKS_QEMU/bin/qemu-system-x86_64 \
|
||||
-M q35 \
|
||||
-smp 4 \
|
||||
-m 8G \
|
||||
-m 15G \
|
||||
-cpu "Skylake-Client" \
|
||||
-enable-kvm \
|
||||
-monitor none \
|
||||
@@ -96,15 +113,49 @@ elif [ "$TYPE" = "intel" ]; then
|
||||
-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" \
|
||||
-nic "tap,ifname=${TAP},script=no,downscript=no,mac=${MAC}" >"${QEMU_LOG_PATH}" 2>&1 &
|
||||
fi
|
||||
QEMU_PID=$!
|
||||
|
||||
for _ in $(seq 30)
|
||||
# The launcher is also re-invoked from inside the ctest environment when
|
||||
# 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
|
||||
status=$(ssh -o BatchMode=yes -o HostKeyAlgorithms=+ssh-rsa -o ConnectTimeout=1 "${SSH_TARGET}" echo emulator up) || true
|
||||
if [[ -n "$QEMU_PID" ]] && ! kill -0 "$QEMU_PID" 2>/dev/null; then
|
||||
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
|
||||
echo "VXWORKS QEMU SSH server up (instance ${INSTANCE} @ ${GUEST_IP})"
|
||||
SSH_UP=1
|
||||
break
|
||||
else
|
||||
echo "Waiting VXWORKS QEMU SSH server (instance ${INSTANCE} @ ${GUEST_IP})"
|
||||
sleep 1
|
||||
fi
|
||||
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"
|
||||
toolsFile="commandlinetools-mac-13114758_latest.zip"
|
||||
toolsBackupUrl="https://dl.google.com/android/repository/$toolsFile"
|
||||
sdkBuildToolsVersion="35.0.1"
|
||||
sdkApiLevel="android-35"
|
||||
sdkBuildToolsVersion="37.0.0"
|
||||
sdkApiLevel="android-37.0"
|
||||
toolsSha1="c3e06a1959762e89167d1cbaa988605f6f7c1d24"
|
||||
|
||||
ndkVersionLatest="r27c"
|
||||
@@ -43,9 +43,6 @@ ndkVersionNightly1=$ndkVersionLatest # Set as same version as latest = skip NDK
|
||||
ndkSha1Nightly1=$ndkSha1Latest
|
||||
ndkVersionNightly2=$ndkVersionLatest
|
||||
ndkSha1Nightly2=$ndkSha1Latest
|
||||
sdkBuildToolsVersion="36.0.0"
|
||||
# this is compile sdk version
|
||||
sdkApiLevel="android-36"
|
||||
|
||||
toolsTargetFile="/tmp/$toolsFile"
|
||||
toolsSourceFile="$basePath/$toolsFile"
|
||||
|
||||
@@ -4,7 +4,8 @@ plugins {
|
||||
|
||||
android {
|
||||
namespace = 'org.qtproject.qt.gradlecache.app'
|
||||
compileSdk = 36
|
||||
compileSdk = 37
|
||||
compileSdkMinor = 0
|
||||
|
||||
defaultConfig {
|
||||
applicationId 'org.qtproject.qt.gradlecache.app'
|
||||
|
||||
@@ -4,7 +4,8 @@ plugins {
|
||||
|
||||
android {
|
||||
namespace = 'org.qtproject.qt.gradlecache.feature'
|
||||
compileSdk = 36
|
||||
compileSdk = 37
|
||||
compileSdkMinor = 0
|
||||
|
||||
defaultConfig {
|
||||
minSdk = 28
|
||||
|
||||
@@ -4,7 +4,8 @@ plugins {
|
||||
|
||||
android {
|
||||
namespace = 'org.qtproject.qt.gradlecache.lib'
|
||||
compileSdk = 36
|
||||
compileSdk = 37
|
||||
compileSdkMinor = 0
|
||||
|
||||
defaultConfig {
|
||||
minSdk = 28
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
set(VCPKG_ENV_PASSTHROUGH_UNTRACKED OHOS_SDK_ROOT)
|
||||
set(VCPKG_TARGET_ARCHITECTURE arm64)
|
||||
set(VCPKG_CRT_LINKAGE dynamic)
|
||||
set(VCPKG_LIBRARY_LINKAGE dynamic)
|
||||
set(VCPKG_LIBRARY_LINKAGE static)
|
||||
set(VCPKG_CMAKE_SYSTEM_NAME OHOS)
|
||||
set(VCPKG_MAKE_BUILD_TRIPLET "--host=aarch64-unknown-linux-ohos")
|
||||
set(VCPKG_CMAKE_CONFIGURE_OPTIONS -DOHOS_ARCH=arm64-v8a -DCMAKE_PLATFORM_NO_VERSIONED_SONAME=ON)
|
||||
|
||||
@@ -2,25 +2,38 @@
|
||||
# Copyright (C) 2024 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
|
||||
|
||||
download_ffmpeg() {
|
||||
local version="${1:-"n8.1.2"}"
|
||||
local sha1="${2:-a7f4ce77209afdadca9f371db261e8d69903dc85}"
|
||||
download_ffmpeg() (
|
||||
local version="${1:-"9.0.1"}"
|
||||
local sha1="${2:-89c318905212e6b67e10e42ab10ab8007e0aefda}"
|
||||
|
||||
local ffmpeg_name="FFmpeg-$version"
|
||||
local ffmpeg_name="FFmpeg-n$version"
|
||||
local target_dir="$HOME"
|
||||
local ffmpeg_source_dir="$target_dir/$ffmpeg_name"
|
||||
|
||||
if [ ! -d "$ffmpeg_source_dir" ]; then
|
||||
local url_public="https://github.com/FFmpeg/FFmpeg/archive/refs/tags/$version.tar.gz"
|
||||
local url_cached="http://ci-files01-hki.ci.qt.io/input/ffmpeg/FFmpeg-$version.tar.gz"
|
||||
local url_public="https://ffmpeg.org/releases/ffmpeg-$version.tar.gz"
|
||||
local url_cached="http://ci-files01-hki.ci.qt.io/input/ffmpeg/ffmpeg-$version.tar.gz"
|
||||
local app_prefix=""
|
||||
|
||||
local temp_dir
|
||||
temp_dir=$(mktemp -d)
|
||||
trap 'rm -rf "$temp_dir"' EXIT
|
||||
|
||||
source "${BASH_SOURCE%/*}/../unix/InstallFromCompressedFileFromURL.sh"
|
||||
InstallFromCompressedFileFromURL "$url_cached" "$url_public" "$sha1" "$target_dir" "$app_prefix" > /dev/null
|
||||
InstallFromCompressedFileFromURL "$url_cached" "$url_public" "$sha1" "$temp_dir" "$app_prefix" > /dev/null
|
||||
|
||||
local extracted_dirs=("$temp_dir"/*/)
|
||||
if [ "${#extracted_dirs[@]}" -ne 1 ] || [ ! -d "${extracted_dirs[0]}" ]; then
|
||||
>&2 echo "Expected exactly one directory in the FFmpeg archive, got: ${extracted_dirs[*]}"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
mkdir -p "$target_dir"
|
||||
mv "${extracted_dirs[0]%/}" "$ffmpeg_source_dir"
|
||||
fi
|
||||
|
||||
echo "$ffmpeg_source_dir"
|
||||
}
|
||||
)
|
||||
|
||||
get_ffmpeg_config_options() {
|
||||
local build_type="$1"
|
||||
|
||||
@@ -41,8 +41,8 @@ $ndkOfficialUrlNightly2 = "https://dl.google.com/android/repository/android-ndk-
|
||||
$toolsVersion = "19.0"
|
||||
$toolsFile = "commandlinetools-win-13114758_latest.zip"
|
||||
$sdkApi = "ANDROID_API_VERSION"
|
||||
$sdkApiLevel = "android-36"
|
||||
$sdkBuildToolsVersion = "36.0.0"
|
||||
$sdkApiLevel = "android-37.0"
|
||||
$sdkBuildToolsVersion = "37.0.0"
|
||||
$toolsCachedUrl= "\\ci-files01-hki.ci.qt.io\provisioning\android\$toolsFile"
|
||||
$toolsOfficialUrl = "https://dl.google.com/android/repository/$toolsFile"
|
||||
$toolsChecksum = "54a582f3bf73e04253602f2d1c80bd5868aac115"
|
||||
|
||||
@@ -7,21 +7,38 @@
|
||||
# This script will install FFmpeg
|
||||
$msys = "C:\Utils\msys64\usr\bin\bash"
|
||||
|
||||
$version="n8.1.2"
|
||||
$url_public="https://github.com/FFmpeg/FFmpeg/archive/refs/tags/$version.tar.gz"
|
||||
$sha1="a7f4ce77209afdadca9f371db261e8d69903dc85"
|
||||
$url_cached="http://ci-files01-hki.ci.qt.io/input/ffmpeg/FFmpeg-$version.tar.gz"
|
||||
$ffmpeg_name="FFmpeg-$version"
|
||||
$version="9.0.1"
|
||||
$url_public="https://ffmpeg.org/releases/ffmpeg-$version.tar.gz"
|
||||
$sha1="89c318905212e6b67e10e42ab10ab8007e0aefda"
|
||||
$url_cached="http://ci-files01-hki.ci.qt.io/input/ffmpeg/ffmpeg-$version.tar.gz"
|
||||
$ffmpeg_name="FFmpeg-n$version"
|
||||
|
||||
$download_location = "C:\Windows\Temp\$ffmpeg_name.tar.gz"
|
||||
$unzip_location = "C:\"
|
||||
$ffmpeg_source_dir = "C:\$ffmpeg_name"
|
||||
|
||||
Write-Host "Fetching FFmpeg $version..."
|
||||
|
||||
Download $url_public $url_cached $download_location
|
||||
Verify-Checksum $download_location $sha1
|
||||
Extract-tar_gz $download_location $unzip_location
|
||||
Remove $download_location
|
||||
$extract_temp_dir = "C:\Windows\Temp\FFmpeg-extract-$([System.Guid]::NewGuid().ToString('N'))"
|
||||
|
||||
try {
|
||||
New-Item -ItemType Directory -Path $extract_temp_dir -Force | Out-Null
|
||||
|
||||
Download $url_public $url_cached $download_location
|
||||
Verify-Checksum $download_location $sha1
|
||||
Extract-tar_gz $download_location $extract_temp_dir
|
||||
|
||||
$extracted_dirs = @(Get-ChildItem -Path $extract_temp_dir -Directory)
|
||||
if ($extracted_dirs.Count -ne 1) {
|
||||
throw "Expected exactly one directory in the FFmpeg archive, got: $($extracted_dirs.Name -join ', ')"
|
||||
}
|
||||
|
||||
Remove $ffmpeg_source_dir
|
||||
Move-Item -Path $extracted_dirs[0].FullName -Destination $ffmpeg_source_dir
|
||||
} finally {
|
||||
Remove $download_location
|
||||
Remove $extract_temp_dir
|
||||
}
|
||||
|
||||
function GetFfmpegDefaultConfiguration {
|
||||
$defaultConfiguration = Get-Content "$PSScriptRoot\..\shared\ffmpeg_config_options.txt"
|
||||
|
||||
@@ -24,6 +24,15 @@ echo "Using public repositories for now. Repo-clones isn't set yet for Debian us
|
||||
|
||||
echo "deb https://archive.debian.org/debian bullseye-backports main" | sudo tee -a /etc/apt/sources.list
|
||||
echo "deb-src https://archive.debian.org/debian bullseye-backports main" | sudo tee -a /etc/apt/sources.list
|
||||
# the securitey.debian.org key has expired
|
||||
sudo sed -i 's|http://deb.debian.org/debian-security|http://snapshot.debian.org/archive/debian-security/20260831T211304Z|g' /etc/apt/sources.list
|
||||
sudo sed -i 's|http://security.debian.org/debian-security|http://snapshot.debian.org/archive/debian-security/20260831T211304Z|g' /etc/apt/sources.list
|
||||
# Disable expiration checks
|
||||
cat <<'EOF' | sudo tee /etc/apt/apt.conf.d/99bullseye-eol
|
||||
Acquire::Check-Valid-Until "false";
|
||||
Acquire::AllowInsecureRepositories "false";
|
||||
EOF
|
||||
|
||||
# Make sure needed ca-certificates are available
|
||||
installPackages+=(ca-certificates)
|
||||
# Git is not needed by builds themselves, but is nice to have
|
||||
@@ -260,7 +269,8 @@ installPackages+=(tzdata)
|
||||
|
||||
echo "Running update for apt"
|
||||
waitLoop
|
||||
sudo apt-get update
|
||||
sudo rm -rf /var/lib/apt/lists/*
|
||||
sudo apt-get -o Acquire::http::No-Cache=true -o Acquire::Check-Valid-Until=false update
|
||||
echo "Installing packages"
|
||||
waitLoop
|
||||
sudo DEBIAN_FRONTEND=noninteractive apt-get -q -y install "${installPackages[@]}"
|
||||
|
||||
@@ -7,6 +7,11 @@ set -ex
|
||||
BASEDIR=$(dirname "$0")
|
||||
# shellcheck source=../common/shared/network_test_server_ip.txt
|
||||
source "$BASEDIR/../common/shared/network_test_server_ip.txt"
|
||||
# shellcheck source=../common/linux/distro_version_check.sh
|
||||
source "$BASEDIR/../common/linux/distro_version_check.sh"
|
||||
|
||||
# Get distro version to later check if version has changed at the end of the provisioning
|
||||
record_os_version
|
||||
|
||||
echo "Set Network Test Server address to $network_test_server_ip in /etc/hosts"
|
||||
echo "$network_test_server_ip qt-test-server qt-test-server.qt-test-net" | sudo tee -a /etc/hosts
|
||||
|
||||
@@ -8,6 +8,13 @@
|
||||
|
||||
set -ex
|
||||
|
||||
BASEDIR=$(dirname "$0")
|
||||
# shellcheck source=../common/linux/distro_version_check.sh
|
||||
source "$BASEDIR/../common/linux/distro_version_check.sh"
|
||||
|
||||
# Check distro version if it has changed
|
||||
verify_os_version_unchanged
|
||||
|
||||
# shellcheck disable=SC2129
|
||||
source "${BASH_SOURCE%/*}/../common/linux/verify-release-packages.sh"
|
||||
|
||||
|
||||
@@ -8,6 +8,11 @@ set -ex
|
||||
BASEDIR=$(dirname "$0")
|
||||
# shellcheck source=../common/shared/network_test_server_ip.txt
|
||||
source "$BASEDIR/../common/shared/network_test_server_ip.txt"
|
||||
# shellcheck source=../common/linux/distro_version_check.sh
|
||||
source "$BASEDIR/../common/linux/distro_version_check.sh"
|
||||
|
||||
# Get distro version to later check if version has changed at the end of the provisioning
|
||||
record_os_version
|
||||
|
||||
echo "Set Network Test Server address to $network_test_server_ip in /etc/hosts"
|
||||
echo "$network_test_server_ip qt-test-server qt-test-server.qt-test-net" | sudo tee -a /etc/hosts
|
||||
|
||||
@@ -9,6 +9,13 @@
|
||||
|
||||
set -ex
|
||||
|
||||
BASEDIR=$(dirname "$0")
|
||||
# shellcheck source=../common/linux/distro_version_check.sh
|
||||
source "$BASEDIR/../common/linux/distro_version_check.sh"
|
||||
|
||||
# Check distro version if it has changed
|
||||
verify_os_version_unchanged
|
||||
|
||||
# shellcheck disable=SC2129
|
||||
echo "*********************************************" >> ~/versions.txt
|
||||
echo "***** All installed RPM packages *****" >> ~/versions.txt
|
||||
|
||||
@@ -7,6 +7,11 @@ set -ex
|
||||
BASEDIR=$(dirname "$0")
|
||||
# shellcheck source=../common/shared/network_test_server_ip.txt
|
||||
source "$BASEDIR/../common/shared/network_test_server_ip.txt"
|
||||
# shellcheck source=../common/linux/distro_version_check.sh
|
||||
source "$BASEDIR/../common/linux/distro_version_check.sh"
|
||||
|
||||
# Get distro version to later check if version has changed at the end of the provisioning
|
||||
record_os_version
|
||||
|
||||
echo "Set Network Test Server address to $network_test_server_ip in /etc/hosts"
|
||||
echo "$network_test_server_ip qt-test-server qt-test-server.qt-test-net" | sudo tee -a /etc/hosts
|
||||
|
||||
@@ -8,6 +8,13 @@
|
||||
|
||||
set -ex
|
||||
|
||||
BASEDIR=$(dirname "$0")
|
||||
# shellcheck source=../common/linux/distro_version_check.sh
|
||||
source "$BASEDIR/../common/linux/distro_version_check.sh"
|
||||
|
||||
# Check distro version if it has changed
|
||||
verify_os_version_unchanged
|
||||
|
||||
# shellcheck disable=SC2129
|
||||
echo "*********************************************" >> ~/versions.txt
|
||||
echo "***** All installed RPM packages *****" >> ~/versions.txt
|
||||
|
||||
@@ -7,6 +7,11 @@ set -ex
|
||||
BASEDIR=$(dirname "$0")
|
||||
# shellcheck source=../common/shared/network_test_server_ip.txt
|
||||
source "$BASEDIR/../common/shared/network_test_server_ip.txt"
|
||||
# shellcheck source=../common/linux/distro_version_check.sh
|
||||
source "$BASEDIR/../common/linux/distro_version_check.sh"
|
||||
|
||||
# Get distro version to later check if version has changed at the end of the provisioning
|
||||
record_os_version
|
||||
|
||||
echo "Set Network Test Server address to $network_test_server_ip in /etc/hosts"
|
||||
echo "$network_test_server_ip qt-test-server qt-test-server.qt-test-net" | sudo tee -a /etc/hosts
|
||||
|
||||
@@ -8,6 +8,13 @@
|
||||
|
||||
set -ex
|
||||
|
||||
BASEDIR=$(dirname "$0")
|
||||
# shellcheck source=../common/linux/distro_version_check.sh
|
||||
source "$BASEDIR/../common/linux/distro_version_check.sh"
|
||||
|
||||
# Check distro version if it has changed
|
||||
verify_os_version_unchanged
|
||||
|
||||
# shellcheck disable=SC2129
|
||||
echo "*********************************************" >> ~/versions.txt
|
||||
echo "***** All installed RPM packages *****" >> ~/versions.txt
|
||||
|
||||
@@ -9,6 +9,11 @@ BASEDIR=$(dirname "$0")
|
||||
source "$BASEDIR/../common/shared/network_test_server_ip.txt"
|
||||
# shellcheck source=../common/unix/check_and_set_proxy.sh
|
||||
source "${BASH_SOURCE%/*}/../common/unix/check_and_set_proxy.sh"
|
||||
# shellcheck source=../common/linux/distro_version_check.sh
|
||||
source "$BASEDIR/../common/linux/distro_version_check.sh"
|
||||
|
||||
# Get distro version to later check if version has changed at the end of the provisioning
|
||||
record_os_version
|
||||
|
||||
echo "Set timezone to UTC."
|
||||
sudo timedatectl set-timezone Etc/UTC
|
||||
|
||||
@@ -8,6 +8,13 @@
|
||||
|
||||
set -ex
|
||||
|
||||
BASEDIR=$(dirname "$0")
|
||||
# shellcheck source=../common/linux/distro_version_check.sh
|
||||
source "$BASEDIR/../common/linux/distro_version_check.sh"
|
||||
|
||||
# Check distro version if it has changed
|
||||
verify_os_version_unchanged
|
||||
|
||||
# shellcheck disable=SC2129
|
||||
echo "*********************************************" >> ~/versions.txt
|
||||
echo "***** All installed RPM packages *****" >> ~/versions.txt
|
||||
|
||||
@@ -11,6 +11,11 @@ source "$BASEDIR/../common/shared/network_test_server_ip.txt"
|
||||
source "${BASH_SOURCE%/*}/../common/unix/check_and_set_proxy.sh"
|
||||
# shellcheck source=../common/unix/SetEnvVar.sh
|
||||
source "${BASH_SOURCE%/*}/../common/unix/SetEnvVar.sh"
|
||||
# shellcheck source=../common/linux/distro_version_check.sh
|
||||
source "$BASEDIR/../common/linux/distro_version_check.sh"
|
||||
|
||||
# Get distro version to later check if version has changed at the end of the provisioning
|
||||
record_os_version
|
||||
|
||||
echo "Set timezone to UTC."
|
||||
sudo timedatectl set-timezone Etc/UTC
|
||||
|
||||
@@ -8,6 +8,13 @@
|
||||
|
||||
set -ex
|
||||
|
||||
BASEDIR=$(dirname "$0")
|
||||
# shellcheck source=../common/linux/distro_version_check.sh
|
||||
source "$BASEDIR/../common/linux/distro_version_check.sh"
|
||||
|
||||
# Check distro version if it has changed
|
||||
verify_os_version_unchanged
|
||||
|
||||
# shellcheck disable=SC2129
|
||||
echo "*********************************************" >> ~/versions.txt
|
||||
echo "***** All installed RPM packages *****" >> ~/versions.txt
|
||||
|
||||
@@ -9,6 +9,11 @@ set -ex
|
||||
BASEDIR=$(dirname "$0")
|
||||
# shellcheck source=../common/unix/check_and_set_proxy.sh
|
||||
source "${BASH_SOURCE%/*}/../common/unix/check_and_set_proxy.sh"
|
||||
# shellcheck source=../common/linux/distro_version_check.sh
|
||||
source "$BASEDIR/../common/linux/distro_version_check.sh"
|
||||
|
||||
# Get distro version to later check if version has changed at the end of the provisioning
|
||||
record_os_version
|
||||
|
||||
NTS_IP=10.212.2.216
|
||||
|
||||
|
||||
@@ -2,5 +2,12 @@
|
||||
#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
|
||||
|
||||
BASEDIR=$(dirname "$0")
|
||||
# shellcheck source=../common/linux/distro_version_check.sh
|
||||
source "$BASEDIR/../common/linux/distro_version_check.sh"
|
||||
|
||||
# Check distro version if it has changed
|
||||
verify_os_version_unchanged
|
||||
|
||||
BASEDIR=$(dirname "$0")
|
||||
"$BASEDIR/../common/linux/ubuntu-version.sh"
|
||||
|
||||
@@ -9,6 +9,11 @@ set -ex
|
||||
BASEDIR=$(dirname "$0")
|
||||
# shellcheck source=../common/unix/check_and_set_proxy.sh
|
||||
source "${BASH_SOURCE%/*}/../common/unix/check_and_set_proxy.sh"
|
||||
# shellcheck source=../common/linux/distro_version_check.sh
|
||||
source "$BASEDIR/../common/linux/distro_version_check.sh"
|
||||
|
||||
# Get distro version to later check if version has changed at the end of the provisioning
|
||||
record_os_version
|
||||
|
||||
NTS_IP=10.212.2.216
|
||||
|
||||
|
||||
@@ -2,5 +2,12 @@
|
||||
#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
|
||||
|
||||
BASEDIR=$(dirname "$0")
|
||||
# shellcheck source=../common/linux/distro_version_check.sh
|
||||
source "$BASEDIR/../common/linux/distro_version_check.sh"
|
||||
|
||||
# Check distro version if it has changed
|
||||
verify_os_version_unchanged
|
||||
|
||||
BASEDIR=$(dirname "$0")
|
||||
"$BASEDIR/../common/linux/ubuntu-version.sh"
|
||||
|
||||
@@ -9,6 +9,11 @@ set -ex
|
||||
BASEDIR=$(dirname "$0")
|
||||
# shellcheck source=../common/unix/check_and_set_proxy.sh
|
||||
source "${BASH_SOURCE%/*}/../common/unix/check_and_set_proxy.sh"
|
||||
# shellcheck source=../common/linux/distro_version_check.sh
|
||||
source "$BASEDIR/../common/linux/distro_version_check.sh"
|
||||
|
||||
# Get distro version to later check if version has changed at the end of the provisioning
|
||||
record_os_version
|
||||
|
||||
NTS_IP=10.212.2.216
|
||||
|
||||
|
||||
@@ -2,5 +2,12 @@
|
||||
#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
|
||||
|
||||
BASEDIR=$(dirname "$0")
|
||||
# shellcheck source=../common/linux/distro_version_check.sh
|
||||
source "$BASEDIR/../common/linux/distro_version_check.sh"
|
||||
|
||||
# Check distro version if it has changed
|
||||
verify_os_version_unchanged
|
||||
|
||||
BASEDIR=$(dirname "$0")
|
||||
"$BASEDIR/../common/linux/ubuntu-version.sh"
|
||||
|
||||
@@ -8,6 +8,11 @@ BASEDIR=$(dirname "$0")
|
||||
source "$BASEDIR/../common/shared/network_test_server_ip.txt"
|
||||
# shellcheck source=../common/unix/check_and_set_proxy.sh
|
||||
source "${BASH_SOURCE%/*}/../common/unix/check_and_set_proxy.sh"
|
||||
# shellcheck source=../common/linux/distro_version_check.sh
|
||||
source "$BASEDIR/../common/linux/distro_version_check.sh"
|
||||
|
||||
# Get distro version to later check if version has changed at the end of the provisioning
|
||||
record_os_version
|
||||
|
||||
# https://bugzilla.opensuse.org/show_bug.cgi?id=1032027
|
||||
sudo btrfs quota disable /
|
||||
|
||||
@@ -8,6 +8,12 @@
|
||||
|
||||
set -ex
|
||||
|
||||
# shellcheck source=../common/linux/distro_version_check.sh
|
||||
source "$BASEDIR/../common/linux/distro_version_check.sh"
|
||||
|
||||
# Get distro version to later check if version has changed at the end of the provisioning
|
||||
record_os_version
|
||||
|
||||
# shellcheck disable=SC2129
|
||||
echo "*********************************************" >> ~/versions.txt
|
||||
echo "***** All installed RPM packages *****" >> ~/versions.txt
|
||||
|
||||
@@ -10,6 +10,11 @@ source "$BASEDIR/../common/shared/network_test_server_ip.txt"
|
||||
source "${BASH_SOURCE%/*}/../common/unix/check_and_set_proxy.sh"
|
||||
# shellcheck source=../common/unix/SetEnvVar.sh
|
||||
source "${BASH_SOURCE%/*}/../common/unix/SetEnvVar.sh"
|
||||
# shellcheck source=../common/linux/distro_version_check.sh
|
||||
source "$BASEDIR/../common/linux/distro_version_check.sh"
|
||||
|
||||
# Get distro version to later check if version has changed at the end of the provisioning
|
||||
record_os_version
|
||||
|
||||
# https://bugzilla.opensuse.org/show_bug.cgi?id=1032027
|
||||
sudo btrfs quota disable /
|
||||
|
||||
@@ -8,6 +8,13 @@
|
||||
|
||||
set -ex
|
||||
|
||||
BASEDIR=$(dirname "$0")
|
||||
# shellcheck source=../common/linux/distro_version_check.sh
|
||||
source "$BASEDIR/../common/linux/distro_version_check.sh"
|
||||
|
||||
# Get distro version to later check if version has changed at the end of the provisioning
|
||||
record_os_version
|
||||
|
||||
# shellcheck disable=SC2129
|
||||
echo "*********************************************" >> ~/versions.txt
|
||||
echo "***** All installed RPM packages *****" >> ~/versions.txt
|
||||
|
||||
@@ -10,6 +10,11 @@ source "$BASEDIR/../common/shared/network_test_server_ip.txt"
|
||||
source "${BASH_SOURCE%/*}/../common/unix/check_and_set_proxy.sh"
|
||||
# shellcheck source=../common/unix/SetEnvVar.sh
|
||||
source "${BASH_SOURCE%/*}/../common/unix/SetEnvVar.sh"
|
||||
# shellcheck source=../common/linux/distro_version_check.sh
|
||||
source "$BASEDIR/../common/linux/distro_version_check.sh"
|
||||
|
||||
# Get distro version to later check if version has changed at the end of the provisioning
|
||||
record_os_version
|
||||
|
||||
# https://bugzilla.opensuse.org/show_bug.cgi?id=1032027
|
||||
sudo btrfs quota disable /
|
||||
|
||||
@@ -52,6 +52,9 @@ sudo zypper -nq install alsa-devel dbus-1-devel libxkbfile-devel \
|
||||
# qtwebkit
|
||||
sudo zypper -nq install libxml2-devel libxslt-devel
|
||||
|
||||
# Qt Creator/Profiler (for installing Qt and patching ICU)
|
||||
sudo zypper -nq install chrpath
|
||||
|
||||
# GStreamer (qtwebkit and qtmultimedia), pulseaudio (qtmultimedia)
|
||||
sudo zypper -nq install gstreamer-devel gstreamer-plugins-base-devel libpulse-devel pipewire-devel # gstreamer-plugin-openh264 not available
|
||||
|
||||
|
||||
@@ -8,6 +8,13 @@
|
||||
|
||||
set -ex
|
||||
|
||||
BASEDIR=$(dirname "$0")
|
||||
# shellcheck source=../common/linux/distro_version_check.sh
|
||||
source "$BASEDIR/../common/linux/distro_version_check.sh"
|
||||
|
||||
# Check distro version if it has changed
|
||||
verify_os_version_unchanged
|
||||
|
||||
# shellcheck disable=SC2129
|
||||
echo "*********************************************" >> ~/versions.txt
|
||||
echo "***** All installed RPM packages *****" >> ~/versions.txt
|
||||
|
||||
+1
-1
Submodule qt3d updated: 16c51981ef...c321077c09
+1
-1
Submodule qt5compat updated: 7a15b2afd7...5943eb8999
+1
-1
Submodule qtactiveqt updated: 5338e19da1...bbd165ac76
+1
-1
Submodule qtbase updated: 191491e437...a2c0b1ea39
+1
-1
Submodule qtcanvaspainter updated: 62031e7a48...453c2ea139
+1
-1
Submodule qtcharts updated: 02e0759029...69bf1a2d38
+1
-1
Submodule qtcoap updated: 9ffee9b211...22aa6bf9c1
+1
-1
Submodule qtconnectivity updated: b43a4a3958...9f5998e623
+1
-1
Submodule qtdatavis3d updated: 3d2b3a7a90...56c6fdd9da
+1
-1
Submodule qtdeclarative updated: c26eb9a17b...469ffcaf1b
+1
-1
Submodule qtdoc updated: 65f0fa4529...f1b9ab04dc
+1
-1
Submodule qtgraphs updated: 6145d74260...e9755cc456
+1
-1
Submodule qtgrpc updated: 26b44dd1bc...064c825f27
+1
-1
Submodule qthttpserver updated: c1168f5782...3992606cd8
+1
-1
Submodule qtimageformats updated: 3d65563c3f...33045cc8c0
+1
-1
Submodule qtlanguageserver updated: c429628d67...779a19f7fb
+1
-1
Submodule qtlocation updated: 0d07cd6dbb...ff27ac2d4f
+1
-1
Submodule qtlottie updated: 108954b15e...f2b11f0e08
+1
-1
Submodule qtmqtt updated: 2c201a0051...ecd87f0fa4
+1
-1
Submodule qtmultimedia updated: 280a3a2dca...afdcc7b6b3
+1
-1
Submodule qtnetworkauth updated: 5f3451c6c6...ff14616b09
+1
-1
Submodule qtopcua updated: 5ae6af8b53...74e25f7869
+1
-1
Submodule qtopenapi updated: 1579e43047...3ad670630b
+1
-1
Submodule qtpositioning updated: fc7eefcfcd...3517d0f7be
+1
-1
Submodule qtqa updated: 1dee5070d4...456bd979a2
+1
-1
Submodule qtquick3d updated: a0f088183c...1133c6d7d3
+1
-1
Submodule qtquick3dphysics updated: a45e229f1f...af5f0dc142
+1
-1
Submodule qtquickeffectmaker updated: c9a43a05b8...5298d04117
+1
-1
Submodule qtquicktimeline updated: 40c5e5a41f...13f77ee06b
+1
-1
Submodule qtremoteobjects updated: 158c877f3f...37c9235f7e
+1
-1
Submodule qtscxml updated: c96fc594e0...b9326dddb3
+1
-1
Submodule qtsensors updated: 998e7ff722...7458aa0002
+1
-1
Submodule qtserialbus updated: 4b1fa0443c...1d20a0fcc9
+1
-1
Submodule qtserialport updated: 9072abedf1...fcff8d2c2d
+1
-1
Submodule qtshadertools updated: 84c76c3695...26906405f5
+1
-1
Submodule qtspeech updated: 0e99037876...caaccf355a
+1
-1
Submodule qtsvg updated: 13aec4221e...f3ad90a634
+1
-1
Submodule qttasktree updated: a9c9356732...13f6edef17
+1
-1
Submodule qttools updated: d9f02aa101...517bf20d41
+1
-1
Submodule qttranslations updated: abde74011e...81493bc4b8
+1
-1
Submodule qtvirtualkeyboard updated: dc61ca8638...447b78316b
+1
-1
Submodule qtwayland updated: 599fe65aae...beb57694c7
+1
-1
Submodule qtwebchannel updated: 92531b5732...1febe3a91d
+1
-1
Submodule qtwebsockets updated: 665249237b...e26061bbb2
+1
-1
Submodule qtwebview updated: ddadc1447b...7e852e3804
Reference in New Issue
Block a user