QT_USE_ANDROID_MODERN_BUNDLE is renamed in qtbase, so reflect
that in qt5 as well.
Pick-to: 6.12
Task-number: QTBUG-145101
Change-Id: Ieae7c662b80b18f6b287bdd8c19e971932b0d171
Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
p7zip in RHEL-10 has a pathing bug reported in:
https://bugzilla.redhat.com/show_bug.cgi?id=2373874
Installing 7zip-standalone-all instead avoids this issue. It'll also be
installed in RHEL-9 for more consistency.
This amends 204528c5bd
Pick-to: 6.12 6.11 6.8
Change-Id: Iae15f27eab01166bd77feba5458d46210f99fa33
Reviewed-by: Patrik Teivonen <patrik.teivonen@qt.io>
As a drive-by, we fix the ffmpeg-installation-utils.sh script to install
FFmpeg source code into the expected target directory, instead of it
relying haphazardly on the name of the downloaded archive.
Same fix for install-ffmpeg.ps1.
Pick-to: 6.12
Task-number: QTBUG-148761
Change-Id: Id765e01fbd402ee494a6a3ffec773d1dccc07c87
Reviewed-by: Tim Blechmann <tim.blechmann@qt.io>
It is typically hard to beat AudioToolbox. We may be better off not
disabling them when building FFmpeg.
Pick-to: 6.12
Change-Id: Iba10fa3fe2f972e408017743a0db67d0e1a04a47
Reviewed-by: Nils Petter Skålerud <nils.petter.skalerud@qt.io>
Reviewed-by: Artem Dyomin <artem.dyomin@qt.io>
This simplifies tasks in RTA/Jenkins/Packaging. The plugin installs
/usr/bin/7z so linking it with 7za is no longer needed.
Pick-to: 6.12 6.11 6.8
Change-Id: I1dead3d1f138b1a99e3987068b607d947ef94c0c
Reviewed-by: Patrik Teivonen <patrik.teivonen@qt.io>
Both the 7.1 and 8.0 SDP ships pre-2022g zone info so they need to be
updated with a newer one. Point both at zoneinfo-2026a-usr.tar.xz, which
is rooted at usr/ and so suits either SDP layout, extracted into each
SDP's own target directory.
tst_QDateTime's expectation for the affected rows keys off the zone data
rather than the OS as of I3103b98c, so no test-side coordination is
needed when the new template rolls out.
Pick-to: 6.12
Change-Id: I75a2df6e0002886e3de91f0573f8083645307c39
Reviewed-by: Marianne Yrjänä <marianne.yrjana@qt.io>
Reviewed-by: Simo Fält <simo.falt@qt.io>
Switch the platform set from CI-only developer/test configurations to
the Packaging-enabled ones so COIN produces Qt Installer content for
the QML Preview MCP server on all target platforms:
- Linux x86_64: rhel-9.6
- Linux arm64: ubuntu-24.04-arm64
- Windows x86_64: windows-11_24H2-msvc2022
- Windows arm64: windows-11_23h2-arm64-msvc2022 (native)
- macOS x86_64+arm64: macos-universal-on-arm64
rhel-9.6 and the two Windows configurations run tests in their own
work items; the remaining builds get test-only companion
configurations (offscreen on Linux arm64, macOS 14 on both
architectures). The repository has no tests yet, but the test
work items will take effect as soon as tests are added.
Change-Id: Id3b1a807997478fb419210c3bea7762102036c60
Reviewed-by: Simo Fält <simo.falt@qt.io>
This unblocks libicu-dev apt error.
Change-Id: I1475d6a70cac4dc41cab3de438f1f294af2fd807
Reviewed-by: Johanna Äijälä <johanna.aijala@qt.io>
Reviewed-by: Simo Fält <simo.falt@qt.io>
Reviewed-by: Aku Pietikäinen <aku.pietikainen@qt.io>
GCC = 15.1.0 MinGW = 12.0.0
Note: Win10 doesn't have MinGW targets anymore as those were moved
recently into Win11 (ddebcf8fd9)
But we still keep MinGW 15.1.0 installation as part of the Win10
provisioning as we did with Win11 before it had MinGW targets.
Reason is to keep installation working for just in case it's needed.
Pick-to: 6.12
Task-number: QTQAINFRA-7483
Change-Id: I2cb2e2ef180b11cad61a5131ec47ea2ad207f338
Reviewed-by: Artem Dyomin <artem.dyomin@qt.io>
Reviewed-by: Tim Blechmann <tim.blechmann@qt.io>
Add a helper script to check the reported distro version at
/etc/os-release at the start of a provisioning and at the end of it,
compare them, and throw an error if there is any difference even at the
most minor patch level e.g. Ubuntu 24.04.0 -> 24.04.1.
Task-number: QTQAINFRA-7810
Pick-to: 6.12 6.11 6.8
Change-Id: If4f1e997aef40037ee876bc3843ed09a5412615f
Reviewed-by: Simo Fält <simo.falt@qt.io>
tst_qbytearray_large autotest fails in CI on x86, because qemu is
started with 4Gb of memory and this test needs 4,7 Gb.
Fixes: QTBUG-149168
Pick-to: 6.12
Change-Id: I0b6d753085c3e1f830cd705e6513003437909c64
Reviewed-by: Toni Saario <toni.saario@qt.io>
Qt6Multimedia on QNX links libasound (QSA), but 8.0 mkqnximage ships no
audio at all, so qtspeech's tst_qtexttospeech dies at load with
"ldd:FATAL: Could not load library libasound.so.5". Add the library;
without io-audio the device list just stays empty.
Pick-to: 6.12 6.11
Change-Id: I467cb977313ce2496e2ab063c820929f2bfa591e
Reviewed-by: Marianne Yrjänä <marianne.yrjana@qt.io>
Reviewed-by: Simo Fält <simo.falt@qt.io>
This switches vcpkg back to a specific tag of the master branch of our
fork. That's why we can remove the "reference" key from the
configuration too, since master is the default branch.
The updated protobuf port only builds the libprotoc compiler library
when the target triplet equals the host triplet, or when the libprotoc
or target-protoc feature is requested. Since we always build against
our custom *-qt triplets, which never match the host triplet, request
the libprotoc feature so that protobuf::libprotoc is available and
qtgrpc can build qtprotobufgen.
Pick-to: 6.12
Change-Id: Ief4b12c57c082f94b2bcfae6fd02ebac7018a5c9
Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
Not having a developer build for code coverage runs will skip a
significant chunk of unit tests that require Q_AUTOTEST_EXPORTS.
Change-Id: I05f889a7b0b1be5fb93cb633f109c5caec1cc63d
Reviewed-by: Simo Fält <simo.falt@qt.io>
This reverts commit 72a7e5c4db.
Reason for revert: Minor version specific internal repos are now
available
Pick-to: 6.12 6.11 6.8
Task-number: QTQAINFRA-7810
Change-Id: Ibdf7d847929175fce2aa3a1b4473695346821a96
Reviewed-by: Simo Fält <simo.falt@qt.io>
Qt for Android builds run Gradle which needs to frequently
request download artifacts from Gradle and Maven, and that
can sometimes fail due to network issues, or worse in times
or many request might get temporarily blocked.
To avoid that, this uses the internal Gradle mirror. This
is done by installing an init script routing every
repository through the internal Nexus mirror.
Also, since Qt's build runs offline, ~/.gradle must be
fully prepared during provisioning, without reaching
public repositories. That's achieve by priming the cache
by building the shared proiect and seeding the Gradle
distribution from the internal mirror into the wrapper
cache, so no wrapper externally request Gradle.
Pick-to: 6.12
Fixes: QTQAINFRA-6166
Task-number: QTQAINFRA-7942
Change-Id: I1e8dacf8ea5f3c492f12270c5f407bd4e5a2e756
Reviewed-by: Ville-Pekka Karhu <ville-pekka.karhu@qt.io>
Also have to update libclang-llvmorg to a version built with llvm-mingw 22.1.7
Pick-to: 6.12
Task-number: QTQAINFRA-7552
Change-Id: I7e579eacb146718b34ec486598323fa85cf3bfb4
Reviewed-by: Tim Blechmann <tim.blechmann@qt.io>
Reviewed-by: Simo Fält <simo.falt@qt.io>
The FFmpeg auto-detect mechanism will automatically pull in x11 as a
dependency if the development packages are found on the host. This makes
the FFmpeg unable to run macOS hosts that don't have the x11 package
installed.
This patch makes us explicitly avoid including it.
Pick-to: 6.12
Change-Id: Ied33d25a60d5c9f54dcf37be3aad5cac0d2cbd03
Reviewed-by: Artem Dyomin <artem.dyomin@qt.io>
The package is installed into a subdirectory of the user's home
directory, so there is no need to use sudo.
Pick-to: 6.12
Change-Id: I06b455678234954eb98a5b61487548fc259520fa
Reviewed-by: Simo Fält <simo.falt@qt.io>
Reviewed-by: Dimitrios Apostolou <jimis@qt.io>
This patch upgrades the provisioned FFmpeg version to n8.1.2
As a prerequisite, it also installs the nasm package on relevant
platforms.
Pick-to: 6.12
Task-number: QTBUG-139714
Change-Id: Ibc9dc21a9caeba812ff94e8c0b5a2a1ab3959c64
Reviewed-by: Tim Blechmann <tim.blechmann@qt.io>
Reviewed-by: Nils Petter Skålerud <nils.petter.skalerud@qt.io>
Update provisioned cmake to 4.3.2.
Adjust the linux provisioning script to be architecture-aware.
Add the script to the provisioning of the Ubuntu-24.04-aarch64
platform, which was previously missing it and instead relied on the
system 3.28.3 CMake.
Pick-to: 6.8 6.11 6.12
Fixes: QTQAINFRA-7785
Change-Id: Ib2b6a55d7b994c95299ddf66546d9362b04823df
Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
Now that we have individual builds for device, and arm64 and x86_64
simulator, as a workaround for lacking xcframework support.
Pick-to: 6.12
Change-Id: Ifff43080b32bcab80e5cbf54f9b23ecd443480a6
Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
VSB and VIP updated to VxWorks 26.03. NFS updated to v3 UDP only.
Qt home, cache, tmp directory moved to ramfs with HRFS formatting.
Task-number: QTBUG-145458
Change-Id: I954bac54584797d77429937a2e3edec6da5a73fd
Pick-to: 6.12
Reviewed-by: Simo Fält <simo.falt@qt.io>
Upgrade to VxWorks 26.03, needs several fixes, which depend on each
other. But they fail on staging, because they are not staged together.
After the changes are in dev and 6.12 branch, the test insignificant
feature can be removed.
Pick-to: 6.12
Change-Id: Idaeb846b757afe0e071fe2f0aed2b35333ca50fe
Reviewed-by: Simo Fält <simo.falt@qt.io>
Boot several VxWorks QEMU instances per host and drive them
concurrently instead of running every autotest serially against a
single emulator. A 2x2 trial (2 instances, 2 cores each) already
halved the ARM autotest wall-clock time, so scale the launcher to an
arbitrary instance count.
vxworks_qemu_launcher.sh now takes an optional instance id and gives
each instance its own tap device, guest IP (172.31.1.10+N), MAC,
serial FIFO pair and QEMU log. Instance 0 keeps the previous addresses
so a single-instance run is unchanged. The shared bridge/tap setup is
serialized with flock and made idempotent so parallel launches do not
race on it. The SSH readiness probe targets the instance's own IP.
Emulator sizing:
- Intel: 4 instances, -smp 4 -m 4G each (KVM).
- ARM: 2 instances, -smp 2 -m 2G each (TCG).
Bump the x86_64 test configuration from VMSize8 to VMSize16 so the
host can accommodate 4 instances x 4 cores / 4 GB. ARM stays on
VMSize8 (2 x 2 cores).
Fixes: QTBUG-147569
Pick-to: 6.12
Change-Id: Ic2d7912bdac22d71a3424d14b5000cbef89f61a6
Reviewed-by: Simo Fält <simo.falt@qt.io>
Xcode 27 no longer ships a universal iOS simulator runtime, so our
trick of building fat binaries for iOS no longer works.
As a stop-gap towards XCFrameworks we build simulator and device
individually, so that we can package them up in the SDK as two
components next to each other.
This does break the convenience of switching between simulator and
device within the same Xcode project, but use through Qt Creator
is not affected as that is always a single-SDK build of the user
project.
Pick-to: 6.12
Change-Id: I7115f4db7623fff2b539553b72c875cf25d3a3a7
Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
building against nvidia-codec-headers 12 bumps the minimum requirement
to driver version 520 (released october 2022). This should still give us
good coverage on most devices in 2026, while also enabling hardware AV1
encoders.
Pick-to: 6.12
Change-Id: If345095f1a2aa635f3fb1e343e47d51ba07ee4ec
Reviewed-by: Artem Dyomin <artem.dyomin@qt.io>
Toolchain updated to newer version and related library version updates done.
Added sshd-session as it's now needed by SSH Daemon.
Pick-to: 6.12 6.11 6.8
Change-Id: Iebf22f27c33709902485bd034c9442659c1b54cc
Reviewed-by: Simo Fält <simo.falt@qt.io>
This ensures that the RunCMake.InitRepository test will not fail due
to an outdated checkout of the qlitehtml repository in the Coin git
mirror.
Pick-to: 6.8 6.11 6.12
Fixes: QTBUG-148458
Change-Id: If37fdf1c1ff7e3c2337efe2da06570627e4dbccd
Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
After 42370c3e0b was merged, another patch
reintroduced the old w10 directories. Remove them again.
This amends 862c3df5bf
Pick-to: 6.12
Change-Id: I3413d88bd14fdd61ea50bb8966d2c14311ed5136
Reviewed-by: Simo Fält <simo.falt@qt.io>
Reviewed-by: Aku Pietikäinen <aku.pietikainen@qt.io>
More recent 7z requires additional switch due to multi hop links.
Change-Id: Ia023bf8d662d4c842acc97498e0b89cf2a2a167d
Reviewed-by: Matti Paaso <matti.paaso@qt.io>
Scripts were executed with 'sh', because not all provisioning scripts
were executable. That lead to path mismatches.
The script halted on errors. Manual provisioning might not always work.
Drop the 'sh', because all provisioning scripts are executable now.
Add a command line option to toggle whether to halt on errors or not.
On Windows, don't only consider ps1, but also exe, bat, cmd files.
Pick-to: 6.12
Change-Id: Ife8b0becc91b1d855d29d20e123016ce87dc80bb
Reviewed-by: Simo Fält <simo.falt@qt.io>
Add Run-Executable-With-Timeout, a wrapper around Run-Executable that
takes a timeout in seconds as its first argument. Run-Executable gains
an internal -TimeoutSeconds parameter (default 0 = no timeout, all
existing callers unaffected) used by the new wrapper.
Apply a generous timeout to the Notepad++ silent installer, which was
observed hanging for ~14 hours and causing provisioning CANCELED
failures on Windows 11 24H2 machines.
Cache the process handle ($null = $p.Handle) immediately after
Start-Process -PassThru. Without this, $p.ExitCode reads back as $null
after the process exits, which made Run-Executable spuriously throw
"Process <exe> exited with exit code " (blank) on successful runs.
This race was observed in provisioning logs for certutil.exe in the
certificate-updates step.
Change-Id: Icc66b670a3d40d67d1b6251913a06dbffeffaec2
Reviewed-by: Elias Toivola <elias.toivola@qt.io>
Reviewed-by: Simo Fält <simo.falt@qt.io>
Remove versions that are not in use in branches older than 6.12. When we
want to have pick-to's to lts-6.8 (and beyond) after this patch, they
need to have their own separate patches created.
Windows OS:es which are left:
- Windows 10 22h2 x86_64
- Windows 11 23h2 arm64
- Windows 11 24h2 x86_64
Pick-to: 6.12
Task-number: QTQAINFRA-7912
Change-Id: I70c2df706e5ff36cee0563b59243883a7012e6b1
Reviewed-by: Simo Fält <simo.falt@qt.io>