Compare commits

...

102 Commits

Author SHA1 Message Date
Jani Heikkinen f0534341c8 Adjust submodule branches
Change-Id: I5c4813fe081a415425f7edf19914e19be91d5ac8
2026-08-03 08:26:30 +03:00
Qt Submodule Update Bot 05133dde5b Update submodules on '6.11 in qt/qt5'
Change-Id: Id94d463e1a895835d251e44da0bb66c611e46ca2
Reviewed-by: Qt Submodule Update Bot <qt_submodule_update_bot@qt-project.org>
2026-08-01 00:10:20 +00:00
Qt Submodule Update Bot fe9f7dbaa0 Update submodules on '6.11 in qt/qt5'
Change-Id: Ief9f48426a68729c90f0719bfdb2876cb5b63364
Reviewed-by: Qt Submodule Update Bot <qt_submodule_update_bot@qt-project.org>
2026-07-28 22:03:54 +00:00
Alexandru Croitor 83fcb43d5d CMake: Only parse local .git/config to get initialized submodule
For the purpose of getting the list of already initialized
submodules, it suffices to parse only the local .git/config file
of a repository.

This avoids including the output of a global ~/.gitconfig file, which
might contain bracket symbols, and thus break parsing of active
submodules.

Pick-to: 6.8
Fixes: QTBUG-145559
Change-Id: Ie08d42f4fa7c9b9e975a027dd6f20419936a606d
Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
(cherry picked from commit b679f634ea)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
(cherry picked from commit 13aef4ed7b)
2026-07-27 07:38:43 +00:00
Alexandru Croitor f7ef4d3566 coin: Fetch latest qlitehtml refs in Coin mirror during Nightly test
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
Fixes: QTBUG-148458
Change-Id: If37fdf1c1ff7e3c2337efe2da06570627e4dbccd
Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
(cherry picked from commit 9136724f2e)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
(cherry picked from commit 738bd44d38)
2026-07-27 07:38:43 +00:00
Qt Submodule Update Bot e0558b4726 Update submodules on '6.11 in qt/qt5'
Change-Id: I9954bb3798ffa0654e6f3126510b555eaf688c7d
Reviewed-by: Qt Submodule Update Bot <qt_submodule_update_bot@qt-project.org>
2026-07-24 14:55:44 +00:00
Simo Fält d0821a727f Add nightly config for Pyside6 Axivion scan
Pick-to: 6.12
Task-number: QTQAINFRA-5563
Change-Id: If44a576e831ae31ebd6efa4e8fe64521aa83602b
Reviewed-by: Matti Paaso <matti.paaso@qt.io>
(cherry picked from commit d4fc6f01a9)
2026-07-23 06:28:46 +00:00
Alexandru Croitor cc91089c4e CMake: Fix git-qt-foreach output being lost in non-tty invocations
There's a tty check in qt_internal_foreach_repo_run.
The code reads tty_exit_CODE rather than the correct tty_exit_code.

In a non-tty context (when stdout is a pipe), /usr/bin/tty prints
"not a tty" and has a non-zero exit code, leading to stdout being
redirected to a file named "not a tty" in every submodule.

Use the right name.

Pick-to: 6.8
Change-Id: I6bba544aa0e3bbe2f09925cae56f303e70643681
Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
(cherry picked from commit 8e218fec47)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
(cherry picked from commit 58e5ed9147)
2026-07-16 20:18:58 +00:00
Qt Submodule Update Bot 50affd347a Update submodules on '6.11 in qt/qt5'
Change-Id: I1dd64b124ec78e49ae9ba1d5135d41625b2769b4
Reviewed-by: Qt Submodule Update Bot <qt_submodule_update_bot@qt-project.org>
2026-07-16 20:18:58 +00:00
Elias Toivola 2c46046bac Windows 11 x86_64: update Visual Studio 2022 to 17.14.33
Tier-1 image changes in -73:
- MSVC 14.44.35211.0
- Windows SDK 10.0.26100.7705
- installed .NET SDK
- Visual Studio now has 'ci_msvs' user added with a license to use
  debugger tools.

Pick-to: 6.8
Task-number: QTQAINFRA-7726
Task-number: QTQAINFRA-5417
Change-Id: I67d5605c544228daa6bac502ac487d1d5060fd81
Reviewed-by: Simo Fält <simo.falt@qt.io>
(cherry picked from commit 99c69904b8)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
(cherry picked from commit 0681ab2022)
2026-07-16 09:22:29 +00:00
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
Tuomas Vaarala df1f486717 Coin: QNX 8.0 QEMU: follow SDP 20260410 soname bumps
The 20260410 SDP patchset ships new majors for freetype and
fontconfig: libfreetype.so.26 (was .so.24) and libfontconfig.so.17
(was .so.1). The old sonames remain only as compatibility stubs
(libfontconfig.so.1 shrinks to a 320 KB shim vs 1.65 MB for .so.17).
Pick up the current libraries in the QEMU system image so Qt runs
against the SDP's real fontconfig/freetype, not the stubs.

Pick-to: 6.8
Change-Id: I29ceae73d861d1a398f3efd2f4b2eaab3600fc24
Reviewed-by: Tero Heikkinen <tero.heikkinen@qt.io>
(cherry picked from commit 444b0dcd2d)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
2026-04-25 06:30:21 +00:00
Tuomas Vaarala 15aa91146c Coin: QNX 8.0: update SDP to 20260410 patchset
The 2026-04-10 patchset refreshes binaries and bakes in tzdata 2026a
in the SDP tree. Added the missing targetFile= line.

Also pull the tzdata as a separately-downloadable overlay, so it can
be bumped without rebuilding the full SDP tarball. Archive root is
qnx800/target/qnx/... so it extracts onto /opt/ directly on top of
the already-extracted SDP.

Pick-to: 6.8
Change-Id: I29f675429937346825e4a0b6cfac07ce8dc391a6
Reviewed-by: Tero Heikkinen <tero.heikkinen@qt.io>
(cherry picked from commit a8ce190d22)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
2026-04-25 06:30:03 +00:00
Elias Toivola 2a08d5b694 Windows: use msys64_20240113_prebuilt to prevent flaky downloads
Current MSYS does not have a prebuild in ci-files01 cache, which makes
the msys2 install script to use pacman to externally download, which can
cause flakiness.

The prebuilt was fetched from a parked Windows 11 24h2 x64 VM, by
compressing: "C:\Utils\msys64" to .7z

Pick-to: 6.8
Task-number: QTQAINFRA-7387
Change-Id: I4bd037a6d985fc1c007ba65d8f54a73d4183cb10
Reviewed-by: Tero Heikkinen <tero.heikkinen@qt.io>
(cherry picked from commit fbda4dea61)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
2026-04-23 11:47:26 +00:00
Tero Heikkinen f6b673c300 Take RHEL 10.0 specific release subdirectory into use
To fix
  - Release lock --set=10.0 doesn't work with internal repo
  - Also locks epel repo to same release version 10.0

Other notes:

7zip is downgraded from 25.01-1.el10_1 to 24.09-4.el10_0. As a result,
the snld switch (introduced in 7zip 25.01) is no longer required.

Task-number: QTQAINFRA-7817
Task-number: QTQAINFRA-7614
Change-Id: Ib2daed8cbb6d53e593cb0c835b0cbc4b40fa5f9d
Reviewed-by: Ville-Pekka Karhu <ville-pekka.karhu@qt.io>
(cherry picked from commit 007c887d88)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
2026-04-22 20:32:31 +00:00
Nils Petter Skålerud cce1fcb986 FFmpeg, iOS: Don't pass '--enable-shared' and '--disable-static' twice
These flags are already provided by the function
'get_ffmpeg_config_options'. In the current we pass them again
explicitly during FFmpeg configuration.

This patch makes us rely on the function's return value.

Pick-to: 6.8
Change-Id: I4b257331cedafd7241df4360694e4ad1637267fe
Reviewed-by: Artem Dyomin <artem.dyomin@qt.io>
(cherry picked from commit 16af59b8ac)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
2026-04-18 11:24:57 +00:00
Artem Dyomin 589a1a5809 Update nv-codec-headers version to 11.1.5.3
Change-Id: I63283fa327188226f6027c38a18bad1dfebdf2f8
Pick-to: 6.10 6.8
Reviewed-by: Artem Dyomin <artem.dyomin@qt.io>
Reviewed-by: Nils Petter Skålerud <nils.petter.skalerud@qt.io>
Reviewed-by: Tim Blechmann <tim.blechmann@qt.io>
(cherry picked from commit b8deff00ef)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
2026-04-17 07:40:49 +00:00
Elias Toivola 2bce5275e3 Update OpenSSL to version 3.5.4 in CI
OpenSSL for Windows is now prebuilt. Instructions to build OpenSSL for
Android are also changed.

Task-number: QTQAINFRA-5540
Change-Id: I40fb6964b5887c4bfee008997057a75cc70ac037
Reviewed-by: Tero Heikkinen <tero.heikkinen@qt.io>
(cherry picked from commit e2cf3590fb)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
2026-04-17 07:40:46 +00:00
Nils Petter Skålerud 8b9149ca0c FFmpeg, Android: Use llvm-readelf
In the current Android FFmpeg provisioning, we rely on the tool
'readelf' to be installed on the host. On macOS we currently pull this
tool through the Homebrew 'binutils' package. This has proven
unreliable on older macOS hosts.

The Android NDK provides the same tool under the name 'llvm-readelf'.
This patch makes us rely on this tool during provisioning, which is
guaranteed to be provided.

Change-Id: I47a186d2dd4b442929b82f35b4d257d011cb9d10
Reviewed-by: Artem Dyomin <artem.dyomin@qt.io>
Reviewed-by: Dimitrios Apostolou <jimis@qt.io>
Reviewed-by: Tero Heikkinen <tero.heikkinen@qt.io>
(cherry picked from commit 07ec75fa35)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
2026-04-17 07:40:43 +00:00
Nils Petter Skålerud 367441b41c FFmpeg, iOS: Automatically grab version string from source code
This patch allows us to automatically grab the FFmpeg version string
from the source code directly, rather than having to explicitly specify
a version string inside ffmpeg-installation-utils.

Change-Id: I657302ab8566592390a51c6f5c3ee989d66efaaa
Reviewed-by: Artem Dyomin <artem.dyomin@qt.io>
(cherry picked from commit d2bc5fdeae)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
2026-04-17 07:40:40 +00:00
Nils Petter Skålerud 9958d9c9ac Windows, FFmpeg: Handle exception when downloading patchelf
The script 'install-ffmpeg.ps1' contains logic for building all targets
even if some targets fail, and then report all results at the end. When
building Android specifically, we download patchelf sources from CI,
it's possible for it to throw an exception if CI-files is not
available. This breaks the logic and makes us terminate early.

This patch encloses the Invoke-WebRequest in a try-catch.

This also makes it easier to run this script locally.

Pick-to: 6.8
Change-Id: I93d4ec905c61dc7b44b87100353353f24c27d276
Reviewed-by: Artem Dyomin <artem.dyomin@qt.io>
(cherry picked from commit 2911978176)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
2026-04-16 01:06:46 +00:00
Jukka Jokiniva bbd3c7029f Fix compilation error in libiodbc on macOS 26
For some unknown reason the compilation has started using -std=gnu23,
which breaks the build.

Forcing "-std=gnu89" allows the build to succeed, so let's do that
as a workaround to unblock qt5, while we continue investigation why
this broke.

Task-number: QTQAINFRA-7775
Change-Id: I59a29ab9a20d5b2302d72b1e6fbbe52c7ecd277a
Reviewed-by: Dimitrios Apostolou <jimis@qt.io>
Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io>
(cherry picked from commit 97af7f3855)
Reviewed-by: Ville-Pekka Karhu <ville-pekka.karhu@qt.io>
Reviewed-by: Tero Heikkinen <tero.heikkinen@qt.io>
2026-04-15 21:55:27 +00:00
Ville-Pekka Karhu 37f53cc0d9 Increase macOS 13 ARM Tier1 size to 350G
Remove recovery partition to save space and update OS version to 13.7.8

Pick-to: 6.8 6.5
Task-number: QTQAINFRA-7737
Change-Id: I093aceecfac72b2faf8d9e104bda7d0d67ab09b5
Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io>
2026-04-15 21:55:25 +00:00
Qt Submodule Update Bot 898440075b Update submodules on '6.11 in qt/qt5'
Change-Id: Id703b7e8022aa7581c43c6f442fee0769c018573
Reviewed-by: Qt Submodule Update Bot <qt_submodule_update_bot@qt-project.org>
2026-04-15 00:16:35 +00:00
Qt Submodule Update Bot 40944f18c3 Update submodules on '6.11 in qt/qt5'
Change-Id: Ifd6abac30295453c3803ee252a7e391ac656f66e
Reviewed-by: Qt Submodule Update Bot <qt_submodule_update_bot@qt-project.org>
2026-04-09 18:34:36 +00:00
Rami Potinkara 7d379bca12 Coin: Add Android 17 as insignificant platform
This patch adds Android 17 16KB Beta3 as insignificant platform
to CI which will not abort on first test failure. At the moment
there is only 16KB compliant system image available.

Before the platform can become significant we need to wait
first released version of Android 17. When the first released
version will be added remove the Hack to alter source.properties
mentioned in this patch.

Task-number: QTBUG-143600
Pick-to: 6.8
Change-Id: Iaf2f122e6b56e496ddb8549f281cca6acd3970ac
Reviewed-by: Elias Toivola <elias.toivola@qt.io>
Reviewed-by: Assam Boudjelthia <assam.boudjelthia@qt.io>
(cherry picked from commit 5f5f9c4db4)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
2026-04-09 10:31:10 +00:00
Tero Heikkinen e1b2031f68 Fix openSUSE 16.0 dependency issue with cargo 1.94 installation
Task-number: QTQAINFRA-7793
Change-Id: Ia5ad818dc599317b7f46697732fa9434d5a0eace
Reviewed-by: Tony Sarajärvi <tony.sarajarvi@qt.io>
(cherry picked from commit daecc2a3f2)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
2026-04-08 18:05:48 +00:00
Toni Saario 7c1d6903ed Separate openSUSE 16 sccache from the history
Update from:
gcc15-15.2.0+git10201-160000.1.1.x86_64
to
gcc15-15.2.0+git10201-160000.2.1.x86_64
breaks the gcc compability check and causes "false positive"
cache hit which eventually fails with:
"created by a different GCC executable"

Sccache do not seem to see the change as build id, checksums etc.
for the gcc are the same between the versions.

Just set the value to v1 as nothing is pinning the gcc
so it will update on it's own also in future.

Change-Id: I4f2a6da95680c28ad1912751307f96df806c9930
Reviewed-by: Tero Heikkinen <tero.heikkinen@qt.io>
Reviewed-by: Simo Fält <simo.falt@qt.io>
2026-04-08 18:05:45 +00:00
Qt Submodule Update Bot 31aee9fcbb Update submodules on '6.11 in qt/qt5'
Change-Id: I34370270ade1cb0b8f82853edc027e0e5140c399
Reviewed-by: Qt Submodule Update Bot <qt_submodule_update_bot@qt-project.org>
2026-04-08 15:34:05 +00:00
Allan Sandfeld Jensen 33eb44f592 Install rust on Windows CI
Change-Id: Ic33c84f8bab20cc2cbae17b7e42bc8ac89153924
Reviewed-by: Simo Fält <simo.falt@qt.io>
(cherry picked from commit 2548d074a0)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
2026-04-08 06:15:37 +00:00
Alexandru Croitor 546f7a3ba8 Fix Windows gRPC install with CMake minimum version 3.5
Augments 7a8ffd980f

Pick-to: 6.8
Task-number: QTQAINFRA-7683
Change-Id: I3e0531eb0df63116a068ae2e66c916e564e3552b
Reviewed-by: Tero Heikkinen <tero.heikkinen@qt.io>
(cherry picked from commit 6ef2fa58fa)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
2026-04-03 10:59:36 +00:00
Qt Submodule Update Bot 65d1bc2995 Update submodules on '6.11 in qt/qt5'
Change-Id: Ibb9c3808aa84c50d7c251a5b0adafbf9cc9a0c97
Reviewed-by: Qt Submodule Update Bot <qt_submodule_update_bot@qt-project.org>
2026-03-31 12:06:43 +00:00
Simo Fält 3c5a67eacb Provisioning: Install libicu to /usr/local on Ubuntu 24.04 x86_64
Build configs are not using correct version from the /opt/icu.

Task-number: QTBRIDGES-172
Change-Id: Ic90560036067de1e9d324adfb0c0e765fc521a90
Reviewed-by: Tero Heikkinen <tero.heikkinen@qt.io>
(cherry picked from commit 3bf43a0827)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
2026-03-30 16:01:58 +00:00
Joerg Bornemann 7f6d01f3a9 .gitignore: restrict build patterns to directories only
build-* was matching files like build-ohos-deps.sh. Add trailing slash
to both build and build-* so only directories are excluded.

Change-Id: I8f5d8c3adcac4071320d70aed5112d037f7cc138
Reviewed-by: Assam Boudjelthia <assam.boudjelthia@qt.io>
(cherry picked from commit 27280bf442)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
2026-03-30 10:35:12 +00:00
Qt Submodule Update Bot b58994808e Update submodules on '6.11 in qt/qt5'
Change-Id: I5140cf360b60fb653bf04ff603b78efe5cabd067
Reviewed-by: Qt Submodule Update Bot <qt_submodule_update_bot@qt-project.org>
2026-03-27 10:33:48 +00:00
Qt Submodule Update Bot 3d1a7e0b80 Update submodules on '6.11 in qt/qt5'
Change-Id: I31d19a7de2d57765abc256cfce9cfa6affa30432
Reviewed-by: Qt Submodule Update Bot <qt_submodule_update_bot@qt-project.org>
2026-03-26 13:48:40 +00:00
Allan Sandfeld Jensen 845bc18ba9 Add missing html5lib
Change-Id: I1f10e5772718222a006732c6bb11d793d2eb9624
Reviewed-by: Michal Klocek <michal.klocek@qt.io>
(cherry picked from commit 74245b3b85)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
2026-03-26 11:12:03 +00:00
Qt Submodule Update Bot 6369bf40a7 Update submodules on '6.11 in qt/qt5'
Change-Id: I70056af60f0ffe9bf38d7e2d60bd6707e88a93d1
Reviewed-by: Qt Submodule Update Bot <qt_submodule_update_bot@qt-project.org>
2026-03-24 19:24:18 +00:00
Tero Heikkinen 50448a3bb8 RHEL 10: Quick fix to skip updates due to cockpit install fail
This should be temporary fix until pinning or update works.

Without updates QtWebengine needs these libs to be installed directly
  - libatomic

Task-number: QTQAINFRA-7773
Change-Id: I55bb3cfe671f21986753048cea5f8cf64c25f112
Reviewed-by: Jukka Jokiniva <jukka.jokiniva@qt.io>
Reviewed-by: Aku Pietikäinen <aku.pietikainen@qt.io>
(cherry picked from commit fc6b391028)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
2026-03-23 19:59:09 +00:00
Matti Paaso a9fee15f5a Provisioning: Update Axivion bauhaus-suite tool
Update tool version from 7.11.1 into 7.11.3

Task-number: QTQAINFRA-7727
Pick-to: 6.10 6.8
Change-Id: Ic91dbe06c81fc2086e89a715bb1514581ff08620
Reviewed-by: Tero Heikkinen <tero.heikkinen@qt.io>
(cherry picked from commit 68c8815a01)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
2026-03-23 08:33:41 +00:00
Nils Petter Skålerud 3897e68506 Windows, OpenSSH: Include .zip file extension when downloading
This script currently downloads the .zip file from the web into a local
file with no file extension. This can cause issues for 7-zip when
unarchiving. This patch fixes this.

As a drive-by, we improve the names of some variables.

Pick-to: 6.8
Change-Id: Icb1b24646b54d75d825764d30a268fa6e55d0183
Reviewed-by: Artem Dyomin <artem.dyomin@qt.io>
(cherry picked from commit 99b67a8f3f)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
2026-03-23 08:33:39 +00:00
Dimitrios Apostolou 4316ca969b Update curl version on OpenSUSE-16.0
The version that comes with the distro is buggy, it returns success
instead of failure for the command:

    curl --verbose --fail -L --retry 5 --retry-delay 5 -o filename \
        http://url/that/returns/404

The upstream ticket is: https://github.com/curl/curl/issues/17554

Change-Id: Ic763c10a308a24c921a8d2ae1f1c651e0cbac429
Reviewed-by: Tero Heikkinen <tero.heikkinen@qt.io>
(cherry picked from commit 08892fc088)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
2026-03-23 08:33:37 +00:00
Dimitrios Apostolou 54e04d08b8 windows provisioning: automatically choose the right hash algorithm
...based on the length of the given hash.

Additionally use -ine for string comparison, which explicitly does
case-insensitive comparison. That is what the function needs, previously
it was done implicitly by -ne.

And remove MD5, it's not used anywhere.

Pick-to: 6.10 6.8 6.5
Change-Id: Ib4303737e5e1d743dd0be1a8f829be9a0db2bc04
Reviewed-by: Tero Heikkinen <tero.heikkinen@qt.io>
(cherry picked from commit e5e813ef90)
2026-03-23 08:33:35 +00:00
Allan Sandfeld Jensen f6c3e33877 Explicitly list libclang-dev for Ubuntu 24.04
Is needed by bindgen but not pulled in by dependencies.

Change-Id: Ic3963e580f5d03a4c6de89afcac03639d4d3c27f
Reviewed-by: Michal Klocek <michal.klocek@qt.io>
(cherry picked from commit 073360db1e)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
2026-03-22 09:58:01 +00:00
Qt Submodule Update Bot 18e7fca594 Update submodules on '6.11 in qt/qt5'
Change-Id: I8829113c5b81308adb647ed9a071c7a6a329f986
Reviewed-by: Qt Submodule Update Bot <qt_submodule_update_bot@qt-project.org>
2026-03-13 07:45:34 +00:00
Qt Submodule Update Bot f449d46879 Update submodules on '6.11 in qt/qt5'
Change-Id: I92a734b49c323eaa0cdcddd2fe8bea8810c84017
Reviewed-by: Qt Submodule Update Bot <qt_submodule_update_bot@qt-project.org>
2026-03-11 17:48:20 +00:00
Qt Submodule Update Bot 251f469fb7 Update submodules on '6.11 in qt/qt5'
Change-Id: I9e956df0c8c40e1ae5dd939619f7d7cd84d7b398
Reviewed-by: Qt Submodule Update Bot <qt_submodule_update_bot@qt-project.org>
2026-03-10 20:14:09 +00:00
Tero Heikkinen 86054fb95a openSUSE 16.0: Add missing InsignificantTests flag to wasm qtbase
Test tst_qurl has started to fail too often.

Task-number: QTQAINFRA-7455
Change-Id: I4f565179fdcf281740e27211a69a1a2868a44cd1
Reviewed-by: Jukka Jokiniva <jukka.jokiniva@qt.io>
(cherry picked from commit 8bd36b1d0d)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
2026-03-10 09:59:08 +00:00
Qt Submodule Update Bot fcbd137c15 Update submodules on '6.11 in qt/qt5'
Change-Id: I2ab92bf7262ceb1d9e30f15779ac1a01c0c35f24
Reviewed-by: Qt Submodule Update Bot <qt_submodule_update_bot@qt-project.org>
2026-03-09 17:47:31 +00:00
Qt Submodule Update Bot de61eb0b3c Update submodules on '6.11 in qt/qt5'
Change-Id: Ide626304594e9a69604d59c2b4a992829458407a
Reviewed-by: Qt Submodule Update Bot <qt_submodule_update_bot@qt-project.org>
2026-03-06 15:06:38 +00:00
Qt Submodule Update Bot ed2aa04553 Update submodules on '6.11 in qt/qt5'
Change-Id: Id28b91f974f2b06cdea8057428df346524d958aa
Reviewed-by: Qt Submodule Update Bot <qt_submodule_update_bot@qt-project.org>
2026-03-05 17:31:32 +00:00
Qt Submodule Update Bot 480bec0c8f Update submodules on '6.11 in qt/qt5'
Change-Id: I7f90b6f89aa70b3a3f0261b00c6f7e19880fbbd4
Reviewed-by: Qt Submodule Update Bot <qt_submodule_update_bot@qt-project.org>
2026-03-04 18:22:56 +00:00
Qt Submodule Update Bot e99cbd70fc Update submodules on '6.11 in qt/qt5'
Change-Id: Ic153ad4ee957ab705f6dad77cbd955fac54855d4
Reviewed-by: Qt Submodule Update Bot <qt_submodule_update_bot@qt-project.org>
2026-03-02 23:09:25 +00:00
Nils Petter Skålerud 2b3aa0d2eb VxWorks, QEMU: Remove reference to undefined $appPrefix
install-vxworks-qemu.sh uses a variable that doesn't exist, causing
issues when we turn on more strict error-handling.

Pick-to: 6.10 6.8
Change-Id: I9d644a497e4689c7ab35c80f97548b1a1a6bdf12
Reviewed-by: Simo Fält <simo.falt@qt.io>
(cherry picked from commit 55c0e2f24a)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
2026-02-24 12:48:47 +00:00
Joerg Bornemann 782b6fb70c Fix configure -skip not forwarded to CMake
This amends commit 378c8719a9.

Since 378c8719a9, -skip is registered as a known option in
init-repository's option parser. This caused -skip values to be consumed
during option parsing and no longer appear in the unknown_args list that
gets forwarded to configure. As a result, -skip was silently ignored
when -init-submodules was not passed.

Fix by collecting skip modules into a dedicated list from two sources:
the -skip option values consumed by init-repository's parser, and
exclusion entries from -submodules/--module-subset. The merged list is
then forwarded to configure.

This also simplifies the previous merge logic that searched for -skip in
filtered_args, which became dead code after 378c8719a9.

Pick-to: 6.10 6.8
Task-number: QTBUG-140359
Change-Id: I816020959f86cf4b8e36ce1a62172acd442ed1d3
Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
(cherry picked from commit 1d4da9a59b)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
2026-02-23 19:53:56 +00:00
Nils Petter Skålerud f76a47ab0c OpenSSL, Android: Enforce correct symlinks in openssl_for_android.sh
There have been cases where necessary symlinks have been lost when
extracting prebuilt OpenSSL builds for Android. This patch ensures the
script will always create them.

As a drive-by, the patch cleans up some behavior related to
'opensslHome' being used to write to a variable outside function scope.

Pick-to: 6.10 6.8
Change-Id: Id6fb4143aaadcbf11e1b9bc6301ef53d2043ad10
Reviewed-by: Assam Boudjelthia <assam.boudjelthia@qt.io>
(cherry picked from commit 52b3c97ab7)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
2026-02-23 05:30:27 +00:00
Tero Heikkinen 4a184bed88 Unix: Bash scripts needs to be executable
Pick-to: 6.10 6.8 6.5
Task-number: QTQAINFRA-7709
Change-Id: Ia8802cc2c5e7fb8ed63e261f70fb343cd55a1dfa
Reviewed-by: Edward Welbourne <edward.welbourne@qt.io>
(cherry picked from commit 0ab91c0886)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
2026-02-23 05:30:25 +00:00
Tero Heikkinen 00b0638d66 Linux: Keep the IANA time zone database (tzdata/timezone) up to date
Need upgrade of the IANA db to 2022g or later with Ubuntu 22.04. Ensure
zoneinfo (tzdata/timezone) always stays up to date with all Linux OS.

Both packages (tzdata/timezone) provide the same thing:
  - the IANA TZ database under /usr/share/zoneinfo/

tzdata:
  - Debian
  - Ubuntu
  - RHEL

timezone:
  - openSUSE
  - SLES

Pick-to: 6.10 6.8 6.5
Fixes: COIN-1282
Change-Id: I6fe7d548470d8f0f63e5451a6b5203e658575f48
Reviewed-by: Edward Welbourne <edward.welbourne@qt.io>
(cherry picked from commit 9deb066d4c)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
2026-02-23 05:30:23 +00:00
614 changed files with 1624 additions and 881 deletions
+2 -2
View File
@@ -5,8 +5,8 @@ Makefile
CMakeLists.txt.user*
CMakeUserPresets.json
.vscode
build
build-*
build/
build-*/
.DS_Store
init-repository.opt
init-repository.opt.in
+46 -93
View File
@@ -1,53 +1,46 @@
[submodule "qtbase"]
path = qtbase
url = ../qtbase.git
branch = 6.11
branch = 6.11.2
status = essential
[submodule "qtsvg"]
depends = qtbase
path = qtsvg
url = ../qtsvg.git
branch = 6.11
branch = 6.11.2
status = addon
[submodule "qtdeclarative"]
depends = qtbase
recommends = qtimageformats qtshadertools qtsvg qtlanguageserver
path = qtdeclarative
url = ../qtdeclarative.git
branch = 6.11
branch = 6.11.2
status = essential
[submodule "qtactiveqt"]
depends = qtbase
path = qtactiveqt
url = ../qtactiveqt.git
branch = 6.11
branch = 6.11.2
status = addon
[submodule "qtmultimedia"]
depends = qtbase qtshadertools
recommends = qtdeclarative qtquick3d
path = qtmultimedia
url = ../qtmultimedia.git
branch = 6.11
branch = 6.11.2
status = addon
[submodule "qttools"]
depends = qtbase
recommends = qtdeclarative qtactiveqt
path = qttools
url = ../qttools.git
branch = 6.11
branch = 6.11.2
status = essential
[submodule "qtxmlpatterns"]
depends = qtbase
recommends = qtdeclarative
path = qtxmlpatterns
url = ../qtxmlpatterns.git
branch = dev
status = ignore
[submodule "qttranslations"]
depends = qttools
path = qttranslations
url = ../qttranslations.git
branch = 6.11
branch = 6.11.2
status = essential
priority = 30
[submodule "qtdoc"]
@@ -55,7 +48,7 @@
recommends = qtmultimedia qtshadertools qttasktree qtwebengine
path = qtdoc
url = ../qtdoc.git
branch = 6.11
branch = 6.11.2
status = essential
priority = 40
[submodule "qtrepotools"]
@@ -68,7 +61,7 @@
depends = qtbase
path = qtqa
url = ../qtqa.git
branch = 6.11
branch = 6.11.2
status = essential
priority = 50
[submodule "qtlocation"]
@@ -76,283 +69,243 @@
recommends = qtdeclarative
path = qtlocation
url = ../qtlocation.git
branch = 6.11
branch = 6.11.2
status = preview
[submodule "qtpositioning"]
depends = qtbase
recommends = qtdeclarative qtserialport
path = qtpositioning
url = ../qtpositioning.git
branch = 6.11
branch = 6.11.2
status = addon
[submodule "qtsensors"]
depends = qtbase
recommends = qtdeclarative
path = qtsensors
url = ../qtsensors.git
branch = 6.11
branch = 6.11.2
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
path = qtconnectivity
url = ../qtconnectivity.git
branch = 6.11
branch = 6.11.2
status = addon
[submodule "qtwayland"]
depends = qtbase
recommends = qtdeclarative
path = qtwayland
url = ../qtwayland.git
branch = 6.11
branch = 6.11.2
status = addon
[submodule "qt3d"]
depends = qtbase
recommends = qtdeclarative qtshadertools qtmultimedia
path = qt3d
url = ../qt3d.git
branch = 6.11
branch = 6.11.2
status = deprecated
[submodule "qtimageformats"]
depends = qtbase
path = qtimageformats
url = ../qtimageformats.git
branch = 6.11
branch = 6.11.2
status = addon
[submodule "qtserialbus"]
depends = qtbase
recommends = qtserialport
path = qtserialbus
url = ../qtserialbus.git
branch = 6.11
branch = 6.11.2
status = addon
[submodule "qtserialport"]
depends = qtbase
path = qtserialport
url = ../qtserialport.git
branch = 6.11
branch = 6.11.2
status = addon
[submodule "qtwebsockets"]
depends = qtbase
recommends = qtdeclarative
path = qtwebsockets
url = ../qtwebsockets.git
branch = 6.11
branch = 6.11.2
status = addon
[submodule "qtwebchannel"]
depends = qtbase
recommends = qtdeclarative qtwebsockets
path = qtwebchannel
url = ../qtwebchannel.git
branch = 6.11
branch = 6.11.2
status = addon
[submodule "qtwebengine"]
depends = qtdeclarative
recommends = qtwebchannel qttools qtpositioning
path = qtwebengine
url = ../qtwebengine.git
branch = 6.11
branch = 6.11.2
status = addon
priority = 10
[submodule "qtcanvas3d"]
depends = qtdeclarative
path = qtcanvas3d
url = ../qtcanvas3d.git
branch = dev
status = ignore
[submodule "qtwebview"]
depends = qtdeclarative
recommends = qtwebengine
path = qtwebview
url = ../qtwebview.git
branch = 6.11
branch = 6.11.2
status = addon
[submodule "qtcharts"]
depends = qtbase
recommends = qtdeclarative qtmultimedia
path = qtcharts
url = ../qtcharts.git
branch = 6.11
branch = 6.11.2
status = deprecated
[submodule "qtdatavis3d"]
depends = qtbase
recommends = qtdeclarative qtmultimedia
path = qtdatavis3d
url = ../qtdatavis3d.git
branch = 6.11
branch = 6.11.2
status = deprecated
[submodule "qtvirtualkeyboard"]
depends = qtbase qtdeclarative qtsvg
recommends = qtmultimedia
path = qtvirtualkeyboard
url = ../qtvirtualkeyboard.git
branch = 6.11
branch = 6.11.2
status = addon
[submodule "qtgamepad"]
depends = qtbase
recommends = qtdeclarative
path = qtgamepad
url = ../qtgamepad.git
branch = dev
status = ignore
[submodule "qtscxml"]
depends = qtbase qtdeclarative
path = qtscxml
url = ../qtscxml.git
branch = 6.11
branch = 6.11.2
status = addon
[submodule "qtspeech"]
depends = qtbase qtmultimedia
recommends = qtdeclarative
path = qtspeech
url = ../qtspeech.git
branch = 6.11
branch = 6.11.2
status = addon
[submodule "qtnetworkauth"]
depends = qtbase
path = qtnetworkauth
url = ../qtnetworkauth.git
branch = 6.11
branch = 6.11.2
status = addon
[submodule "qtremoteobjects"]
depends = qtbase
recommends = qtdeclarative
path = qtremoteobjects
url = ../qtremoteobjects.git
branch = 6.11
branch = 6.11.2
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
url = ../qtlottie.git
branch = 6.11
branch = 6.11.2
status = addon
[submodule "qtquicktimeline"]
depends = qtbase qtdeclarative
path = qtquicktimeline
url = ../qtquicktimeline
branch = 6.11
branch = 6.11.2
status = addon
[submodule "qtquick3d"]
depends = qtbase qtdeclarative qtshadertools
recommends = qtquicktimeline
path = qtquick3d
url = ../qtquick3d.git
branch = 6.11
branch = 6.11.2
status = addon
[submodule "qtshadertools"]
depends = qtbase
path = qtshadertools
url = ../qtshadertools.git
branch = 6.11
branch = 6.11.2
status = addon
[submodule "qt5compat"]
depends = qtbase qtdeclarative
path = qt5compat
url = ../qt5compat.git
branch = 6.11
branch = 6.11.2
status = deprecated
[submodule "qtcoap"]
depends = qtbase
path = qtcoap
url = ../qtcoap.git
branch = 6.11
branch = 6.11.2
status = addon
[submodule "qtmqtt"]
depends = qtbase qtdeclarative
recommends = qtwebsockets
path = qtmqtt
url = ../qtmqtt.git
branch = 6.11
branch = 6.11.2
status = addon
[submodule "qtopcua"]
depends = qtbase qtdeclarative
path = qtopcua
url = ../qtopcua.git
branch = 6.11
branch = 6.11.2
status = addon
[submodule "qtlanguageserver"]
depends = qtbase
path = qtlanguageserver
url = ../qtlanguageserver.git
branch = 6.11
branch = 6.11.2
status = preview
[submodule "qthttpserver"]
depends = qtbase
recommends = qtwebsockets
path = qthttpserver
url = ../qthttpserver.git
branch = 6.11
branch = 6.11.2
status = addon
[submodule "qtquick3dphysics"]
depends = qtbase qtdeclarative qtquick3d qtshadertools
path = qtquick3dphysics
url = ../qtquick3dphysics.git
branch = 6.11
branch = 6.11.2
status = addon
[submodule "qtgrpc"]
depends = qtbase
recommends = qtdeclarative
path = qtgrpc
url = ../qtgrpc.git
branch = 6.11
branch = 6.11.2
status = addon
[submodule "qtquickeffectmaker"]
depends = qtbase qtdeclarative qtshadertools
recommends = qtquick3d
path = qtquickeffectmaker
url = ../qtquickeffectmaker.git
branch = 6.11
branch = 6.11.2
status = addon
[submodule "qtgraphs"]
depends = qtbase qtdeclarative qtquick3d
path = qtgraphs
url = ../qtgraphs.git
branch = 6.11
branch = 6.11.2
status = addon
[submodule "qttasktree"]
depends = qtbase
path = qttasktree
url = ../qttasktree.git
branch = 6.11
branch = 6.11.2
status = preview
[submodule "qtopenapi"]
depends = qtbase
recommends = qtdeclarative
path = qtopenapi
url = ../qtopenapi.git
branch = 6.11
branch = 6.11.2
status = preview
[submodule "qtcanvaspainter"]
depends = qtbase qtdeclarative qtshadertools
path = qtcanvaspainter
url = ../qtcanvaspainter.git
branch = 6.11
branch = 6.11.2
status = preview
+1 -1
View File
@@ -315,7 +315,7 @@ function(qt_ir_get_already_initialized_submodules prefix
)
qt_ir_parse_git_config_file_contents("${prefix}"
READ_GIT_CONFIG
READ_GIT_CONFIG_LOCAL
PARENT_REPO_BASE_GIT_PATH "${parent_repo_base_git_path}"
WORKING_DIRECTORY "${working_directory}"
)
+16 -21
View File
@@ -130,6 +130,11 @@ function(qt_ir_get_args_from_optfile_configure_filtered optfile_path out_var)
set(extra_configure_args "")
set(extra_cmake_args "")
# Collect modules to skip. These may come from:
# 1. The -skip option (consumed by init-repository's option parser)
# 2. Exclusion entries in -submodules/--module-subset (e.g. -qtfoo)
qt_ir_get_option_value(skip skip_modules)
# If the -submodules or --module-subset options were specified, transform
# the values into something configure understands and pass them to configure.
qt_ir_get_option_value(module-subset submodules)
@@ -137,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
@@ -153,25 +159,10 @@ function(qt_ir_get_args_from_optfile_configure_filtered optfile_path out_var)
endif()
list(JOIN include_submodules "," include_submodules)
list(JOIN exclude_submodules "," exclude_submodules)
# Handle case when the -skip argument is already passed.
# In that case read the passed values, merge with new ones,
# remove both the -skip and its values, and re-add it later.
list(FIND filtered_args "-skip" skip_index)
if(exclude_submodules AND skip_index GREATER -1)
list(LENGTH filtered_args filtered_args_length)
math(EXPR skip_args_index "${skip_index} + 1")
if(skip_args_index LESS filtered_args_length)
list(GET filtered_args "${skip_args_index}" skip_args)
string(REPLACE "," ";" skip_args "${skip_args}")
list(APPEND skip_args ${exclude_submodules})
list(REMOVE_DUPLICATES skip_args)
list(JOIN skip_args "," exclude_submodules)
list(REMOVE_AT filtered_args "${skip_args_index}")
list(REMOVE_AT filtered_args "${skip_index}")
endif()
# Merge exclusions from module-subset into the skip list.
if(exclude_submodules)
list(APPEND skip_modules ${exclude_submodules})
endif()
# Handle case when only '-submodules existing' is passed and the
@@ -179,9 +170,13 @@ function(qt_ir_get_args_from_optfile_configure_filtered optfile_path out_var)
if(include_submodules)
list(APPEND extra_configure_args "-submodules" "${include_submodules}")
endif()
if(exclude_submodules)
list(APPEND extra_configure_args "-skip" "${exclude_submodules}")
endif()
endif()
# Forward all collected skip modules to configure.
if(skip_modules)
list(REMOVE_DUPLICATES skip_modules)
list(JOIN skip_modules "," skip_csv)
list(APPEND extra_configure_args "-skip" "${skip_csv}")
endif()
# Insert the extra arguments into the proper positions before and after '--'.
+1 -1
View File
@@ -1386,7 +1386,7 @@ function(qt_internal_foreach_repo_run)
set(color_supported FALSE)
set(output_goes_where "")
if(NOT tty_exit_CODE AND tty_name)
if(NOT tty_exit_code AND tty_name)
set(color_supported TRUE)
set(output_goes_where "OUTPUT_FILE" "${tty_name}")
endif()
@@ -16,6 +16,13 @@ instructions:
variableName: CONFIGURE_ENV_PREFIX
variableValue: "{{.Env.ENV_PREFIX}}"
# Re-fetch the qlitehtml repository in the Coin git mirror, otherwise the
# RunCMake.InitRepository test might fail trying to checkout a newer sha1 than what is
# available in the Coin git mirror.
- type: UpdateRepo
gitRemote: code.qt.io
repos: [playground/qlitehtml.git]
- type: ExecuteCommand
command: "{{.Env.CONFIGURE_ENV_PREFIX}} cmake {{.SourceDir}}/tests/manual/RunCMake"
executeCommandArgumentSplitingBehavior: SplitAfterVariableSubstitution
+14 -13
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',
]
@@ -155,6 +155,7 @@ Configurations:
'NON_QTBASE_CMAKE_ARGS=-DFFMPEG_DIR={{.Env.FFMPEG_DIR}} -DQT_DEPLOY_FFMPEG=TRUE',
'VCPKG_HOST_TRIPLET=x64-linux-qt',
'VCPKG_TARGET_TRIPLET=x64-linux-qt',
'SCCACHE_C_CUSTOM_CACHE_BUSTER=v1'
]
-
Id: 'sles-15_sp6-static'
@@ -185,12 +186,12 @@ Configurations:
]
-
Id: 'windows-11_24H2-msvc2022'
Template: 'qtci-windows-11_24H2-x86_64-71'
Template: 'qtci-windows-11_24H2-x86_64-73'
Compiler: 'MSVC2022'
Features: ['Sccache', 'Packaging', "DebugAndRelease", 'UseConfigure', 'GenerateSBOM', 'VerifySBOM']
Configure arguments: '-debug-and-release -force-debug-info -headersclean -nomake examples -qt-zlib'
Environment variables: [
'CMAKE_ARGS=-DFEATURE_msvc_obj_debug_info=ON -DOPENSSL_ROOT_DIR={{.Env.OPENSSL_INCLUDE_x64}}\.. -DPostgreSQL_ROOT={{.Env.POSTGRESQL_LIB_x64}}\..',
'CMAKE_ARGS=-DFEATURE_msvc_obj_debug_info=ON -DOPENSSL_ROOT_DIR={{.Env.OPENSSL_ROOT_DIR_x64}}\.. -DPostgreSQL_ROOT={{.Env.POSTGRESQL_LIB_x64}}\..',
'NON_QTBASE_CMAKE_ARGS=-DFFMPEG_DIR={{.Env.FFMPEG_DIR_MSVC}} -DQT_DEPLOY_FFMPEG=TRUE -DFEATURE_clangcpp=OFF -DINPUT_headersclean=ON',
'LLVM_INSTALL_DIR={{.Env.LLVM_INSTALL_DIR_msvc}}',
'VCPKG_HOST_TRIPLET=x64-windows-qt',
@@ -214,7 +215,7 @@ Configurations:
]
-
Id: 'windows-11_24H2-msvc2022-arm64'
Template: 'qtci-windows-11_24H2-x86_64-71'
Template: 'qtci-windows-11_24H2-x86_64-73'
Compiler: 'MSVC2022'
Target arch: 'arm64'
Features: ['Sccache', 'Packaging', 'DoNotRunTests', 'TargetBuildOnly', 'UseConfigure', 'GenerateSBOM', 'VerifySBOM']
@@ -224,9 +225,9 @@ Configurations:
'TARGET_CONFIGURE_ARGS=-debug-and-release -force-debug-info -platform win32-arm64-msvc -qt-zlib -no-sql-db2 -no-sql-ibase -no-sql-mysql -no-sql-oci -no-sql-psql -no-sql-mimer',
'TARGET_CMAKE_ARGS=-DFEATURE_msvc_obj_debug_info=ON -DOPENSSL_ROOT_DIR={{.Env.OPENSSL_ROOT_DIR_x64_arm64}} -DQT_FORCE_BUILD_TOOLS=ON',
'NON_QTBASE_TARGET_CMAKE_ARGS=-DFEATURE_native_grpc=OFF -DFFMPEG_DIR={{.Env.FFMPEG_DIR_MSVC_ARM64}} -DQT_DEPLOY_FFMPEG=TRUE',
'OPENSSL_CONF_x64={{.Env.OPENSSL_CONF_x64_arm64}}',
'OPENSSL_INCLUDE_x64={{.Env.OPENSSL_INCLUDE_x64_arm64}}',
'OPENSSL_LIB_x64={{.Env.OPENSSL_LIB_x64_arm64}}',
'OPENSSL_INCLUDE={{.Env.OPENSSL_INCLUDE_x64_arm64}}',
'OPENSSL_LIB={{.Env.OPENSSL_LIB_x64_arm64}}',
'OPENSSL_ROOT_DIR={{.Env.OPENSSL_ROOT_DIR_x64_arm64}}',
'LLVM_INSTALL_DIR={{.Env.LLVM_INSTALL_DIR_msvc_arm64}}',
'VCPKG_HOST_TRIPLET=x64-windows-qt',
'VCPKG_TARGET_TRIPLET=arm64-windows-qt',
@@ -242,7 +243,7 @@ Configurations:
Platform dependency: 'windows-11_24H2-msvc2022-arm64'
-
Id: 'windows-11_24H2-msvc2022-developer-build'
Template: 'qtci-windows-11_24H2-x86_64-71'
Template: 'qtci-windows-11_24H2-x86_64-73'
Compiler: 'MSVC2022'
Features: ['Sccache', 'DebugAndRelease', 'WarningsAreErrors', 'UseConfigure', 'StandaloneExamples']
Configure arguments: '-debug-and-release -force-asserts -make examples -developer-build -force-debug-info -qt-zlib -c++std c++20'
@@ -262,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',
]
@@ -293,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'
@@ -305,7 +306,7 @@ Configurations:
]
-
Id: 'windows-11_24h2-mingw13'
Template: 'qtci-windows-11_24H2-x86_64-71'
Template: 'qtci-windows-11_24H2-x86_64-73'
Compiler: 'Mingw'
Features: ['Packaging', 'Sccache', 'UseConfigure', 'GenerateSBOM', 'VerifySBOM']
Configure arguments: '-release -force-debug-info -separate-debug-info -nomake examples'
@@ -318,7 +319,7 @@ Configurations:
]
-
Id: 'windows-11_24H2-llvm'
Template: 'qtci-windows-11_24H2-x86_64-71'
Template: 'qtci-windows-11_24H2-x86_64-73'
Compiler: 'Clang'
Features: ['Sccache', 'Packaging', 'UseConfigure', 'GenerateSBOM', 'VerifySBOM']
Configure arguments: '-release -force-debug-info -separate-debug-info -nomake examples'
@@ -331,7 +332,7 @@ Configurations:
]
-
Id: 'windows-11_24H2-mingw13-developer-build'
Template: 'qtci-windows-11_24H2-x86_64-71'
Template: 'qtci-windows-11_24H2-x86_64-73'
Compiler: 'Mingw'
Features: ['Sccache', 'WarningsAreErrors', 'UseConfigure', 'StandaloneExamples']
Configure arguments: '-developer-build -release -force-asserts -force-debug-info -separate-debug-info -make examples'
@@ -3,7 +3,7 @@ Configurations:
-
Id: 'windows-11_24H2-msvc2022-minimal-static-test'
Template: 'qtci-windows-11_24H2-x86_64-71'
Template: 'qtci-windows-11_24H2-x86_64-73'
Compiler: 'MSVC2022'
Features: ['Sccache', 'Packaging', 'UseConfigure', 'MinimalStaticTests']
Configure arguments: '-static -release -headersclean -nomake examples -qt-libjpeg -no-icu -qt-doubleconversion -qt-zlib -c++std c++20 -no-feature-sql-psql'
@@ -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'
@@ -13,7 +13,7 @@ Configurations:
]
-
Id: 'windows-11_24H2-minimal-static'
Template: 'qtci-windows-11_24H2-x86_64-71'
Template: 'qtci-windows-11_24H2-x86_64-73'
Compiler: 'MSVC2022'
Features: ['Sccache', 'MinimalStaticTests', 'UseConfigure']
Configure arguments: '-release -force-debug-info -static -nomake examples -qt-zlib -no-sql-db2 -no-sql-ibase -no-sql-mysql -no-sql-oci -no-sql-psql -no-sql-mimer'
@@ -17,7 +17,7 @@ Configurations:
]
-
Id: 'android-armv7-on-windows'
Template: 'qtci-windows-11_24H2-x86_64-71'
Template: 'qtci-windows-11_24H2-x86_64-73'
Target os: 'Android_ANY'
Target arch: 'armv7'
Compiler: 'Mingw'
@@ -69,3 +69,22 @@ Configurations:
'ANDROID_NDK_ROOT={{.Env.ANDROID_NDK_ROOT_LATEST}}',
'ANDROID_EMULATOR=emulator_x86_64_api_36'
]
-
Id: 'android-17-x86_64-on-linux'
Template: 'qtci-linux-RHEL-9.6-x86_64-51'
Target os: 'Android_ANY'
Target arch: 'x86_64'
Compiler: 'GCC'
Target compiler: 'Clang'
Platform dependency: 'rhel-9.6'
Features: ['Sccache', 'WarningsAreErrors', 'AndroidTestRun', 'VMSize8', 'UseConfigure', 'GenerateSBOM', 'VerifySBOM', 'JavaDocs', 'InsignificantTests', 'DoNotAbortTestingOnFirstFailure']
Environment variables: [
'TARGET_CONFIGURE_ARGS=-nomake examples -release -force-debug-info -android-ndk {{.Env.ANDROID_NDK_ROOT_LATEST}} -android-sdk {{.Env.ANDROID_SDK_ROOT}} -android-abis x86_64',
'TARGET_CMAKE_ARGS=-DCMAKE_C_COMPILER_FRONTEND_VARIANT=GNU -DCMAKE_CXX_COMPILER_FRONTEND_VARIANT=GNU -DOPENSSL_ROOT_DIR={{.Env.OPENSSL_ANDROID_HOME_LATEST}} -DQT_GENERATE_WRAPPER_SCRIPTS_FOR_ALL_HOSTS=ON',
'NON_QTBASE_TARGET_CMAKE_ARGS=-DFFMPEG_DIR={{.Env.FFMPEG_DIR_ANDROID_X86_64_NDK_LATEST}} -DQT_DEPLOY_FFMPEG=TRUE -DQT_PROTOBUF_WELL_KNOWN_TYPES_PROTO_DIR=/usr/local/include',
# We check QT_USE_TARGET_ANDROID_BUILD_DIR and QT_USE_ANDROID_MODERN_BUNDLE only in one
# configuration, to ensure builds without this option work too.
'COMMON_TARGET_TEST_CMAKE_ARGS=-DQT_USE_TARGET_ANDROID_BUILD_DIR=ON -DQT_USE_ANDROID_MODERN_BUNDLE=ON',
'ANDROID_NDK_ROOT={{.Env.ANDROID_NDK_ROOT_LATEST}}',
'ANDROID_EMULATOR=emulator_x86_64_api_37'
]
@@ -28,7 +28,7 @@ Configurations:
]
-
Id: 'webassembly-windows'
Template: 'qtci-windows-11_24H2-x86_64-71'
Template: 'qtci-windows-11_24H2-x86_64-73'
Target os: 'WebAssembly'
Compiler: 'Mingw'
Target compiler: 'Clang'
+12 -12
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'
@@ -46,25 +46,25 @@ Configurations:
-
Id: 'macos-13-arm64-tests'
Template: 'qtci-macos-13-arm-107'
Template: 'qtci-macos-13-arm-108'
Compiler: 'Clang'
Features: ['Sccache', 'TestOnly', 'Packaging']
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'
@@ -109,25 +109,25 @@ Configurations:
# Test on all supported macOS versions (deployment targets)
-
Id: 'macos-13-arm64-developer-build-tests'
Template: 'qtci-macos-13-arm-107'
Template: 'qtci-macos-13-arm-108'
Compiler: 'Clang'
Features: ['TestOnly']
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'
+1 -1
View File
@@ -2,7 +2,7 @@ Version: 2
Configurations:
-
Id: 'windows-11_24H2-msvc2022-developer-build-cxx23'
Template: 'qtci-windows-11_24H2-x86_64-71'
Template: 'qtci-windows-11_24H2-x86_64-73'
Compiler: 'MSVC2022'
Features: ['Sccache', 'DebugAndRelease', 'WarningsAreErrors', 'UseConfigure', 'StandaloneExamples']
Configure arguments: '-debug-and-release -force-asserts -make examples -developer-build -force-debug-info -qt-zlib -c++std c++23'
@@ -0,0 +1,14 @@
Version: 2
Module only: True
Include: [
cmake_platforms.yaml: [
'ubuntu-22.04'
]
]
Configurations:
-
Id: 'ubuntu-22.04-Axivion'
Template: 'qtci-linux-Ubuntu-22.04-x86_64-51'
Compiler: 'GCC'
Features: ['UseConfigure', 'VMSize16', 'RunAsPlatformDependency', 'PysideAxivion']
Platform dependency: 'ubuntu-22.04'
@@ -7,7 +7,7 @@ Include: [
Configurations:
-
Id: 'qnx-710-arm64-on-windows'
Template: 'qtci-windows-11_24H2-x86_64-71'
Template: 'qtci-windows-11_24H2-x86_64-73'
Target os: 'QNX_710'
Target arch: 'arm64'
Compiler: 'Mingw'
@@ -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'
@@ -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'
]
@@ -2,7 +2,7 @@ Version: 2
Configurations:
-
Id: 'windows-11_24H2-msvc2022-unity-build'
Template: 'qtci-windows-11_24H2-x86_64-71'
Template: 'qtci-windows-11_24H2-x86_64-73'
Compiler: 'MSVC2022'
Features: ['Sccache', 'Debug', 'UseConfigure', 'DoNotRunTests']
Configure arguments: '-debug -force-debug-info -headersclean -make examples -qt-zlib'
+5 -5
View File
@@ -2,7 +2,7 @@ Version: 2
Module only: True
Configurations:
-
Template: 'qtci-windows-11_24H2-x86_64-71'
Template: 'qtci-windows-11_24H2-x86_64-73'
Compiler: 'MSVC2022'
Features: ['Sccache', 'DebugAndRelease']
Configure arguments: ''
@@ -21,14 +21,14 @@ Configurations:
Configure arguments: ''
Environment variables: []
-
Template: 'qtci-macos-15-arm-104'
Template: 'qtci-macos-15-arm-105'
Compiler: 'Clang'
Features: ['Sccache', 'DebugAndRelease']
Configure arguments: ''
Environment variables: []
# without tests
-
Template: 'qtci-windows-11_24H2-x86_64-71'
Template: 'qtci-windows-11_24H2-x86_64-73'
Compiler: 'MSVC2022'
Features: ['Sccache', 'DebugAndRelease', 'DisableTests']
Configure arguments: ''
@@ -36,7 +36,7 @@ Configurations:
Environment script: ['%ProgramFiles%\Microsoft Visual Studio\2022\Professional\VC\Auxiliary\Build\vcvarsall.bat', 'amd64']
# oldest Qt version
-
Template: 'qtci-windows-11_24H2-x86_64-71'
Template: 'qtci-windows-11_24H2-x86_64-73'
Compiler: 'MSVC2022'
Features: ['Sccache', 'DebugAndRelease', 'OldestQt']
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: ''
+1 -1
View File
@@ -13,6 +13,6 @@ Configurations:
Features: ['TestOnly']
-
Id: 'qtgp-on-windows-24h2'
Template: 'qtci-windows-11_24H2-x86_64-71'
Template: 'qtci-windows-11_24H2-x86_64-73'
Compiler: 'MSVC2022'
Features: ['TestOnly']
+2 -2
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: >
@@ -46,7 +46,7 @@ Configurations:
Environment variables: []
-
Id: 'windows-quick-bridges'
Template: 'qtci-windows-11_24H2-x86_64-71'
Template: 'qtci-windows-11_24H2-x86_64-73'
Compiler: 'MSVC2022'
Features: ['Packaging', 'Sccache', "DebugAndRelease", 'UseConfigure', 'DisableTests', 'Insignificant']
Configure arguments: >
+3 -3
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'
@@ -293,7 +293,7 @@ Configurations:
]
-
Id: 'windows-11_24H2-msvc2022-static-quicklite'
Template: 'qtci-windows-11_24H2-x86_64-71'
Template: 'qtci-windows-11_24H2-x86_64-73'
Compiler: 'MSVC2022'
Features: ['Sccache', 'UseConfigure', 'DisableTests', 'Insignificant']
Configure arguments: >
@@ -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'
]
+7 -7
View File
@@ -12,28 +12,28 @@ Include: [
Configurations:
-
Id: 'windows-quick-bridges-dotnet'
Template: 'qtci-windows-11_24H2-x86_64-71'
Template: 'qtci-windows-11_24H2-x86_64-73'
Compiler: 'MSVC2022'
Platform dependency: 'windows-quick-bridges'
Features: ['Packaging', 'Sccache', "DebugAndRelease", 'UseConfigure', 'DisableTests', 'RunAsPlatformDependency', 'QtBridgesDotnet']
-
Id: 'windows-quick-bridges-rust'
Template: 'qtci-windows-11_24H2-x86_64-71'
Template: 'qtci-windows-11_24H2-x86_64-73'
Compiler: 'MSVC2022'
Platform dependency: 'windows-quick-bridges'
Features: ['Packaging', 'Sccache', 'UseConfigure', 'DisableTests', 'RunAsPlatformDependency', 'QtBridgesRust']
-
Id: 'windows-quick-bridges-python'
Template: 'qtci-windows-11_24H2-x86_64-71'
Template: 'qtci-windows-11_24H2-x86_64-73'
Compiler: 'MSVC2022'
Platform dependency: 'windows-quick-bridges'
Features: ['Packaging', 'Sccache', 'UseConfigure', 'DisableTests', 'RunAsPlatformDependency', 'QtBridgesPython']
-
Id: 'windows-quick-bridges-java'
Template: 'qtci-windows-11_24H2-x86_64-71'
Template: 'qtci-windows-11_24H2-x86_64-73'
Compiler: 'MSVC2022'
Platform dependency: 'windows-quick-bridges'
Features: ['Packaging', 'Sccache', 'UseConfigure', 'DisableTests', 'RunAsPlatformDependency', 'QtBridgesJava']
@@ -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']
+1 -1
View File
@@ -12,5 +12,5 @@ Configurations:
Template: 'qtci-linux-openSUSE-16.0-x86_64-51'
Target os: 'WebAssembly'
Compiler: 'GCC'
Features: ['Sccache', 'TestOnly']
Features: ['Sccache', 'TestOnly', 'InsignificantTests', 'DoNotAbortTestingOnFirstFailure']
Platform dependency: 'webassembly-linux-thread-asyncify-new'
@@ -63,3 +63,9 @@ https://developer.microsoft.com/en-us/windows/downloads/windows-sdk/
* Modify 'Windows Software Development Kit' from Add or remove programs
- Add feature 'Debugging Tools for Windows'
############################################################
Visual Studio 2026 and build tools were later updated to 17.14.33 in VS installer.
This updated (Latest) MSVC components to:
- MSVC v14.44.35211.0
- Windows 11 SDK (10.0.26100.7705)
.NET SDK was added
+33 -10
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"
@@ -199,6 +202,23 @@ echo "Unzipping the Android 16 to $maxVersionDestination"
sudo unzip -o -q "$maxVersionFilePath" -d "$maxVersionDestination"
rm "$maxVersionFilePath"
echo "Download and unzip Android 17 Beta 3 16KB System Image"
insignificantMaxVersionFileName="x86_64-ps16k-37.0_r03.zip"
insignificantMaxVersionDestination="$sdkTargetFolder/system-images/android-37/google_apis_ps16k/"
insignificantMaxVersionFilePath="$insignificantMaxVersionDestination/$insignificantMaxVersionFileName"
insignificantMaxVersionCiUrl="$basePath/system_images/google_apis/$insignificantMaxVersionFileName"
insignificantMaxVersionUrl="https://dl.google.com/android/repository/sys-img/google_apis/$insignificantMaxVersionFileName"
insignificantMaxVersionSha1="b89a6686f9a9e9942d596bed45d422cbccb70c98"
mkdir -p "$insignificantMaxVersionDestination"
DownloadURL "$insignificantMaxVersionCiUrl" "$insignificantMaxVersionUrl" "$insignificantMaxVersionSha1" "$insignificantMaxVersionFilePath"
echo "Unzipping the Android 17 Beta3 16KB to $insignificantMaxVersionDestination"
sudo unzip -o -q "$insignificantMaxVersionFilePath" -d "$insignificantMaxVersionDestination"
# Hack to avoid SDK version bug in source.properties file, the usage of ".0" messes things for avdmanager. TODO: undo when official comes
sudo sed -i 's/AndroidVersion.ApiLevel=37.0/AndroidVersion.ApiLevel=37/g' "$insignificantMaxVersionDestination/x86_64/source.properties"
rm "$insignificantMaxVersionFilePath"
echo "Checking the contents of Android SDK again..."
ls -l "$sdkTargetFolder"
@@ -208,6 +228,9 @@ echo "no" | ./avdmanager create avd -n emulator_x86_api_28 -c 2048M -f \
echo "no" | ./avdmanager create avd -n emulator_x86_64_api_36 -c 2048M -f \
-k "system-images;android-36;google_apis;x86_64"
echo "no" | ./avdmanager create avd -n emulator_x86_64_api_37 -c 2048M -f \
-k "system-images;android-37;google_apis,page_size_16kb,ai_glasses_compatible;x86_64"
echo "Install maximum supported SDK level image for Android Automotive $sdkApiLevelAutomotiveMax"
DownloadURL "$androidAutomotiveMaxUrl" "$androidAutomotiveMaxUrl" "$androidAutomotiveMaxSha" \
"/tmp/${sdkApiLevelAutomotiveMax}_automotive.tar.gz"
@@ -219,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
@@ -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
]
}
@@ -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 "$@"
@@ -0,0 +1,3 @@
diffutils
make
yasm
@@ -0,0 +1,4 @@
diffutils
libva-devel
make
yasm
@@ -0,0 +1,3 @@
diffutils
make
yasm
@@ -0,0 +1,4 @@
diffutils
libva-dev
make
yasm
View File
View File
View File
@@ -21,13 +21,13 @@ prefix="${2:-$default_prefix}"
pkgconfig_path="$PKG_CONFIG_PATH"
install_ff_nvcodec_headers() {
local nv_codec_version="11.1" # use 11.1 to ensure compatibility with 470 nvidia drivers; might be upated to 12.0
local nv_codec_url_public="https://github.com/FFmpeg/nv-codec-headers/archive/refs/heads/sdk/$nv_codec_version.zip"
local nv_codec_url_cached="http://ci-files01-hki.ci.qt.io/input/ffmpeg/nv-codec-headers/nv-codec-headers-sdk-$nv_codec_version.zip"
local nv_codec_sha1="ceb4966ab01b2e41f02074675a8ac5b331bf603e"
local nv_codec_version="11.1.5.3" # use 11.x.x.x to ensure compatibility with 470 nvidia drivers; might be upated to 12.0
local nv_codec_url_public="https://github.com/FFmpeg/nv-codec-headers/archive/refs/tags/n$nv_codec_version.zip"
local nv_codec_url_cached="http://ci-files01-hki.ci.qt.io/input/ffmpeg/nv-codec-headers/nv-codec-headers-$nv_codec_version.zip"
local nv_codec_sha1="78715d521de102362e553dc92577bbe81905a321"
#nv_codec_sha1="4f30539f8dd31945da4c3da32e66022f9ca59c08" // 12.0
local target_dir="$HOME"
local nv_codec_dir="$target_dir/nv-codec-headers-sdk-$nv_codec_version"
local nv_codec_dir="$target_dir/nv-codec-headers-n$nv_codec_version"
if [ ! -d "$nv_codec_dir" ]; then
source "${BASH_SOURCE%/*}/../unix/InstallFromCompressedFileFromURL.sh"
@@ -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
@@ -13,7 +13,7 @@ QEMU_VER="8.2.3"
PrimaryUrl="http://ci-files01-hki.ci.qt.io/input/qemu/qemu-$QEMU_VER.tar.xz"
AltUrl="https://download.qemu.org/qemu-$QEMU_VER.tar.xz"
SHA1="1b29c8105cf8d15b9e7fb6f8e85170b6c54a1788"
InstallFromCompressedFileFromURL "$PrimaryUrl" "$AltUrl" "$SHA1" "/tmp" "$appPrefix"
InstallFromCompressedFileFromURL "$PrimaryUrl" "$AltUrl" "$SHA1" "/tmp" ""
targetFolder=/tmp/qemu-${QEMU_VER}
mkdir -p "$targetFolder/build"
+10 -2
View File
@@ -43,9 +43,17 @@ if [ ! -d "$targetFolder" ]; then
fi
# QNX SDP
sourceFile="http://ci-files01-hki.ci.qt.io/input/qnx/qnx800-windows-linux-20250612.tar.xz"
sourceFile="http://ci-files01-hki.ci.qt.io/input/qnx/qnx800-windows-linux-20260410.tar.xz"
targetFile="qnx800.tar.xz"
sha1="d7ca20be6867b569067a17e8b3fa633c7eadad89"
sha1="a3fdcd98e12bc5054d00f18e4088af26288fd020"
DownloadAndExtract "$sourceFile" "$sha1" "$targetFile" "$targetFolder"
# IANA timezone database overlay. Packaged separately from the SDP so it can be
# bumped without rebuilding the SDP tarball. Archive root is qnx800/target/qnx/
# so it overlays onto $targetFolder (/opt/) directly.
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"
sudo cp "$aarch64le_toolchain" "$targetPath"
@@ -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
@@ -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
@@ -22,7 +22,7 @@ lib/libEGL.so.1=usr/lib/libEGL.so.1
lib/libz.so.2=usr/lib/libz.so.2
lib/libzstd.so.1=usr/lib/libzstd.so.1
lib/libxml2.so.2=usr/lib/libxml2.so.2
lib/libfreetype.so.24=usr/lib/libfreetype.so.24
lib/libfreetype.so.26=usr/lib/libfreetype.so.26
lib/libbz2.so.1=usr/lib/libbz2.so.1
lib/liblzma.so.5=usr/lib/liblzma.so.5
lib/libdbus-1.so=usr/lib//libdbus-1.so
@@ -54,7 +54,7 @@ xbin/fsevmgr=sbin/fsevmgr
lib/libscreen.so.1=usr/lib/libscreen.so.1
# for fontconfig
lib/libfontconfig.so.1=usr/lib/libfontconfig.so.1
lib/libfontconfig.so.17=usr/lib/libfontconfig.so.17
xbin/fc-cache=bin/fc-cache
xbin/fc-match=local/misc_files/fc-match
+4 -4
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"
+39
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
+20
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
}
+6 -3
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
@@ -0,0 +1,2 @@
diffutils
yasm
@@ -26,9 +26,14 @@ readonly MINIMUM_IOS_VERSION="16.0"
source "${BASH_SOURCE%/*}/../unix/ffmpeg-installation-utils.sh"
ffmpeg_version=$(ffmpeg_version_default)
ffmpeg_source_dir=$(download_ffmpeg)
ffmpeg_config_options=$(get_ffmpeg_config_options "shared")
ffmpeg_version="n$(<"${ffmpeg_source_dir}/RELEASE")"
if [ ! -n "$ffmpeg_version" ]; then
echo "Error. Unable to determine FFmpeg version."
exit 1
fi
ffmpeg_build_type="shared"
ffmpeg_config_options=$(get_ffmpeg_config_options "$ffmpeg_build_type")
default_prefix="/usr/local/ios/ffmpeg"
prefix="${1:-$default_prefix}"
@@ -96,8 +101,6 @@ build_ffmpeg_ios() {
--extra-cxxflags="${common_arch_flags}"
--extra-ldflags="${common_arch_flags}"
--target-os=darwin
--enable-shared
--disable-static
--install-name-dir="@rpath"
--disable-audiotoolbox
@@ -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"
+1 -1
View File
@@ -19,7 +19,7 @@ class Libiodbc < Formula
def install
if build.with? "universal"
ENV['CFLAGS'] = '-O -arch arm64 -arch x86_64 -mmacosx-version-min=10.9'
ENV['CFLAGS'] = '-O -arch arm64 -arch x86_64 -mmacosx-version-min=10.9 -std=gnu89'
end
system "./autogen.sh"
system "./configure", "--disable-dependency-tracking", "--prefix=#{prefix}"
-35
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
+4 -4
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"
+39
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
@@ -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
@@ -8,25 +8,27 @@ lib_dir="$1/lib"
additional_suffix="${2:-}"
set_rpath="${3:-yes}"
page_size="${4:-}"
custom_readelf="${5:-""}"
# readelf and patchelf are prerequisite tools for this script. Check
# that they are available.
if [ "$(uname -s)" = "Darwin" ]; then
# Under Homebrew, binutils package is not symlinked into PATH.
# This lets us use readelf provided by Homebrew.
readelf_homebrew_path="$(brew --prefix binutils)/bin/readelf"
if [[ ! -x "$readelf_homebrew_path" ]]; then
echo "Found no valid readelf executable. It is possible it was not correctly installed through Homebrew."
# If custom_readelf is not provided, we fallback to host readelf.
if [ -n "$custom_readelf" ]; then
if ! command -v "$custom_readelf"; then
echo "Error. Provided readelf executable '${custom_readelf}' is not a valid executable"
exit 1
fi
readelf() { "$readelf_homebrew_path" "$@"; }
fi
if ! command -v readelf; then
elif ! command -v readelf; then
echo "Found no valid readelf command. It is possible it was not correctly installed."
exit 1
fi
readelf_wrapper() {
if [ -n "$custom_readelf" ]; then
"$custom_readelf" "$@"
else
readelf "$@"
fi
}
if ! command -v patchelf; then
echo "Found no valid patchelf command. It is possible it was not correctly installed."
exit 1
@@ -38,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
@@ -57,7 +59,7 @@ for lib_name in "${ffmpeg_libs[@]}"; do
fi
read_needed_deps() {
readelf -d "$lib_path" | grep '(NEEDED)'
readelf_wrapper -d "$lib_path" | grep '(NEEDED)'
}
while read -r line; do
@@ -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" ]
}
@@ -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
@@ -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
@@ -2,12 +2,8 @@
# Copyright (C) 2024 The Qt Company Ltd.
# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
ffmpeg_version_default() {
echo "n7.1.3"
}
download_ffmpeg() {
local version="${1:-$(ffmpeg_version_default)}"
local version="${1:-"n7.1.3"}"
local sha1="${2:-27051817deec88bed3b9652d49f9127d22268d83}"
local ffmpeg_name="FFmpeg-$version"
@@ -124,8 +124,14 @@ build_ffmpeg_android() {
if [ $page_size == "use_16kb_page_size" ]; then
page_size_arg="16384"
fi
sudo "${fix_dependencies}" "${target_dir}" "${libs_prefix}" "no" "$page_size_arg"
local set_rpath_arg="no"
local readelf_path_arg="${toolchain_bin}/llvm-readelf"
sudo "$fix_dependencies" \
"$target_dir" \
"$libs_prefix" \
"$set_rpath_arg" \
"$page_size_arg" \
"$readelf_path_arg"
fi
}
@@ -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"
;;
@@ -1,13 +1,13 @@
#!/usr/bin/env bash
# Copyright (C) 2022 The Qt Company Ltd.
# Copyright (C) 2025 The Qt Company Ltd.
# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
# This script install OpenSSL from sources.
# Requires GCC and Perl to be in PATH.
set -ex
os="$1"
version=${2:-"3.0.7"}
sha=${3:-"f20736d6aae36bcbfa9aba0d358c71601833bf27"}
version=${2:-"3.5.4"}
sha=${3:-"b75daac8e10f189abe28a076ba5905d363e4801f"}
SCRIPT_DIR="$( cd -- "$( dirname -- "${BASH_SOURCE[0]}" )" &> /dev/null && pwd )"
# shellcheck source=../unix/DownloadURL.sh
@@ -104,6 +104,18 @@ elif [ "$os" == "macos" ] || [ "$os" == "macos-universal" ]; then
SetEnvVar "OPENSSL_INCLUDE" "\"$openssl_install_dir/include\""
SetEnvVar "OPENSSL_LIB" "\"$openssl_install_dir/lib\""
# Set runtime loader (dyld) and OpenSSL providers for SSL tests (QTBUG-142392)
SetEnvVar "DYLD_LIBRARY_PATH" "\"$opensslTargetLocation/lib:\$DYLD_LIBRARY_PATH\""
SetEnvVar "OPENSSL_MODULES" "\"$opensslTargetLocation/lib/ossl-modules\""
# Check that the versioned dylibs exists and ML-DSA is available
test -f "$opensslTargetLocation/lib/libcrypto.3.dylib"
test -f "$opensslTargetLocation/lib/libssl.3.dylib"
test -d "$opensslTargetLocation/lib/ossl-modules"
OPENSSL_MODULES="$opensslTargetLocation/lib/ossl-modules" \
"$opensslTargetLocation/bin/openssl" list -signature-algorithms | \
grep -q -i 'ML-DSA' || { echo "ML-DSA not available"; exit 1; }
security find-certificate -a -p /Library/Keychains/System.keychain | sudo tee -a "$opensslTargetLocation/ssl/cert.pem" > /dev/null
security find-certificate -a -p /System/Library/Keychains/SystemRootCertificates.keychain | sudo tee -a "$opensslTargetLocation/ssl/cert.pem" > /dev/null
fi
+112
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
}
@@ -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
@@ -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"
@@ -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"
@@ -5,21 +5,23 @@
# This script install prebuilt OpenSSL which was built against Android NDK 25.
# OpenSSL build will fail with Android NDK 22, because it's missing platforms and sysroot directories
set -ex
set -eux
# shellcheck source=../unix/DownloadURL.sh
source "${BASH_SOURCE%/*}/../unix/DownloadURL.sh"
# shellcheck source=../unix/SetEnvVar.sh
source "${BASH_SOURCE%/*}/../unix/SetEnvVar.sh"
sslVersionForLatest="3.0.7"
ndkVersionLatest="r27c"
featureSuffixLatest="_16kb"
prebuiltOpensslShaLatest="2cc15dd990460c2c7157ab257a47071fbd9e0ac8"
outputPathBase="${HOME}"
sslVersionForPreview="3.0.7"
sslVersionForLatest="3.5.4"
ndkVersionLatest="r27c"
featureSuffixLatest="_16kb_fixed_symversions"
prebuiltOpensslShaLatest="b9dc30ed77bfd26e526e81d558d6964585b27283"
sslVersionForPreview="3.5.4"
ndkVersionPreview="r29-beta2"
featureSuffixPreview="_16kb"
prebuiltOpensslShaPreview="76c9788216440111be97ea1a63c4d8cd807baacd"
featureSuffixPreview="_16kb_fixed_symversions"
prebuiltOpensslShaPreview="89b6692e983c7e9678dcd9fc03da623fb75593d3"
ndkVersionNightly1=$ndkVersionLatest
sslVersionForNightly1=$sslVersionForLatest
@@ -31,87 +33,126 @@ sslVersionForNightly2=$sslVersionForLatest
featureSuffixNightly2=""
prebuiltOpensslShaNightly2=$prebuiltOpensslShaLatest
: <<'EOB' SOURCE BUILD INSTRUCTIONS - Openssl prebuilt was made using Android NDK r29-beta2
# Source built requires GCC and Perl to be in PATH. Rhel "requires yum install perl-IPC-Cmd"
exports_file="/tmp/export.sh"
# source previously made environmental variables.
if uname -a |grep -q "Ubuntu"; then
# shellcheck disable=SC1090
grep -e "^export" "$HOME/.profile" > $exports_file && source $exports_file
rm -rf "$exports_file"
else
# shellcheck disable=SC1090
grep -e "^export" "$HOME/.bashrc" > $exports_file && source $exports_file
rm -rf "$exports_file"
fi
: <<'EOB' SOURCE BUILD INSTRUCTIONS
Openssl 3.5.4 prebuilt was made using Android NDK r27c Revision 27.2.12479018
and r29-beta2 Revision 29.0.13599879
officialUrl="https://www.openssl.org/source/openssl-$sslVersionForLatest.tar.gz"
cachedUrl="http://ci-files01-hki.ci.qt.io/input/openssl/openssl-$sslVersionForLatest.tar.gz"
targetFile="/tmp/openssl-$sslVersionForLatest.tar.gz"
sha="f20736d6aae36bcbfa9aba0d358c71601833bf27"
opensslHome="${HOME}/openssl/android/openssl-${sslVersionForLatest}"
DownloadURL "$cachedUrl" "$officialUrl" "$sha" "$targetFile"
mkdir -p "${HOME}/openssl/android/"
tar -xzf "$targetFile" -C "${HOME}/openssl/android/"
if uname -a |grep -q "Darwin"; then
TOOLCHAIN=${ANDROID_NDK_ROOT}/toolchains/llvm/prebuilt/darwin-x86_64/bin
else
TOOLCHAIN=${ANDROID_NDK_ROOT}/toolchains/llvm/prebuilt/linux-x86_64/bin
fi
cd "$opensslHome"
PATH=$TOOLCHAIN:$PATH CC=clang ./Configure android-arm
PATH=$TOOLCHAIN:$PATH CC=clang make build_generated
By using a helpful (build_ssl.sh) script from:
Android OpenSSL support for Qt
https://github.com/KDAB/android_openssl/commit/b71f1470962019bd89534a2919f5925f93bc5779
Download the same NDK version that the Qt branch supports
https://developer.android.com/ndk/downloads
Modify the script to your liking: set a path to NDK root, set OpenSSL version
(script will download needed OpenSSL packages)
Set ANDROID_API to the lowest version of Android which will be used.
EOB
function BuildOutputPath() {
local ndkVersion="$1"
local suffix="$2"
local sslVersion="$3"
echo "${outputPathBase}/prebuilt-openssl-${sslVersion}-for-android-ndk-${ndkVersion}${suffix}"
}
function InstallPrebuiltOpenssl() {
local ndkVersion="$1"
local suffix="$2"
local sha="$3"
local sslVersion="$4"
local output_dir="$5"
ndkVersion=$1
suffix=$2
sha=$3
sslVersion=$4
renamed_root="${HOME}/prebuilt-openssl-${sslVersion}-for-android-ndk-${ndkVersion}${suffix}"
prebuiltUrl="http://ci-files01-hki.ci.qt.io/input/openssl/prebuilt-openssl-${sslVersion}-for-android-ndk-${ndkVersion}${suffix}.zip"
targetFile="/tmp/prebuilt-openssl-${sslVersion}-for-android-ndk-${ndkVersion}${suffix}.zip"
local prebuiltUrl="http://ci-files01-hki.ci.qt.io/input/openssl/prebuilt-openssl-${sslVersion}-for-android-ndk-${ndkVersion}${suffix}.zip"
local targetFile="/tmp/prebuilt-openssl-${sslVersion}-for-android-ndk-${ndkVersion}${suffix}.zip"
DownloadURL "$prebuiltUrl" "$prebuiltUrl" "$sha" "$targetFile"
local tmp_extract
tmp_extract="$(mktemp -d "${TMPDIR:-/tmp}/openssl-extract.XXXXXX")"
unzip -q -o "$targetFile" -d "$tmp_extract"
sudo rm -f "$targetFile"
rm -f "$targetFile"
# We assume there is only one top-level directory in the openssl zip
local temp_openssl_root
temp_openssl_root="$(find "$tmp_extract" -mindepth 1 -maxdepth 1 -type d | head -n 1)"
if [[ -z "$temp_openssl_root" ]]; then
echo "ERROR: Expected a single top-level directory in the archive, but none was found." >&2
return 1
exit 1
fi
mv "$temp_openssl_root" "$renamed_root"
mv "$temp_openssl_root" "$output_dir"
rm -rf "$tmp_extract"
opensslHome="${renamed_root}"
# There have been cases where necessary symlinks are lost when unarchiving.
# Force-create them now.
local abi_list="arm64-v8a armeabi-v7a x86 x86_64"
for abi in $abi_list; do
ln -fs "${output_dir}/include" "${output_dir}/${abi}/include"
ln -fs "${output_dir}/${abi}/libcrypto_3.so" "${output_dir}/${abi}/libcrypto.so"
ln -fs "${output_dir}/${abi}/libssl_3.so" "${output_dir}/${abi}/libssl.so"
done
}
if [ "$ndkVersionNightly1" != "$ndkVersionLatest" ]; then
InstallPrebuiltOpenssl "$ndkVersionNightly1" "$featureSuffixNightly1" "$prebuiltOpensslShaNightly1" "$sslVersionForNightly1"
SetEnvVar "OPENSSL_ANDROID_HOME_NIGHTLY1" "$opensslHome"
echo "OpenSSL for Android $ndkVersionNightly1 = $sslVersionForNightly1" >> ~/versions.txt
outputDirNightly1=$(BuildOutputPath \
"$ndkVersionNightly1" \
"$featureSuffixNightly1" \
"$sslVersionForNightly1")
InstallPrebuiltOpenssl \
"$ndkVersionNightly1" \
"$featureSuffixNightly1" \
"$prebuiltOpensslShaNightly1" \
"$sslVersionForNightly1" \
"$outputDirNightly1"
SetEnvVar "OPENSSL_ANDROID_HOME_NIGHTLY1" "$outputDirNightly1"
echo "OpenSSL for Android ${ndkVersionNightly1} = ${sslVersionForNightly1}" >> ~/versions.txt
fi
if [ "$ndkVersionNightly2" != "$ndkVersionLatest" ]; then
InstallPrebuiltOpenssl "$ndkVersionNightly2" "$featureSuffixNightly2" "$prebuiltOpensslShaNightly2" "$sslVersionForNightly2"
SetEnvVar "OPENSSL_ANDROID_HOME_NIGHTLY2" "$opensslHome"
echo "OpenSSL for Android $ndkVersionNightly2 = $sslVersionForNightly2" >> ~/versions.txt
outputDirNightly2=$(BuildOutputPath \
"$ndkVersionNightly2" \
"$featureSuffixNightly2" \
"$sslVersionForNightly2")
InstallPrebuiltOpenssl \
"$ndkVersionNightly2" \
"$featureSuffixNightly2" \
"$prebuiltOpensslShaNightly2" \
"$sslVersionForNightly2" \
"$outputDirNightly2"
SetEnvVar "OPENSSL_ANDROID_HOME_NIGHTLY1" "$outputDirNightly2"
echo "OpenSSL for Android ${ndkVersionNightly2} = ${sslVersionForNightly2}" >> ~/versions.txt
fi
if [ "$ndkVersionPreview" != "$ndkVersionLatest" ]; then
InstallPrebuiltOpenssl "$ndkVersionPreview" "$featureSuffixPreview" "$prebuiltOpensslShaPreview" "$sslVersionForPreview"
SetEnvVar "OPENSSL_ANDROID_HOME_PREVIEW" "$opensslHome"
echo "OpenSSL for Android $ndkVersionPreview = $sslVersionForPreview" >> ~/versions.txt
outputDirPreview="$(BuildOutputPath \
"$ndkVersionPreview" \
"$featureSuffixPreview" \
"$sslVersionForPreview")"
InstallPrebuiltOpenssl \
"$ndkVersionPreview" \
"$featureSuffixPreview" \
"$prebuiltOpensslShaPreview" \
"$sslVersionForPreview" \
"$outputDirPreview"
SetEnvVar "OPENSSL_ANDROID_HOME_PREVIEW" "$outputDirPreview"
echo "OpenSSL for Android ${ndkVersionPreview} = ${sslVersionForPreview}" >> ~/versions.txt
fi
InstallPrebuiltOpenssl "$ndkVersionLatest" "$featureSuffixLatest" "$prebuiltOpensslShaLatest" "$sslVersionForLatest"
SetEnvVar "OPENSSL_ANDROID_HOME_LATEST" "$opensslHome"
echo "OpenSSL for Android $ndkVersionLatest = $sslVersionForLatest" >> ~/versions.txt
outputDirLatest="$(BuildOutputPath \
"$ndkVersionLatest" \
"$featureSuffixLatest" \
"$sslVersionForLatest")"
InstallPrebuiltOpenssl \
"$ndkVersionLatest" \
"$featureSuffixLatest" \
"$prebuiltOpensslShaLatest" \
"$sslVersionForLatest" \
"$outputDirLatest"
SetEnvVar "OPENSSL_ANDROID_HOME_LATEST" "$outputDirLatest"
echo "OpenSSL for Android ${ndkVersionLatest} = ${sslVersionForLatest}" >> ~/versions.txt
+2
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
}
@@ -15,15 +15,15 @@ if (Is64BitWinHost) {
# Msys need to be installed to target machine
# More info and building instructions can be found from http://doc.qt.io/qt-5/opensslsupport.html
$openssl_version_latest = "3.0.7"
$ndk_version_latest = "r27c"
$prebuilt_ssl_sha1_latest = "733cff853b6ee7738e78b90f46b5f028c8490e1e"
$openssl_sha1_latest = "f20736d6aae36bcbfa9aba0d358c71601833bf27"
$openssl_version_latest = "3.5.4"
$ndk_version_latest = "r27c_16kb"
$prebuilt_ssl_sha1_latest = "a76cd9ec719d4e71473dcf451d648a9766247081"
$openssl_sha1_latest = "b75daac8e10f189abe28a076ba5905d363e4801f"
$openssl_version_preview = "3.0.7"
$ndk_version_preview = "r29-beta2"
$prebuilt_ssl_sha1_preview = "c2cf8fabfb7e00b31abcc554e6e306dafd99ae1b"
$openssl_sha1_preview = "f20736d6aae36bcbfa9aba0d358c71601833bf27"
$openssl_version_preview = "3.5.4"
$ndk_version_preview = "r29-beta2_16kb"
$prebuilt_ssl_sha1_preview = "664bab8b4f5e01c8bb87ab0ea8333b2ef1af703d"
$openssl_sha1_preview = "b75daac8e10f189abe28a076ba5905d363e4801f"
$openssl_version_nightly1 = $openssl_version_latest
$ndk_version_nightly1 = $ndk_version_latest
+7 -6
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
}
+1 -1
View File
@@ -10,7 +10,7 @@ $sdkChecksumSha1 = "8fe98c00fde0f524760bb9021f438bd7d9304a69"
$package_path = "C:\Windows\Temp\$package"
Download $officialUrl $cachedUrl $package_path
Verify-Checksum $package_path $sdkChecksumSha1 sha1
Verify-Checksum $package_path $sdkChecksumSha1
Write-Host "Installing DirectX SDK"
Run-Executable $package_path "/u"
@@ -0,0 +1,3 @@
diffutils
make
yasm
@@ -49,6 +49,7 @@ function build-install-grpc {
"-DgRPC_SSL_PROVIDER=package"
# protobuf
"-DProtobuf_USE_STATIC_LIBS=ON"
"-DCMAKE_POLICY_VERSION_MINIMUM=3.5"
"-DCMAKE_PREFIX_PATH=$protobufRoot"
)
cmake .. -G"Ninja Multi-Config" -DCMAKE_CONFIGURATION_TYPES="$BuildType" -DCMAKE_INSTALL_PREFIX="$installPath" $extraCMakeArgs $configureOptions
+7 -3
View File
@@ -2,16 +2,20 @@ function Verify-Checksum
{
Param (
[string]$File=$(throw("You must specify a filename to get the checksum of.")),
[string]$Expected=$(throw("Checksum required")),
[ValidateSet("sha256","sha1","md5")][string]$Algorithm="sha1"
[string]$Expected=$(throw("Checksum required"))
)
switch ($Expected.Length) {
40 { $Algorithm = "SHA1" }
64 { $Algorithm = "SHA256" }
default { throw "Unknown hash length for: $Expected" }
}
Write-Host "Verifying checksum of $File"
$fs = new-object System.IO.FileStream $File, "Open"
$algo = [type]"System.Security.Cryptography.$Algorithm"
$crypto = $algo::Create()
$hash = [BitConverter]::ToString($crypto.ComputeHash($fs)).Replace("-", "")
$fs.Close()
if ($hash -ne $Expected) {
if ($hash -ine $Expected) {
throw "Checksum verification failed, got: '$hash' expected: '$Expected'"
}
}
@@ -271,10 +271,16 @@ function InstallAndroidArmv7 {
$patchelf_sources = "https://ci-files01-hki.ci.qt.io/input/android/patchelf/0.17.2.tar.gz"
$patchelf_download_location = "C:\Windows\Temp\0.17.2.tar.gz"
Invoke-WebRequest -UseBasicParsing $patchelf_sources -OutFile $patchelf_download_location
Verify-Checksum $patchelf_download_location $patchelf_sha1
Extract-tar_gz $patchelf_download_location $unzip_location
Remove $patchelf_download_location
try {
Invoke-WebRequest -UseBasicParsing $patchelf_sources -OutFile $patchelf_download_location
Verify-Checksum $patchelf_download_location $patchelf_sha1
Extract-tar_gz $patchelf_download_location $unzip_location
Remove $patchelf_download_location
} catch {
Write-Host "Error grabbing sources when installing patchelf:"
Write-Host $_
return $false
}
Start-Process -NoNewWindow -Wait -PassThru -ErrorAction Stop -FilePath $msys -ArgumentList ("-lc", "`"cd C:/patchelf-0.17.2 && ./bootstrap.sh && ./configure && make install`"")
@@ -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 {
@@ -33,7 +33,7 @@ $url_official = "https://go.dev/dl/go" + $version + ".windows-" + $arch + ".msi"
Write-Host "Fetching Go $version..."
Download $url_official $url_cache $goPackage
Verify-Checksum $goPackage $sha256 sha256
Verify-Checksum $goPackage $sha256
Write-Host "Installing Go $version..."
Run-Executable "msiexec" "/quiet /i $goPackage"
Write-Output "Go = $version" >> ~\versions.txt
@@ -9,10 +9,10 @@ $version = "20240113"
$prog = "msys2"
$arch = "x86_64"
$sha1 = "b46c08fd901da0fdba1dc30422a322766d7d03c6"
$sha1_prebuilt = "d86d45d72228f53f7ae060771bc95b6f54c703c8"
$sha1_prebuilt = "29d16a81de4a570c41f92491e20b5554a1baab8f"
$folder = "msys64"
$package_prebuilt = $folder + "_" + $version + "_prebuilt.7z"
$package_prebuilt = $folder + "_" + $version + "_prebuilt_v2.7z"
$package = $prog + "-base-" + $arch + "-" + $version + ".tar.xz"
$url_cache_prebuilt = "\\ci-files01-hki.ci.qt.io\provisioning\windows\$package_prebuilt"
@@ -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"
@@ -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"
@@ -10,17 +10,17 @@ $temp = "$env:tmp"
$cpu_arch = Get-CpuArchitecture
switch ($cpu_arch) {
arm64 {
$zipPackage = "OpenSSH-ARM64"
$base_file_name = "OpenSSH-ARM64"
$sha1 = "ca3e8f44a550b7ae71c8e122acd4ed905d66feb0"
Break
}
x64 {
$zipPackage = "OpenSSH-Win64"
$base_file_name = "OpenSSH-Win64"
$sha1 = "1397d40d789ae0911b3cc818b9dcd9321fed529b"
Break
}
x86 {
$zipPackage = "OpenSSH-Win32"
$base_file_name = "OpenSSH-Win32"
$sha1 = "4642C62F72C108C411E27CE282A863791B63329B"
Break
}
@@ -29,20 +29,27 @@ switch ($cpu_arch) {
}
}
Write-Host "Fetching $zipPackage $version..."
$url_cache = "http://ci-files01-hki.ci.qt.io/input/windows/openssh/" + $version + "/" + $zipPackage + ".zip"
$url_official = "https://github.com/PowerShell/Win32-OpenSSH/releases/download/" + $version + "/" + $zipPackage + ".zip"
Download $url_official $url_cache "$temp\$zipPackage"
Verify-Checksum "$temp\$zipPackage" $sha1
Write-Host "Fetching $base_file_name $version..."
$url_cache = "http://ci-files01-hki.ci.qt.io/input/windows/openssh/$version/$base_file_name.zip"
$url_official = "https://github.com/PowerShell/Win32-OpenSSH/releases/download/$version/$base_file_name.zip"
$output_zip_file = "$temp\$base_file_name.zip"
Download $url_official $url_cache $output_zip_file
Verify-Checksum $output_zip_file $sha1
Write-Host "Extracting the package"
Extract-7Zip "$temp\$zipPackage" C:\"Program Files"
Extract-7Zip $output_zip_file "C:\Program Files"
# We assume the incoming zip contains exactly one directory, named the same
# as the base file name of th zip.
$output_dir = "C:\Program Files\$base_file_name"
if (-not (Test-Path $output_dir -PathType Container)) {
throw "Error. Expected output directory '$output_dir' does not exist."
}
Write-Host "Installing $zipPackage $version..."
$path = "C:\Program Files\" + $zipPackage + "\install-sshd.ps1"
Write-Host "Installing $base_file_name $version..."
$install_script = "$output_dir\install-sshd.ps1"
# Installation done as shown at https://github.com/PowerShell/Win32-OpenSSH/wiki/Install-Win32-OpenSSH
powershell.exe -ExecutionPolicy Bypass -File $path
powershell.exe -ExecutionPolicy Bypass -File $install_script
netsh advfirewall firewall add rule name=sshd dir=in action=allow protocol=TCP localport=22
net start sshd
Set-Service sshd -StartupType Automatic
@@ -0,0 +1,46 @@
# 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"
# This script will install Rust
$rust_version="1.92.0"
$cpu_arch = Get-CpuArchitecture
switch ($cpu_arch) {
arm64 {
$rust_arch = "aarch64"
$sha256="DBB09F213D5A9EBB3B2F4C7D65BA7C3C6CAD7D9A76927D079604020C3EA0AD5A"
Break
}
x64 {
$rust_arch = "x86_64"
$sha256="BD3FD270E92D12094151AAE3A67435B7FEF2164B10D96E99A94230929CDA09FD"
Break
}
default {
throw "Unknown architecture $cpu_arch"
}
}
$installer_name="rust-" + $rust_version + "-" + $rust_arch + "-pc-windows-msvc.msi"
$url_cache = "\\ci-files01-hki.ci.qt.io\provisioning\windows\" + $installer_name
$url_official = "https://static.rust-lang.org/dist/" + $installer_name
$tmp_package = "C:\Windows\Temp\" + $installer_name
Download $url_official $url_cache $tmp_package
Verify-Checksum $tmp_package $sha256 "sha256"
Run-Executable "msiexec" "/quiet /i $tmp_package"
Set-EnvironmentVariable "PATH" "C:\Program Files\Rust stable MSVC 1.92\bin;$([Environment]::GetEnvironmentVariable('PATH', 'Machine'))"
Run-Executable "cargo" "install bindgen-cli --root=C:\Utils\rust-tools"
Set-EnvironmentVariable "PATH" "C:\Utils\rust-tools\bin;$([Environment]::GetEnvironmentVariable('PATH', 'Machine'))"
Write-Host "Cleaning $tmp_package.."
Remove "$tmp_package"
Write-Output "Rust = $version" >> ~\versions.txt
@@ -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
@@ -17,9 +17,9 @@ $install_location = "c:\Utils\$prog"
$tmp_location = "c:\users\qt\downloads"
Download $cached_url $cached_url "$tmp_location\$pkg"
Verify-Checksum "$tmp_location\$pkg" $sha1 sha1
Verify-Checksum "$tmp_location\$pkg" $sha1
Download $dep_cached_url $dep_cached_url "$tmp_location\$dep_pkg"
Verify-Checksum "$tmp_location\$dep_pkg" $dep_sha1 sha1
Verify-Checksum "$tmp_location\$dep_pkg" $dep_sha1
Extract-7Zip "$tmp_location\$pkg" $install_location
Extract-7Zip "$tmp_location\$dep_pkg" $install_location
@@ -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
@@ -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
@@ -60,7 +60,7 @@ $vcpkgExeCacheUrl = "\\ci-files01-hki.ci.qt.io\provisioning\vcpkg\vcpkg-$nonDott
$vcpkgExe = "C:\Windows\Temp\vcpkg.exe"
Download "$vcpkgExeOfficialUrl" "$vcpkgExeCacheUrl" "$vcpkgExe"
Verify-Checksum $vcpkgExe $vcpkgExechecksum "sha256"
Verify-Checksum $vcpkgExe $vcpkgExechecksum
Move-Item "$vcpkgExe" -Destination "$vcpkgRoot" -Force
if(![System.IO.File]::Exists("$vcpkgRoot\vcpkg.exe")){
@@ -43,7 +43,7 @@ $tempfile = "C:\Windows\Temp\" + $filename_zip
Write-Host "Fetching Telegraf $version..."
Download $url_official $url_cache $tempfile
Verify-Checksum $tempfile $sha256 sha256
Verify-Checksum $tempfile $sha256
Write-Host "Installing telegraf.exe under C:\Utils\telegraf"
+1 -1
View File
@@ -38,7 +38,7 @@ $internalUrl = "http://ci-files01-hki.ci.qt.io/input/windows/node-v$version-win-
Write-Host "Installing Node.js"
Download $externalUrl $internalUrl $package
Verify-Checksum $package $sha256 "sha256"
Verify-Checksum $package $sha256
Extract-7Zip $package $targetFolder
Add-Path $installFolder
Remove $package
@@ -1,31 +1,28 @@
# Copyright (C) 2022 The Qt Company Ltd.
# Copyright (C) 2025 The Qt Company Ltd.
# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
. "$PSScriptRoot\helpers.ps1"
# This script installs OpenSSL ARM64 $version.
# This script installs OpenSSL ARM64 (debug version)
##### OpenSSL ARM64 has been pre-built with following commands #####
# Two different builds were done to the same folder C:\openssl_arm64\. One with '--debug' and one with '--release' parameter
# From Visual studio 'C++ Universal Windows Platform support for v142 build tools (ARM64)' and 'Windows Universal C Runtime' were installed
# cd C:\Program Files (x86)\Microsoft Visual Studio\2019\Professional\VC\Auxiliary\Build
# call vcvarsamd64_arm64
# curl -o C:\Utils\openssl-3.0.7.zip http://ci-files01-hki.ci.qt.io/input/openssl/openssl-3.0.7.zip
##### OpenSSL ARM64 and x64-arm64 has been pre-built with following commands #####
# From Visual studio 'C++ Universal Windows Platform support for v143 build tools' and 'Windows Universal C Runtime' were installed
# cd C:\Program Files\Microsoft Visual Studio\2022\Professional\VC\Auxiliary\Build
# call vcvarsamd64_arm64 (or vcvarsarm64 in Windows 11 arm64 OS)
# curl -o C:\Utils\openssl-3.5.4.zip http://ci-files01-hki.ci.qt.io/input/openssl/openssl-3.5.4.zip
# (or https://github.com/openssl/openssl/releases/download/openssl-3.5.4/openssl-3.5.4.tar.gz)
# cd C:\Utils
# C:\Utils\sevenzip\7z.exe x C:\Utils\openssl-3.0.7.zip
# cd C:\Utils\openssl-3.0.7
# perl Configure no-asm VC-WIN64-ARM --debug --prefix=C:\openssl_arm64\ --openssldir=C:\openssl_arm64\
# C:\Utils\sevenzip\7z.exe x C:\Utils\openssl-3.5.4.zip
# cd C:\Utils\openssl-3.5.4
# perl Configure no-asm VC-WIN64-ARM --debug --prefix=C:\openssl_arm64\
# nmake
# nmake install
#
# perl Configure no-asm VC-WIN64-ARM --release --prefix=C:\openssl_arm64\ --openssldir=C:\openssl_arm64\
# nmake
# nmake install
#################################################################################################################################################
##################################################################################
$version = "3_0_7"
$url = "\\ci-files01-hki.ci.qt.io\provisioning\openssl\openssl-$version-arm64.zip"
$sha1 = "19be15069d981b4a96f5715f039df7aaa7456d52"
$version = "3.5.4"
$url = "https://ci-files01-hki.ci.qt.io/input/openssl/openssl-$version-prebuild-windows-msvc2022-arm64.zip"
$sha1 = "e5fdf5c565e7c275fdfe877f31b387eb48da5d96"
$installFolder = "C:\openssl_arm64"
$zip_package = "C:\Windows\Temp\$version.zip"
@@ -38,9 +35,8 @@ Remove $zip_package
$cpu_arch = Get-CpuArchitecture
switch ($cpu_arch) {
arm64 {
# For native arm64
# Native arm64
Set-EnvironmentVariable "OPENSSL_ROOT_DIR_arm64" "$installFolder"
Set-EnvironmentVariable "OPENSSL_CONF_arm64" "$installFolder\bin\openssl.cfg"
Set-EnvironmentVariable "OPENSSL_INCLUDE_arm64" "$installFolder\include"
Set-EnvironmentVariable "OPENSSL_LIB_arm64" "$installFolder\lib"
Break
@@ -48,7 +44,6 @@ switch ($cpu_arch) {
x64 {
# For cross-compiling x64_arm64
Set-EnvironmentVariable "OPENSSL_ROOT_DIR_x64_arm64" "$installFolder"
Set-EnvironmentVariable "OPENSSL_CONF_x64_arm64" "$installFolder\bin\openssl.cfg"
Set-EnvironmentVariable "OPENSSL_INCLUDE_x64_arm64" "$installFolder\include"
Set-EnvironmentVariable "OPENSSL_LIB_x64_arm64" "$installFolder\lib"
}
+32 -52
View File
@@ -1,64 +1,44 @@
# Copyright (C) 2022 The Qt Company Ltd.
# Copyright (C) 2025 The Qt Company Ltd.
# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
. "$PSScriptRoot\helpers.ps1"
# This script installs OpenSSL $version.
# Both x86 and x64 versions needed when x86 integrations are done on x64 machine
# This script installs OpenSSL x86_64 (debug version)
$version = "3_0_7"
$packagex64 = "C:\Windows\Temp\Win64OpenSSL-$version.exe"
$packagex86 = "C:\Windows\Temp\Win32OpenSSL-$version.exe"
##### OpenSSL has been pre-built with following commands #####
# cd C:\Program Files\Microsoft Visual Studio\2022\Professional\VC\Auxiliary\Build
# call vcvarsamd64
# curl -o C:\Utils\openssl-3.5.4.zip http://ci-files01-hki.ci.qt.io/input/openssl/openssl-3.5.4.zip
# cd C:\Utils
# C:\Utils\sevenzip\7z.exe x C:\Utils\openssl-3.5.4.zip
# cd C:\Utils\openssl-3.5.4
# perl Configure VC-WIN64A --debug --prefix=C:\openssl_x64\
# nmake
# nmake install
####################################################################################################
if (Is64BitWinHost) {
# Install x64 bit version
$architecture = "x64"
$installFolder = "C:\openssl"
$externalUrl = "https://slproweb.com/download/Win64OpenSSL-$version.exe"
$internalUrl = "\\ci-files01-hki.ci.qt.io\provisioning\openssl\Win64OpenSSL-$version.exe"
$sha1 = "2fb73f233bc565939312782b8157bebc26a5e17b"
Write-Host "Fetching from URL ..."
Download $externalUrl $internalUrl $packagex64
Verify-Checksum $packagex64 $sha1
Write-Host "Installing $packagex64 ..."
Run-Executable "$packagex64" "/SP- /SILENT /LOG /SUPPRESSMSGBOXES /NORESTART /DIR=$installFolder"
Write-Host "Remove downloaded $packagex64 ..."
Remove "$packagex64"
Set-EnvironmentVariable "OPENSSL_CONF_x64" "$installFolder\bin\openssl.cfg"
Set-EnvironmentVariable "OPENSSL_INCLUDE_x64" "$installFolder\include"
Set-EnvironmentVariable "OPENSSL_LIB_x64" "$installFolder\lib"
Prepend-Path "$installFolder\bin"
}
# Install x86 bit version
$architecture = "x86"
if (Is64BitWinHost) {
$installFolder = "C:\openssl$architecture"
} else {
$installFolder = "C:\openssl"
}
$externalUrl = "https://slproweb.com/download/Win32OpenSSL-$version.exe"
$internalUrl = "\\ci-files01-hki.ci.qt.io\provisioning\openssl\Win32OpenSSL-$version.exe"
$sha1 = "ddead693fa279ad6b1baf123b3af51a9ef289dc1"
$version = "3.5.4"
$url = "https://ci-files01-hki.ci.qt.io/input/openssl/openssl-$version-prebuild-windows-msvc2022-x64.zip"
$sha1 = "a028caa10ade0c1d39ad60d06201345908dfaaf2"
$installFolder = "C:\openssl_x64"
$zip_package = "C:\Windows\Temp\$version.zip"
Write-Host "Fetching from URL ..."
Download $externalUrl $internalUrl $packagex86
Verify-Checksum $packagex86 $sha1
Write-Host "Installing $packagex86 ..."
Run-Executable "$packagex86" "/SP- /SILENT /LOG /SUPPRESSMSGBOXES /NORESTART /DIR=$installFolder"
Download $url $url $zip_package
Verify-Checksum $zip_package $sha1
Extract-7Zip $zip_package C:\
Remove $zip_package
Write-Host "Remove downloaded $packagex86 ..."
Remove "$packagex86"
Set-EnvironmentVariable "OPENSSL_ROOT_DIR_x64" "$installFolder"
Set-EnvironmentVariable "OPENSSL_INCLUDE_x64" "$installFolder\include"
Set-EnvironmentVariable "OPENSSL_LIB_x64" "$installFolder\lib"
Set-EnvironmentVariable "OPENSSL_CONF_x86" "$installFolder\bin\openssl.cfg"
Set-EnvironmentVariable "OPENSSL_INCLUDE_x86" "$installFolder\include"
Set-EnvironmentVariable "OPENSSL_LIB_x86" "$installFolder\lib"
# Set envvars for builds in provisoning e.g. grpc
Set-EnvironmentVariable "OPENSSL_ROOT_DIR" "$installFolder"
Set-EnvironmentVariable "OPENSSL_INCLUDE" "$installFolder\include"
Set-EnvironmentVariable "OPENSSL_LIB" "$installFolder\lib"
Prepend-Path "$installFolder\bin"
# Store version information to ~/versions.txt, which is used to print version information to provision log.
Write-Output "OpenSSL = $version" >> ~/versions.txt
Write-Output "OpenSSL x64= $version" >> ~/versions.txt
@@ -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
+44
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
@@ -1,14 +0,0 @@
{
"overrides": [
{
"name": "openssl",
"version": "3.0.7",
"port-version": 2
}
],
"dependencies": [
"openssl",
"protobuf",
"grpc"
]
}
@@ -13,7 +13,7 @@ $script:package_path = "$packageRoot\\$nugetPackage"
New-Item -ItemType Directory -Path "$packageRoot"
Download $officialUrl $cachedUrl $package_path
Verify-Checksum $package_path $sdkChecksumSha1 sha1
Verify-Checksum $package_path $sdkChecksumSha1
Write-Host "Installing Nuget"
Run-Executable "$package_path" "install Microsoft.WindowsAppSDK -OutputDirectory $packageRoot"
@@ -252,6 +252,8 @@ installPackages+=(libusb-1.0-0-dev)
# password management support for Qt Creator
installPackages+=(libsecret-1-dev)
installPackages+=(debian-archive-keyring)
# Keep zoneinfo up-to-date (COIN-1282)
installPackages+=(tzdata)
echo "Running update for apt"

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