Commit Graph

49 Commits

Author SHA1 Message Date
Rami Potinkara
331f753f6f 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.9 6.8 6.5
Change-Id: I50bab81b97dad3e9d8c1e834c1928949d1e19687
Reviewed-by: Tero Heikkinen <tero.heikkinen@qt.io>
(cherry picked from commit 875297edfc)
Reviewed-by: Rami Potinkara <rami.potinkara@qt.io>
2025-09-26 11:22:27 +03:00
Tero Heikkinen
763fb46b70 Linux: Add glibc versions visible in versions.txt
Will also make glibc versions visible in Tools and Versions pages.

Task-number: QTQAINFRA-7333
Pick-to: 6.9 6.8 6.5
Change-Id: Ic0274822f326e4b23ed423d8da20002bc6d4f20a
Reviewed-by: Simo Fält <simo.falt@qt.io>
(cherry picked from commit 3ba1fb95be)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
2025-08-20 12:44:41 +00:00
Tero Heikkinen
1144b14584 RHEL: Add ca-certificate install to fix missing certificate issues
Other linux distros have similar ca-certificate install/update in use.

Issue was noticed in RTA, and if similar happens again, these RHELs
need new provisioning to get up-to-date ca-certificates available.

Task-number: QTQAINFRA-7014
Pick-to: 6.9 6.8
Change-Id: Id0ef369b0d714b40b66117d6e62ddd6a787cae71
Reviewed-by: Simo Fält <simo.falt@qt.io>
2025-03-13 12:09:28 +02:00
Tero Heikkinen
98e55af0f2 Synchronize GNOME based Linux gsettings into a common script
Pick-to: 6.9 6.8
Task-number: QTQAINFRA-6967
Change-Id: Ib2f17a49931dc546af82f1e0384814f9f359a3f3
Reviewed-by: Tony Sarajärvi <tony.sarajarvi@qt.io>
2025-02-27 14:34:43 +02:00
Tero Heikkinen
5f627786ef Linux: Add GCC versions visible in versions.txt
Currently only SLES and openSUSE has GCC in versions.txt.
Will also make GCC versions visible in Tools and Versions pages.

Task-number: QTQAINFRA-5901
Pick-to: 6.9 6.8 6.5
Change-Id: I9742c3151e074c503947018a0c7f7c2e0c1077bd
Reviewed-by: Ville-Pekka Karhu <ville-pekka.karhu@qt.io>
2025-02-25 21:36:09 +02:00
Artem Dyomin
39ad0317d1 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 6.9
Change-Id: I28639d28c7210809e52ff18ce612da52f8754285
Reviewed-by: Jøger Hansegård <joger.hansegard@qt.io>
2025-01-17 07:15:13 +01:00
Axel Spoerl
d58d59693a Linux Provisioning: Turn off window animations
Window animations change the physical geometry in relation to the
geometry known in Qt. Windows may not be found by
QGuiApplication::topLevelAt() as expected.

Turn animations off in Linux provisioning.

Task-number: QTBUG-130811
Pick-to: 6.8 6.8.1 6.5
Change-Id: Id0fa13f4dd38b21dd141f4b51308903ccaf40bba
Reviewed-by: Volker Hilsheimer <volker.hilsheimer@qt.io>
Reviewed-by: Liang Qi <liang.qi@qt.io>
2024-11-23 06:40:52 +00:00
Toni Saario
9f1cba8637 Coin: Limit avahi-daemon interfaces
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>
2024-11-23 08:40:44 +02:00
Alexandru Croitor
8ad05756ed coin: Explicitly provision the libzstd-dev package
It used to be installed as a dependency of some other package, but
stopped doing lately, which causes qtbase to build without zstd
support.

This change explicitly installs the libzstd-dev package to prevent
this from happening again.

Pick-to: 6.7 6.8
Fixes: QTBUG-124787
Fixes: QTBUG-127644
Change-Id: I72793ed96ef39ec07244079c51efe17ae1f9af66
Reviewed-by:  Alexey Edelev <alexey.edelev@qt.io>
2024-08-08 08:45:10 +02:00
Bartlomiej Moskal
62b60c4caa coin: Move install-patchelf script to unix directory
This patch prepare install-patchelf.sh script for use on MacOs

Pick-to: 6.8
Task-number: QTBUG-126861
Change-Id: Id16462a2819da748ecd0b04f1df57968e9d90c37
Reviewed-by: Jøger Hansegård <joger.hansegard@qt.io>
2024-07-29 19:07:14 +02:00
Artem Dyomin
49b0435e7e Install patchelf on RHEL
Patchelf is needed for fixing FFmpeg dependencies,
the previous CR reveals details.
Patchelf is not available in the standard package manager on RHEL,
let's install it from sources.

Pick-to: 6.8
Change-Id: I724ffed9c48b9811e10de89519d8271e2f82260d
Reviewed-by: Volker Hilsheimer <volker.hilsheimer@qt.io>
2024-06-15 16:59:38 +00:00
Tero Heikkinen
e6d06a6f92 Provisioning: Make RHEL versions static
With new CI policy to always update packages when provisioning changes,
but system & packages are tied to a specific RHEL release i.e. --set=9.2

This could reduce unwanted upgrades and make provisioning more stable.

Task-number: QTQAINFRA-5658
Pick-to: 6.7
Change-Id: I898a793acf152ebb6e1f31c9b26a98f47145bd5a
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
Reviewed-by: Tony Sarajärvi <tony.sarajarvi@qt.io>
2024-02-20 16:33:38 +02:00
Tony Sarajärvi
c392699a9c Fix ci-files01-hki.intra.qt.io -> ci.qt.io in provision scripts
Change-Id: I4d0a129c170583d79dd6a0c8c38aa3db95e08c31
Reviewed-by: Casimir Saastamoinen <casimir.saastamoinen@qt.io>
Reviewed-by: Tero Heikkinen <tero.heikkinen@qt.io>
Reviewed-by: Jukka Jokiniva <jukka.jokiniva@qt.io>
2024-02-18 19:57:36 +00:00
Heikki Halmet
3c5d9cabf0 Add refresh support for all Red Hat versions
Pick-to: 6.7 6.6 6.5 6.2 5.15
Change-Id: I1fbfadf70a9b7dbf0f738aa41d627adfac6138c5
Reviewed-by: Jani Heikkinen <jani.heikkinen@qt.io>
2023-12-20 09:52:26 +00:00
Casimir Saastamoinen
23116e7331 Configure pip for internal cache
Task-number: QTQAINFRA-5531
Change-Id: I89c5502f62b2777a06b8f301a9fbaca1a3f8859d
Reviewed-by: Ville-Pekka Karhu <ville-pekka.karhu@qt.io>
2023-11-05 12:06:07 +03:00
Tony Sarajärvi
620666bce4 Fix shellcheck complaints about provisioning scripts
Also adds executable attributes to shell scripts that were missing it.

Change-Id: Id52ef495147fdbfb5cb1a1f711fac530e0e85f3b
Reviewed-by: Jukka Jokiniva <jukka.jokiniva@qt.io>
Reviewed-by: Edward Welbourne <edward.welbourne@qt.io>
2023-09-13 06:44:02 +00:00
Lucie Gérard
ae21de72f3 Add license header to provisioning scripts missing one
Task-number: QTBUG-108364
Pick-to: 6.5 6.6
Change-Id: I5b1d53aad917ed38f9e26e1fcc1b97b921c0603a
Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
2023-08-31 16:25:43 +02:00
Artem Dyomin
76f4cebd21 Add libvaapi to the ffmpeg build on Linux x86_64
We need to provide hw acceleration in qtmultimedia linux packages,
vaapi interface is already integrated to the module.

To be described in QtMM documentation.

Pick-to: 6.6 6.5
Change-Id: I60fcc0b43e5800b7dc5621bfb835c72237fd9b02
Reviewed-by: Lars Knoll <lars@knoll.priv.no>
2023-08-12 15:58:25 +00:00
Allan Sandfeld Jensen
d1552c26a8 Add libva-devel and gbm-devel packages for qtwebengine
Will be needed in Qt 6.6 for VA-API

Pick-to: 6.6
Change-Id: I4389ee03eb85a05f9bce37a0eb4629d30e1aefd1
Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
2023-07-25 14:53:14 +02:00
Dominik Holland
b87b44168c Provisioning: Remove the special wheel cache for python3 packages
It should be replaced with a global pip cache in the long run.
Removing it should make the maintenance of the required packages easier
as it can be done within the modules instead of in the global
provisioing scripts.

Pick-to: 6.6
Change-Id: Ief9832a8a640ce98325cda015d0a9e89d6cb16af
Reviewed-by: Simo Fält <simo.falt@qt.io>
2023-07-25 15:52:51 +03:00
Lucie Gérard
eecfb19548 Use SPDX license identifiers
Replace the current license disclaimer in files by
a SPDX-License-Identifier.
License files are organized under LICENSES directory.

Pick-to: 6.5 6.6
Task-number: QTBUG-67283
Task-number: QTBUG-108364
Change-Id: If26e4d35c780db4a7982bb84872b251dad24716e
Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
2023-06-12 12:10:41 +00:00
Tony Sarajärvi
58ddf7133c Correct the domain of ci-files01-hki
It's hasn't been .intra.qt.io for quite some time, it
has worked through an alias we have on the DNS server.

Change-Id: I0bc17668dacfea64c276bb553e75e4be16e97659
Reviewed-by: Tony Sarajärvi <tony.sarajarvi@qt.io>
Reviewed-by: Matti Paaso <matti.paaso@qt.io>
2023-06-12 12:10:26 +00:00
Samuel Mira
99afe7199e Fix FFmpeg provisioning for Android in arm64, x86 and x86_64
Added install-ffmpeg-android script for the android cross-compile
Removed android stuff from install-ffmpeg
Changed the yaml variables to include the target arch
Added the arm64 target arch

Task-number: QTQAINFRA-5476
Pick-to: 6.5
Change-Id: Id9609ed0427f2fc42f7f27e7787a81ad145f59be
Reviewed-by: Ville Voutilainen <ville.voutilainen@qt.io>
Reviewed-by: Rami Potinkara <rami.potinkara@qt.io>
Reviewed-by: Lars Knoll <lars@knoll.priv.no>
2023-04-26 22:44:30 +00:00
Fredrik Ålund
cbebb76ee2 CI scripts for Mimer SQL
To be able to build the Mimer SQL Qt Sql plugin the Mimer SQL RDBMS needs
to be installed in the CI environment.

Add CI scripts for Mimer SQL

Task-number: QTBUG-111219
Change-Id: Iff900d49ef5b26d97f4f326b0c0e0bc584c416f9
Reviewed-by: Volker Hilsheimer <volker.hilsheimer@qt.io>
2023-02-18 09:44:01 +01:00
Heikki Halmet
3103815c33 Provisioning: Install OpenSSL 3 for Red Hat 8.4
Task-number: QTQAINFRA-4889
Change-Id: Iae783e66a3f4b1421993c5db746bd44a1ef81dd4
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
Reviewed-by: Jani Heikkinen <jani.heikkinen@qt.io>
(cherry picked from commit 6e655d52e3)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
2023-02-13 11:24:02 +00:00
Artem Dyomin
e5cf7b2d58 Fix missing ffmpeg for desktop Linux CI platforms
What's done:
- ffmpeg build added to OpenSuse platforms
- installing of yasm moved to packages install file in
  order to get rid of OS checkings

Pick-to: 6.5
Change-Id: I256f19a03e7f01d27923b083b63d9a6b6a5f29b4
Reviewed-by: Axel Spoerl <axel.spoerl@qt.io>
Reviewed-by: Lars Knoll <lars@knoll.priv.no>
2023-01-24 09:22:06 +00:00
Samuel Mira
f412e6f1d1 Provision FFmpeg library for Android
Pick-to: 6.4 6.5
Fixes: QTBUG-100474
Change-Id: I5cc6f645bd020628bc6a77d4a5d42575f4fcf979
Reviewed-by: Lars Knoll <lars@knoll.priv.no>
2023-01-11 09:48:20 +02:00
Heikki Halmet
68a7947e42 Start using OpenSSL 3.0.7 in CI
Task-number: QTQAINFRA-4889
Change-Id: I3e335395762710d520ca93a5996d1b21d202ed4e
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
Reviewed-by: Vladimir Minenko <vladimir.minenko@qt.io>
Reviewed-by: Simo Fält <simo.falt@qt.io>
2023-01-10 05:50:29 +00:00
Konrad Kujawa
63d72293b7 Add provisioning for gRPC
Add provisioning scripts to install gRPC.
gRPC is requirement to build QtGrpc

Task-number: QTBUG-105492
Change-Id: I1a6d008a1d2c1616000909aacdb721401f706168
Reviewed-by: Mårten Nordheim <marten.nordheim@qt.io>
2022-12-07 07:57:21 +01:00
Heikki Halmet
fae885e9c1 Provisioning: Make bootstrap autostart run without terminal
Terminal in UI might cause issues with Autotest
This patch makes bootstrap-agent run in a background shell wrapper.

The wrapper waits 20secs for the VM's network to come up and exits
with an error if it doesn't.
After that it waits for 20secs for the context image to be mounted.
If no context image is mounted after that, it waits for one minute
and makes one mounting attempt, before launching bootstrap-agent with
or without context.

Pick-to: 6.4 6.2
Task-number: COIN-966
Change-Id: I9a3e490325d1fd7c0583b6d5db5eb2023e042571
Reviewed-by: Volker Hilsheimer <volker.hilsheimer@qt.io>
2022-11-24 21:18:53 +00:00
Mårten Nordheim
1c09ad4cf8 Fixup protobuf provisioning scripts on linux machines
Amends 134c07923c

Change-Id: I53ddfc390068dd7ed5ab3867c632027c0b9b24f2
Reviewed-by: Alexey Edelev <alexey.edelev@qt.io>
2022-11-23 07:54:34 +01:00
Alexey Edelev
134c07923c Rename protobuf provisioning scripts
Use correct protobuf project name for provisioning scripts.
This also should trigger provisioning for all the involved platforms.

Change-Id: I4cfa74c1d41f497db528ee3ae152db1d51de821a
Reviewed-by: Alexey Edelev <alexey.edelev@qt.io>
2022-09-08 10:27:57 +02:00
Liang Qi
e679091f50 Provisioning: Install xcb-cursor libs and headers
Task-number: QTQAINFRA-5067
Change-Id: I8199eb36868cdb66baf4228d5cd3e7fa627acf76
Reviewed-by: Heikki Halmet <heikki.halmet@qt.io>
2022-09-03 09:11:23 +02:00
Piotr Srebrny
51c663d171 Build static FFmpeg library on macOS
This patch modifies linux/ffmpeg-install.sh to work also for macOS.
The FFmpeg libraries are installed under /usr/local both for Linux
and macOS.

Since macOS x64 does not have the lzma lib for arm64 architecture
installed by default, I disable this libraries for FFmpeg. This
only affects the TIFF image decoder that we do not use.

Added the execute permission to the ubuntu scripts.

Change-Id: Ib8623c6a9bcdd24c89045ede0494839fb9cd2ecc
Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io>
2022-07-28 09:56:16 +02:00
Axel Spoerl
aa9095d4cd Harden cache delete script and extend to all Linux CI platforms
Log script activities and deleted toplevel cache files/directories.
Use sudo to override permissions in cache.
Remove legacy single file based cache if it exists by error.
Create cache directory with appropriate permissions if missing.

Pick-to: 6.4 6.3 6.2 5.15
Change-Id: Id6ad930bf8ba9233eeea8a7602d25c98d0058409
Reviewed-by: Simo Fält <simo.falt@qt.io>
2022-07-20 16:23:58 +00:00
Simo Fält
b794125ee9 Enable QtMultimedia FFmpeg plugin build in packaging configs
Change-Id: I932baddbd940df945e07cdfcb298dc6095b45f69
Reviewed-by: Lars Knoll <lars.knoll@gmail.com>
2022-07-20 07:46:32 +03:00
Simo Fält
5d53c917b0 Install python3.8 compatible wheels to wheel cache
Pick-to: 6.3
Change-Id: I42283e1aa9d731e86adccaef3baed25713c9b60d
Reviewed-by: Dominik Holland <dominik.holland@qt.io>
2022-03-16 08:16:40 +00:00
Pasi Petäjäjärvi
c4869161b6 CI: Remove installation of QNX toolchain from linux platforms
These linux platforms are not used when building for QNX

Pick-to: 6.2 6.3
Change-Id: I071834053b09b1cea962796076bb0cd2fc6e0fff
Reviewed-by: Heikki Halmet <heikki.halmet@qt.io>
2022-03-14 07:00:50 +00:00
Ievgenii Meshcheriakov
e5ecdd605e Add pcsc-lite-devel to the RHEL 8.4 package list
PCSCLite is needed to enable optional PCSC support for QtNfc.

Task-number: QTBUG-97946
Change-Id: Id27eea5e28a88b03399b5c1d66ea6fe4d077ea43
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
Reviewed-by: Ivan Solovev <ivan.solovev@qt.io>
Reviewed-by: Heikki Halmet <heikki.halmet@qt.io>
2022-03-08 16:03:43 +01:00
Simo Fält
e1f18be950 Provisioning: Make sure one can call virtualenv as module with python3.8
This will fix qtinterfaceframework's config test.

Pick-to: 6.3
Change-Id: Ifd2f52e27d31f140402d98861339ef5f7b253c23
Reviewed-by: Dominik Holland <dominik.holland@qt.io>
2022-03-07 14:52:48 +02:00
Simo Fält
171f29f091 Provisioning: Install additional Python 3.8 for RHEL 8.4
Pick-to: 6.3
Change-Id: Ic9893505d3805bcc3cbed972a95ce4a756e4c32a
Reviewed-by: Dominik Holland <dominik.holland@qt.io>
Reviewed-by: Jani Heikkinen <jani.heikkinen@qt.io>
2022-03-04 07:29:53 +00:00
Toni Saario
a2393b5882 Update git
Older git version does not allow fetching single specific sha1.

Pick-to: 6.2 6.3
Change-Id: Ib795659a597042876a5c7b6fab3875fe1e39873d
Reviewed-by: Iikka Eklund <iikka.eklund@qt.io>
Reviewed-by: Heikki Halmet <heikki.halmet@qt.io>
2022-02-22 08:16:45 +02:00
Kai Köhne
becb423e80 Replace LGPL2.1 only header with LGPL3 one
This is in line with e.g. qtbase. Also remove outdated/unreferenced
license files.

Pick-to: 6.3
Change-Id: I5d3370ab453610f9c8165ff9e57db7ad4a785370
Reviewed-by: Jani Heikkinen <jani.heikkinen@qt.io>
2021-12-19 19:47:15 +00:00
Allan Sandfeld Jensen
83b4afd584 Add python3 html5lib
Needed for qtwebengine in 6.3

Change-Id: I6dc941fabe4e28e3dce19db8f7812be034be8586
Reviewed-by: Heikki Halmet <heikki.halmet@qt.io>
2021-11-20 11:13:09 +01:00
Allan Sandfeld Jensen
e5d01ece3e Update RHEL 8 nodejs to 12
Pick-to: 6.2
Change-Id: Ia74d0226499d07cb7d893ddb8b07f066237d8e6f
Reviewed-by: Heikki Halmet <heikki.halmet@qt.io>
2021-11-19 12:27:46 +00:00
Heikki Halmet
2aa8303236 Provisioning: Add OpenSSL for Android to macOS
Task-number: QTBUG-97243
Pick-to: 6.2
Change-Id: Ibf67b7d713904edb9f8ee83b35eb096e2d3f1eb1
Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io>
2021-10-18 14:22:16 +03:00
Heikki Halmet
abd2e0b381 Provisioning: Upgrade Java JDK to version 11
Pick-to: 6.2
Task-number: QTQAINFRA-4596
Change-Id: I5c67f220b5a1f3115032eb509d1d391cf1e520a6
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
Reviewed-by: Assam Boudjelthia <assam.boudjelthia@qt.io>
2021-10-15 09:51:01 +03:00
Heikki Halmet
8dcbfc526e Set ulimit also for grapchical login
Graphical login requires DefaultLimitNOFILE=4096
to be set in user.conf.

Task-number: COIN-699
Pick-to: 6.2
Change-Id: Ia07e834ebcffa2ed24a7c211255a4c4c5a10ca10
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
Reviewed-by: Toni Saario <toni.saario@qt.io>
2021-08-26 21:17:07 +03:00
Heikki Halmet
9ff48e5585 Add Red Hat 8.4 to CI
Red Hat 8.4 will be added as parallel with Red Hat 8.3 until packaging
site gives green light to remove the older Red Hat version.
Also targets which are not tested during Qt5 integration will be set
as Insignificant until proven to work

Task-number: QTQAINFRA-4516
Change-Id: I3d9543da315b3d93ee8d9e37389acaf7212b00f7
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
Reviewed-by: Tony Sarajärvi <tony.sarajarvi@qt.io>
2021-08-13 09:03:39 +03:00