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 6.9
Change-Id: I28639d28c7210809e52ff18ce612da52f8754285
Reviewed-by: Jøger Hansegård <joger.hansegard@qt.io>
This patch
- Replaces Android 14 with Android 15 as a maximum version
- Introduces Android 15 system image to CI cache
- Sets Android 15 as significant
Task-number: QTQAINFRA-6478
Fixes: QTQAINFRA-6652
Pick-to: 6.9 6.8 6.5
Change-Id: Icb6de43f3e2c2f7f98f3172c83d66bebf9603d24
Reviewed-by: Assam Boudjelthia <assam.boudjelthia@qt.io>
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.
Pick-to: 6.9 6.8 6.5
Change-Id: I28639d18c7110109e52ff09ce602da52f8857281
Reviewed-by: Jøger Hansegård <joger.hansegard@qt.io>
While dylibs embedded in app bundle work locally on a device,
Apple Connect rejects such an app complaining about missing
Swift Runtime Support. Instead we must create frameworks.
Pick-to: 6.9 6.8
Task-number: QTBUG-130813
Change-Id: Ifd6eed227478bc29702b3b59968fcbfe2839ca82
Reviewed-by: Jukka Jokiniva <jukka.jokiniva@qt.io>
Reviewed-by: Artem Dyomin <artem.dyomin@qt.io>
Also change the upper case L to lower case l, because it's changed
upstream.
Amends 0cfa1fa561
Pick-to: 6.9
Task-number: QTBUG-131169
Change-Id: I5e501e37bb5516e15a2cbb68cb523ebc5e88d47c
Reviewed-by: Nicholas Bennett <nicholas.bennett@qt.io>
The newest stable version of Android emulator should bring more
stability.
Pick-to: 6.9 6.8 6.5
Fixes: QTQAINFRA-6805
Change-Id: Id67d3ec888b486e6aae862588928528788583aae
Reviewed-by: Assam Boudjelthia <assam.boudjelthia@qt.io>
There's possibility that some installations might add more into
Path that doesn't get visible during the installation process.
Change makes it easier to detect if there's i.e. JRE installed during
Mimer, which caused Java SE update to 17 fail in qtbase build for
Android, because JRE was the first Java found from Path and it
wasn't the required new JDK 17 version.
This can lead even to test with incorrect version of Java, which can
happen with any other different version installations as well.
Task-number: QTQAINFRA-6392
Task-number: QTQAINFRA-6385
Pick-to: 6.8
Change-Id: Idce79eb06d73894ae648e0be53ff1f07bb21392d
Reviewed-by: Tony Sarajärvi <tony.sarajarvi@qt.io>
If there is an error in emsdk scripts when running ".\emsdk install",
the provisioning would still continue. This change will make the script
exit and stop provisioning when the install command fails.
Also remove the attempt to use Python 2 and make sure the installation
finds Python 3 instead.
Pick-to: 6.8 6.5
Task-number: QTQAINFRA-5453
Change-Id: If052adcd446537b0eeb6261e4a297e9aeb292c6e
Reviewed-by: Tony Sarajärvi <tony.sarajarvi@qt.io>
While on windows the instantclient sdk also provides the relevant
(import) libs, on linux those libraries are only provided by
instantclient-basiclite package. Therfore setting the Oracle_ROOT env
var to the sdk dir will prevent the libraries to be found on linux.
The FindOracle.cmake module is already adjusted to look for the
libraries in ${Oracle_ROOT}, ${Oracle_ROOT}/lib and
${Oracle_ROOT}/sdk/lib so they should be found correctly even we don't
append 'sdk' for Oracle_ROOT on windows for consistency.
Task-number: QTBUG-128873
Change-Id: Icd211d5b503234de529c339581a4f42f0b5fc726
Reviewed-by: Axel Spoerl <axel.spoerl@qt.io>
It's easier to manage the vcpkg tool versions using this file,
but not editing script each time.
Change-Id: If6d04a8ac07731ec1fab46b1f663b86bbe640631
Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
The old version doesn't support MSVC 17.10 toolchain, so we cannot
build for arm64.
Change-Id: I63df5b61d6d7e06ee49f46f77528021f3ce5be47
Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
Add -j4 to limit how many cores is used to build ffmpeg-ios binaries.
Error in logs: "posix_spawn failed: Resource temporarily unavailable"
Task-number: QTQAINFRA-6803
Pick-to: 6.8
Change-Id: I3fb56cdbe4cbda8f779852b0a16121916aa5a1d4
Reviewed-by: Jøger Hansegård <joger.hansegard@qt.io>
Reviewed-by: Jukka Jokiniva <jukka.jokiniva@qt.io>
Avahi-daemon often hogs 100% of CPU on the VMs. This particularly
causes issue on 2 core(thread) VMs where tests compete for CPU
with avahi.
Limiting avahi to test service related interfaces eliminates the
abnormal CPU usage.
Avahi should be only needed for tests to see the docker test services.
Pick-to: 6.8 6.5 5.15
Task-number: QTQAINFRA-6697
Change-Id: I30d75f2118501cd69d98aeea8c62722a0fb238c5
Reviewed-by: Dimitrios Apostolou <jimis@qt.io>
When running Axivion analysis on virtual machine, analysis will
update sourceserver_gitdir and source_server_remote_url into
result database. If these are missing from configuration,
analysis will use work area values for these and those does
not work on dashboard.
Task-number: QTQAINFRA-6262
Change-Id: I00df7eade6de1a12a6bb59cbd24374dd0cedd715
Reviewed-by: Toni Saario <toni.saario@qt.io>
The triplet it not used on every x86_64 windows VM. Build it only
on windows 11_23_H2-x86_64 where we crosscompile Qt.
Change-Id: I5bfd852ac0cdde8d8f1f7b4b46d208f6dc221162
Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
Make the Windows vcpkg provisioning script configurable, so scripts
that use it may select the architecture using the 'arch' argument.
Change-Id: Id6180866ed03a9a15ec9b907c9be5545a04ea879
Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
The download helper for .ps1 scripts takes in parameters in order:
1. The external URL (this is 2nd priority DL source)
2. The internal / cache URL (this is 1st priority source)
3. Download location
The URL variables were inputted to the function in wrong order. And URL
variables for x64 were named incorrectly. This change fixes that.
Pick-to: 6.8
Task-number: QTQAINFRA-6296
Change-Id: Ic4f939448a4ac39e4fd7d52e5b80132b02c38dc2
Reviewed-by: Elias Toivola <elias.toivola@qt.io>
Reviewed-by: Matti Paaso <matti.paaso@qt.io>
This file is used by the script common/unix/install-ffmpeg-android.sh.
This script is useful for compiling FFmpeg for Android locally
on macOS. Currently the script assumes the Homebrew installation
of readelf is that of x86. The Homebrews path for readelf is different
under arm64 and this change accounts for this.
Pick-to: 6.8 6.5
Change-Id: I7ec1d4173e35fe91bc988492e56dd9a5fcbad072
Reviewed-by: Artem Dyomin <artem.dyomin@qt.io>
On RHEL8, openssl1.x.x is default, and openssl3 pc files
are with the suffix "3", so FFmpeg cannot find them.
The patch fixes pc files so that ffmpeg can find them.
Task-number: QTBUG-130257
Change-Id: I5a95daae0a78aadede109535b2823483bfcbc09d
Pick-to: 6.8
Reviewed-by: Tim Blechmann <tim.blechmann@qt.io>
Reviewed-by: Pavel Dubsky <pavel.dubsky@qt.io>
Reviewed-by: Jøger Hansegård <joger.hansegard@qt.io>
popd was placed incorrectly and caused the script to be unable to find
the fix_ffmpeg_dependencies.sh file.
Pick-to: 6.8
Change-Id: I7922a698e90d1b3899ecc7b2240a260ea706707f
Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io>
Script would previously unconditionally run ln even if target file
sometimes exists in precompiled OpenSSL library.
Pick-to: 6.8
Change-Id: I90c4ad7c6cbf9207c2c82114936b478a9ba4ae54
Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io>
Instead of relying on the qtbase coin instructions to compute the
SBOM_PYTHON_APPS_PATH path based on the platform, which does not work
reliably, especially when multiple python installations are present,
explicitly specify the path in the provisioning scripts.
Amends 1f2fb6312c
Pick-to: 6.8
Task-number: QTBUG-122899
Task-number: QTBUG-124453
Task-number: QTBUG-125211
Change-Id: I097fd1c4119a203d82f88c477dbf0fc0f67f19f2
Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
The 'reuse' tool installed into the Python 3.8 environment on Windows
has a broken 'jinja2' package, due to conan being installed
after the sbom tool, which replaces the jinja package. pip reports the
issue but does not actually exit with a non-zero status for some
reason, thus not blocking the initial provisioning.
The jinja2 version installed in the Python 3.10 environment on Windows
is compatible with both conan and reuse.
To work around the issue, explicitly install the sbom tools only for
Python 3.10 on Windows platforms, and specify the path to the Python
interpreter in an environment variable for the build system to use.
Amends 1f2fb6312c
Pick-to: 6.8
Task-number: QTBUG-122899
Task-number: QTBUG-124453
Task-number: QTBUG-125211
Change-Id: I386da17a1902dd26af332cef3482dbcb2221a1b3
Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
Reviewed-by: Simo Fält <simo.falt@qt.io>
It is needed to successfully build Qt with CMake 3.30.
Pick-to: 6.8
Fixes: QTQAINFRA-6484
Change-Id: I70b7d91571f5b20a008947eb0837dd8351965665
Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
The vivid kernel module emulates a v4l2 video devices like webcams. We
instantiate two devices via vivid to allow qt multimedia unit tests
requiring multiple cameras to run correctly.
Pick-to: 6.5 6.7 6.8
Change-Id: I1b87954e3c8af797f5b09dabf2d4939d8320db06
Reviewed-by: Artem Dyomin <artem.dyomin@qt.io>
Reviewed-by: Jøger Hansegård <joger.hansegard@qt.io>
Libclang is needed for QDoc.
Adding support for WoA (arch=arm64) also introduced a need
to change archVer parameter from Integer to a string.
Task-number: QTBUG-129256
Pick-to: 6.8
Change-Id: I13f15925a7639c6f926c564146fbbc88f73fff8f
Reviewed-by: Paul Wicking <paul.wicking@qt.io>
Adjust the local repo paths for firebird libraries.
Change-Id: Ifb10ab8f4606eefd53f4cd63cf08264d82922cba
Reviewed-by: Dimitrios Apostolou <jimis@qt.io>
The current revision 9 seems to have issues that are not reproducible
on other environments and even not with other ABIs like x64 or arm64.
Pick-to: 6.8
Task-number: QTBUG-97650
Change-Id: I6f4827f170ea11b8aae9cc774c075fa043e4df5a
Reviewed-by: Simo Fält <simo.falt@qt.io>
Use the sha from last update of Gradle and update AGP version
to match qtbase.
Pick-to: 6.8
Change-Id: Ia235dacfc3206246c4c4330fb185ce1319d45909
Reviewed-by: Simo Fält <simo.falt@qt.io>
It has to escaped so the PATH is not expanded when appending
to .bashrc. This causes issues in sourcing some 3rd party envs
where PATH is overwritten by bashrc as last and the tools are missing.
Pick-to: 6.8 6.5 6.2 5.15
Change-Id: Idc540d608201a8f8e4c231a7e82b1b2bc42fe70f
Reviewed-by: Simo Fält <simo.falt@qt.io>
To review and comment on the rules.
Task-number: QTQAINFRA-6577
Change-Id: I3c4f85e307533346d393ed32adccb75c106d882e
Reviewed-by: Simo Fält <simo.falt@qt.io>