Commit Graph

1082 Commits

Author SHA1 Message Date
Rami Potinkara
414316f8ee Android: Fix Android 16 emulator CI start problems
This patch updates the fully booted check for Android.

Old logic used init.svc.bootanim property and it's status
"stopped", but since Android 16 forward the status is kept
empty "" if "-no-boot-anim" emulator startup parameter is used.

The new logic simplifies old and relies only to two values:
sys.boot_completed and dev.bootcomplete. These work similary
from Android 9 to 16.

Task-number: QTQAINFRA-7399
Task-number: QTQAINFRA-7298
Pick-to: 6.8
Change-Id: I62efb0b05cd9792f92040dcb98a37f4bf14022e6
Reviewed-by: Dimitrios Apostolou <jimis@qt.io>
Reviewed-by: Assam Boudjelthia <assam.boudjelthia@qt.io>
Reviewed-by: Elias Toivola <elias.toivola@qt.io>
(cherry picked from commit 0eb085f93d)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
(cherry picked from commit 9f42f33194)
2025-09-15 11:37:03 +00:00
Toni Saario
1072961496 Coin: VxWorks x86_64 add -enable-kvm parameter
This makes the qemu virtualize the target rather than emulating
it. Virtualization allows few times better performance in tests.

Change-Id: I7a5f7e3e2b04c52034325459ef05bfc0dce5d0b7
Reviewed-by: Simo Fält <simo.falt@qt.io>
(cherry picked from commit ecff7e6ddc)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
(cherry picked from commit 8fb747f92e)
2025-09-15 05:26:04 +00:00
Elias Toivola
6c31d6ae11 Android FFmpeg: Further fix FFmpeg build directories
This fixes "does not exist" errors when trying to build multiple NDKs.

This amends 303b4c13dc

Task-number: QTQAINFRA-7069
Change-Id: I29f5cd85ffb3cf12a81b5816a5601ea37446042d
Reviewed-by: Assam Boudjelthia <assam.boudjelthia@qt.io>
(cherry picked from commit ffc15eb35f)
2025-09-12 06:52:52 +00:00
Nils Petter Skålerud
2cac35a368 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.

Task-number: QTQAINFRA-7069
Change-Id: I5f7e111708aecedd2817888948b77b8163f0452d
Reviewed-by: Artem Dyomin <artem.dyomin@qt.io>
(cherry picked from commit 303b4c13dc)
Reviewed-by: Jukka Jokiniva <jukka.jokiniva@qt.io>
(cherry picked from commit 62fed89867)
Reviewed-by: Assam Boudjelthia <assam.boudjelthia@qt.io>
2025-09-12 06:52:48 +00:00
Nils Petter Skålerud
68335185c1 FFmpeg, Android ARMv7: Use correct build folder when fixing deps
This patch amends 133de012af95507ac485845d8de8f58da005df64.

The previous patch introduced a regression where the newer build paths
were not being passed correctly into 'fix_ffmpeg_dependencies.sh'
during FFmpeg Android builds.

This patch introduces a common function to resolve the installation
directory, which is then used both during compilation and during
FFmpeg patching.

Additionally, it introduces some basic error-handling when running
'fix_ffmpeg_dependencies.sh' so that we can catch this issue in
integration, in the future.

Fixes: QTBUG-138615
Change-Id: I195ebd3034a3184bad32e75916a41a20838b2db1
Reviewed-by: Artem Dyomin <artem.dyomin@qt.io>
Reviewed-by: Assam Boudjelthia <assam.boudjelthia@qt.io>
(cherry picked from commit 7f416abf32)
2025-09-12 06:52:45 +00:00
Elias Toivola
ed43be6eab 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.

Task-number: QTQAINFRA-7069
Change-Id: Ie4457c87b7b75e0c711a76bd8170e718cbda445d
(cherry picked from commit 980cd3659a)
Reviewed-by: Rami Potinkara <rami.potinkara@qt.io>
Reviewed-by: Assam Boudjelthia <assam.boudjelthia@qt.io>
2025-09-12 09:52:40 +03:00
Elias Toivola
1f1e1f3e71 Android: set macOS nightly targets for older NDK versions
This change makes macOS provisioning also install older NDKs for
Android (if set), which will be used in nightly targets.

Task-number: QTQAINFRA-7069
Change-Id: Ie176c5ea69a1398afa69691ad6f37b7af2f66dfc
(cherry picked from commit 03f8208be9)
Reviewed-by: Assam Boudjelthia <assam.boudjelthia@qt.io>
Reviewed-by: Rami Potinkara <rami.potinkara@qt.io>
2025-09-12 09:52:36 +03:00
Alexandru Croitor
01db49e852 coin: Add cyclonedx-python-lib to sbom_requirements.txt
In preparation for generating a CycloneDX SBOM for Qt framework,
install the cyclonedx-python-lib package which will be a required
dependency for the SBOM generation process (assuming CycloneDX
generation feature is enabled in the build).

Pick-to: 6.8
Task-number: QTBUG-129598
Change-Id: Iacaeb22aa568cecd6ffbe2ece30de953e37c5cf2
Reviewed-by: Alexey Edelev <alexey.edelev@qt.io>
(cherry picked from commit 86589a14fc)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
(cherry picked from commit 7eb22d00df)
Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
2025-09-12 08:52:29 +02:00
Elias Toivola
47addb5670 Windows: Add a helper to cleanly invoke NMake with zlib
Invoke-NMake helper temporarily clears MAKE flags, such as
MAKEFLAGS='-j8', to prevent errors from GNU-style flags and to reduce
flakiness with NMAKE.

The helper is used to build zlib and to prevent:
error U1065: invalid option '-'

Pick-to: 6.8 6.5
Task-number: QTQAINFRA-7363
Change-Id: Ia80216677eba6fd8f8364741b6999e6155d678ab
Reviewed-by: Tero Heikkinen <tero.heikkinen@qt.io>
(cherry picked from commit 0f3d085101)
2025-09-12 06:52:22 +00:00
Elias Toivola
ad0eea374d 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.

Task-number: QTQAINFRA-7069
Change-Id: Ia8695383e94df282822da9019c33f1004a879bf6
(cherry picked from commit ac22ffaf57)
Reviewed-by: Assam Boudjelthia <assam.boudjelthia@qt.io>
Reviewed-by: Rami Potinkara <rami.potinkara@qt.io>
2025-09-12 09:52:17 +03:00
Rami Potinkara
c20550ac70 Provisioning: Remove OpenSSL 1
This patch removes OpenSSL 1 related sections.

Task-number: QTQAINFRA-7069
Change-Id: If565fb2223b17497553a77fda47fe9dfbdccb32a
(cherry picked from commit 09ea302a62)
Reviewed-by: Assam Boudjelthia <assam.boudjelthia@qt.io>
2025-09-12 09:52:03 +03:00
Elias Toivola
31d1707f3e Set-EnvironmentVariable helper: apply envvar to current PS session
When you use the helper to set an envvar in provisioning, you can not
reference the machine scoped variable in a later .ps1 script in the same
provisoning run using the direct/static reference '$env:NAME', instead
you have to use a more verbose method with e.g. 'Get-Item' cmdlet and/or
set the envvar additionally to the process scope yourself.

This change makes the helper also add process scope to the envvars, this
way envvars set in provisioning can be simply referenced with
'$env:NAME' in later provisioning scripts, which is consistent with the
way you can use SetEnvVar helper in Unix and directly reference the
envvar with just its variable name in later .sh scripts.

This change also removes duplicate local scope envvar definitions now
that Set-EnvironmentVariable helper does it.

Change-Id: I804fa8f8dfce742a84e8b4bc077f466820589f7e
(cherry picked from commit 30a92ce1f2)
Reviewed-by: Assam Boudjelthia <assam.boudjelthia@qt.io>
Reviewed-by: Tero Heikkinen <tero.heikkinen@qt.io>
2025-09-12 06:51:53 +00:00
Aku Pietikäinen
30024db893 Update homebrew to version 4.6.8 and git to latest installer
Change-Id: I2c13ce86b3aceae47afab7e1af1489c2d355aad2
Pick-to: 6.8 6.5
Reviewed-by: Tero Heikkinen <tero.heikkinen@qt.io>
(cherry picked from commit ae2ae67c61)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
(cherry picked from commit 19b819ebf3)
2025-09-10 09:24:28 +00:00
Tero Heikkinen
49a3b262d5 macOS: Fix mdutil unknown indexing state in provisioning
Task-number: QTQAINFRA-7377
Pick-to: 6.8 6.5
Change-Id: Idf0dc607a4c6f7299412f6979f9ea6de5ea522cb
Reviewed-by: Ville-Pekka Karhu <ville-pekka.karhu@qt.io>
(cherry picked from commit 0b23c3afcd)
2025-09-10 09:24:27 +00:00
Aku Pietikäinen
86ce9b7db5 Update homebrew after installation
Get rid of incompatibility errors between homebrew client and server.

Tark-number: QTQAINFRA-6903
Pick-to: 6.8 6.5
Change-Id: If42b721084f770763a378b93b3386733ab48828f
Reviewed-by: Ville-Pekka Karhu <ville-pekka.karhu@qt.io>
(cherry picked from commit 1dffbe8157)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
(cherry picked from commit 8d22b36de0)
2025-09-09 12:27:44 +00:00
Tor Arne Vestbø
2106554dff coin: Force detach Docker volume unmount
Change-Id: I6c19b374adf3d4cd75a3307474e973af96613378
Reviewed-by: Volker Hilsheimer <volker.hilsheimer@qt.io>
(cherry picked from commit e8f8c9e845)
Reviewed-by: Ville-Pekka Karhu <ville-pekka.karhu@qt.io>
Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io>
2025-09-09 12:27:41 +00:00
Nils Petter Skålerud
c0cadc1d04 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.8
Change-Id: Id66b560e6a1d4300a54017e9c3366720dc291944
Reviewed-by: Artem Dyomin <artem.dyomin@qt.io>
(cherry picked from commit 61046109cf)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
(cherry picked from commit 14dcdd32d7)
2025-09-09 12:27:38 +00:00
Aku Pietikäinen
ea9b62813f Change libiodbc brew to use local tap
Installing directly from rb file no longer supported by
homebrew without HOMEBREW_DEVELOPER set after https://github.com/Homebrew/brew/pull/20414
was merged.

Create local tap for install to avoid need for homebrew developer mode.

Task-number: QTQAINFRA-7344
Change-Id: Id59af01875b16d1757b1dba36c2ba04bf973c212
Reviewed-by: Simo Fält <simo.falt@qt.io>
(cherry picked from commit a9b7487138)
Reviewed-by: Ville-Pekka Karhu <ville-pekka.karhu@qt.io>
Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io>
2025-09-09 12:27:36 +00:00
Aku Pietikäinen
d29b250e10 Use correct PATH for homebrew based on architecture
Task-number: QTQAINFRA-6903
Change-Id: I1b5f529e8e94a7e609b5be1704ed83f6380f4cc5
Reviewed-by: Ville-Pekka Karhu <ville-pekka.karhu@qt.io>
(cherry picked from commit f73de1b6a8)
Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io>
2025-09-09 12:27:33 +00:00
Toni Saario
866a7e93ef Cache maven dependencies for californium build
The fetching from 3rd party repos has become very flaky.
To avoid mirrors throttling us and other flaky issues cache
the dependencies and set -o to enable offline mode.

This seems to also speed up the step considerably.

Pick-to: 6.8 6.5
Change-Id: I01663e60baa44ab828d8880ab8b346034a50b60e
Reviewed-by: Simo Fält <simo.falt@qt.io>
(cherry picked from commit a64f150422)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
2025-09-09 12:26:13 +00:00
Tero Heikkinen
d657543377 Linux: Fix Debian packagekit failing in provisioning
Target jammy-arm64-debian-pkg-packaging fails in
waitLoop function, which is also used by Ubuntu platforms.

Fix by extending wait loop for lock paths:
  - /var/lib/dpkg/lock
  - /var/lib/apt/lists/lock (new)

Task-number: QTQAINFRA-7361
Change-Id: If8d5eacaeb72ea6a36496093bc5c248f61997afb
Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
2025-08-29 22:34:36 +03:00
Pavel Dubsky
1e533481a3 Enable zlib in FFmpeg configuration
Fixes: QTBUG-103332
Pick-to: 6.8 6.5
Change-Id: I87a760edcd4d8a77966ec5a692cb1f1f4242b647
Reviewed-by: Artem Dyomin <artem.dyomin@qt.io>
(cherry picked from commit f7af78977c)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
(cherry picked from commit 707546820e)
2025-08-14 22:33:41 +00:00
Alexandru Croitor
0622f99ca9 Provisioning: Add arm64 libclang for Windows 11 24H2
So it can be used during cross-compilation of arm64 packages.

To ensure the env variable set does not conflict with the x86_64
version, the env variable is suffixed with "arm64".

Change-Id: I117f6c4a8431058b9af22390942539a49c632d6a
Reviewed-by: Toni Saario <toni.saario@qt.io>
(cherry picked from commit c3f303b50b)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
(cherry picked from commit 804108b9e3)
Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
2025-08-13 18:18:19 +02:00
Pavel Dubsky
64f594afc9 Build zlib while provisioning on Windows
Task-number: QTBUG-103332
Pick-to: 6.8 6.5
Change-Id: I65289d393f3085c9a3ebc5bbbb1805490d270125
Reviewed-by: Artem Dyomin <artem.dyomin@qt.io>
(cherry picked from commit 97e80c1538)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
(cherry picked from commit 837922faee)
2025-07-26 01:20:24 +00:00
Pavel Dubsky
a2a261d0ad Prevent Enter-VsDevShell from changing current working directory
Pick-to: 6.8 6.5
Change-Id: I6de981c06326a6d70bc200af74164a1021f8c138
Reviewed-by: Artem Dyomin <artem.dyomin@qt.io>
(cherry picked from commit 814bfb1923)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
(cherry picked from commit f91eb1e821)
2025-07-26 01:20:18 +00:00
Nils Petter Skålerud
364c485152 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.8
Change-Id: I3458984aa22f8c82ed4d0bfac8ac8e71356e8789
Reviewed-by: Simo Fält <simo.falt@qt.io>
(cherry picked from commit d72ace1a0d)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
(cherry picked from commit 2f2c8bf347)
2025-07-10 13:20:58 +00:00
Nils Petter Skålerud
bc72d1259b Coin, FFmpeg, macOS: Add output parameter to 'install-ffmpeg-macos.sh'
This patch adds an optional parameter to the provisioning script
'install-ffmpeg-macos.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.8
Change-Id: If31922e931db19ab189850b975ce0131a64321b4
Reviewed-by: Simo Fält <simo.falt@qt.io>
(cherry picked from commit 708548742b)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
(cherry picked from commit 298d280d64)
2025-07-04 07:47:15 +00:00
Alexey Edelev
46c1dedc0c 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
Change-Id: Id8859c29da08144c60ed3d6301d2c65c8d602d1f
Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
(cherry picked from commit 9c39ae1424)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
2025-07-01 13:10:26 +00:00
Elias Toivola
ecdc5116b2 Provisioning: Disable Windows multicast device discoveries
Our CI does not need some mDNS multicast services by Windows and they
are spammed by Windows VMs in network with mdns.mcast.net requests.

Pick-to: 6.8 6.5
Task-number: QTQAINFRA-6761
Change-Id: Ie676f94b81e7281ec84d9fbbfa2fd7f1d28dfbca
Reviewed-by: Tero Heikkinen <tero.heikkinen@qt.io>
(cherry picked from commit 066371f7cd)
Reviewed-by: Jukka Jokiniva <jukka.jokiniva@qt.io>
(cherry picked from commit 00d2f82e35)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
2025-06-25 07:55:03 +00:00
Elias Toivola
97e898f8f6 Windows: Enable LSO back
Large Send Offload (LSO) was originally disabled because it caused
deterioration in network throughput but the cause of that deterioration
is now fixed in infra and LSO should be enabled back as it improves
network performance. LSO is enabled in Windows by default.

Pick-to: 6.8 6.5
Task-number: QTQAINFRA-7236
Change-Id: I243632d958007142792df0cbd9a341fb2b86df69
Reviewed-by: Tero Heikkinen <tero.heikkinen@qt.io>
(cherry picked from commit 4aaba78cb4)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
(cherry picked from commit 2fe0aec0da)
2025-06-25 07:55:03 +00:00
Nils Petter Skålerud
d17d04b363 Coin, FFmpeg: Fool-proof fix_ffmpeg_dependencies.sh
This script has previously failed under some configurations, while
also failing to stop provisioning.

This patch enables fast-fail behavior, catches potential issues with
missing executables early with a descriptive error message. This
should allow us to detect if the required packages are missing
in the future, and stop provisioning accordingly.

This patch also installs the necessary packages on the relevant
CI build targets.

Task-number: QTBUG-136930
Pick-to: 6.8
Change-Id: I7c781264ad67508d19fd44556a9caf0f201638d4
Reviewed-by: Assam Boudjelthia <assam.boudjelthia@qt.io>
(cherry picked from commit 0706273c76)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
(cherry picked from commit 532005d760)
2025-06-19 19:51:55 +00:00
Nils Petter Skålerud
c072264ca1 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.8
Change-Id: I0cfb99187f303b22dbdd46a7a848b85dbf571aad
Reviewed-by: Assam Boudjelthia <assam.boudjelthia@qt.io>
(cherry picked from commit 0583292728)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
(cherry picked from commit 64ee2cb321)
2025-06-19 19:51:34 +00:00
Volker Hilsheimer
767f9677b8 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.

There was some trivial merge conflict resolution due to there
being a tiny mismatch between how external sources are included.

Pick-to: 6.8
Change-Id: I12bddeb53f0fe3388ea55c841a9864722a1d5f82
Reviewed-by: Timur Pocheptsov <timur.pocheptsov@qt.io>
(cherry picked from commit d39ac6a4ec)
Reviewed-by: Volker Hilsheimer <volker.hilsheimer@qt.io>
Reviewed-by: Nils Petter Skålerud <nils.petter.skalerud@qt.io>
2025-06-12 15:47:46 +02:00
Nils Petter Skålerud
1f2f4d5c01 Coin, FFmpeg, macOS: Apply 'prefix' consistently
In the provisioning script 'install-ffmpeg-macos.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-macos.sh' so that the 'prefix' is
applied consistently throughout the script, allowing us to change
the output directory in the future.

Pick-to: 6.8
Change-Id: Id0b1bb23513b7bccf02f0c4073e4177f651792dd
Reviewed-by: Artem Dyomin <artem.dyomin@qt.io>
(cherry picked from commit 03d15483a1)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
2025-05-20 07:46:20 +00:00
Tony Sarajärvi
1acbcc6afd Provisioning: Disable Windows Delivery Optimization service
We don't want Windows VMs to spam mDNS messages about optimizing
Windows updates, when the updates themselves are disabled.

Pick-to: 6.8
Task-number: QTQAINFRA-6761
Change-Id: I1452ebbb612f784c96f07de0a29cb2cfb54f1e75
Reviewed-by: Tero Heikkinen <tero.heikkinen@qt.io>
(cherry picked from commit f77919a48b)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
2025-05-17 07:59:07 +00:00
Rami Potinkara
2fe2930aee Coin: Add Android 16 to CI as insignificant
This patch introduces Android 16 as insignificant to CI.

Task-number: QTBUG-132638
Pick-to: 6.8
Change-Id: I29577503c50440d6b4821b1b7d6a5135935bf365
Reviewed-by: Assam Boudjelthia <assam.boudjelthia@qt.io>
(cherry picked from commit 8f51576951)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
2025-05-15 10:09:44 +00:00
Nils Petter Skålerud
02218009fc 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.8
Change-Id: I6f901113caca4b8d602490ba05db0c9dacb8f80d
Reviewed-by: Timur Pocheptsov <timur.pocheptsov@qt.io>
(cherry picked from commit 9c7e564d7e)
Reviewed-by: Nils Petter Skålerud <nils.petter.skalerud@qt.io>
Reviewed-by: Simo Fält <simo.falt@qt.io>
2025-05-13 20:19:52 +02:00
Paul Dubsky
a6b86bf58c Update FFmpeg version to n7.1.1
Task-number: QTBUG-134621
Pick-to: 6.8 6.5
Change-Id: I6255f615be533521bf1c3da85b29f96e855197e1
Reviewed-by: Bartlomiej Moskal <bartlomiej.moskal@qt.io>
Reviewed-by: Tim Blechmann <tim.blechmann@qt.io>
(cherry picked from commit 24bba3c8b5)
Reviewed-by: Volker Hilsheimer <volker.hilsheimer@qt.io>
2025-05-04 08:44:10 +00:00
Nils Petter Skålerud
1a1d923c83 Android, FFmpeg: Allow specifying target output in FFpeg install script
The provisioning script install-ffmpeg-android.sh can be useful to run
locally to make sure we build FFmpeg with the same configuration as we
do in CI.

This patch introduce an optional parameter to this provisioning script
that allows us to specify where to install the compiled binaries.

Change-Id: I7ea30bffa4753ac1fab707ed2876ddcbbca06175
Reviewed-by: Assam Boudjelthia <assam.boudjelthia@qt.io>
(cherry picked from commit 07775b2ad2)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
2025-04-16 22:08:36 +00:00
Artem Dyomin
ea84dba313 Improve the script fix_ffmpeg_dependencies
* add FFmpeg stubs to the 'Required.private' section.
  This will make the logic more robust after integration this
  in qt multimedia.
* add some script comments.
* fix shellcheck.
* add validity checks.

Pick-to: 6.8
Change-Id: I28639d21c7210109e52ff98ce682da51f8744287
Reviewed-by: Jøger Hansegård <jogerh@gmail.com>
Reviewed-by: Pavel Dubsky <pavel.dubsky@qt.io>
(cherry picked from commit a442e4893f)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
2025-04-17 00:08:27 +02:00
Artem Dyomin
144715f585 Cleanup in install-ffmpeg-android.sh
Non-functional changes:
* fix alignment
* add the keyword 'local' to local function variables

Pick-to: 6.8
Change-Id: I28639d28c7211809e52f118c1612db52f8954286
Reviewed-by: Jøger Hansegård <jogerh@gmail.com>
Reviewed-by: Pavel Dubsky <pavel.dubsky@qt.io>
(cherry picked from commit 151c0dd58f)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
2025-04-17 00:08:23 +02:00
Artem Dyomin
a1427fbd4c Decouple install-ffmpeg on linux and macos specific files
The FFmpeg building flow has become too different on linux and macos.
Decoupling the logic makes it more simple to follow.

The CR also fixes nits and shellcheck warnings in install-ffmpeg.

Pick-to: 6.8
Change-Id: I28639d28c7210809e52ff18ce612da52f8754285
Reviewed-by: Jøger Hansegård <joger.hansegard@qt.io>
(cherry picked from commit 39ad0317d1)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
2025-04-17 00:08:18 +02:00
Artem Dyomin
6d7ce3ee6e Add ffmpeg-installation-utils.sh file
There're code duplications in install-ffmpeg scripts.
Let's have a file with FFmpeg installation utils and reuse
the functionality on unix platforms.
The utility functions make the code more robust and get
around code duplications.

This cherry-pick had a minor merge conflict because a patch
for switching arm64-simulator to x86_64-simulator was
merged before this patch. This cherry-oick was updated to
work with this change correctly.

Pick-to: 6.8 6.5
Change-Id: I28639d18c7110109e52ff09ce602da52f8857281
Reviewed-by: Jøger Hansegård <joger.hansegard@qt.io>
(cherry picked from commit 51dad84914)
Reviewed-by: Volker Hilsheimer <volker.hilsheimer@qt.io>
2025-04-17 00:08:14 +02:00
Paul Wicking
e0e3e4738c 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.8
Change-Id: I2577600296e75080d503dc1a537ddbc00d0f207f
Reviewed-by: Topi Reiniö <topi.reinio@qt.io>
(cherry picked from commit 8c9fe2074b)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
2025-04-12 17:38:07 +00:00
Nils Petter Skålerud
68b4ef5b4e 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.8
Change-Id: Ifa1904482f498d9b380d1ed19ab6b0104afda19b
Reviewed-by: Artem Dyomin <artem.dyomin@qt.io>
(cherry picked from commit c4315452cb)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
2025-04-04 07:33:40 +00:00
Nils Petter Skålerud
5df9315b1f 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.8
Task-number: QTQAINFRA-7034
Change-Id: Ie93cffba51924cd1d78651d20dec211817cb0cef
Reviewed-by: Artem Dyomin <artem.dyomin@qt.io>
(cherry picked from commit aa613ed85d)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
2025-04-04 07:33:37 +00:00
Timur Pocheptsov
999e66fb4a install-ffmpeg-ios.sh: remove redundant configure options
While writing a documentation for FFmpeg build on iOS it was found that
many options are redundant. Remove them to simplify the provisioning
script and to reduce the amount of cargo cult code.

Pick-to: 6.8
Fixes: QTBUG-133502
Change-Id: I26aab49365eaca83bcdbfeb86de0638ac701bb80
Reviewed-by: Artem Dyomin <artem.dyomin@qt.io>
Reviewed-by: Jukka Jokiniva <jukka.jokiniva@qt.io>
(cherry picked from commit d7d7c522b6)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
2025-04-04 07:33:33 +00:00
Rami Potinkara
5393e187d3 Provisioning: update Gradle cache to Android SDK 35
This task updated the build.gradle of Gradle cache
to use SDK 35 for compile and target.

Task-number: QTBUG-130285
Task-number: QTBUG-129461
Pick-to: 6.8 6.5
Change-Id: I076211baf896e65aae3b616a3d6286258c3d0640
Reviewed-by: Rami Potinkara <rami.potinkara@qt.io>
Reviewed-by: Assam Boudjelthia <assam.boudjelthia@qt.io>
(cherry picked from commit ed0dc6ad5a)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
2025-04-02 11:51:22 +00:00
Aku Pietikäinen
7a1b5e4e13 Add missing escape when adding Homebrew to PATH
Task-number: QTQAINFRA-6903
Pick-to: 6.8 6.5 5.15
Change-Id: I2f97621d3413df17f9b969113e863974bd739cac
Reviewed-by: Ville-Pekka Karhu <ville-pekka.karhu@qt.io>
(cherry picked from commit cf026224dd)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
2025-03-31 20:26:42 +00:00
Tero Heikkinen
033cc2c181 Provisioning: Add Root Certificate update for Windows
Windows usually updates certificates once a week, but due
to disabling Windows background updates there is need to
install and update certificates manually.

Updating certificates during provisioning is selected method
as it's aligned with the same procedure how linux machines have
handled the same.

Task-number: QTQAINFRA-7001
Pick-to: 6.8 5.15
Change-Id: I7c077b5e08328b12c481a3501736f06baf85e71e
Reviewed-by: Oliver Wolff <oliver.wolff@qt.io>
Reviewed-by: Matti Paaso <matti.paaso@qt.io>
(cherry picked from commit ebcc9a1d10)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
2025-03-31 20:26:40 +00:00