Compare commits

...

45 Commits

Author SHA1 Message Date
Elias Toivola
f024adfcdc Windows 10: set private network
Changed firewall configurations in CI network caused W10 VMs to prompt
to select public/private network profile setting for the changed
network.

Set the network profile with a script to prevent this prompt reappearing
in build/test VMs.

Pick-to: 6.8
Change-Id: I6c71fd31cd3982742254edf508a0ccfc3d2ceeb6
Reviewed-by: Toni Saario <toni.saario@qt.io>
(cherry picked from commit 862c3df5bf)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
(cherry picked from commit 00a5d6521e)
2026-06-30 10:58:15 +00:00
Jukka Jokiniva
08c556d85a Install qemu-guest-agent on Ubuntu-24.04-aarch64
Pick-to: 6.8
Task-number: QTQAINFRA-7938
Change-Id: I963cc027207bb75123cbd20e6d3925e7ce6022e8
Reviewed-by: Simo Fält <simo.falt@qt.io>
Reviewed-by: Dimitrios Apostolou <jimis@qt.io>
(cherry picked from commit 75db654544)
(cherry picked from commit 1a3d100ae2)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
2026-06-27 10:27:51 +00:00
Alexandru Croitor
60843a693b coin: Add syft to provisioning
Syft is a tool that scans package manager manifest or lock files and
generates an SBOM (Software Bill of Materials) file based on the
found packages. It can generated both CycloneDX and SPDX SBOM formats.

The tool will be used by the Qt for Python project to generate SBOMs
based on the python packages used during the build.

The tool is provisioned on all the platforms that have the
GenerateSBOM feature.

Pick-to: 6.8
Task-number: PYSIDE-3366
Change-Id: I1369f7b1b041b1fc0d8a56a20446df322d26d33a
Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
(cherry picked from commit 341fe4e602)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
(cherry picked from commit b964248bc7)
2026-06-27 10:27:10 +00:00
Tuomas Vaarala
e09102be0c Coin: QNX QEMU: add localhost to /etc/hosts
The Coin hosts file fully overrides the SDP default, which
had 127.0.0.1 and ::1 entries. Combined with nsswitch
"hosts: files mdnsd dns" and resolv.conf -> 172.31.1.1, any
test resolving http(s)://localhost fell through to NXDOMAIN.

Fixes tst_QHttpServer (229 HostNotFoundError asserts) and
tst_abstractoauth2 (silent crash) on QNX 8.0 QEMU. Applied
to 710/ too so the same latent issue can't surface there.

Pick-to: 6.8
Change-Id: I2aaa782980cb44afe3499ba8bd35fd7d3c093043
Reviewed-by: Simo Fält <simo.falt@qt.io>
Reviewed-by: Marianne Yrjänä <marianne.yrjana@qt.io>
(cherry picked from commit 00177db989)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
(cherry picked from commit ae3c676594)
2026-06-26 09:01:24 +00:00
Nils Petter Skålerud
89722e4a1b FFmpeg: Don't build unused FFmpeg components
The FFmpeg components 'avdevice' and 'avfilter' are not used in Qt.
By not building them, we save some time during provisioning in CI.

Change-Id: Id9219f6c00bd48d35d1d5c5b87eecb45f8c16c45
Reviewed-by: Mikko Hallamaa <mikko.hallamaa@qt.io>
Reviewed-by: Artem Dyomin <artem.dyomin@qt.io>
Reviewed-by: Elias Toivola <elias.toivola@qt.io>
(cherry picked from commit 75a537b6d5)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
(cherry picked from commit 5898343d28)
2026-06-25 10:54:54 +00:00
Elias Toivola
03e36895c1 Android: Extract NDK packages into their own versioned dirs
This prevents sneaky NDK overwrites if there is no versioning in the
.zip root directory.

Pick-to: 6.8
Task-number: QTQAINFRA-7069
Change-Id: Ib0bd30c27da316735001bc5027d1dac1f8ead703
Reviewed-by: Assam Boudjelthia <assam.boudjelthia@qt.io>
(cherry picked from commit 7c5594ea08)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
(cherry picked from commit 41b643267d)
2026-06-23 18:22:59 +00:00
Elias Toivola
dbc9a28110 Unix: clean up vcpkg packages more later in provisioning
$VCPKG_ROOT/packages/ fills up later in install-vcpkg-ports.sh, clean up
at the end of that script.

This amends 75cdce7b2c

Pick-to: 6.8
Change-Id: I87cf73c5b46733141d017efa6d4a2e9e6c482424
Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
(cherry picked from commit 5e9c31fe74)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
(cherry picked from commit 1864674381)
2026-06-23 18:22:59 +00:00
Joerg Bornemann
e32d13a6e9 Coin: Force bundled libtiff/libwebp in Linux desktop packaging
The TIFF and WEBP image format plugins opportunistically link the system
libtiff/libwebp whenever find_package() succeeds. When the Linux release
packaging host moved from RHEL 8.10 to RHEL 9.6, libtiff-devel became
present (pulled in transitively via gtk3-devel), so the shipped libqtiff
plugin gained a hard dependency on libtiff.so.5, breaking on hosts that
ship a different libtiff soname (e.g. libtiff.so.6).

Pin tiff and webp to the bundled copies in the Linux desktop packaging
configurations (rhel-9.6 and ubuntu-24.04-arm64) so the released
binaries stay self-contained regardless of what is installed on the
build host.

Fixes: QTBUG-147470
Change-Id: If406fd6b9338af51176b50c3af5bb3193fd226fd
Reviewed-by: Volker Hilsheimer <volker.hilsheimer@qt.io>
Reviewed-by: Kai Köhne <kai.koehne@qt.io>
(cherry picked from commit 2882b5615b)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
(cherry picked from commit e8168e9ad9)
2026-06-23 18:22:58 +00:00
Allan Sandfeld Jensen
154e4db084 Install rust on macOS CI
We need to build it as no official pre-built binaries with
multiple targets exists of rust.

Change-Id: Ibbe5dd77a92e845ce312f2ddf324a30b4c5ddc72
Reviewed-by: Simo Fält <simo.falt@qt.io>
(cherry picked from commit 01ed52ad4c)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
(cherry picked from commit 91970290eb)
2026-06-21 16:48:57 +00:00
Toni Saario
8b5467f5f3 Add caching for qtopenapi maven dependencies
Contains the .m2 folder from home after openapi build. Extracts it
to VM at same path.

Change-Id: I3eb5858160db1c996f3c72fae2b91be1478f000c
Reviewed-by: Simo Fält <simo.falt@qt.io>
Reviewed-by: Elias Toivola <elias.toivola@qt.io>
(cherry picked from commit adc52dde71)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
(cherry picked from commit eb33647a48)
2026-06-20 06:27:18 +00:00
Matti Paaso
3abcbc655a Remove libusb installation from macos
Change-Id: I5f69afe376087958ef5a6a2985bd87170e3f8a8d
Reviewed-by: Ville-Pekka Karhu <ville-pekka.karhu@qt.io>
(cherry picked from commit 36efc0bfb0)
Reviewed-by: Toni Saario <toni.saario@qt.io>
2026-06-19 06:42:01 +00:00
Axel Spoerl
4a7fd3f5f1 Add script to run all (provisioning) shell scripts in given directory
To build / test Qt on a fresh VM, all provisioning scripts have to be
run.

Provide a shell script to facilitate this on Windows.

Fixes: QTQAINFRA-7906
Pick-to: 6.8
Change-Id: Ib06f75d7402f72e0496bab35aeb2ac89d1064537
Reviewed-by: Simo Fält <simo.falt@qt.io>
(cherry picked from commit 4f97b4bea8)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
(cherry picked from commit 21de9acbb0)
2026-06-19 06:41:59 +00:00
Axel Spoerl
8582435db6 Add script to run all (provisioning) shell scripts in given directory
To build / test Qt on a fresh VM, all provisioning scripts have to be
run.

Provide a shell script to facilitate this on Linux and macOS.

Fixes: QTQAINFRA-7906
Pick-to: 6.8
Change-Id: Ie06c11c824897d23c74d90c008a595c2f82f6950
Reviewed-by: Simo Fält <simo.falt@qt.io>
(cherry picked from commit c0e391423d)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
(cherry picked from commit 707c9b73d1)
2026-06-19 06:41:56 +00:00
Matti Paaso
635b735839 Update Axivion bauhaus-suite to newer version
Update from version 7.11.3 into 7.12.1

Task-number: QTQAINFRA-7916
Pick-to: 6.8
Change-Id: I9bb342636f9e67fc3db6d4a2f735923d0df8b622
Reviewed-by: Simo Fält <simo.falt@qt.io>
(cherry picked from commit 526a09e46a)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
(cherry picked from commit fda3ae0a1b)
2026-06-19 06:41:54 +00:00
Matti Paaso
39b09f68a8 Change Axivion analysis platform configuration
Change Axivion analysis to TestOnly target with platform
dependency.

Task-number: QTQAINFRA-7846
Pick-to: 6.8
Change-Id: I6efb23299b9bfcad549d352c804ad4f6a8772e84
Reviewed-by: Toni Saario <toni.saario@qt.io>
(cherry picked from commit 6cecda38fa)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
(cherry picked from commit efed03b092)
2026-06-19 06:41:52 +00:00
Joerg Bornemann
0441935fcb configure: Sanitize -submodules arguments
Allow (and ignore) leading, trailing, and repeated commas in the
-submodules argument.

Fixes: QTBUG-147198
Change-Id: I8901a65c6754c58ea3d51cb715932e7b328af445
Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
(cherry picked from commit d6ac43b433)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
(cherry picked from commit f1698cf646)
2026-06-19 06:41:49 +00:00
Dimitrios Apostolou
331627bab9 Update sccache to v0.15.0
Also set SCCACHE_DIRECT in an effort to counter the error:

    cc1plus: error: .../CMakeFiles/....dir/cmake_pch.hxx.gch: \
        created by a different GCC executable [-Werror=invalid-pch]

Pick-to: 6.8
Change-Id: Ic7a3743642ff69495309794f6d17fc9b98d7f338
Reviewed-by: Toni Saario <toni.saario@qt.io>
(cherry picked from commit 23c201ac4e)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
(cherry picked from commit 9ce7dff139)
2026-06-19 06:41:47 +00:00
Simo Fält
0076042a0e Provisioning: Remove cups-pdf package from Ubuntu
Updated libcups2-dev package (2.4.1op1-1ubuntu4.20) causes password prompt with lpadmin when installing cups-pdf and this blocks provisioning.

Task-number: QTQAINFRA-7930
Pick-to: 6.8 6.5
Change-Id: I308f7d037586ee4ac8320274f551315a7329925c
Reviewed-by: Jani Heikkinen <jani.heikkinen@qt.io>
(cherry picked from commit b002b0fde9)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
(cherry picked from commit 2d7ecf2916)
Reviewed-by: Jukka Jokiniva <jukka.jokiniva@qt.io>
2026-06-18 05:20:25 +00:00
Patrik Teivonen
76e662d5c2 Provisioning: Point pinned EPEL repo at archive mirror for RHEL 10.0
EPEL 10.0 has been moved under `archive.fedoraproject.org` now that
10.1 is the current release, so the pinned baseurl on `dl.` 404s and
breaks provisioning. Switch to the archive URL to preserve the
exact-release pin.

Change-Id: I0bff932e4aaa11515ca28aa18af5cea73a9e2b05
Reviewed-by: Elias Toivola <elias.toivola@qt.io>
Reviewed-by: Simo Fält <simo.falt@qt.io>
Reviewed-by: Tony Sarajärvi <tony.sarajarvi@qt.io>
(cherry picked from commit f0ab3c330f)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
(cherry picked from commit a35949147c)
2026-06-12 10:51:14 +00:00
Qt Submodule Update Bot
988c40e4fd Update submodules on '6.11 in qt/qt5'
Change-Id: Ifc755af7090d5b32ac9f3117a8cae7f853d92b58
Reviewed-by: Qt Submodule Update Bot <qt_submodule_update_bot@qt-project.org>
2026-05-27 12:55:52 +00:00
Qt Submodule Update Bot
280b728594 Update submodules on '6.11 in qt/qt5'
Change-Id: I4b02f840973e9d6333c339eddf3263dfa2ab2dc2
Reviewed-by: Qt Submodule Update Bot <qt_submodule_update_bot@qt-project.org>
2026-05-26 17:38:24 +00:00
Aku Pietikäinen
688e9b9e18 Platform Configs: Update macOS 26 Tier1 images for ARM
Increase image disk size to 300 GB.

Task-number: QTQAINFRA-7890
Change-Id: I7e0d84007ae448d14f2f8246fd8c7bc2a5e505af
Reviewed-by: Simo Fält <simo.falt@qt.io>
2026-05-24 06:40:52 +00:00
Aku Pietikäinen
48d9827a9e Platform Configs: Update macOS 15 Tier1 images for ARM
Increase image disk size to 300 GB.

Task-number: QTQAINFRA-7880
Change-Id: I0382d1a23fb54db365d79663ab59753427f72f75
Reviewed-by: Jukka Jokiniva <jukka.jokiniva@qt.io>
(cherry picked from commit 57901788c3)
2026-05-19 05:17:09 +00:00
Tuomas Vaarala
d377250d49 Coin: QNX 8.0: add Windows provisioning script
Mirror the existing Windows qnx710.ps1 for the 20260410 SDP
patchset and pull the 2026a tzdata overlay alongside it, same
pattern as the Linux common/linux/qnx_800.sh script.

Pick-to: 6.10
Change-Id: I5b718de8274ba2e1dc174199736c26ecdb5ea44e
Reviewed-by: Tony Sarajärvi <tony.sarajarvi@qt.io>
(cherry picked from commit 18f42f3a87)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
2026-05-16 16:34:18 +00:00
Marc Mutz
37d5bbad37 remove all status=ignore submodules
It makes little sense to carry these around when they don't compile
and require users to use a Perl script instead of raw git commands to
establish a working qt5.git, or else keep them wondering about these
dead bodies laying aorund. If someone wants to work on them, we can
always partially revert this commit to bring them back.

With this patch, you can now just

   git clone path/to/qt5.git
   cd qt5.git
   git submodule update --init --recursive

and you're set.

Pick-to: 6.8
Change-Id: Iac0cf516eca7169fb092aa3e86de1722d0ac9c5b
Reviewed-by: Volker Hilsheimer <volker.hilsheimer@qt.io>
Reviewed-by: Jani Heikkinen <jani.heikkinen@qt.io>
Reviewed-by: Axel Spoerl <axel.spoerl@qt.io>
(cherry picked from commit 669f354e20)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
2026-05-15 16:24:57 +00:00
Johanna Äijälä
a9f01de02a Provisioning: update Java to 21 in Ubuntu22.04 arm64 (RTA)
RTA Jenkins needs Java >=21.

Change-Id: Ide00e3542bd69ec1e4d44612db57c753a73248db
Reviewed-by: Matti Paaso <matti.paaso@qt.io>
(cherry picked from commit 28217d187f)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
2026-05-15 07:42:58 +00:00
Matti Paaso
d32d79070a Run Axivion analysis only for security critical files
Task-number: QTQAINFRA-7720
Pick-to: 6.8
Change-Id: Ic3c0ba96421b94e5024ae887e32d51e879305739
Reviewed-by: Toni Saario <toni.saario@qt.io>
(cherry picked from commit 9bdaa61dc4)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
2026-05-15 07:42:56 +00:00
Matti Paaso
603af886a8 Update Java version into 21 for Debian 11.6
Jenkins dropped Java 17 support, only Java versions 21 and 25 are
supported.

Task-number: QTQAINFRA-7848
Change-Id: Ic5c24ad81dbc1779ac40b38ffd92328a989aa867
Reviewed-by: Simo Fält <simo.falt@qt.io>
Reviewed-by: Patrik Teivonen <patrik.teivonen@qt.io>
(cherry picked from commit ed57ce2618)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
2026-05-15 07:42:53 +00:00
Tatiana Borisova
f7aa0c3374 Update The OpenAPI generator version to 7.18.0 on Windows
- the 7.18.0 has generation updates, that affect the code
generation. We already moved to 7.18.0 on Linux and MacOS CIs,
but forgot to update on Windows. See:
e5871fa6e6
Noticed the problem during the work on a 'nullable' feature,
that is not supported by 7.15.0.

Change-Id: I9be758218831aae47d7cc9cb1d2dbf60795e6d27
Reviewed-by: Ivan Solovev <ivan.solovev@qt.io>
(cherry picked from commit 564ea220a3)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
2026-05-14 15:27:50 +00:00
Matti Paaso
2584b9327f Fix icu provisioning for Debian 11
7z updated in Debian upstream repos. New 7z handles symlinks more
strictly.

Task-number: QTQAINFRA-7878
Change-Id: Iee95342413f0848966b103faffcee335ac13d771
Reviewed-by: Jukka Jokiniva <jukka.jokiniva@qt.io>
(cherry picked from commit e5a39cd6b8)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
2026-05-13 12:13:08 +00:00
Elias Toivola
fefb7d785c Revert "Provisioning: Take repo-clones into use in RHEL 9"
This reverts commit 7f2d96a43e.

Reason for revert: Repo-clones for RHEL 9 skips distro version lock.
Correcting this in repo-clones will take time, so temporarily revert
this change to use external repos until repo-clones for RHEL 9 is ready.

Pick-to: 6.8
Task-number: QTQAINFRA-7810
Change-Id: Idc5d49be02e6ae763129cd2299b8725ae4de7892
Reviewed-by: Tero Heikkinen <tero.heikkinen@qt.io>
(cherry picked from commit 72a7e5c4db)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
2026-05-12 09:14:00 +00:00
Matti Paaso
8cf1c39fee Add qtmultimedia eLinux test nightly yaml
Task-number: QTQAINFRA-7375
Pick-to: 6.8
Change-Id: Iddf73841d72efdfa98b95c8dda6c0cd8be84d481
Reviewed-by: Tero Heikkinen <tero.heikkinen@qt.io>
(cherry picked from commit 0d441821b5)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
2026-05-11 13:57:28 +00:00
Ville-Pekka Karhu
c5909e8b8e Platform Configs: Update macOS 14 Tier1 images for Intel and ARM
Intel image also has an update to coin bootstrap agent to lower MTU to 1496

Pick-to: 6.8 6.5 5.15
Task-number: QTQAINFRA-7854
Change-Id: Icac411ad0c4fdf4d64a673156cf33ea3f7f94a51
Reviewed-by: Tero Heikkinen <tero.heikkinen@qt.io>
Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io>
(cherry picked from commit 5eacf857aa)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
2026-05-11 10:56:23 +00:00
Olli Vuolteenaho
8af386b795 Update minimum AAOS version in CI to AAOS12
We dropped support for AAOS10 already in QtAA 6.9, but forgot to update
the minimum SDK version in CI.

Fixes: QAA-3464
Change-Id: Iaba6fb08bb6b00f7c01132e7cd528c4727a31859
Reviewed-by: Assam Boudjelthia <assam.boudjelthia@qt.io>
(cherry picked from commit bdff386c19)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
2026-05-11 06:06:55 +00:00
Qt Submodule Update Bot
c5a7b12f62 Update submodules on '6.11 in qt/qt5'
Change-Id: I8571f6e4be41a18af3ff2da96b86c9a9f23c960b
Reviewed-by: Qt Submodule Update Bot <qt_submodule_update_bot@qt-project.org>
2026-05-08 15:40:22 +00:00
Qt Submodule Update Bot
c14dc902db Update submodules on '6.11 in qt/qt5'
Change-Id: I61945a8c6b5671e4a83b5ab34b3aa6af332daa9a
Reviewed-by: Qt Submodule Update Bot <qt_submodule_update_bot@qt-project.org>
2026-05-07 15:07:07 +00:00
Nils Petter Skålerud
61a32c365c FFmpeg: Move required provisioning packages into common files
The packages required for FFmpeg provisioning may change between FFmpeg
versions, as is the case when upgrading to FFmpeg n8.1. It is a
time-waster to manually go through all hosts to make sure they all
have the correct packages. Additionally we have no way of knowing
whether a package is used by FFmpeg and/or something else.

This patch moves the list of required FFmpeg packages into some common
files, and refactors each host to read these files. This way we can
modify provisioning in one place.

Change-Id: I31d409595b7da231b1f845c18095e77f7af51b0a
Reviewed-by: Artem Dyomin <artem.dyomin@qt.io>
Reviewed-by: Elias Toivola <elias.toivola@qt.io>
(cherry picked from commit 8adbc25578)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
2026-05-05 05:35:04 +00:00
Alexandru Croitor
eda1772188 coin: Switch vcpkg registry mirror to qtbuildsystem one
It's a new fork under a qtbuildsystem group, but with the contents of
the aledelev fork.

The older mrmsdbdl fork is not used anymore, so it's removed.

Pick-to: 6.8
Change-Id: I641cf8b86e3809f399cfddbe6c5d71ee6174917c
Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
(cherry picked from commit ef53692f29)
2026-04-30 17:40:14 +00:00
Alexey Edelev
00ee1df29e Move linux vcpkg and vcpkg-ports installation files to a common unix directory
These scripts are generic for both linux and macos, we may parameterize
them and reuse on both platforms.

Change-Id: Ia61cfbbf5c91e2135e38253c4a96605015d2d1b6
Reviewed-by: Alexey Edelev <semlanik@gmail.com>
(cherry picked from commit 4456a7f592)
Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
2026-04-30 17:40:13 +00:00
Alexey Edelev
9705c9c01a Unify the vcpkg manifest location
There is not particular reason to hold multiple manifests for the vcpkg
for different platforms, since we expect that the direct dependency set
that is used from vcpkg will remain the same on each platform.
Keeping copies of the vcpkg manifest doesn't make much sense.

The vcpkg manifest and configuration file are now in the
coin/provisioning/common/shared/vcpkg directory.

Change-Id: Icc9c88592c68cb591216f3d0668f9984592d6c7b
Reviewed-by: Simo Fält <simo.falt@qt.io>
(cherry picked from commit da911f9b20)
Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
2026-04-30 17:40:12 +00:00
Nils Petter Skålerud
8a1ee9fe11 Windows, MSYS2: Confirm correct packages are installed
There have been times where we have updated the list of packages to
install, but prebuilt binaries have missed them. This change adds a
check to confirm that the expected packages are installed.

Change-Id: I5f6e2b7917c45f7a220d41946e5e4030f63ca21d
Reviewed-by: Elias Toivola <elias.toivola@qt.io>
Reviewed-by: Tero Heikkinen <tero.heikkinen@qt.io>
(cherry picked from commit 92af4495d1)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
2026-04-29 06:18:00 +00:00
Tero Heikkinen
bc345548a7 RHEL: Add test to verify installed release package versions
This test will check that release packages are from current release
version i.e. RHEL 10.0 "el10_0" and not from 10.1 "el10_1" or newer.

If newer release packages are found, script will output those packages
and exit with exit code 1 to ensure that release version stays locked.

Task-number: QTQAINFRA-7817
Task-number: QTQAINFRA-7614
Change-Id: I905dd2e72bf5dadc6f3f4b21aa7c09f06204d297
Reviewed-by: Dimitrios Apostolou <jimis@qt.io>
(cherry picked from commit d0cda5eb77)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
2026-04-29 06:17:59 +00:00
Qt Submodule Update Bot
3127f71294 Update submodules on '6.11 in qt/qt5'
Change-Id: I26fe105ac6538d2cc90c85c07d4c4da9922acb03
Reviewed-by: Qt Submodule Update Bot <qt_submodule_update_bot@qt-project.org>
2026-04-29 01:03:10 +00:00
Qt Submodule Update Bot
7fd5990118 Update submodules on '6.11 in qt/qt5'
Change-Id: I3e30072ae4ec0d2c3be08265beb69de068683372
Reviewed-by: Antti Kokko <antti.kokko@qt.io>
2026-04-28 09:31:10 +00:00
Eike Ziller
b3c37d04f6 COIN/Provisioning: Update Golang to 1.26.2
Used by Qt Creator for cross-platform development (gocmdbridge)

Change-Id: Icac0c298169f269c006d92843243e2bed25439bc
Reviewed-by: Akseli Salovaara <akseli.salovaara@qt.io>
(cherry picked from commit c653ec850c)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
2026-04-27 05:07:33 +00:00
195 changed files with 1038 additions and 500 deletions

47
.gitmodules vendored
View File

@@ -36,13 +36,6 @@
url = ../qttools.git
branch = 6.11
status = essential
[submodule "qtxmlpatterns"]
depends = qtbase
recommends = qtdeclarative
path = qtxmlpatterns
url = ../qtxmlpatterns.git
branch = dev
status = ignore
[submodule "qttranslations"]
depends = qttools
path = qttranslations
@@ -92,26 +85,6 @@
url = ../qtsensors.git
branch = 6.11
status = addon
[submodule "qtsystems"]
depends = qtbase
recommends = qtdeclarative
path = qtsystems
url = ../qtsystems.git
branch = dev
status = ignore
[submodule "qtfeedback"]
depends = qtdeclarative
recommends = qtmultimedia
path = qtfeedback
url = ../qtfeedback.git
branch = master
status = ignore
[submodule "qtpim"]
depends = qtdeclarative
path = qtpim
url = ../qtpim.git
branch = dev
status = ignore
[submodule "qtconnectivity"]
depends = qtbase
recommends = qtdeclarative
@@ -174,12 +147,6 @@
branch = 6.11
status = addon
priority = 10
[submodule "qtcanvas3d"]
depends = qtdeclarative
path = qtcanvas3d
url = ../qtcanvas3d.git
branch = dev
status = ignore
[submodule "qtwebview"]
depends = qtdeclarative
recommends = qtwebengine
@@ -208,13 +175,6 @@
url = ../qtvirtualkeyboard.git
branch = 6.11
status = addon
[submodule "qtgamepad"]
depends = qtbase
recommends = qtdeclarative
path = qtgamepad
url = ../qtgamepad.git
branch = dev
status = ignore
[submodule "qtscxml"]
depends = qtbase qtdeclarative
path = qtscxml
@@ -241,13 +201,6 @@
url = ../qtremoteobjects.git
branch = 6.11
status = addon
[submodule "qtwebglplugin"]
depends = qtbase qtwebsockets
recommends = qtdeclarative
path = qtwebglplugin
url = ../qtwebglplugin.git
branch = dev
status = ignore
[submodule "qtlottie"]
depends = qtbase qtdeclarative
path = qtlottie

View File

@@ -142,6 +142,7 @@ function(qt_ir_get_args_from_optfile_configure_filtered optfile_path out_var)
qt_ir_get_top_level_submodules(include_submodules exclude_submodules)
if(NOT include_submodules AND arg_ALREADY_INITIALIZED)
string(REPLACE "," ";" include_submodules "${submodules}")
list(FILTER include_submodules EXCLUDE REGEX "^$")
endif()
# qtrepotools is always implicitly cloned, but it doesn't actually

View File

@@ -62,7 +62,7 @@ Configurations:
Environment variables: [
'CMAKE_ARGS=-DOpenGL_GL_PREFERENCE=LEGACY',
'COMMON_TEST_CMAKE_ARGS=-DQT_SKIP_DOCKER_COMPOSE=ON',
'NON_QTBASE_CMAKE_ARGS=-DFFMPEG_DIR={{.Env.FFMPEG_DIR}} -DQT_DEPLOY_FFMPEG=TRUE -DINPUT_headersclean=ON',
'NON_QTBASE_CMAKE_ARGS=-DFFMPEG_DIR={{.Env.FFMPEG_DIR}} -DQT_DEPLOY_FFMPEG=TRUE -DINPUT_headersclean=ON -DINPUT_tiff=qt -DINPUT_webp=qt',
'VCPKG_HOST_TRIPLET=arm64-linux-qt',
'VCPKG_TARGET_TRIPLET=arm64-linux-qt',
]
@@ -263,7 +263,7 @@ Configurations:
Configure arguments: '-nomake examples -release -force-debug-info -headersclean -separate-debug-info -qt-libjpeg -qt-libpng -qt-pcre -qt-harfbuzz -qt-doubleconversion -no-libudev -bundled-xcb-xinput'
Environment variables: [
'CMAKE_ARGS=-DOpenGL_GL_PREFERENCE=LEGACY',
'NON_QTBASE_CMAKE_ARGS=-DFFMPEG_DIR={{.Env.FFMPEG_DIR}} -DQT_DEPLOY_FFMPEG=TRUE -DINPUT_headersclean=ON',
'NON_QTBASE_CMAKE_ARGS=-DFFMPEG_DIR={{.Env.FFMPEG_DIR}} -DQT_DEPLOY_FFMPEG=TRUE -DINPUT_headersclean=ON -DINPUT_tiff=qt -DINPUT_webp=qt',
'VCPKG_HOST_TRIPLET=x64-linux-qt',
'VCPKG_TARGET_TRIPLET=x64-linux-qt',
]
@@ -294,7 +294,7 @@ Configurations:
]
-
Id: 'visionos-developer-build'
Template: 'qtci-macos-15-arm-104'
Template: 'qtci-macos-15-arm-105'
Target os: 'IOS_ANY'
Target arch: 'arm64'
Compiler: 'Clang'

View File

@@ -67,13 +67,13 @@ Configurations:
-
Id: 'macos-14-minimal-static-tests-x86_64'
Template: 'qtci-macos-14-x86_64-105'
Template: 'qtci-macos-14-x86_64-106'
Compiler: 'Clang'
Features: ['TestOnly', 'Packaging']
Platform dependency: 'macos-universal-on-x86_64-minimal-static-test'
-
Id: 'macos-14-minimal-static-tests-arm64'
Template: 'qtci-macos-14-arm-106'
Template: 'qtci-macos-14-arm-108'
Compiler: 'Clang'
Features: ['TestOnly', 'Packaging']
Platform dependency: 'macos-universal-on-x86_64-minimal-static-test'

View File

@@ -9,7 +9,7 @@ Configurations:
-
Id: 'macos-universal-on-arm64'
Template: 'qtci-macos-15-arm-104'
Template: 'qtci-macos-15-arm-105'
Compiler: 'Clang'
Target arch: 'x86_64-arm64'
Features: ['Sccache', 'Packaging', 'DoNotRunTests', 'WarningsAreErrors', 'UseConfigure', 'GenerateSBOM', 'VerifySBOM']
@@ -31,7 +31,7 @@ Configurations:
Platform dependency: 'macos-universal-on-arm64'
-
Id: 'macos-14-x86_64-tests'
Template: 'qtci-macos-14-x86_64-105'
Template: 'qtci-macos-14-x86_64-106'
Compiler: 'Clang'
Features: ['Sccache', 'TestOnly', 'Packaging']
Platform dependency: 'macos-universal-on-arm64'
@@ -52,19 +52,19 @@ Configurations:
Platform dependency: 'macos-universal-on-arm64'
-
Id: 'macos-14-arm64-tests'
Template: 'qtci-macos-14-arm-106'
Template: 'qtci-macos-14-arm-108'
Compiler: 'Clang'
Features: ['Sccache', 'TestOnly', 'Packaging']
Platform dependency: 'macos-universal-on-arm64'
-
Id: 'macos-15-arm64-tests'
Template: 'qtci-macos-15-arm-104'
Template: 'qtci-macos-15-arm-105'
Compiler: 'Clang'
Features: ['Sccache', 'TestOnly', 'Packaging']
Platform dependency: 'macos-universal-on-arm64'
-
Id: 'macos-26-arm64-tests'
Template: 'qtci-macos-26-arm-104'
Template: 'qtci-macos-26-arm-105'
Compiler: 'Clang'
Features: ['Sccache', 'TestOnly', 'Packaging']
Platform dependency: 'macos-universal-on-arm64'
@@ -87,7 +87,7 @@ Configurations:
]
-
Id: 'macos-arm64-developer-build'
Template: 'qtci-macos-15-arm-104'
Template: 'qtci-macos-15-arm-105'
Compiler: 'Clang'
Features: ['Sccache', 'DoNotRunTests', 'WarningsAreErrors', 'UseConfigure']
Configure arguments: '-developer-build -nomake examples -debug -framework'
@@ -97,7 +97,7 @@ Configurations:
]
-
Id: 'macos-26-arm64-developer-build'
Template: 'qtci-macos-26-arm-104'
Template: 'qtci-macos-26-arm-105'
Compiler: 'Clang'
Features: ['Sccache', 'DoNotRunTests', 'WarningsAreErrors', 'UseConfigure', 'Insignificant']
Configure arguments: '-developer-build -nomake examples -debug -framework'
@@ -115,19 +115,19 @@ Configurations:
Platform dependency: 'macos-arm64-developer-build'
-
Id: 'macos-14-arm64-developer-build-tests'
Template: 'qtci-macos-14-arm-106'
Template: 'qtci-macos-14-arm-108'
Compiler: 'Clang'
Features: ['TestOnly']
Platform dependency: 'macos-arm64-developer-build'
-
Id: 'macos-15-arm64-developer-build-tests'
Template: 'qtci-macos-15-arm-104'
Template: 'qtci-macos-15-arm-105'
Compiler: 'Clang'
Features: ['TestOnly']
Platform dependency: 'macos-arm64-developer-build'
-
Id: 'macos-26-arm64-developer-build-tests'
Template: 'qtci-macos-26-arm-104'
Template: 'qtci-macos-26-arm-105'
Compiler: 'Clang'
Features: ['TestOnly', 'InsignificantTests', 'DoNotAbortTestingOnFirstFailure']
Platform dependency: 'macos-26-arm64-developer-build'

View File

@@ -2,11 +2,14 @@ Version: 2
Module only: True
Include: [
cmake_platforms.yaml: [
"ubuntu-22.04"
'ubuntu-22.04'
]
]
Configurations: []
Overrides:
Configurations:
-
Id: 'ubuntu-22.04'
Features: ['Axivion', 'DisableTests', 'UseConfigure', 'VMSize16']
Id: 'ubuntu-22.04-Axivion'
Template: 'qtci-linux-Ubuntu-22.04-x86_64-51'
Compiler: 'GCC'
Features: ['UseConfigure', 'VMSize16', 'TestOnly']
Environment variables: ['AXIVION_ANALYSIS=1']
Platform dependency: 'ubuntu-22.04'

View File

@@ -0,0 +1,28 @@
Version: 2
Module only: True
Include: [
cmake_platforms.yaml: [
'ubuntu-24.04-x64'
]
]
Configurations:
-
Id: 'imx8-arm64-developer-build-2404'
Template: 'qtci-linux-Ubuntu-24.04-x86_64-50'
Target os: 'IMX8'
Target arch: 'arm64'
Compiler: 'GCC'
Platform dependency: 'ubuntu-24.04-x64'
Features: ['Elinux', 'Sccache', 'UseConfigure', 'DoNotAbortTestingOnFirstFailure']
Environment variables: [
'TARGET_CONFIGURE_ARGS=-release -force-asserts -force-debug-info -developer-build -no-warnings-are-errors -nomake examples -qt-harfbuzz -device linux-generic-g++ -device-option "CROSS_COMPILE=/opt/b2qt/imx8qm/sysroots/x86_64-pokysdk-linux/usr/bin/aarch64-poky-linux-" -device-option "DISTRO_OPTS=boot2qt" -no-feature-forkfd_pidfd',
'TARGET_CMAKE_ARGS=-DCMAKE_TOOLCHAIN_FILE="/opt/b2qt/imx8qm/sysroots/x86_64-pokysdk-linux/usr/share/cmake/OEToolchainConfig.cmake" -DQT_FORCE_BUILD_TOOLS=ON -DQT_NO_PACKAGE_VERSION_INCOMPATIBLE_WARNING=TRUE',
'QT_YOCTO_ENVSETUP=/opt/b2qt/imx8qm/environment-setup-cortexa72-cortexa53-crypto-poky-linux',
'QT_CMAKE_DIR=/opt/cmake-3.30.5/bin',
'QT_SYSROOT_FOR_RUNNING_TESTS=/opt/b2qt/imx8qm/sysroots/cortexa72-cortexa53-crypto-poky-linux',
'GST_PLUGIN_SCANNER=/opt/b2qt/imx8qm/sysroots/cortexa72-cortexa53-crypto-poky-linux/usr/libexec/gstreamer-1.0/gst-plugin-scanner',
'QT_QUICK_BACKEND=software',
'VCPKG_HOST_TRIPLET=x64-linux-qt',
'VCPKG_TARGET_TRIPLET=arm64-linux-qt'
]

View File

@@ -21,7 +21,7 @@ Configurations:
Configure arguments: ''
Environment variables: []
-
Template: 'qtci-macos-15-arm-104'
Template: 'qtci-macos-15-arm-105'
Compiler: 'Clang'
Features: ['Sccache', 'DebugAndRelease']
Configure arguments: ''
@@ -55,7 +55,7 @@ Configurations:
Configure arguments: ''
Environment variables: []
-
Template: 'qtci-macos-15-arm-104'
Template: 'qtci-macos-15-arm-105'
Compiler: 'Clang'
Features: ['Sccache', 'DebugAndRelease', 'OldestQt']
Configure arguments: ''

View File

@@ -2,7 +2,7 @@ Version: 2
Configurations:
-
Id: 'macos-quick-bridges'
Template: 'qtci-macos-15-arm-104'
Template: 'qtci-macos-15-arm-105'
Compiler: 'Clang'
Features: ['Packaging', 'Sccache', 'UseConfigure', 'DisableTests', 'Insignificant']
Configure arguments: >

View File

@@ -12,7 +12,7 @@ Include: [
Configurations:
-
Id: 'macos-quick-minimal'
Template: 'qtci-macos-15-arm-104'
Template: 'qtci-macos-15-arm-105'
Compiler: 'Clang'
Features: ['Sccache', 'UseConfigure', 'DoNotRunTests', 'MinimalStaticTests', 'Insignificant']
Configure arguments: >
@@ -145,7 +145,7 @@ Configurations:
]
-
Id: 'macos-quick-minimal-tests'
Template: 'qtci-macos-15-arm-104'
Template: 'qtci-macos-15-arm-105'
Compiler: 'Clang'
Features: ['Sccache', 'TestOnly', 'InsignificantTests', 'Insignificant']
Platform dependency: 'macos-quick-minimal'

View File

@@ -34,7 +34,7 @@ Configurations:
'ANDROID_EMULATOR=automotive_emulator_x86_64_api_34'
]
-
Id: "automotive-android-10-x86_64-on-linux-rhel_9_6"
Id: "automotive-android-12-x86_64-on-linux-rhel_9_6"
Template: 'qtci-linux-RHEL-9.6-x86_64-51'
Target os: 'Android_ANY'
Target arch: 'x86_64'
@@ -47,5 +47,5 @@ Configurations:
'TARGET_CMAKE_ARGS=-DCMAKE_C_COMPILER_FRONTEND_VARIANT=GNU -DCMAKE_CXX_COMPILER_FRONTEND_VARIANT=GNU -DOPENSSL_ROOT_DIR={{.Env.OPENSSL_ANDROID_HOME_LATEST}}',
'NON_QTBASE_CMAKE_ARGS=-DFFMPEG_DIR={{.Env.FFMPEG_DIR_ANDROID}}',
'NON_QTBASE_TARGET_CMAKE_ARGS= -DQT_PROTOBUF_WELL_KNOWN_TYPES_PROTO_DIR=/usr/local/include',
'ANDROID_EMULATOR=automotive_emulator_x86_64_api_29'
'ANDROID_EMULATOR=automotive_emulator_x86_64_api_31'
]

View File

@@ -61,21 +61,21 @@ Configurations:
-
Id: 'macos-quick-bridges-java'
Template: 'qtci-macos-15-arm-104'
Template: 'qtci-macos-15-arm-105'
Compiler: 'Clang'
Platform dependency: 'macos-quick-bridges'
Features: ['Packaging', 'Sccache', 'UseConfigure', 'DisableTests', 'RunAsPlatformDependency', 'QtBridgesJava']
-
Id: 'macos-quick-bridges-python'
Template: 'qtci-macos-15-arm-104'
Template: 'qtci-macos-15-arm-105'
Compiler: 'Clang'
Platform dependency: 'macos-quick-bridges'
Features: ['Packaging', 'Sccache', 'UseConfigure', 'DisableTests', 'RunAsPlatformDependency', 'QtBridgesPython']
-
Id: 'macos-quick-bridges-swift'
Template: 'qtci-macos-15-arm-104'
Template: 'qtci-macos-15-arm-105'
Compiler: 'Clang'
Platform dependency: 'macos-quick-bridges'
Features: ['Packaging', 'Sccache', 'UseConfigure', 'DisableTests', 'RunAsPlatformDependency', 'QtBridgesSwift']

View File

@@ -50,9 +50,9 @@ sdkApiLevelAutomotiveMax="android-34"
androidAutomotiveMaxUrl="$basePath/${sdkApiLevelAutomotiveMax}_automotive.tar.gz"
androidAutomotiveMaxSha="2cc5dae4fd0bdefb188a3b84019d0d1e65501519"
# Android Automotive min SDK level image
sdkApiLevelAutomotiveMin="android-29"
sdkApiLevelAutomotiveMin="android-31"
androidAutomotiveMinUrl="$basePath/${sdkApiLevelAutomotiveMin}_automotive.tar.gz"
androidAutomotiveMinSha="e6092585c00f87eb3b20a2eb7fdf6add42342d2f"
androidAutomotiveMinSha="0b6498e0c0022c40b8bb2b275f704e6a298c04a3"
toolsTargetFile="/tmp/$toolsFile"
toolsSourceFile="$basePath/$toolsFile"
@@ -78,18 +78,25 @@ function InstallNdk() {
ndkTargetFile="/tmp/$ndkFile"
ndkSourceFile="$basePath/$ndkFile"
ndkTargetDir="$targetFolder/$ndkVersion"
sudo mkdir -p "$ndkTargetDir"
DownloadURL "$ndkSourceFile" "$ndkSourceFile" "$ndkSha1" "$ndkTargetFile"
echo "Unzipping Android NDK to '$targetFolder'"
echo "Unzipping Android NDK to '$ndkTargetDir'"
# Get the package base directory name as string
zipBase=$(sudo zipinfo -1 "$ndkTargetFile" 2>/dev/null | awk '!seen {sub("/.*",""); print; seen=1}')
sudo unzip -q "$ndkTargetFile" -d "$targetFolder"
sudo unzip -q "$ndkTargetFile" -d "$ndkTargetDir"
rm "$ndkTargetFile"
androidNdkRoot="${targetFolder}/${zipBase}"
androidNdkRoot="${ndkTargetDir}/${zipBase}"
}
InstallNdk $ndkVersionLatest $ndkSha1Latest
SetEnvVar "ANDROID_NDK_ROOT_LATEST" "$androidNdkRoot"
# To be used by vcpkg
SetEnvVar "ANDROID_NDK_HOME" "$androidNdkRoot"
export ANDROID_NDK_HOME="$androidNdkRoot"
if [ "$ndkVersionPreview" != "$ndkVersionLatest" ]; then
InstallNdk $ndkVersionPreview $ndkSha1Preview
SetEnvVar "ANDROID_NDK_ROOT_PREVIEW" "$androidNdkRoot"
@@ -105,10 +112,6 @@ if [ "$ndkVersionNightly2" != "$ndkVersionLatest" ]; then
SetEnvVar "ANDROID_NDK_ROOT_NIGHTLY2" "$androidNdkRoot"
fi
# To be used by vcpkg
SetEnvVar "ANDROID_NDK_HOME" "$targetFolder/android-ndk-$ndkVersionLatest"
export ANDROID_NDK_HOME="$targetFolder/android-ndk-$ndkVersionLatest"
echo "Changing ownership of Android files."
if uname -a |grep -q "el7"; then
sudo chown -R qt:wheel "$targetFolder"
@@ -239,7 +242,7 @@ echo "Install minimum supported SDK level image for Android Automotive $sdkApiLe
DownloadURL "$androidAutomotiveMinUrl" "$androidAutomotiveMinUrl" "$androidAutomotiveMinSha" \
"/tmp/${sdkApiLevelAutomotiveMin}_automotive.tar.gz"
sudo tar -xzf "/tmp/${sdkApiLevelAutomotiveMin}_automotive.tar.gz" -C $sdkTargetFolder/system-images
echo "no" | ./avdmanager create avd -n automotive_emulator_x86_64_api_29 -c 2048M -f \
echo "no" | ./avdmanager create avd -n automotive_emulator_x86_64_api_31 -c 2048M -f \
-k "system-images;${sdkApiLevelAutomotiveMin};android-automotive;x86_64"
# Purely informative, show the list of avd devices

View File

@@ -22,6 +22,9 @@
"_active": true,
"excludes": [
"$(splitpath:EXCLUDE_FILES)"
],
"includes": [
"$(splitpath:INCLUDE_FILES)"
]
},
"Frameworks-QtSupport": {
@@ -272,14 +275,17 @@
"Stylechecks": {
"excludes": [
"$(splitpath:EXCLUDE_FILES)"
],
"includes": [
"$(splitpath:INCLUDE_FILES)"
]
}
},
"_Format": "1.0",
"_VersionNum": [
7,
10,
4,
17655
11,
5,
19102
]
}

View File

@@ -10,4 +10,22 @@ export EXCLUDE_FILES="build/*:src/3rdparty/*"
export MODULE=$TESTED_MODULE_COIN
export PACKAGE="Add-ons"
export IRNAME=build/$TESTED_MODULE_COIN.ir
ROOT_DIR=src
MAGIC="Qt-Security score:critical"
INCLUDE_FILES=""
while IFS= read -r file; do
if [ -z "$INCLUDE_FILES" ]; then
INCLUDE_FILES="$file"
else
INCLUDE_FILES="$INCLUDE_FILES:$file"
fi
done <<EOF
$(grep -rl "$MAGIC" "$ROOT_DIR")
EOF
export INCLUDE_FILES
axivion_ci "$@"

View File

@@ -0,0 +1,3 @@
diffutils
make
yasm

View File

@@ -0,0 +1,4 @@
diffutils
libva-devel
make
yasm

View File

@@ -0,0 +1,3 @@
diffutils
make
yasm

View File

@@ -0,0 +1,4 @@
diffutils
libva-dev
make
yasm

View File

@@ -4,9 +4,7 @@
echo "Installing vcpkg android ports"
pushd "${BASH_SOURCE%/*}/vcpkg" || exit
cp "${BASH_SOURCE%/*}/../shared/vcpkg-configuration.json" .
pushd "${BASH_SOURCE%/*}/../shared/vcpkg" || exit
"$VCPKG_ROOT/vcpkg" install --triplet x86-android-qt --x-install-root x86-android-qt-tmp --debug
"$VCPKG_ROOT/vcpkg" install --triplet x86_64-android-qt --x-install-root x86_64-android-qt-tmp --debug

View File

@@ -1,3 +1,9 @@
# Loopback — the QNX SDP's default /etc/hosts ships these, but this
# file overrides that default. Tests that connect to http(s)://localhost
# (e.g. tst_qhttpserver, tst_abstractoauth2) need them present.
127.0.0.1 localhost
::1 localhost
# Need to add all testserver names statically
# as current Docker uses Multicast DNS (mDNS) (avahi)
# Which does not work with QNX qemu

View File

@@ -1,3 +1,9 @@
# Loopback — the QNX SDP's default /etc/hosts ships these, but this
# file overrides that default. Tests that connect to http(s)://localhost
# (e.g. tst_qhttpserver, tst_abstractoauth2) need them present.
127.0.0.1 localhost
::1 localhost
# Need to add all testserver names statically
# as current Docker uses Multicast DNS (mDNS) (avahi)
# Which does not work with QNX qemu

View File

@@ -6,13 +6,13 @@ set -ex
source "${BASH_SOURCE%/*}/../unix/sccache.sh"
targetVersion=v0.11.0
targetVersion=v0.15.0
if [[ $(uname -m) == 'aarch64' ]]; then
targetArch=aarch64-unknown-linux-musl
sha1=b7606d0fb461c0aa7351f511d9223416a322d52a
sha256=3a6a3712b49da3d263bf2d30d702de4302793016019e800bfb81c0c69401d8f8
else
targetArch=x86_64-unknown-linux-musl
sha1=ef389a20c85b732cccd48436a5e28ed40bed2806
sha256=782d2b5dd7ae0a55ebe368ab258114d0928d019ac2d949ab85d5d02f3926709e
fi
installSccache "$targetArch" "$targetVersion" "$sha1"
installSccache "$targetArch" "$targetVersion" "$sha256"

View File

@@ -0,0 +1,39 @@
#!/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
# This script installs Syft
# Syft is used for generating SBOM (Software Bill of Materials) files.
# shellcheck source=../unix/InstallFromCompressedFileFromURL.sh
source "${BASH_SOURCE%/*}/../unix/InstallFromCompressedFileFromURL.sh"
# shellcheck source=../unix/SetEnvVar.sh
source "${BASH_SOURCE%/*}/../unix/SetEnvVar.sh"
version="1.45.1"
uname_m="$(uname -m)"
case "$uname_m" in
x86_64|amd64)
SHA1="06e1d56173209977df8b11ad955843cb62f874fd"
arch="amd64"
;;
arm64|aarch64)
SHA1="c48638b3998066dbd139e94e116a81a6cc6299be"
arch="arm64"
;;
*) fatal "Unknown architecture in uname: $uname_m" 43 ;;
esac
PrimaryUrl="http://ci-files01-hki.ci.qt.io/input/syft/syft_${version}_linux_${arch}.tar.gz"
AltUrl="https://github.com/anchore/syft/releases/download/v${version}/syft_${version}_linux_${arch}.tar.gz"
targetFolder="/opt/syft-$version"
appPrefix=""
InstallFromCompressedFileFromURL "$PrimaryUrl" "$AltUrl" "$SHA1" "$targetFolder" "$appPrefix"
SetEnvVar "PATH" "$targetFolder:\$PATH"
echo "Syft = $version" >> ~/versions.txt

View File

@@ -0,0 +1,20 @@
#!/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
# This script verifies that all installed packages originate from the current release version and not from newer releases.
# The caller provides a regex that matches the allowed release version and excludes packages from newer releases.
set -ex
verify_release_packages() {
local regex_verify="$1"
if rpm -qa --queryformat="%{NAME} %{RELEASE}\n" | grep -E " .*$regex_verify" >/dev/null; then
echo "Found packages that belong to other RHEL release, aborting"
exit 1
else
echo "All package versions checked OK"
fi
}

View File

@@ -69,13 +69,16 @@ function InstallNdk() {
ndkTargetFile="/tmp/$ndkFile"
ndkSourceFile="$basePath/$ndkFile"
ndkTargetDir="$targetFolder/$ndkVersion"
sudo mkdir -p "$ndkTargetDir"
DownloadURL "$ndkSourceFile" "$ndkSourceFile" "$ndkSha1" "$ndkTargetFile"
echo "Unzipping Android NDK to '$targetFolder'"
echo "Unzipping Android NDK to '$ndkTargetDir'"
# Get the package base directory name as string
zipBase=$(sudo zipinfo -1 "$ndkTargetFile" 2>/dev/null | awk '!seen {sub("/.*",""); print; seen=1}')
sudo unzip -q "$ndkTargetFile" -d "$targetFolder"
sudo unzip -q "$ndkTargetFile" -d "$ndkTargetDir"
rm "$ndkTargetFile"
androidNdkRoot="${targetFolder}/${zipBase}"
androidNdkRoot="${ndkTargetDir}/${zipBase}"
}
InstallNdk $ndkVersionLatest $ndkSha1Latest

View File

@@ -0,0 +1,2 @@
diffutils
yasm

View File

@@ -41,7 +41,11 @@ build_ffmpeg() {
popd
}
brew install yasm
# Install required packages through Brew
required_ffmpeg_packages=()
while IFS= read -r line; do required_ffmpeg_packages+=("$line"); done < "${BASH_SOURCE%/*}/../macos/ffmpeg_required_brew_packages.txt"
brew install "${required_ffmpeg_packages[@]}"
export MACOSX_DEPLOYMENT_TARGET=12
fix_relative_dependencies="${BASH_SOURCE%/*}/../macos/fix_relative_dependencies.sh"

View File

@@ -1,35 +0,0 @@
#!/usr/bin/env bash
# Copyright (C) 2020 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
# Install libusb
set -ex
source "${BASH_SOURCE%/*}/../unix/SetEnvVar.sh"
brew install libusb
read -r -a arr <<< "$(brew list --versions libusb)"
version=${arr[1]}
echo "libusb = $version" >> ~/versions.txt
mkdir /tmp/arm64/
mkdir /tmp/amd64/
case $(sw_vers -productVersion) in
11*) codename=big_sur;;
12*) codename=monterey;;
13*) codename=ventura;;
14*) codename=sonoma;;
esac
brew fetch --bottle-tag=arm64_"${codename}" libusb
brew fetch --bottle-tag="${codename}" libusb
tar xf "$(brew --cache --bottle-tag=arm64_"${codename}" libusb)" -C /tmp/arm64/
tar xf "$(brew --cache --bottle-tag="${codename}" libusb)" -C /tmp/amd64
for f in /tmp/arm64/libusb/"$version"/lib/* ; do
if lipo -info "$f" >/dev/null 2>&1; then
file="$(basename "$f")"
lipo -create -output "$(brew --cellar)/libusb/$version/lib/$file" \
"/tmp/arm64/libusb/$version/lib/$file" \
"/tmp/amd64/libusb/$version/lib/$file"
fi
done

View File

@@ -6,12 +6,12 @@ set -ex
source "${BASH_SOURCE%/*}/../unix/sccache.sh"
targetVersion=v0.11.0
targetVersion=v0.15.0
if [[ `arch` == arm* ]]; then
targetArch=aarch64-apple-darwin
sha1=3261ab99e5bb1f9f36eafa597d11491bd85da5ec
sha256=430ef7b5f54256d3ed5bfe77e8b0afc51aa209aeebe4f95b69c3a52ce3acc6e9
else
targetArch=x86_64-apple-darwin
sha1=57810789bf2813dfa9bf5da26a712dc30b56ce16
sha256=f8da93e0689122268f720ddb48c8357f3da18be8c88aff23a8e75a7a219367db
fi
installSccache "$targetArch" "$targetVersion" "$sha1"
installSccache "$targetArch" "$targetVersion" "$sha256"

View File

@@ -0,0 +1,39 @@
#!/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
# This script installs Syft
# Syft is used for generating SBOM (Software Bill of Materials) files.
# shellcheck source=../unix/InstallFromCompressedFileFromURL.sh
source "${BASH_SOURCE%/*}/../unix/InstallFromCompressedFileFromURL.sh"
# shellcheck source=../unix/SetEnvVar.sh
source "${BASH_SOURCE%/*}/../unix/SetEnvVar.sh"
version="1.45.1"
uname_m="$(uname -m)"
case "$uname_m" in
x86_64|amd64)
SHA1="ecd1a9283e4ce025b5905a85e505fcba237edd51"
arch="amd64"
;;
arm64|aarch64)
SHA1="996f3985f14ebbe8661c0b72d7ad520200155c46"
arch="arm64"
;;
*) fatal "Unknown architecture in uname: $uname_m" 43 ;;
esac
PrimaryUrl="http://ci-files01-hki.ci.qt.io/input/syft/syft_${version}_darwin_${arch}.tar.gz"
AltUrl="https://github.com/anchore/syft/releases/download/v${version}/syft_${version}_darwin_${arch}.tar.gz"
targetFolder="/opt/syft-$version"
appPrefix=""
InstallFromCompressedFileFromURL "$PrimaryUrl" "$AltUrl" "$SHA1" "$targetFolder" "$appPrefix"
SetEnvVar "PATH" "$targetFolder:\$PATH"
echo "Syft = $version" >> ~/versions.txt

View File

@@ -1 +1 @@
--disable-programs --disable-doc --disable-debug --enable-network --disable-lzma --enable-pic --disable-vulkan --disable-v4l2-m2m --disable-decoder=truemotion1
--disable-programs --disable-doc --disable-debug --enable-network --disable-lzma --enable-pic --disable-vulkan --disable-v4l2-m2m --disable-decoder=truemotion1 --disable-avdevice --disable-avfilter

View File

@@ -40,7 +40,7 @@ if [[ "$patchelf_version" == "0.18.0" ]]; then
echo "WARNING: patchelf version 0.18.0 is known to have issues with Android." >&2
fi
ffmpeg_libs=("avcodec" "avdevice" "avfilter" "avformat" "avutil" "swresample" "swscale")
ffmpeg_libs=("avcodec" "avformat" "avutil" "swresample" "swscale")
stub_prefix="Qt6FFmpegStub-"
for lib_name in "${ffmpeg_libs[@]}"; do

View File

@@ -2,8 +2,8 @@
"$schema": "https://raw.githubusercontent.com/microsoft/vcpkg-tool/main/docs/vcpkg-configuration.schema.json",
"default-registry": {
"kind": "git",
"repository": "https://git.qt.io/aledelev/vcpkg",
"repository": "https://git.qt.io/qtbuildsystem/vcpkg",
"baseline": "9c5c2a0ab75aff5bcd08142525f6ff7f6f7ddeee"
},
"overlay-triplets": [ "./../../shared/triplets" ]
"overlay-triplets": [ "./../triplets" ]
}

View File

@@ -1,2 +1 @@
https://git.qt.io/aledelev/vcpkg.git
https://git.qt.io/mrmsdbdl/vcpkg-mirror.git
https://git.qt.io/qtbuildsystem/vcpkg.git

View File

@@ -1,4 +1,4 @@
vcpkg_tool_release_tag=2025-09-03
windows_x64_checksum=4523B5B2CE77BD0F6DCA55140D831EA6EB03046D5F4496C85DF94AC1A7EFAB01
windows_arm64_checksum=1E8653243C0E7D73FF1F0F3F25A55C8154888F331510F9545AD200EDD3CCB962
linux_checksum=f0c4b30afc2f7baa9cc4372ac325042418251343e0192dbfac94c4f602e9d3ed
unix_checksum=f0c4b30afc2f7baa9cc4372ac325042418251343e0192dbfac94c4f602e9d3ed

View File

@@ -9,19 +9,19 @@ source "${BASH_SOURCE%/*}/DownloadURL.sh"
# shellcheck source=./SetEnvVar.sh
source "${BASH_SOURCE%/*}/SetEnvVar.sh"
# This script will install go 1.25.2
version="1.25.2"
# This script will install go 1.26.2
version="1.26.2"
if [[ "$os" == "linux" ]]; then
uname_m="$(uname -m)"
case "$uname_m" in
x86_64|amd64)
sha256="a08c8c36946c86890ca46185765da34442ce64aa"
sha256="990e6b4bbba816dc3ee129eaeaf4b42f17c2800b88a2166c265ac1a200262282"
pkgname="go$version.linux-amd64.tar.gz"
dirname="go$version.linux-amd64"
;;
arm64|aarch64)
sha256="13690a4ecac03e6cca6988a6d2ce80bfa938eb7b"
sha256="c958a1fe1b361391db163a485e21f5f228142d6f8b584f6bef89b26f66dc5b23"
pkgname="go$version.linux-arm64.tar.gz"
dirname="go$version.linux-arm64"
;;
@@ -31,12 +31,12 @@ elif [ "$os" == "macos" ]; then
uname_m="$(uname -m)"
case "$uname_m" in
x86_64|amd64)
sha256="eda89df8fd85a49e4046f85340236248a5d2a7cd"
sha256="bc3f1500d9968c36d705442d90ba91addf9271665033748b82532682e90a7966"
pkgname="go$version.darwin-amd64.tar.gz"
dirname="go$version.darwin-amd64"
;;
arm64|aarch64)
sha256="1745a71d18f9946f7aac9f9528e3227c8132cc08"
sha256="32af1522bf3e3ff3975864780a429cc0b41d190ec7bf90faa661d6d64566e7af"
pkgname="go$version.darwin-arm64.tar.gz"
dirname="go$version.darwin-arm64"
;;

View File

@@ -0,0 +1,112 @@
#!/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
# This script will build and install rust toolchain
set -ex
PROVISIONING_DIR="$(dirname "$0")/../../"
# shellcheck source=./../unix/common.sourced.sh
source "${BASH_SOURCE%/*}/../unix/common.sourced.sh"
# shellcheck source=./../unix/DownloadURL.sh
source "${BASH_SOURCE%/*}/../unix/DownloadURL.sh"
# shellcheck source=./../unix/SetEnvVar.sh
source "${BASH_SOURCE%/*}/../unix/SetEnvVar.sh"
version="1.92.0"
sourceName="rustc-$version-src"
sourceFile="$sourceName.tar.xz"
cachedUrl="http://ci-files01-hki.ci.qt.io/input/rust/$sourceFile"
officialUrl="https://static.rust-lang.org/dist/$sourceFile"
sourcesSHA256="ebee170bfe4c4dfc59521a101de651e5534f4dae889756a5c97ca9ea40d0c307"
function BuildRust() {
buildFolder=$1
installPrefix=$2
target=$3
channel=$4
outputTarball=$5
tmpFolder=$6
targetFile=$tmpFolder/$sourceFile
srcFolder=$tmpFolder/$sourceName
if [ ! -d "$srcFolder" ]; then
DownloadURL $cachedUrl $officialUrl $sourcesSHA256 $targetFile
tar -C "$tmpFolder" -Jxf "$targetFile"
fi
mkdir -p "$buildFolder"
cd "$buildFolder"
$srcFolder/configure \
--prefix=$installPrefix \
--sysconfdir=etc \
--enable-llvm-link-shared \
--enable-profiler \
--disable-cargo-native-static \
--disable-vendor \
--disable-docs \
--disable-lld \
--target=$target \
--release-description=QtCI \
--release-channel=$channel
echo "Building rust"
python $srcFolder/x.py dist
# x.py doesnt like running as root so install under our temporary folder for now
export DESTDIR=$tmpFolder
echo "Installing rust"
python $srcFolder/x.py install
# rustc must be in path for cargo to work
OLDPATH=$PATH
export PATH=$DESTDIR$installPrefix/bin:$PATH
echo "Installing rust bindgen tool."
$tmpFolder$installPrefix/bin/cargo install bindgen-cli --root $DESTDIR$installPrefix
tar -czf "$outputTarball" -C "$DESTDIR$installPrefix" .
rm -rf "$buildFolder"
export PATH=$OLDPATH
unset DESTDIR
}
function InstallRust() {
buildFolder=$1
installPrefix=$2
target=$3
channel=$4
prebuiltSHA256=$5
tmpFolder=$(mktemp -d)
# e.g rust-1.92.0-macos-arm64-prebuilt.tar.gz or rust-1.92.0-macos-amd64-prebuilt.tar.gz
prebuiltFile="rust-$version-$PROVISIONING_OS-$PROVISIONING_ARCH-prebuilt.tar.gz"
prebuiltRust="http://ci-files01-hki.ci.qt.io/input/rust/$prebuiltFile"
prebuiltTarget="$tmpFolder$prebuiltFile"
DownloadURL $prebuiltRust "" $prebuiltSHA256 $prebuiltTarget $tmpFolder || (
if [ $COIN_RUNS_IN_QT_COMPANY = true ]
then
echo "Fetching prebuilt rust failed."
exit 1
else
echo "Fetching prebuilt rust failed. Building from sources."
BuildRust $buildFolder $installPrefix $target $channel $prebuiltTarget
fi
)
sudo mkdir "$installPrefix"
sudo tar -xzf "$prebuiltTarget" -C "$installPrefix"
rm -rf "$prebuiltTarget"
rm -rf "$tmpFolder"
SetEnvVar "PATH" "$installPrefix/bin:\$PATH"
echo "Rust = $version" >> ~/versions.txt
}

View File

@@ -7,12 +7,11 @@ source "${BASH_SOURCE%/*}/../unix/SetEnvVar.sh"
echo "Installing vcpkg ports"
pushd "${BASH_SOURCE%/*}/vcpkg" || exit
cp "${BASH_SOURCE%/*}/../shared/vcpkg-configuration.json" .
pushd "${BASH_SOURCE%/*}/../shared/vcpkg" || exit
install_root=x64-linux-qt-tmp
install_root=$1-tmp
"$VCPKG_ROOT/vcpkg" install --triplet x64-linux-qt --x-install-root $install_root --debug
"$VCPKG_ROOT/vcpkg" install --triplet $1 --x-install-root $install_root --debug
cmake "-DVCPKG_EXECUTABLE=$VCPKG_ROOT/vcpkg"\
"-DVCPKG_INSTALL_ROOT=$PWD/$install_root"\
@@ -26,5 +25,7 @@ cp -R $install_root/* "$VCPKG_ROOT/installed/"
SetEnvVar "VCPKG_INSTALLED_DIR" "$VCPKG_ROOT/installed/"
rm -rf $install_root
rm -rf "$VCPKG_ROOT/buildtrees/"
rm -rf "$VCPKG_ROOT/packages/"
popd || exit

View File

@@ -34,7 +34,7 @@ do
"vcpkg_tool_release_tag")
vcpkgToolReleaseTag=${keyValue[1]}
;;
"linux_checksum")
"unix_checksum")
vcpkgToolChecksum=${keyValue[1]}
;;
esac
@@ -86,7 +86,7 @@ SetEnvVar "VCPKG_ROOT" "$vcpkgRoot"
export VCPKG_ROOT="$vcpkgRoot"
# Set a source for vcpkg Binary and Asset Cache
# The `coin/provisioning/common/linux/mount-vcpkg-cache-drive.sh` script is
# The `coin/provisioning/common/<platform>/mount-vcpkg-cache-drive.sh` script is
# mounting the SMB share located in `vcpkg-server.ci.qt.io/vcpkg` to
# $HOME/vcpkg-cache/
export VCPKG_BINARY_SOURCES="files,$HOME/vcpkg-cache/binaries,readwrite"

View File

@@ -22,3 +22,13 @@ sudo mv "$targetFile" "$targetFolder"
SetEnvVar "PATH" "$targetFolder:\$PATH"
# Extract baseline cache
sha1="e397b7934a8c892753166435aff8775c0b5aa5bf"
pkgname="maven_cache-openapi-$version.tar.gz"
internalUrl="http://ci-files01-hki.ci.qt.io/input/qtopenapi/maven/$pkgname"
targetFile="$HOME/$pkgname"
DownloadURL "$internalUrl" "$internalUrl" "$sha1" "$targetFile"
echo "Extracting maven cache to ~/.m2"
tar -xzf "$targetFile" -C "$HOME"
rm "$targetFile"

View File

@@ -36,4 +36,6 @@ function installSccache {
# Prevents some random network I/O errors from failing compilation
# Does not seem to affect much though
SetEnvVar "SCCACHE_IGNORE_SERVER_IO_ERROR" "1"
# Enable a local preprocessor cache.
SetEnvVar SCCACHE_DIRECT 1
}

View File

@@ -52,25 +52,26 @@ $sdkZip = "c:\Windows\Temp\$toolsFile"
New-Item -ItemType Directory -Path C:\Utils\Android\
New-Item -ItemType Directory -Path C:\Windows\Temp\android_extract
function Install($1, $2, $3, $4) {
function Install($1, $2, $3, $4, $5) {
$cacheUrl = $1
$zip = $2
$checksum = $3
$offcialUrl = $4
$ndkVersion = $5
$tempExtractDir = "C:\Windows\Temp\android_extract"
Download $offcialUrl $cacheUrl $zip
Verify-Checksum $zip "$checksum"
Extract-7Zip $zip $tempExtractDir
$baseDirectory = (Get-ChildItem $tempExtractDir -Attributes D | Select-Object -First 1).Name
Move-Item -Path ($tempExtractDir + "\" + $baseDirectory) -Destination "C:\Utils\Android\$baseDirectory" -Force
Move-Item -Path ($tempExtractDir + "\" + $baseDirectory) -Destination "C:\Utils\Android\$ndkVersion\$baseDirectory" -Force
Remove $zip
return "C:\Utils\Android\$baseDirectory"
return "C:\Utils\Android\$ndkVersion\$baseDirectory"
}
Write-Host "Installing Android NDK $nkdVersionLatest"
$ndkFolderLatest = Install $ndkCachedUrlLatest $ndkZip $ndkChecksumLatest $ndkOfficialUrlLatest
$ndkFolderLatest = Install $ndkCachedUrlLatest $ndkZip $ndkChecksumLatest $ndkOfficialUrlLatest $nkdVersionLatest
Set-EnvironmentVariable "ANDROID_NDK_ROOT_LATEST" $ndkFolderLatest
# To be used by vcpkg
Set-EnvironmentVariable "ANDROID_NDK_HOME" $ndkFolderLatest
@@ -84,14 +85,14 @@ if ($ndkVersionPreview -ne $ndkVersionLatest) {
if ($ndkVersionNightly1 -ne $ndkVersionLatest) {
Write-Host "Installing Android NDK $ndkVersionNightly1"
$ndkFolderNightly = Install $ndkCachedUrlNightly1 $ndkZip $ndkChecksumNightly1 $ndkOfficialUrlNightly1
$ndkFolderNightly = Install $ndkCachedUrlNightly1 $ndkZip $ndkChecksumNightly1 $ndkOfficialUrlNightly1 $ndkVersionNightly1
Set-EnvironmentVariable "ANDROID_NDK_ROOT_NIGHTLY1" $ndkFolderNightly
Write-Output "Android NDK = $ndkVersionNightly1" >> ~/versions.txt
}
if ($ndkVersionNightly2 -ne $ndkVersionLatest) {
Write-Host "Installing Android NDK $ndkVersionNightly2"
$ndkFolderNightly = Install $ndkCachedUrlNightly2 $ndkZip $ndkChecksumNightly2 $ndkOfficialUrlNightly2
$ndkFolderNightly = Install $ndkCachedUrlNightly2 $ndkZip $ndkChecksumNightly2 $ndkOfficialUrlNightly2 $ndkVersionNightly2
Set-EnvironmentVariable "ANDROID_NDK_ROOT_NIGHTLY2" $ndkFolderNightly
Write-Output "Android NDK = $ndkVersionNightly2" >> ~/versions.txt
}

View File

@@ -0,0 +1,3 @@
diffutils
make
yasm

View File

@@ -3,23 +3,23 @@
. "$PSScriptRoot\helpers.ps1"
$version = "1.22.4"
$version = "1.26.2"
$cpu_arch = Get-CpuArchitecture
switch ($cpu_arch) {
x64 {
$arch = "amd64"
$sha256 = "3c21105d7b584759b6e266383b777caf6e87142d304a10b539dbc66ab482bb5f"
$sha256 = "84826eca833548bb2beabe7429052eaaec18faa902fde723898d906b42e59a73"
break
}
x86 {
$arch = "386"
$sha256 = "5c6446e2ea80bc6a971d2b34446f16e6517e638b0ff8d3ea229228d1931790b0"
$sha256 = "9a63074567b8a0a94091e8f6c2096f5d4d0369c7bbaed08158a63004d8b8cac1"
break
}
arm64 {
$arch = "arm64"
$sha256 = "553cc6c460f4e3eb4fad5b897c0bb22cd8bbeb20929f0e3eeb939420320292ce"
$sha256 = "f59e0e51370cac7ab5742c4ed9fc151f0a20918396c893996125a1c6ed7d9525"
break
}
default {

View File

@@ -20,6 +20,8 @@ $url_cache = "https://ci-files01-hki.ci.qt.io/input/windows/$package"
$url_official = "http://repo.msys2.org/distrib/$arch/$package"
$TargetLocation = "C:\Utils"
$required_packages = @("perl")
$required_packages += Get-Content "$PSScriptRoot\..\windows\ffmpeg_required_msys_packages.txt"
if ((Test-Path $url_cache_prebuilt)) {
$PackagePath = "C:\Windows\Temp\$package_prebuilt"
@@ -35,7 +37,8 @@ if ((Test-Path $url_cache_prebuilt)) {
# install perl make and yasm
# Run these without 'Run-Executable' function. When using the function the gpg-agent will lock the needed tmp*.tmp file.
cmd /c "$msys `"-l`" `"-c`" `"rm -rf /etc/pacman.d/gnupg;pacman-key --init;pacman-key --populate msys2;pacman-key --refresh;pacman -S --noconfirm perl make yasm diffutils`""
$required_packages_string = $required_packages -join ' '
cmd /c "$msys `"-l`" `"-c`" `"rm -rf /etc/pacman.d/gnupg;pacman-key --init;pacman-key --populate msys2;pacman-key --refresh;pacman -S --noconfirm $required_packages_string`""
Start-Sleep -s 60
cmd /c "$msys `"-l`" `"-c`" `"echo y | cpan -i Text::Template Test::More`""
@@ -46,6 +49,16 @@ if ((Test-Path $url_cache_prebuilt)) {
if (Get-Process -Name "dirmngr" -ErrorAction SilentlyContinue) { Stop-Process -Force -Name dirmngr }
}
$msys = "C:\Utils\msys64\usr\bin\bash"
# Confirm that we have the correct packages installed, in case prebuilt MSYS
# binaries are missing them.
$installed = & "$msys" -lc "pacman -Qq"
$installedSet = $installed | Sort-Object -Unique
$missing_packages = $required_packages | Where-Object { $_ -notin $installedSet }
if ($missing_packages.Count -ne 0) {
throw "Missing MSYS packages: $($missing_packages -join ' ')"
}
Write-Host "Cleaning $PackagePath.."
Remove "$PackagePath"

View File

@@ -5,14 +5,14 @@
. "$PSScriptRoot\helpers.ps1"
$version = "7.15.0"
$version = "7.18.0"
$temp = "$env:tmp"
Write-Host "Fetching openapi generator ver. $version..."
$url_cache = "http://ci-files01-hki.ci.qt.io/input/qtopenapi/openapi_client_generators/openapi-generator-cli-$version.jar"
$url_official = "https://repo1.maven.org/maven2/org/openapitools/openapi-generator-cli/$version/openapi-generator-cli-$version.jar"
$target_file = "openapi-generator-cli.jar"
$sha1 = "bb58e257f724fb46b7f2b309a9fa98e63fd7199f"
$sha1 = "8bd615a50b15ebf5be30e612af112526a6e81ac4"
Download $url_official $url_cache "$temp\$target_file"
Verify-Checksum "$temp\$target_file" $sha1
@@ -25,3 +25,14 @@ Move-Item "$temp\$target_file" "$openapi_location\$target_file"
Prepend-Path "$openapi_location"
Write-Output "OpenAPI generator = $version" >> ~/versions.txt
# Extract baseline cache for openapi
$pkgname = "maven_cache-openapi-$version.tar.gz"
$url_cache = "http://ci-files01-hki.ci.qt.io/input/qtopenapi/maven/$pkgname"
$sha1 = "e397b7934a8c892753166435aff8775c0b5aa5bf"
Download $url_cache $url_cache "$temp\$pkgname"
Verify-Checksum "$temp\$pkgname" $sha1
$cache_location = "C:\Users\qt"
Write-Host "Extracting $pkgname to $cache_location"
Extract-tar_gz "$temp\$pkgname" "$cache_location"

View File

@@ -6,22 +6,22 @@
. "$PSScriptRoot\helpers.ps1"
$version="v0.11.0-jimis3"
$version="v0.15.0"
$cpu_arch = Get-CpuArchitecture
switch ($cpu_arch) {
arm64 {
$arch="aarch64-pc-windows-msvc"
$sha1="be429b6c33da9408bba827815d04fceeadf6dbd1"
$sha="f4f304dc9dd9bd2f9b0032a0091efac1c093934bb095f207381558f80c3d0a24"
break
}
x64 {
$arch="x86_64-pc-windows-msvc"
$sha1="bcce35f6b39e2d1d0829f2277fd749767e057486"
$sha="b0b257a164bf438b2dea134ca7ded41c100f59a64b3bf275a202f1e8102ab217"
break
}
x86 {
$arch="x86-pc-windows-gnu"
$sha1="287f4c3b7db21b72138704b8fe96827e6b1643a8"
$sha="287f4c3b7db21b72138704b8fe96827e6b1643a8"
$version="0.2.13-alpha-0"
break
}
@@ -40,7 +40,7 @@ $targetFolder = "C:\Program Files\"
Write-Host "Downloading sccache $version..."
Download $urlOfficial $urlCache $tempfile
Verify-Checksum $tempfile $sha1
Verify-Checksum $tempfile $sha
Write-Host "Extracting $tempfile to $targetFolder..."
Extract-tar_gz $tempfile $targetFolder
Remove-Item -Path $tempfile
@@ -53,6 +53,8 @@ Set-EnvironmentVariable "SCCACHE_IGNORE_SERVER_IO_ERROR" "1"
# add sccache to PATH
Set-EnvironmentVariable "PATH" "C:\Program Files\$basename\;$([Environment]::GetEnvironmentVariable('PATH', 'Machine'))"
# Enable a local preprocessor cache.
Set-EnvironmentVariable "SCCACHE_DIRECT" "1"
# update versions
Write-Output "sccache = $version" >> ~\versions.txt

View File

@@ -7,9 +7,7 @@ $vcpkgExe = "$env:VCPKG_ROOT\vcpkg.exe"
$vcpkgRoot = "$env:VCPKG_ROOT"
$vcpkgInstallRoot = "armeabi-v7a-android-qt-tmp"
Set-Location -Path "$PSScriptRoot\vcpkg"
Copy-Item "$PSScriptRoot\..\shared\vcpkg-configuration.json" -Destination "$PSScriptRoot\vcpkg"
Set-Location -Path "$PSScriptRoot\..\shared\vcpkg"
Run-Executable "$vcpkgExe" "install --triplet armeabi-v7a-android-qt --x-install-root $vcpkgInstallRoot --debug"
New-Item -Path "$vcpkgRoot" -Name "installed" -ItemType "directory" -Force

View File

@@ -10,9 +10,7 @@ $vcpkgExe = "$env:VCPKG_ROOT\vcpkg.exe"
$vcpkgRoot = "$env:VCPKG_ROOT"
$vcpkgInstallRoot = "$arch-windows-qt-tmp"
Set-Location -Path "$PSScriptRoot\vcpkg"
Copy-Item "$PSScriptRoot\..\shared\vcpkg-configuration.json" -Destination "$PSScriptRoot\vcpkg"
Set-Location -Path "$PSScriptRoot\..\shared\vcpkg"
Run-Executable "$vcpkgExe" "install --triplet $arch-windows-qt --x-install-root $vcpkginstallroot --debug"
New-Item -Path "$vcpkgRoot" -Name "installed" -ItemType "directory" -Force

View File

@@ -0,0 +1,64 @@
# 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
# This script installs QNX 8.
. "$PSScriptRoot\helpers.ps1"
$tempFolder = "c:\Windows\Temp"
function DownloadAndExtract($1, $2, $3, $4, $5) {
$url = $1
$sha = $2
$file = $3
$folder = $4
$cachedUrl = $5
Download $url $cachedUrl "$tempFolder\$file"
Verify-Checksum "$tempFolder\$file" "$sha"
Extract-tar_gz "$tempFolder\$file" $folder
}
$aarch64le_toolchain = "$PSScriptRoot\..\shared\cmake_toolchain_files\qnx-toolchain-aarch64le.cmake"
$armv7le_toolchain = "$PSScriptRoot\..\shared\cmake_toolchain_files\qnx-toolchain-armv7le.cmake"
$x8664_toolchain = "$PSScriptRoot\..\shared\cmake_toolchain_files\qnx-toolchain-x8664.cmake"
$targetFolder = "C:\Utils\"
$folderName = "qnx800"
$targetPath = "$targetFolder$folderName"
# QNX SDP
$cachedUrl = "\\ci-files01-hki.ci.qt.io\provisioning\qnx\qnx800-windows-linux-20260410.tar.xz"
$sourceFile = "http://ci-files01-hki.ci.qt.io/input/qnx/qnx800-windows-linux-20260410.tar.xz"
$targetFile = "qnx800.tar.xz"
$sha1 = "a3fdcd98e12bc5054d00f18e4088af26288fd020"
DownloadAndExtract $sourceFile $sha1 $targetFile $targetFolder $cachedUrl
# IANA timezone database overlay. Packaged separately from the SDP so it can be
# bumped without rebuilding the SDP tarball. Archive root is qnx800/target/qnx/
# so it overlays onto $targetFolder (C:\Utils\) directly.
$cachedUrl = "\\ci-files01-hki.ci.qt.io\provisioning\qnx\zoneinfo-2026a.tar.xz"
$sourceFile = "http://ci-files01-hki.ci.qt.io/input/qnx/zoneinfo-2026a.tar.xz"
$targetFile = "zoneinfo.tar.xz"
$sha1 = "8c1678ff673bb588f63fc9277497cd38e0ea2253"
DownloadAndExtract $sourceFile $sha1 $targetFile $targetFolder $cachedUrl
Copy-Item $aarch64le_toolchain $targetPath
Copy-Item $armv7le_toolchain $targetPath
Copy-Item $x8664_toolchain $targetPath
cmd /c "dir $targetPath"
# Verify that we have last files in tars
if (-not (test-path $targetPath\qnxsdp-env.bat)) {
throw "QNX SDP installation failed!"
}
if (-not (test-path $targetPath\qnx-toolchain-x8664.cmake)) {
throw "QNX toolchain installation failed!"
}
# Set env variables
Set-EnvironmentVariable "QNX_800" "$targetPath"
Set-EnvironmentVariable "QNX_800_CMAKE" "C:/Utils/$folderName"
Write-Output "QNX SDP = 8.0.0" >> ~\versions.txt

View File

@@ -0,0 +1,44 @@
# 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
. "$PSScriptRoot\helpers.ps1"
$version = "1.45.1"
$cpu_arch = Get-CpuArchitecture
Write-Host "Installing Syft for architecture $cpu_arch"
switch ($cpu_arch) {
arm64 {
$arch = "arm64"
$sha1 = "f629f6fa9c542e8803aa13987f8104a441c15878"
Break
}
x64 {
$arch = "amd64"
$sha1 = "debd2e1e77763fe8cf224e791abf79e11dc4a93b"
Break
}
default {
throw "Unknown architecture $cpu_arch"
}
}
$filename = "syft_" + $version + "_windows_" + $arch
$filename_zip = $filename + ".zip"
$zip = Get-DownloadLocation ($filename_zip)
$externalUrl = "https://github.com/anchore/syft/releases/download/v" + $version + "/" + $filename_zip
$internalUrl = "https://ci-files01-hki.ci.qt.io/input/syft/" + $filename_zip
Write-Host "Removing old syft"
Remove "C:\syft"
Download $externalUrl $internalUrl $zip
Verify-Checksum $zip $sha1
Extract-7Zip $zip C:\syft
Remove "$zip"
Add-Path "C:\syft"
Write-Output "Syft ($arch) = $version" >> ~\versions.txt

View File

@@ -1,14 +0,0 @@
{
"overrides": [
{
"name": "openssl",
"version": "3.0.7",
"port-version": 2
}
],
"dependencies": [
"openssl",
"protobuf",
"grpc"
]
}

View File

@@ -0,0 +1,33 @@
#!/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
# This same script is used to provision java version 21 to linux Debian 11.6 aarch64
set -e
BASEDIR=$(dirname "$0")
source "$BASEDIR/../common/unix/SetEnvVar.sh"
source "$BASEDIR/../common/unix/DownloadURL.sh"
version="21.0.11"
url="https://ci-files01-hki.ci.qt.io/input/java/OpenJDK21U-jdk_aarch64_linux_hotspot_${version}_10.tar.gz"
url_cached="https://ci-files01-hki.ci.qt.io/input/java/OpenJDK21U-jdk_aarch64_linux_hotspot_${version}_10.tar.gz"
sha1="ae66135b46d114a234bbb692bf965c9f95368780 "
tar_package="/tmp/java21.tar.gz"
destination="/usr/lib/jvm"
mkdir -p "$destination"
DownloadURL $url_cached $url $sha1 $tar_package
sudo tar -xzf $tar_package -C "$destination"
rm -rf "$tar_package"
sudo ln -snf "$destination/jdk-$version+10" "$destination/default"
JAVA21_HOME="$destination/default"
SetEnvVar "JAVA_HOME" "$JAVA21_HOME"
SetEnvVar "PATH" "$JAVA21_HOME/bin:$PATH"

View File

@@ -23,7 +23,7 @@ tempDir=$(mktemp -d)
targetFile=$(mktemp)
DownloadURL "$develPackageURL" "$develPackageExternalURL" "$sha1Dev" "$targetFile"
7z x -y -o"$tempDir" "$targetFile"
7z x -snld20 -y -o"$tempDir" "$targetFile"
sudo cp -a "$tempDir"/* "$icuLocationLib"

View File

@@ -60,7 +60,7 @@ EOC
sudo tee "/etc/yum.repos.d/epel-10.0.repo" > /dev/null <<EOC
[epel-10.0]
name = Extra Packages for Enterprise Linux 10.0 (Qt pinned)
baseurl = https://dl.fedoraproject.org/pub/epel/10.0/Everything/x86_64/
baseurl = https://archive.fedoraproject.org/pub/archive/epel/10.0/Everything/x86_64/
enabled = 1
gpgcheck = 1

View File

@@ -54,8 +54,10 @@ installPackages+=(gstreamer1-plugins-base-devel)
#installPackages+=(gstreamer1-plugin-openh264)
# pipewire for QtMultimedia
installPackages+=(pipewire-devel)
# yasm for QtMultimedia
installPackages+=(yasm)
# Required FFmpeg packages
required_ffmpeg_packages=()
while IFS= read -r line; do required_ffmpeg_packages+=("$line"); done < "${BASH_SOURCE%/*}/../common/linux/ffmpeg_required_rhel_packages.txt"
installPackages+=("${required_ffmpeg_packages[@]}")
# gtk3 style for QtGui/QStyle
installPackages+=(gtk3-devel)
# libusb1 for tqtc-boot2qt/qdb

View File

@@ -1,9 +1,8 @@
#!/usr/bin/env bash
#Copyright (C) 2023 The Qt Company Ltd
#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 -ex
BASEDIR=$(dirname "$0")
"$BASEDIR/../common/macos/libusb.sh"
"$BASEDIR/../common/linux/syft.sh"

View File

@@ -3,4 +3,4 @@
set -ex
BASEDIR=$(dirname "$0")
"$BASEDIR/../common/linux/install-vcpkg.sh"
"$BASEDIR/../common/unix/install-vcpkg.sh"

View File

@@ -3,4 +3,4 @@
set -ex
BASEDIR=$(dirname "$0")
"$BASEDIR/../common/linux/install-vcpkg-ports.sh" x64-linux-qt
"$BASEDIR/../common/unix/install-vcpkg-ports.sh" x64-linux-qt

View File

@@ -9,9 +9,13 @@
set -ex
# shellcheck disable=SC2129
source "${BASH_SOURCE%/*}/../common/linux/verify-release-packages.sh"
echo "*********************************************" >> ~/versions.txt
echo "***** All installed RPM packages *****" >> ~/versions.txt
rpm -q -a | sort >> ~/versions.txt
echo "*********************************************" >> ~/versions.txt
"$(dirname "$0")/../common/linux/version.sh"
verify_release_packages "10_[1-9]"

View File

@@ -60,9 +60,10 @@ installPackages+=(gstreamer1-devel)
installPackages+=(gstreamer1-plugins-base-devel)
# pipewire for QtMultimedia
installPackages+=(pipewire-devel)
# for QtMultimedia, ffmpeg
installPackages+=(yasm)
installPackages+=(libva-devel)
# Required FFmpeg packages
required_ffmpeg_packages=()
while IFS= read -r line; do required_ffmpeg_packages+=("$line"); done < "${BASH_SOURCE%/*}/../common/linux/ffmpeg_required_rhel_packages.txt"
installPackages+=("${required_ffmpeg_packages[@]}")
# gtk3 style for QtGui/QStyle
installPackages+=(gtk3-devel)
# libusb1 for tqtc-boot2qt/qdb

View File

@@ -3,4 +3,4 @@
set -ex
BASEDIR=$(dirname "$0")
"$BASEDIR/../common/linux/install-vcpkg.sh"
"$BASEDIR/../common/unix/install-vcpkg.sh"

View File

@@ -8,7 +8,7 @@ echo "ANDOID_NDK_HOME: ${ANDROID_NDK_HOME}"
# Installing common ports
BASEDIR=$(dirname "$0")
"$BASEDIR/../common/linux/install-vcpkg-ports.sh"
"$BASEDIR/../common/unix/install-vcpkg-ports.sh" x64-linux-qt
# Installing platform specific ports
"$BASEDIR/../common/linux/install-vcpkg-ports-android.sh"

View File

@@ -47,9 +47,10 @@ installPackages+=(dbus-devel)
installPackages+=(gstreamer1-plugins-bad-free)
installPackages+=(gstreamer1-devel)
installPackages+=(gstreamer1-plugins-base-devel)
# for QtMultimedia, ffmpeg
installPackages+=(yasm)
installPackages+=(libva-devel)
# Required FFmpeg packages
required_ffmpeg_packages=()
while IFS= read -r line; do required_ffmpeg_packages+=("$line"); done < "${BASH_SOURCE%/*}/../common/linux/ffmpeg_required_rhel_packages.txt"
installPackages+=("${required_ffmpeg_packages[@]}")
# gtk3 style for QtGui/QStyle
installPackages+=(gtk3-devel)
# libusb1 for tqtc-boot2qt/qdb

View File

@@ -48,9 +48,10 @@ installPackages+=(dbus-devel)
installPackages+=(gstreamer1-plugins-bad-free)
installPackages+=(gstreamer1-devel)
installPackages+=(gstreamer1-plugins-base-devel)
# for QtMultimedia, ffmpeg
installPackages+=(yasm)
installPackages+=(libva-devel)
# Required FFmpeg packages
required_ffmpeg_packages=()
while IFS= read -r line; do required_ffmpeg_packages+=("$line"); done < "${BASH_SOURCE%/*}/../common/linux/ffmpeg_required_rhel_packages.txt"
installPackages+=("${required_ffmpeg_packages[@]}")
# gtk3 style for QtGui/QStyle
installPackages+=(gtk3-devel)
# libusb1 for tqtc-boot2qt/qdb

View File

@@ -60,9 +60,10 @@ installPackages+=(dbus-devel)
installPackages+=(gstreamer1-plugins-bad-free)
installPackages+=(gstreamer1-devel)
installPackages+=(gstreamer1-plugins-base-devel)
# for QtMultimedia, ffmpeg
installPackages+=(yasm)
installPackages+=(libva-devel)
# Required FFmpeg packages
required_ffmpeg_packages=()
while IFS= read -r line; do required_ffmpeg_packages+=("$line"); done < "${BASH_SOURCE%/*}/../common/linux/ffmpeg_required_rhel_packages.txt"
installPackages+=("${required_ffmpeg_packages[@]}")
# gtk3 style for QtGui/QStyle
installPackages+=(gtk3-devel)
# libusb1 for tqtc-boot2qt/qdb

View File

@@ -60,9 +60,10 @@ installPackages+=(gstreamer1-devel)
installPackages+=(gstreamer1-plugins-base-devel)
# pipewire for QtMultimedia
installPackages+=(pipewire-devel)
# for QtMultimedia, ffmpeg
installPackages+=(yasm)
installPackages+=(libva-devel)
# Required FFmpeg packages
required_ffmpeg_packages=()
while IFS= read -r line; do required_ffmpeg_packages+=("$line"); done < "${BASH_SOURCE%/*}/../common/linux/ffmpeg_required_rhel_packages.txt"
installPackages+=("${required_ffmpeg_packages[@]}")
# gtk3 style for QtGui/QStyle
installPackages+=(gtk3-devel)
# libusb1 for tqtc-boot2qt/qdb

View File

@@ -3,4 +3,4 @@
set -ex
BASEDIR=$(dirname "$0")
"$BASEDIR/../common/linux/install-vcpkg.sh"
"$BASEDIR/../common/unix/install-vcpkg.sh"

View File

@@ -8,7 +8,7 @@ echo "ANDOID_NDK_HOME: ${ANDROID_NDK_HOME}"
# Installing common ports
BASEDIR=$(dirname "$0")
"$BASEDIR/../common/linux/install-vcpkg-ports.sh"
"$BASEDIR/../common/unix/install-vcpkg-ports.sh" x64-linux-qt
# Installing platform specific ports
"$BASEDIR/../common/linux/install-vcpkg-ports-android.sh"

View File

@@ -1,5 +1,5 @@
#!/usr/bin/env bash
# Copyright (C) 2026 The Qt Company Ltd.
# Copyright (C) 2022 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 -ex
@@ -13,7 +13,7 @@ while sudo fuser /usr/libexec/packagekitd >/dev/null 2>&1; do
done
sudo yum -y remove PackageKit gnome-software
sudo subscription-manager config --rhsm.manage_repos=0
sudo subscription-manager config --rhsm.manage_repos=1
sudo subscription-manager refresh
# List available RHEL versions and bind with correct one
@@ -21,35 +21,10 @@ sudo subscription-manager release --list
sudo subscription-manager release --set=9.0
sudo yum clean all
sudo tee "/etc/yum.repos.d/local.repo" > /dev/null <<EOC
[rhel-9-for-x86_64-baseos-rpms]
metadata_expire = 86400
baseurl = http://repo-clones-rhel9.ci.qt.io/rhel-9-for-x86_64-baseos-rpms
ui_repoid_vars = releasever basearch
name = Qt Red Hat Enterprise Linux 9 Base OS (RPMs)
gpgkey = file:///etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-release
enabled = 1
gpgcheck = 1
[rhel-9-for-x86_64-appstream-rpms]
metadata_expire = 86400
baseurl = http://repo-clones-rhel9.ci.qt.io/rhel-9-for-x86_64-appstream-rpms
ui_repoid_vars = releasever basearch
name = Qt Red Hat Enterprise Linux 9 Appstream (RPMs)
gpgkey = file:///etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-release
enabled = 1
gpgcheck = 1
[codeready-builder-for-rhel-9-x86_64-rpms]
metadata_expire = 86400
baseurl = http://repo-clones-rhel9.ci.qt.io/codeready-builder-for-rhel-9-x86_64-rpms
ui_repoid_vars = releasever basearch
name = Qt Red Hat Enterprise Linux Codeready Builder (RPMs)
gpgkey = file:///etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-release
enabled = 1
gpgcheck = 1
EOC
# sudo yum config-manager --enable 'rhceph-4-tools-for-rhel-8-x86_64-rpms'
sudo yum config-manager --enable 'codeready-builder-for-rhel-9-x86_64-rpms'
sudo yum config-manager --enable 'rhel-9-for-x86_64-baseos-rpms'
sudo yum config-manager --enable 'rhel-9-for-x86_64-appstream-rpms'
# Epel is required for 'double-conversion-devel', 'libsqlite3x' and 'p7zip'
sudo dnf install -y https://dl.fedoraproject.org/pub/epel/epel-release-latest-9.noarch.rpm

View File

@@ -50,9 +50,10 @@ installPackages+=(dbus-devel)
installPackages+=(gstreamer1-plugins-bad-free)
installPackages+=(gstreamer1-devel)
installPackages+=(gstreamer1-plugins-base-devel)
# QtMultimedia, ffmpeg
installPackages+=(yasm)
installPackages+=(libva-devel)
# Required FFmpeg packages
required_ffmpeg_packages=()
while IFS= read -r line; do required_ffmpeg_packages+=("$line"); done < "${BASH_SOURCE%/*}/../common/linux/ffmpeg_required_rhel_packages.txt"
installPackages+=("${required_ffmpeg_packages[@]}")
# gtk3 style for QtGui/QStyle
installPackages+=(gtk3-devel)
# libusb1 for tqtc-boot2qt/qdb

View File

@@ -1,5 +1,5 @@
#!/usr/bin/env bash
# Copyright (C) 2026 The Qt Company Ltd.
# Copyright (C) 2023 The Qt Company Ltd.
# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
set -ex
@@ -14,7 +14,7 @@ while sudo fuser /usr/libexec/packagekitd >/dev/null 2>&1; do
done
sudo yum -y remove PackageKit gnome-software
sudo subscription-manager config --rhsm.manage_repos=0
sudo subscription-manager config --rhsm.manage_repos=1
sudo subscription-manager refresh
# List available RHEL versions and bind with correct one
@@ -22,35 +22,10 @@ sudo subscription-manager release --list
sudo subscription-manager release --set=9.2
sudo yum clean all
sudo tee "/etc/yum.repos.d/local.repo" > /dev/null <<EOC
[rhel-9-for-x86_64-baseos-rpms]
metadata_expire = 86400
baseurl = http://repo-clones-rhel9.ci.qt.io/rhel-9-for-x86_64-baseos-rpms
ui_repoid_vars = releasever basearch
name = Qt Red Hat Enterprise Linux 9 Base OS (RPMs)
gpgkey = file:///etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-release
enabled = 1
gpgcheck = 1
[rhel-9-for-x86_64-appstream-rpms]
metadata_expire = 86400
baseurl = http://repo-clones-rhel9.ci.qt.io/rhel-9-for-x86_64-appstream-rpms
ui_repoid_vars = releasever basearch
name = Qt Red Hat Enterprise Linux 9 Appstream (RPMs)
gpgkey = file:///etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-release
enabled = 1
gpgcheck = 1
[codeready-builder-for-rhel-9-x86_64-rpms]
metadata_expire = 86400
baseurl = http://repo-clones-rhel9.ci.qt.io/codeready-builder-for-rhel-9-x86_64-rpms
ui_repoid_vars = releasever basearch
name = Qt Red Hat Enterprise Linux Codeready Builder (RPMs)
gpgkey = file:///etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-release
enabled = 1
gpgcheck = 1
EOC
# sudo yum config-manager --enable 'rhceph-4-tools-for-rhel-8-x86_64-rpms'
sudo yum config-manager --enable 'codeready-builder-for-rhel-9-x86_64-rpms'
sudo yum config-manager --enable 'rhel-9-for-x86_64-baseos-rpms'
sudo yum config-manager --enable 'rhel-9-for-x86_64-appstream-rpms'
# Epel is required for 'double-conversion-devel', 'libsqlite3x' and 'p7zip'
sudo dnf install -y https://dl.fedoraproject.org/pub/epel/epel-release-latest-9.noarch.rpm

View File

@@ -68,8 +68,10 @@ installPackages+=(gstreamer1-plugins-base-devel)
installPackages+=(gstreamer1-plugin-openh264)
# pipewire for QtMultimedia
installPackages+=(pipewire-devel)
# yasm for QtMultimedia
installPackages+=(yasm)
# Required FFmpeg packages
required_ffmpeg_packages=()
while IFS= read -r line; do required_ffmpeg_packages+=("$line"); done < "${BASH_SOURCE%/*}/../common/linux/ffmpeg_required_rhel_packages.txt"
installPackages+=("${required_ffmpeg_packages[@]}")
# gtk3 style for QtGui/QStyle
installPackages+=(gtk3-devel)
# libusb1 for tqtc-boot2qt/qdb

View File

@@ -3,4 +3,4 @@
set -ex
BASEDIR=$(dirname "$0")
"$BASEDIR/../common/linux/install-vcpkg.sh"
"$BASEDIR/../common/unix/install-vcpkg.sh"

View File

@@ -3,4 +3,4 @@
set -ex
BASEDIR=$(dirname "$0")
"$BASEDIR/../common/linux/install-vcpkg-ports.sh"
"$BASEDIR/../common/unix/install-vcpkg-ports.sh" x64-linux-qt

View File

@@ -1,5 +1,5 @@
#!/usr/bin/env bash
# Copyright (C) 2026 The Qt Company Ltd.
# Copyright (C) 2023 The Qt Company Ltd.
# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
set -ex
@@ -14,7 +14,7 @@ while sudo fuser /usr/libexec/packagekitd >/dev/null 2>&1; do
done
sudo yum -y remove PackageKit gnome-software
sudo subscription-manager config --rhsm.manage_repos=0
sudo subscription-manager config --rhsm.manage_repos=1
sudo subscription-manager refresh
# List available RHEL versions and bind with correct one
@@ -22,35 +22,10 @@ sudo subscription-manager release --list
sudo subscription-manager release --set=9.4
sudo yum clean all
sudo tee "/etc/yum.repos.d/local.repo" > /dev/null <<EOC
[rhel-9-for-x86_64-baseos-rpms]
metadata_expire = 86400
baseurl = http://repo-clones-rhel9.ci.qt.io/rhel-9-for-x86_64-baseos-rpms
ui_repoid_vars = releasever basearch
name = Qt Red Hat Enterprise Linux 9 Base OS (RPMs)
gpgkey = file:///etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-release
enabled = 1
gpgcheck = 1
[rhel-9-for-x86_64-appstream-rpms]
metadata_expire = 86400
baseurl = http://repo-clones-rhel9.ci.qt.io/rhel-9-for-x86_64-appstream-rpms
ui_repoid_vars = releasever basearch
name = Qt Red Hat Enterprise Linux 9 Appstream (RPMs)
gpgkey = file:///etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-release
enabled = 1
gpgcheck = 1
[codeready-builder-for-rhel-9-x86_64-rpms]
metadata_expire = 86400
baseurl = http://repo-clones-rhel9.ci.qt.io/codeready-builder-for-rhel-9-x86_64-rpms
ui_repoid_vars = releasever basearch
name = Qt Red Hat Enterprise Linux Codeready Builder (RPMs)
gpgkey = file:///etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-release
enabled = 1
gpgcheck = 1
EOC
# sudo yum config-manager --enable 'rhceph-4-tools-for-rhel-8-x86_64-rpms'
sudo yum config-manager --enable 'codeready-builder-for-rhel-9-x86_64-rpms'
sudo yum config-manager --enable 'rhel-9-for-x86_64-baseos-rpms'
sudo yum config-manager --enable 'rhel-9-for-x86_64-appstream-rpms'
# Epel is required for 'double-conversion-devel', 'libsqlite3x' and 'p7zip'
sudo dnf install -y https://dl.fedoraproject.org/pub/epel/epel-release-latest-9.noarch.rpm

View File

@@ -68,8 +68,10 @@ installPackages+=(gstreamer1-plugins-base-devel)
installPackages+=(gstreamer1-plugin-openh264)
# pipewire for QtMultimedia
installPackages+=(pipewire-devel)
# yasm for QtMultimedia
installPackages+=(yasm)
# Required FFmpeg packages
required_ffmpeg_packages=()
while IFS= read -r line; do required_ffmpeg_packages+=("$line"); done < "${BASH_SOURCE%/*}/../common/linux/ffmpeg_required_rhel_packages.txt"
installPackages+=("${required_ffmpeg_packages[@]}")
# gtk3 style for QtGui/QStyle
installPackages+=(gtk3-devel)
# libusb1 for tqtc-boot2qt/qdb

View File

@@ -3,4 +3,4 @@
set -ex
BASEDIR=$(dirname "$0")
"$BASEDIR/../common/linux/install-vcpkg.sh"
"$BASEDIR/../common/unix/install-vcpkg.sh"

View File

@@ -3,4 +3,4 @@
set -ex
BASEDIR=$(dirname "$0")
"$BASEDIR/../common/linux/install-vcpkg-ports.sh"
"$BASEDIR/../common/unix/install-vcpkg-ports.sh" x64-linux-qt

View File

@@ -1,5 +1,5 @@
#!/usr/bin/env bash
# Copyright (C) 2026 The Qt Company Ltd.
# Copyright (C) 2023 The Qt Company Ltd.
# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
set -ex
@@ -14,7 +14,7 @@ while sudo fuser /usr/libexec/packagekitd >/dev/null 2>&1; do
done
sudo yum -y remove PackageKit gnome-software
sudo subscription-manager config --rhsm.manage_repos=0
sudo subscription-manager config --rhsm.manage_repos=1
sudo subscription-manager refresh
# List available RHEL versions and bind with correct one
@@ -22,35 +22,10 @@ sudo subscription-manager release --list
sudo subscription-manager release --set=9.6
sudo yum clean all
sudo tee "/etc/yum.repos.d/local.repo" > /dev/null <<EOC
[rhel-9-for-x86_64-baseos-rpms]
metadata_expire = 86400
baseurl = http://repo-clones-rhel9.ci.qt.io/rhel-9-for-x86_64-baseos-rpms
ui_repoid_vars = releasever basearch
name = Qt Red Hat Enterprise Linux 9 Base OS (RPMs)
gpgkey = file:///etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-release
enabled = 1
gpgcheck = 1
[rhel-9-for-x86_64-appstream-rpms]
metadata_expire = 86400
baseurl = http://repo-clones-rhel9.ci.qt.io/rhel-9-for-x86_64-appstream-rpms
ui_repoid_vars = releasever basearch
name = Qt Red Hat Enterprise Linux 9 Appstream (RPMs)
gpgkey = file:///etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-release
enabled = 1
gpgcheck = 1
[codeready-builder-for-rhel-9-x86_64-rpms]
metadata_expire = 86400
baseurl = http://repo-clones-rhel9.ci.qt.io/codeready-builder-for-rhel-9-x86_64-rpms
ui_repoid_vars = releasever basearch
name = Qt Red Hat Enterprise Linux Codeready Builder (RPMs)
gpgkey = file:///etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-release
enabled = 1
gpgcheck = 1
EOC
# sudo yum config-manager --enable 'rhceph-4-tools-for-rhel-8-x86_64-rpms'
sudo yum config-manager --enable 'codeready-builder-for-rhel-9-x86_64-rpms'
sudo yum config-manager --enable 'rhel-9-for-x86_64-baseos-rpms'
sudo yum config-manager --enable 'rhel-9-for-x86_64-appstream-rpms'
# Epel is required for 'double-conversion-devel', 'libsqlite3x' and 'p7zip'
sudo dnf install -y https://dl.fedoraproject.org/pub/epel/epel-release-latest-9.noarch.rpm

View File

@@ -68,8 +68,10 @@ installPackages+=(gstreamer1-plugins-base-devel)
installPackages+=(gstreamer1-plugin-openh264)
# pipewire for QtMultimedia
installPackages+=(pipewire-devel)
# yasm for QtMultimedia
installPackages+=(yasm)
# Required FFmpeg packages
required_ffmpeg_packages=()
while IFS= read -r line; do required_ffmpeg_packages+=("$line"); done < "${BASH_SOURCE%/*}/../common/linux/ffmpeg_required_rhel_packages.txt"
installPackages+=("${required_ffmpeg_packages[@]}")
# gtk3 style for QtGui/QStyle
installPackages+=(gtk3-devel)
# libusb1 for tqtc-boot2qt/qdb

View File

@@ -1,9 +1,8 @@
#!/usr/bin/env bash
#Copyright (C) 2023 The Qt Company Ltd
#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 -ex
BASEDIR=$(dirname "$0")
"$BASEDIR/../common/macos/libusb.sh"
"$BASEDIR/../common/linux/syft.sh"

View File

@@ -3,4 +3,4 @@
set -ex
BASEDIR=$(dirname "$0")
"$BASEDIR/../common/linux/install-vcpkg.sh"
"$BASEDIR/../common/unix/install-vcpkg.sh"

View File

@@ -3,4 +3,4 @@
set -ex
BASEDIR=$(dirname "$0")
"$BASEDIR/../common/linux/install-vcpkg-ports.sh"
"$BASEDIR/../common/unix/install-vcpkg-ports.sh" x64-linux-qt

View File

@@ -65,8 +65,10 @@ sudo zypper -nq install libva-devel
# qtwebkit
sudo zypper -nq install libxml2-devel libxslt-devel
# yasm (for ffmpeg in multimedia)
sudo zypper -nq install yasm
# Required FFmpeg packages
required_ffmpeg_packages=()
while IFS= read -r line; do required_ffmpeg_packages+=("$line"); done < "${BASH_SOURCE%/*}/../common/linux/ffmpeg_required_sles_packages.txt"
sudo zypper -nq install "${required_ffmpeg_packages[@]}"
# GStreamer (qtwebkit and qtmultimedia), pulseaudio (qtmultimedia)
sudo zypper -nq install gstreamer-devel gstreamer-plugins-base-devel libpulse-devel

View File

@@ -63,8 +63,10 @@ sudo zypper -nq install alsa-devel dbus-1-devel libxkbfile-devel libdrm-devel \
# qtwebkit
sudo zypper -nq install libxml2-devel libxslt-devel
# yasm (for ffmpeg in multimedia)
sudo zypper -nq install yasm
# Required FFmpeg packages
required_ffmpeg_packages=()
while IFS= read -r line; do required_ffmpeg_packages+=("$line"); done < "${BASH_SOURCE%/*}/../common/linux/ffmpeg_required_sles_packages.txt"
sudo zypper -nq install "${required_ffmpeg_packages[@]}"
# GStreamer (qtwebkit and qtmultimedia), pulseaudio (qtmultimedia)
sudo zypper -nq install gstreamer-devel gstreamer-plugins-base-devel libpulse-devel \

View File

@@ -3,4 +3,4 @@
set -ex
BASEDIR=$(dirname "$0")
"$BASEDIR/../common/linux/install-vcpkg.sh"
"$BASEDIR/../common/unix/install-vcpkg.sh"

View File

@@ -3,4 +3,4 @@
set -ex
BASEDIR=$(dirname "$0")
"$BASEDIR/../common/linux/install-vcpkg-ports.sh"
"$BASEDIR/../common/unix/install-vcpkg-ports.sh" x64-linux-qt

View File

@@ -66,8 +66,10 @@ sudo zypper -nq install alsa-devel dbus-1-devel libxkbfile-devel libdrm-devel \
# qtwebkit
sudo zypper -nq install libxml2-devel libxslt-devel
# yasm (for ffmpeg in multimedia)
sudo zypper -nq install yasm
# Required FFmpeg packages
required_ffmpeg_packages=()
while IFS= read -r line; do required_ffmpeg_packages+=("$line"); done < "${BASH_SOURCE%/*}/../common/linux/ffmpeg_required_sles_packages.txt"
sudo zypper -nq install "${required_ffmpeg_packages[@]}"
# GStreamer (qtwebkit and qtmultimedia), pulseaudio (qtmultimedia)
sudo zypper -nq install gstreamer-devel gstreamer-plugins-base-devel libpulse-devel

View File

@@ -1,9 +1,8 @@
#!/usr/bin/env bash
#Copyright (C) 2023 The Qt Company Ltd
#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 -ex
BASEDIR=$(dirname "$0")
"$BASEDIR/../common/macos/libusb.sh"
"$BASEDIR/../common/linux/syft.sh"

View File

@@ -3,4 +3,4 @@
set -ex
BASEDIR=$(dirname "$0")
"$BASEDIR/../common/linux/install-vcpkg.sh"
"$BASEDIR/../common/unix/install-vcpkg.sh"

View File

@@ -3,4 +3,4 @@
set -ex
BASEDIR=$(dirname "$0")
"$BASEDIR/../common/linux/install-vcpkg-ports.sh"
"$BASEDIR/../common/unix/install-vcpkg-ports.sh" x64-linux-qt

View File

@@ -91,6 +91,10 @@ installPackages+=(libva-dev)
# for QtMultimedia streaming tests
installPackages+=(vlc-bin)
installPackages+=(vlc-plugin-base)
# Required FFmpeg packages
required_ffmpeg_packages=()
while IFS= read -r line; do required_ffmpeg_packages+=("$line"); done < "${BASH_SOURCE%/*}/../common/linux/ffmpeg_required_ubuntu_packages.txt"
installPackages+=("${required_ffmpeg_packages[@]}")
# Support for cross-building to x86 (needed by WebEngine boot2qt builds)
installPackages+=(g++-multilib)

View File

@@ -109,6 +109,10 @@ installPackages+=(libva-dev)
# for QtMultimedia streaming tests
installPackages+=(vlc-bin)
installPackages+=(vlc-plugin-base)
# Required FFmpeg packages
required_ffmpeg_packages=()
while IFS= read -r line; do required_ffmpeg_packages+=("$line"); done < "${BASH_SOURCE%/*}/../common/linux/ffmpeg_required_ubuntu_packages.txt"
installPackages+=("${required_ffmpeg_packages[@]}")
# Support for cross-building to x86 (needed by WebEngine boot2qt builds)
installPackages+=(g++-multilib)

View File

@@ -40,8 +40,8 @@ installPackages+=(git)
# 7zip is a needed decompressing tool
installPackages+=(p7zip-full)
# Packages needed for RTA and Squish
installPackages+=(openjdk-17-jdk)
# Packages needed for RTA (java >= 21)
installPackages+=(openjdk-21-jdk)
installPackages+=(gcc)
installPackages+=(curl)
installPackages+=(libicu-dev)

View File

@@ -90,8 +90,6 @@ installPackages+=(libfreetype6-dev)
installPackages+=(libjpeg-dev)
# Enable support for printer driver
installPackages+=(libcups2-dev)
# Enable support for printer test
installPackages+=(cups-pdf)
# Install libraries needed for QtMultimedia to be able to support all plugins
installPackages+=(libasound2-dev)
installPackages+=(libgstreamer1.0-dev)
@@ -114,6 +112,10 @@ installPackages+=(libva-dev)
# for QtMultimedia streaming tests
installPackages+=(vlc-bin)
installPackages+=(vlc-plugin-base)
# Required FFmpeg packages
required_ffmpeg_packages=()
while IFS= read -r line; do required_ffmpeg_packages+=("$line"); done < "${BASH_SOURCE%/*}/../common/linux/ffmpeg_required_ubuntu_packages.txt"
installPackages+=("${required_ffmpeg_packages[@]}")
# Support for cross-building to x86 (needed by WebEngine boot2qt builds)
installPackages+=(g++-multilib)

View File

@@ -1,9 +1,8 @@
#!/usr/bin/env bash
#Copyright (C) 2023 The Qt Company Ltd
#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 -ex
BASEDIR=$(dirname "$0")
"$BASEDIR/../common/macos/libusb.sh"
"$BASEDIR/../common/linux/syft.sh"

View File

@@ -3,4 +3,4 @@
set -ex
BASEDIR=$(dirname "$0")
"$BASEDIR/../common/linux/install-vcpkg.sh"
"$BASEDIR/../common/unix/install-vcpkg.sh"

Some files were not shown because too many files have changed in this diff Show More