Commit Graph

285 Commits

Author SHA1 Message Date
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
Nils Petter Skålerud
1d998afee6 Move install-ffmpeg-ios.sh into macos folder
Currently this script is stored under unix, but it's only ever going to
be used on macos. This patch moves the script.

No functional changes.

There was a minor conflict resolution in this patch due to macOS 26 not
being present in this branch.

Pick-to: 6.10 6.8
Change-Id: Iba3d101d360e90ffaa3478689bb002b4e5f65bc1
Reviewed-by: Artem Dyomin <artem.dyomin@qt.io>
(cherry picked from commit ebe3124831)
Reviewed-by: Tero Heikkinen <tero.heikkinen@qt.io>
2026-02-17 21:04:29 +00:00
Nils Petter Skålerud
18956e23c4 FFmpeg, Android: Simplify OS parameter logic
The script accepts an OS parameter, which is then forwarded into the
`build_ffmpeg_android` function. This function expects a different set
of values, that are different in name only, not in meaning.

This patch makes us forward the OS parameter directly into the function
and changes the internal logic accordingly.

No functional changes.

Pick-to: 6.10 6.8
Change-Id: I5614f1cf489594cfab2966a680e87a95c7be267b
Reviewed-by: Artem Dyomin <artem.dyomin@qt.io>
(cherry picked from commit ade4488de9)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
2026-02-17 21:04:13 +00:00
Elias Toivola
e3ee9617ac Android: Make the OpenSSL install script less rigid
OpenSSL packages have differing features indicated in their file name,
separate those in their own $suffix variable for the install function to
reduce hard-coding.

The function will now rename the extracted root directory to mirror the
package name from Ci-files. This is to prevent later "OpenSSL not found"
errors in provisioning when prebuild package and its root are not named
exactly the same.

Pick-to: 6.10 6.8 6.5
Change-Id: I71019a0d2731aace00ff2eb82d63537673f6e41a
Reviewed-by: Assam Boudjelthia <assam.boudjelthia@qt.io>
Reviewed-by: Nils Petter Skålerud <nils.petter.skalerud@qt.io>
(cherry picked from commit aa2272379a)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
2026-02-12 18:19:45 +00:00
Tero Heikkinen
03c30a97d5 Fix macOS gRPC install with CMake minimum version 3.5
Pick-to: dev
Fixes: QTQAINFRA-7683
Change-Id: I1cf8984420550f078a8125e16ef5f7d995890bbb
Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
2026-02-12 20:19:40 +02:00
Tero Heikkinen
8c54a23ab6 Add RHEL 10.0 with non-blocking tests in CI
Notes
  - GCC 14
  - Wayland is mandatory to use as X11 has been removed
  - DISPLAY=:0 should not be used anymore as it's for X11
  - Java JDK 21
  - mysql replaced by mariadb
  - gstreamer1-plugin-openh264 not available
  - nodejs-16 upgraded to nodejs-22
  - Squish is no longer installed in provisioning
  - SBOM needs jsonschema > 4.19 to work with Python 3.12
  - Has these to bypass 'Activities Overview'
    - 'GNOME Classic' Desktop Session
    - 'No Overview' GNOME extension
  - 7z >= 25.01 multi-hop symlinks restricted with -snl switch levels
    --> 7z x -snld10 allows minimal usage to use multi symlinks
  - With install-vcpkg.sh and install-vcpkg-ports.sh correct path is
    - ../common/linux/ and not ../common/unix/ like in 6.12 (dev)

EGL support
  - No longer need to install mesa-libEGL with pinned version
  - As there is no longer Xorg to crash when Wayland is used instead

Task-number: QTQAINFRA-7203
Task-number: QTQAINFRA-7202
Change-Id: If8b7bfdbc2b84259fd09276e0566b3967c364668
Reviewed-by: Simo Fält <simo.falt@qt.io>
(cherry picked from commit c399d002de)
2026-02-12 20:19:11 +02:00
Tatiana Borisova
064d6696df Update the openapi-generator-cli version to the latest 7.18.0
- the newest 7.18.0 has some generation updates,
that affect named inline objects generation. It may be
useful from testing perspective to have the latest version
on CI.

Change-Id: Iaaaae823b7ccc1496f83e5af845bfcfa7999767f
Reviewed-by: Simo Fält <simo.falt@qt.io>
(cherry picked from commit e5871fa6e6)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
2026-02-04 18:23:07 +01:00
Tim Blechmann
250c07e631 FFmpeg: pass minimum deployment target as extra compiler flags
When building on iOS, the minimum deployment target was only declared as
linker flags for the libary. However the flags can affect the run-time
features by potentially enabling APIs or affecting codegen if the
compiler can assume that certain CPU features are present.
We should therefore pass the minimum deployment target as compiler flags
as well as linker flag.

Pick-to: 6.10 6.8 6.5
Change-Id: If9b96fb31bf4173da2e4c574c1c080be075851b8
Reviewed-by: Nils Petter Skålerud <nils.petter.skalerud@qt.io>
Reviewed-by: Artem Dyomin <artem.dyomin@qt.io>
(cherry picked from commit 1a9daf1574)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
2026-02-04 17:23:02 +00:00
Matti Paaso
7383c38f43 Provisioning: Remove system openssl3 on rhel 8
openssl3 package installation started to fail in provisioning due
to missing dependencies. Removing installation, and rely on self
compiled version of openssl3 (09-openssl.sh). Set PKG_CONFIG_PATH
to the built openssl.

Task-number: QTQAINFRA-7620
Pick-to: 6.10 6.8 6.5
Change-Id: I4626fffe2de669686fd76b054018fb4f98983e36
Reviewed-by: Ville-Pekka Karhu <ville-pekka.karhu@qt.io>
Reviewed-by: Tero Heikkinen <tero.heikkinen@qt.io>
(cherry picked from commit 606a8b29c8)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
2026-01-29 08:19:11 +00:00
Tero Heikkinen
398d58c520 Fix failing repo-clones in provisioning with correct URL
Switching repo-clones.ci.qt.io --> repo-clones-apt.ci.qt.io
with testserver where it was missing. Removes temp quick fix.

Replace also ping check towards new repo-clones-apt server.

(amends 13487118df)

Pick-to: 6.10 6.8 6.5
Task-number: QTQAINFRA-7632
Change-Id: Iff32904aeb9c66f4c76cd1dd0e3d468ca0e9dabd
Reviewed-by: Ville-Pekka Karhu <ville-pekka.karhu@qt.io>
(cherry picked from commit 51bcd64151)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
2026-01-29 08:19:06 +00:00
Nils Petter Skålerud
5217ba2d0a FFmpeg, Android: Use 'llvm-strip' from Android NDK explicitly
When running 'install-ffmpeg-android.sh' on Ubuntu hosts, it may fail
due to the FFmpeg build process using the host's 'strip' executable.
This causes the build to fail due to the 'strip' throwing an error
due to it not being able to recognize the format of the .so files for
the FFmpeg Android build.

This patch solves this by explicitly using the executable 'llvm-strip'
command from the Android NDK.

Pick-to: 6.10 6.8
Change-Id: Ia32c31e3e9d1f550a026f2684362e19d663a8863
Reviewed-by: Assam Boudjelthia <assam.boudjelthia@qt.io>
(cherry picked from commit c5a42f267f)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
2026-01-29 08:18:51 +00:00
Nils Petter Skålerud
b4bb8734fb Android, FFmpeg: Explicitly set page-size for patchelf
Android arm64 and x86_64 builds now require 16KB page size alignment in
native binaries, this includes FFmpeg. When running patchelf on the
binaries, it will implicitly re-align the affected sections to 4KB page
size.

This patch solves this by using the --page-size flag for patchelf, only
for the builds that require it.

Pick-to: 6.10 6.8
Fixes: QTBUG-142332
Change-Id: Iba88bf702fd075d2b4432d9cde94f779b14de52f
Reviewed-by: Assam Boudjelthia <assam.boudjelthia@qt.io>
(cherry picked from commit b9c677baad)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
2026-01-28 12:54:21 +00:00
Pavel Dubsky
de278446ba Update FFmpeg version to n7.1.3
Task-number: QTBUG-142159
Pick-to: 6.10 6.10.2 6.8 6.5
Change-Id: I139e4961185d5a88900ba9582a4f8ce10e7ea4c1
Reviewed-by: Artem Dyomin <artem.dyomin@qt.io>
Reviewed-by: Tim Blechmann <tim.blechmann@qt.io>
Reviewed-by: Elias Toivola <elias.toivola@qt.io>
(cherry picked from commit 90d17e93a9)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
2026-01-23 10:11:15 +00:00
Nils Petter Skålerud
aae69c26d8 Android, Unix: Move android_emulator_launcher.sh to unix folder
This script is currently located in the 'linux' directory. In future
patches, it will be reused by macOS and Linux hosts.

This patch moves it into the 'unix' folder.

Pick-to: 6.10 6.8
Change-Id: Ib03b999bef0373dc9600d505b1f4ce926fa97de6
Reviewed-by: Artem Dyomin <artem.dyomin@qt.io>
(cherry picked from commit fb6a8b0215)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
2026-01-05 18:50:07 +00:00
Johanna Äijälä
622385a2ba Provisioning: cleanup, remove Squish installations
RTA is using different means to install Squish for RTA tests, no need
to do it in general provisioning.

Change-Id: I4858a282ad7a0b1412f6dd0f4876109fe54a4c88
Reviewed-by: Tero Heikkinen <tero.heikkinen@qt.io>
Reviewed-by: Jukka Jokiniva <jukka.jokiniva@qt.io>
(cherry picked from commit 4bff151490)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
Reviewed-by: Aku Pietikäinen <aku.pietikainen@qt.io>
2026-01-02 11:56:35 +00:00
Nils Petter Skålerud
c1037d865f FFmpeg, iOS: Store final .xcframework files in 'lib' folder
Currently, the iOS FFmpeg provisioning script will install .xcframework
files into a subfolder 'frameworks'. The .xcframework files fulfill a
similar purpose to ordinary .dylib files and should be placed in a
'lib' subfolder, to make provisioning more similar to how we deploy
FFmpeg for other platforms.

This patch makes us install .xcframework files in a 'lib' subfolder
instead.

Task-number: QTBUG-136480
Pick-to: 6.10
Change-Id: I91f9938b595ecff5b04d49a71e9872f5d7278cda
Reviewed-by: Artem Dyomin <artem.dyomin@qt.io>
(cherry picked from commit df82dc7de2)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
2026-01-02 11:56:06 +00:00
Nils Petter Skålerud
ffc932b4e3 Unix: Add curl fallback to check_and_set_proxy.sh
This script is stored in the directory 'provisioning/common/unix'. This
implies it can be used from Linux and macOS hosts. The script
uses the wget command, but at the time of writing, wget is not
installed on our macOS hosts. If wget is not found, this command will
assume the HTTP proxy is not found rather than fail the script
execution.

This patch rewrites this script to use curl if wget is not found.
This makes it run correctly on macOS. Additionally, it adds a fail
case if neither wget or curl is found on the system.

Pick-to: 6.10 6.8
Change-Id: Id54b9fc69307ef28eb35cf1c0042df11e704a6e2
Reviewed-by: Artem Dyomin <artem.dyomin@qt.io>
(cherry picked from commit bc6ba67934)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
2026-01-02 11:56:00 +00:00
Ivan Solovev
5293a1638e Fix maven provisioning script for Unix
- Rename the sha256 variable to sha1, because that's the actual
  algorithm that was used to calculate the checksum.
- Use the `version` variable when constructing `externalUrl`.

Amends 0ac4df3e52.

Change-Id: I79d38fdf5033dce7d0b04c2d8788767b2325895f
Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
2025-12-03 06:22:03 +01:00
Tero Heikkinen
4f405340c5 openSUSE 16.0: Upgrade openSSL from 3.0.7 to 3.5.4 (LTS)
openSSL 3.2.0 or newer required for libcurl in openSUSE 16.0

This solution has possibility to leave default openSSL
version into use for others, and openSUSE 16.0 (or others)
can move to a newer version if needed.

There are currently two tests failing in this update,
but as openSUSE 16.0 is non-blocking in the CI, it
doesn't get blocked.

Tickets created to fix those:
  - QTBUG-141722
  - QTBUG-141723

Task-number: QTQAINFRA-7502
Task-number: QTQAINFRA-7455
Task-number: QTQAINFRA-7452
Change-Id: Ie9995a3afcdb09d091d75651528a94f71f5ece2a
Reviewed-by: Elias Toivola <elias.toivola@qt.io>
Reviewed-by: Simo Fält <simo.falt@qt.io>
2025-11-20 08:34:40 +02:00
Elias Toivola
4dcaf6ec01 Android: move platform dependency from RHEL 8 to RHEL 9
Pick-to: 6.10 6.8 6.5
Task-number: QTQAINFRA-7498
Change-Id: I48a72860fe9d06cde1f014298e68fa28caff730d
Reviewed-by: Tero Heikkinen <tero.heikkinen@qt.io>
2025-10-30 13:52:12 +02:00
Nils Petter Skålerud
c3b80178ee FFmpeg, iOS: Automatically grab FFmpeg version in Info.plist manifest
Our iOS FFmpeg provisioning includes build info.plist manifest files
for the FFMpeg framework files. This manifest includes the version of
FFmpeg that we are deploying. This version string is currently
hardcoded and does not match the version we are actually building.

This patch changes the 'install-ffmpeg-ios.sh' script to
programmatically grab the FFmpeg version from our related scripts, and
inserts it in the info.plist manifest.

Pick-to: 6.10
Task-number: QTBUG-136480
Change-Id: Iafeaade2ff6f2a933a0ba48749af459eef37ab51
Reviewed-by: Artem Dyomin <artem.dyomin@qt.io>
2025-10-28 14:12:58 +02:00
Tatiana Borisova
0ac4df3e52 Add maven provisioning for qtopenapi build
Change-Id: I4439cb8d8f1327e474d272819557e8e64ef17c83
Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
2025-10-24 09:14:33 +00:00
Tatiana Borisova
9381c3673b Update qtopenapi provisioning
- add openSUSE15.6 build configuration for qtopenapi.
- add rhel9.4 build configuration for qtopenapi.
- delete macos15-x86_64 build configuration for qtopenapi,
  because the current qtopenapi code only builds go binaries
  targeting arm64 architecture, and the x86_64 configuration would
  fail trying to run those binaries.

Task-number: QTBUG-140130
Change-Id: Ia4f1b91345d3d7a87916ceee319a6037318fac63
Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
2025-10-16 11:04:27 +02:00
Tatiana Borisova
493a11caee Update Golang provisioning
- replace the linux/install-golang.sh to the unix/install-golang.sh
  for macos and linux provisioning configurations.

NOTE:
The Golang version is updated from 1.22.4 to 1.25.2.

Task-number: QTBUG-140130
Change-Id: Ic5e7a93bcad4d82210bcd5c7f4144153c938a603
Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
2025-10-16 09:04:27 +00:00
Pavel Dubsky
c3809a73ea Update FFmpeg version to n7.1.2
Task-number: QTBUG-140468
Pick-to: 6.10
Change-Id: Ia77053bd4022a9691b4729e748884fd42ee2d1a8
Reviewed-by: Artem Dyomin <artem.dyomin@qt.io>
2025-10-10 14:27:22 +02:00
Rami Potinkara
875297edfc Android: FFmpeg to support 16KB page sizes
This patch adds needed linker flags for FFmpeg Android
compilation to get FFmpeg binary to be compliant for
16KB page size. 16KB page size is compliant with 4KB
page size.

This patch updates Android OpenSSL to be version 3.0.7,
which is build with two NDK's: NDK27c and NDK29-beta2.
Both with 16KB page size support. They are build with https://github.com/KDAB/android_openssl/pull/69
just changing OpenSSL version from 3.1.1 to 3.0.7 and
NDK version from 25.2.9519653 to 27.2.12479018 (27c) and
another build with 29.0.13599879 (beta2). The both build
artefacts are added to CI-files to be usable.

As the 16KB page size is applicable only to 64-bit ABI's
this patch adds the variable to 90-install-ffmpeg.sh files
for android-x86_64 and android-arm64.

Change is picked to all branches using Android 15 or newer
as Android 15 introduced the 16KB page size support.

Fixes: QTBUG-139762
Pick-to: 6.10 6.9 6.8 6.5
Change-Id: I50bab81b97dad3e9d8c1e834c1928949d1e19687
Reviewed-by: Tero Heikkinen <tero.heikkinen@qt.io>
2025-09-23 15:05:59 +00:00
Tatiana Borisova
3e8edbc4ca Add openapi-generator-cli.jar for playground/qtopenapi provisioning
Related to 33dd0de8fb51bb83230b8c2524d5aae28ffc799b

Task-number: QTBUG-138144
Change-Id: I2aa4a67f8c14de6645f5e821d269474646e616f3
Reviewed-by: Toni Saario <toni.saario@qt.io>
2025-09-21 16:06:17 +02:00
Rami Potinkara
1ce81f80e4 Android 16: Introduce NDK r29-beta2 as preview NDK
This patch introduces preview NDK. Environment variables related to
preview NDK's are marked with _PREVIEW. The patch introduces NDK
29.0.13599879-beta2 as first _PREVIEW NDK. This preview NDK will be
first used in insignificant platforms Android 16.

Task-number: QTQAINFRA-7290
Fixes: QTQAINFRA-7291
Change-Id: Id093b8f71970f77409bd805d6d1d153f47ade762
Reviewed-by: Rami Potinkara <rami.potinkara@qt.io>
Reviewed-by: Assam Boudjelthia <assam.boudjelthia@qt.io>
Reviewed-by: Elias Toivola <elias.toivola@qt.io>
2025-09-15 20:59:39 +03:00
Axel Spoerl
07134034b7 Bump dynamically linked libclang version to 20.1.3
Libclang dyn >= 14 is needed e.g. for Squish.
As a drive-by, optimize shell script.
Bump version from 10 to 20.1.3.

Task-number: QTQAINFRA-7353
Change-Id: Iba3584c056c8f06b4efe19ac42d030b4a4049d34
Reviewed-by: Andreas Muss <andreas.muss@qt.io>
Reviewed-by: Simo Fält <simo.falt@qt.io>
Reviewed-by: Stefan Gehn <stefan.gehn@qt.io>
2025-09-04 21:25:34 +02:00
Elias Toivola
ffc15eb35f Android FFmpeg: Further fix FFmpeg build directories
This fixes "does not exist" errors when trying to build multiple NDKs.

This amends 303b4c13dc

Pick-to: 6.10 6.9 6.8 6.5
Task-number: QTQAINFRA-7069
Change-Id: I29f5cd85ffb3cf12a81b5816a5601ea37446042d
Reviewed-by: Assam Boudjelthia <assam.boudjelthia@qt.io>
2025-08-31 17:38:48 +03:00
Nils Petter Skålerud
61046109cf macOS, FFmpeg: Don't use patchelf 0.18 for Android FFmpeg patching
At the time of writing, homebrew ships patchelf version 0.18.0. This
version of patchelf has a bug specific to Androd binaries. The macOS
14 arm64 host currently uses this version of patchelf. This causes an
issue during runtime linking in Qt Multimedia applications on Android.

This patch modifies the macOS 14 arm64 host to use patchelf v0.17.2
that we compile from source. It also adds warnings to the provisioning
log should someone try to use v0.18.0 in the future.

Fixes: QTBUG-136930
Pick-to: 6.10 6.9 6.8
Change-Id: Id66b560e6a1d4300a54017e9c3366720dc291944
Reviewed-by: Artem Dyomin <artem.dyomin@qt.io>
2025-08-31 16:38:39 +02:00
Axel Spoerl
f379f4552f Unix provisioning: Don't hardcode dynamic libclang version in file names
coin/provisioning/common/unix/libclang-v100-dyn.sh had the libclang
version 10.0 hard coded in the filename.
All local provisioning scripts calling the latter also had the same
version hard coded in their respective filenames.
At the same time coin/provisioning/common/unix/libclang-v100-dyn.sh
sets the version to be downloaded in a local variable.

When the download version is bumped, there is a mismatch between file
names and actually installed version.

Remove version from common installer and related local scripts.

Task-number: QTQAINFRA-7353
Change-Id: I7489489056e611d6ab84862dafbe48e4e2532780
Reviewed-by: Dimitrios Apostolou <jimis@qt.io>
Reviewed-by: Simo Fält <simo.falt@qt.io>
2025-08-22 12:33:57 +02:00
Nils Petter Skålerud
4170b81aea FFmpeg, Android: Add support for Android ARMv7 in Unix FFmpeg script
This patch introduces support for building FFmpeg for Android ARMv7
on Unix hosts.

Pick-to: 6.10 6.9 6.8
Change-Id: I21affa1137cb4b3aa3a5b9cfd5c71e755684db9c
Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
Reviewed-by: Rami Potinkara <rami.potinkara@qt.io>
2025-07-25 07:48:32 +02:00
Elias Toivola
82b1992011 wasm: set cache files for Emscripten 4.0.7
Files were prebuild by cloning emsdk repo in their respective VM
produced by Coin provisioning, and running './emsdk install 4.0.7' and
'./emsdk activate 4.0.7' in macOS 15 and OpenSUSE 15.6. And just
'./emsdk install 4.0.7' in Windows 10.

This amends 5510396f4d9f175e7f61a953ea0722ce57d059d4

Pick-to: 6.10
Task-number: COIN-1232
Change-Id: Ifa768173093c4b6b90599d0fff8b34a1db8b1bbc
Reviewed-by: Lorn Potter <lorn.potter@qt.io>
2025-06-29 19:21:36 +03:00
Elias Toivola
7471b6b6d2 wasm: set EMSDK_PYTHON to Python installed in provisioning
Emscripten 4.0.7 requires Python +3.8, OpenSUSE does have Python 3.11
but its path is only set to PYTHON3_EXECUTABLE envvar defined in
08-pythondev.sh.

OpenSUSE 15.6 comes with Python 3.6.15 which the previous emscripten
3.1.70 used.

Pick-to: 6.10
Change-Id: Ied63ace32b7fb252d124ad447bc56dba353ff403
Reviewed-by: Lorn Potter <lorn.potter@qt.io>
2025-06-29 19:21:28 +03:00
Lorn Potter
7a9387e445 wasm: update to Emscripten 4.0.7
Pick-to: 6.10
Change-Id: I687b2a16df17a626febc3fb87cae21240f6521ed
Reviewed-by: Piotr Wierciński <piotr.wiercinski@qt.io>
2025-06-29 19:21:25 +03:00
Nils Petter Skålerud
303b4c13dc Coin, FFmpeg, Android: Fix nightly FFmpeg build folder (Unix)
Previous patch 75fea893b1 introduced
a small bug where multiple nightly builds of FFmpeg were being
outputted into the same directory, effectively causing them to
overwrite each other.

This patch gives the nightly builds their own subfolder for outputted
library files.

Pick-to: 6.10
Task-number: QTQAINFRA-7069
Change-Id: I5f7e111708aecedd2817888948b77b8163f0452d
Reviewed-by: Artem Dyomin <artem.dyomin@qt.io>
2025-06-21 09:31:42 +00:00
Elias Toivola
75fea893b1 Build FFmpeg with each Android NDK version
Multiple Android NDKs are installed in provisoning. FFmpeg build uses
NDK in its build process for Android, so this change makes provisioning
build multiple Android FFmpeg builds, so each Android nightly can use a
FFmpeg build where its corresponding NDK version was used.

Pick-to: 6.10
Task-number: QTQAINFRA-7069
Change-Id: Ie4457c87b7b75e0c711a76bd8170e718cbda445d
Reviewed-by: Assam Boudjelthia <assam.boudjelthia@qt.io>
2025-06-19 14:46:39 +03:00
Rami Potinkara
16d8060467 Provisioning: Remove OpenSSL 1
This patch removes OpenSSL 1 related sections.

Pick-to: 6.10
Task-number: QTQAINFRA-7069
Change-Id: If565fb2223b17497553a77fda47fe9dfbdccb32a
Reviewed-by: Assam Boudjelthia <assam.boudjelthia@qt.io>
2025-06-19 14:46:32 +03:00
Elias Toivola
687b73cde0 Android: set nightly targets for older NDK versions
This change makes provisioning also install older NDKs for Android,
which will be used in nightly targets.

Pick-to: 6.10
Task-number: QTQAINFRA-7069
Change-Id: Ia8695383e94df282822da9019c33f1004a879bf6
Reviewed-by: Assam Boudjelthia <assam.boudjelthia@qt.io>
2025-06-19 14:46:29 +03:00
Nils Petter Skålerud
0583292728 Coin, FFmpeg: Check for valid envvars in install-ffmpeg-android.sh
This script requires that we have setup specific environment variables
ahead of time. If they are missing, we are prone to receiving
non-descriptive error messages.

This patch adds checks for the required environment variables, and
gives useful error messages if they are not set correctly.

Pick-to: 6.10 6.9 6.8
Change-Id: I0cfb99187f303b22dbdd46a7a848b85dbf571aad
Reviewed-by: Assam Boudjelthia <assam.boudjelthia@qt.io>
2025-06-07 10:00:50 +02:00
Nils Petter Skålerud
0e5937c8a4 Coin, FFmpeg, iOS: Add output parameter to 'install-ffmpeg-ios.sh'
This patch adds an optional parameter to the provisioning script
'install-ffmpeg-ios.sh', allowing us to override the output directory
for which the finalized library is installed.

This is particularly useful for local builds, where we often need
multiple different versions of FFmpeg installed, for different Qt
versions.

This patch has no impact for existing coin workflows.

Pick-to: 6.10 6.9 6.8
Change-Id: Ib0764eb29b84ae8badcfb48424f86316f3b2b650
Reviewed-by: Simo Fält <simo.falt@qt.io>
2025-06-05 18:20:32 +00:00
Nils Petter Skålerud
d72ace1a0d Coin, FFmpeg, iOS: Apply 'prefix' consistently
In the provisioning script 'install-ffmpeg-ios.sh', we have a variable
'prefix' controlling where to install the finalized library. The value
of this prefix is sometimes hardcoded into some of the temporary build
directories, making the script break if we actually modify the 'prefix'
variable. This means we currently cannot easily change the output
directory.

This patch modifies 'install-ffmpeg-ios.sh' so that the 'prefix' is
applied consistently throughout the script, allowing us to change
the output directory in the future.

Pick-to: 6.10 6.9 6.8
Change-Id: I3458984aa22f8c82ed4d0bfac8ac8e71356e8789
Reviewed-by: Simo Fält <simo.falt@qt.io>
2025-06-05 18:20:26 +00:00
Alexey Edelev
9c39ae1424 Point to protobuf install prefix but not the CMake dir in protobuf_ROOT
The <Package>_ROOT should point to the package prefix, where
CMake should look for the respective cmake/, lib/cmake, and other
CMake package directories. Setting directly it to package path is
incorrect.

Pick-to: 6.8 6.9
Change-Id: Id8859c29da08144c60ed3d6301d2c65c8d602d1f
Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
2025-05-15 06:19:45 +02:00
Nils Petter Skålerud
9c7e564d7e Coin, iOS, FFmpeg: Stop installing .dylibs in iOS FFmpeg provisioning
On iOS we no longer deploy FFmpeg .dylibs directly. As such, there is
no need to install the .dylibs during provisoning.

This patch removes this installation step during provisioning.

Pick-to: 6.9 6.8
Change-Id: I6f901113caca4b8d602490ba05db0c9dacb8f80d
Reviewed-by: Timur Pocheptsov <timur.pocheptsov@qt.io>
2025-04-29 06:15:00 +00:00
Paul Wicking
8c9fe2074b Update Clang libraries for QDoc to 20.1.0
* Update the version variable used to identify the correct package for
  download and cache sites.
* Update SHA1 for provisioning packages on all platforms.

Fixes: QTBUG-134304
Pick-to: 6.9 6.8
Change-Id: I2577600296e75080d503dc1a537ddbc00d0f207f
Reviewed-by: Topi Reiniö <topi.reinio@qt.io>
2025-04-11 08:37:59 +01:00
Paul Dubsky
24bba3c8b5 Update FFmpeg version to n7.1.1
Task-number: QTBUG-134621
Pick-to: 6.9 6.8 6.5
Change-Id: I6255f615be533521bf1c3da85b29f96e855197e1
Reviewed-by: Bartlomiej Moskal <bartlomiej.moskal@qt.io>
Reviewed-by: Tim Blechmann <tim.blechmann@qt.io>
2025-04-07 20:30:30 +02:00
Nils Petter Skålerud
d39ac6a4ec iOS, FFmpeg: Add variable for controlling minimum iOS version
Currently this script relies on hard-coded values specify minimum
iOS version to link against.

This patch unifies the hard-coded values into a single variable.

No functional changes.

Pick-to: 6.9 6.8
Change-Id: I12bddeb53f0fe3388ea55c841a9864722a1d5f82
Reviewed-by: Timur Pocheptsov <timur.pocheptsov@qt.io>
2025-04-04 16:57:51 +00:00
Nils Petter Skålerud
c4315452cb iOS, FFmpeg: Improve variable naming in FFmpeg provisioning
Currently this script overwrites a local variables and reuses it for
a (slightly) different purpose. This makes the code a bit hard to
follow.

This patch introduces a separate local variable to improve readability.

No functional changes.

Pick-to: 6.9 6.8
Change-Id: Ifa1904482f498d9b380d1ed19ab6b0104afda19b
Reviewed-by: Artem Dyomin <artem.dyomin@qt.io>
2025-04-01 05:36:01 +01:00
Nils Petter Skålerud
aa613ed85d iOS, FFmpeg: Replace arm64-simulator build with x86_64
Currently this provisioning script builds for arm64 architecture
when on iOS simulator. Qt ships x86_64 binaries for iOS simulator, and
we should build FFmpeg similarly.

This patch introduces support for x86_64-simulator in the iOS FFmpeg
provisioning script and uses it in place of arm64-simulator.

Pick-to: 6.9 6.8
Task-number: QTQAINFRA-7034
Change-Id: Ie93cffba51924cd1d78651d20dec211817cb0cef
Reviewed-by: Artem Dyomin <artem.dyomin@qt.io>
2025-04-01 05:35:53 +01:00