The SDP we shipped was a hand-composed package set whose fsnotify
component dated from 2024-11-23 (fs.notify 0.0.2.02005). On that build
QNX never wakes a blocked poll() or select() when an inotify event
arrives, so QSocketNotifier never fires and QFileSystemWatcher's native
engine silently delivers nothing. That is the sole cause of the
tst_qfilesystemwatcher failures on this platform (QTBUG-149526).
GA8.0.5 ships fs.notify 0.3.0.00006, which fixes it. Rather than
cherry-pick the one package, bring the whole SDP to GA8.0.5: all 249
packages the com.qnx.qnx800.patchset805 manifest pins are now at their
GA8.0.5 versions, verified against the manifest with no deviations.
GA8.0.5 also ships mkqnximage 0.5.0, whose inputs/data.build gained a
built-in "var/etc/hosts=etc/hosts" entry and fixed the syntax of the
var/etc/resolv.conf symlink entry. Both are emitted before the
data_files.custom block and the first entry for a path wins, so they
silently shadowed our own hosts and resolv.conf. That left the image
with the stock QNX /etc/hosts - none of the statically mapped test
server names - and a dangling /etc/resolv.conf symlink. The hosts
entry is dropped in the SDP tarball; resolv.conf is provisioned here
at var/dhcpcd/resolv.conf, which is what the symlink now points at.
Verified with the unmodified upstream test on both architectures -
23 passed, 0 failed, 0 skipped on an aarch64 Raspberry Pi 5 and on the
x86_64 QEMU image built from this SDP. Previously 16 passed, 7 failed.
A standalone inotify poll() reproducer now exits 0 on both, and a
booted image resolves the test server names again.
Pick-to: 6.11
Task-number: QTBUG-149526
Change-Id: I9275aef6c24f693f3115265c51d109d2b2254c7a
Reviewed-by: Marianne Yrjänä <[email protected]>
Reviewed-by: Simo Fält <[email protected]>
(cherry picked from commit 6920b96315)
Reviewed-by: Qt Cherry-pick Bot <[email protected]>
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 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, thedevand6.xbranches contain Qt 6.
To use Qt rather than build it from sources, see Get and Install Qt.
Repository layout
Each Qt module lives in its own directory, such as qtbase or
qtdeclarative. Those directories are git submodules.
The other top-level entries are:
| 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. |
Get the sources
For instructions, see Getting Qt Sources from the Git repository.
Build Qt
For instructions, see Build from sources.
Documentation
The Qt 6 documentation covers the framework itself.
Report an issue
Report bugs at bugreports.qt.io, following these steps.
Security
To report a security vulnerability in Qt, and to read what the Qt Project commits to in response, see SECURITY.md.
Contribute to Qt
The Qt Project does not accept pull requests on GitHub. Every contribution goes through Gerrit, so read how to contribute before you push a change. All participation in the project is subject to our code of conduct. To learn who decides what, and how someone becomes an approver or a maintainer, see how the project is governed. Development discussions happens in the open on the Qt Project mailing lists.
License
Qt is available under both commercial and open source licenses, and the terms depend on the module you use. LICENSE explains how licensing is declared across the Qt repositories and where to find the terms that apply to a given module.
For the full picture, see the Qt licensing overview and qt.io/licensing.