Commit Graph

39 Commits

Author SHA1 Message Date
Artem Dyomin
de62c92b28 Replace static FFmpeg build with shared on rhel8
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
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>
(cherry picked from commit 6cd74e132a)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
2024-11-03 04:43:19 +00:00
Alexandru Croitor
81d2c30cb4 coin: Explicitly specify SBOM_PYTHON_APPS_PATH for all platforms
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

Task-number: QTBUG-122899
Task-number: QTBUG-124453
Task-number: QTBUG-125211
Change-Id: I097fd1c4119a203d82f88c477dbf0fc0f67f19f2
Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
(cherry picked from commit 6f991b55a3)
2024-10-31 15:42:31 +01:00
Eike Ziller
2dd0731d72 COIN: Add libsecret-dev on Linux machines for Qt Creator
Qt Creator uses libsecret for saving passwords.
It is dynamically resolved during runtime, but we need the
development package at build time to enable the feature.

Fixes: QTCREATORBUG-31381
Change-Id: I71077694ff0f4d04b1d85215791dc7f6f6663f64
Reviewed-by: Marcus Tillmanns <marcus.tillmanns@qt.io>
(cherry picked from commit 3369aab7fb)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
2024-10-15 06:41:57 +00:00
Marcus Tillmanns
687c2c4551 Coin: Add golang & upx to Linux/macOS/Windows
Qt Creator will soon start to rely on go for tools and upx for binary compression.

Right now we can't install upx on macOS which we can live with.
Leaving the script in for later re-enabling once brew has been fixed.

Pick-to: 6.7
Change-Id: I4fdc67e469153e8a0530efd58ff251629dcabdfa
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
(cherry picked from commit 337206334e)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
2024-09-18 06:30:19 +00:00
Alexandru Croitor
c3a5651bd0 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
Fixes: QTBUG-124787
Fixes: QTBUG-127644
Change-Id: I72793ed96ef39ec07244079c51efe17ae1f9af66
Reviewed-by: Alexey Edelev <alexey.edelev@qt.io>
(cherry picked from commit 8ad05756ed)
Reviewed-by:  Alexey Edelev <alexey.edelev@qt.io>
2024-08-13 17:57:03 +02:00
Bartlomiej Moskal
a11202a0b6 coin: Move install-patchelf script to unix directory
This patch prepare install-patchelf.sh script for use on MacOs

Task-number: QTBUG-126861
Change-Id: Id16462a2819da748ecd0b04f1df57968e9d90c37
Reviewed-by: Jøger Hansegård <joger.hansegard@qt.io>
(cherry picked from commit 62b60c4caa)
2024-08-07 08:48:51 +02:00
Alexandru Croitor
90c88a451f coin: Add python packages to allow validating Qt generated SBOM files
Add a sbom_requirements.txt file and install it using the
various platform specific pip installations.

Partially restores b87b44168c but
without the wheel cache.

Task-number: QTBUG-122899
Change-Id: I8002898866acbc226ffebb59dcf5b3a58237ea34
Reviewed-by: Toni Saario <toni.saario@qt.io>
(cherry picked from commit 1f2fb6312c)
2024-06-28 06:24:39 +02:00
Artem Dyomin
d34850071d 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.

Change-Id: I724ffed9c48b9811e10de89519d8271e2f82260d
Reviewed-by: Volker Hilsheimer <volker.hilsheimer@qt.io>
(cherry picked from commit 49b0435e7e)
2024-06-25 04:19:32 +00:00
Liang Qi
2cb772c046 Provisioning: install pipewire dev packages on Linux
Task-number: QTBUG-121452
Change-Id: I5e9087b09f64750135ebea9030073cd1a20c5f46
Reviewed-by: Artem Dyomin <artem.dyomin@qt.io>
(cherry picked from commit fcdce53b89)
Reviewed-by: Liang Qi <liang.qi@qt.io>
2024-06-25 06:19:14 +02:00
Assam Boudjelthia
31d72b0e2c Coin: update jdk from 11 to 17 to support Android builds with Gradle 8+
Gradle 8 and AGP 8+ require JDK version 17 to work properly, this is
needed for CI test runs of Android.

Pick-to: 6.7
Task-number: QTBUG-106907
Change-Id: I437ee6752fe12ce4d40fbfe1af2bfff1b4ca243b
Reviewed-by: Jukka Jokiniva <jukka.jokiniva@qt.io>
2024-05-17 21:26:23 +03:00
Allan Sandfeld Jensen
ee56a3b8ae Add gbm dependencies for webengine to RHEL
Was previously only added for 8.4 and 9.0

Pick-to: 6.7 6.5
Change-Id: Ifa22b6836818ad59b6f3dcfd6b1a6dbc1293782b
Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
2024-04-04 09:41:49 +01: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
Dimitrios Apostolou
e1054c8abb Enable gdb stacktraces on all Linux configurations
This amends commit c66f8407a8 by running
the script on the remaining Linux configurations where gdb stacktraces
were already working, in order to avoid breakage in the future.

Change-Id: Ic069ed5369f761dcc3557b2ea7e09de703ebc142
Reviewed-by: Tero Heikkinen <tero.heikkinen@qt.io>
Reviewed-by: Jukka Jokiniva <jukka.jokiniva@qt.io>
2024-02-06 16:11:09 +01: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
Amir Masoud Abdol
a5a6393145 Provisioning: Install OpenSSL via Vcpkg on Linux
- Add a custom triplets for building dynamic android libraries
- Set `ANDROID_NDK_HOME` environment variable, as it is needed when
  vcpkg builds for Android.
- Install `perl-IPC-Cmd` when necessary, requirement for OpenSSL.
- Install openSSL for x64-linux-qt, x86-android-qt, and
  x86_64-android-qt. The latter android triplet has been renamed from
  vcpkg's official `x64-android.cmake` triplet to further clarify the
  android abi.
- Adjusted version.txt to account for the existence of two OpenSSL. The
  system OpenSSL now shows up as `System's OpenSSL` in `version.txt`.

Task-number: QTBUG-115715
Change-Id: I6cf9b808d26bbea97ebeeadac58cef5ede25ee50
Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
2023-12-18 06:32:32 +01:00
Amir Masoud Abdol
9e1b456953 Provisioning: Install vcpkg on Linux
- Building the vcpkg executable
- Cloning an internal mirror of the vcpkg's official repository, and
  setting the VCPKG_ROOT to its path. The mirror is under my personal
  namespace in `git.qt.io` and will be replaced by official qt mirror
  in the future.
- Adding an empty `vcpkg.json` for Linux.
- Setting environment variables for Binary and Asset cache
- Run `install-vcpkg.sh` on all active Linux hosts

Task-number: QTBUG-115715
Change-Id: I9a4249a2fc265e4dc4c3083d1b411dffb84bfdf3
Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
2023-12-18 06:32:22 +01:00
Amir Masoud Abdol
c1847f4f5b Provisioning: Install zip on Linux
Vcpkg needs zip for compressing the build artifacts, etc. for caching.

Task-number: QTBUG-115715
Change-Id: I1f0c056ca44a94ddfc181e6ce0213790e616e431
Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
2023-12-18 06:32:12 +01:00
Amir Masoud Abdol
d591095e7c Provisioning: Install jq
jq is used during the provisioning of vcpkg ports to extract the version
string of packages from vcpkg.json file.

Task-number: QTBUG-115715
Change-Id: I73d95b8d8399b25a9aa58855b9d65cac968618fc
Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
2023-12-18 06:32:00 +01:00
Tony Sarajärvi
cef68a74ea Fix shellcheck complaints in vcpkg mounting scripts
Change-Id: Iae479d43f98e057ebffdc66a407691bdcfc14229
Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
2023-12-15 12:35:25 +00:00
Petri Virkkunen
e9325a87a6 Upgrade Python on RHEL 8.8 from 3.8 to 3.11
In order to avoid installing packages to one version of python and then
trying to use them from another version, stop installing python 3.8 and
simply install Python 3.11, along with pip.

Change-Id: Id2f63a6d1aff0d3fd3a5934887fe82a642f6ab92
Reviewed-by: Dominik Holland <dominik.holland@qt.io>
Reviewed-by: Zoltan Gera <zoltan.gera@qt.io>
2023-11-20 19:54:57 +02:00
Allan Sandfeld Jensen
23ab8c94b0 Add libatomic to RHEL 8.8
Needed for qtwebengine 6.7

Pick-to: 6.6 6.5
Fixes: QTBUG-119109
Change-Id: I38d78731578dcb4ce5a8755d116e1326e6d6ffa4
Reviewed-by: Heikki Halmet <heikki.halmet@qt.io>
2023-11-14 18:32:50 +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
Amir Masoud Abdol
991ed8bc74 Provisioning: Install cif-utils (and keyutils) for mounting SMB on Linux
Change-Id: I91df89bd9741010f384c2c097363614438819a92
Reviewed-by: Alexey Edelev <alexey.edelev@qt.io>
2023-11-05 10:05:55 +01:00
Amir Masoud Abdol
10b0282ea2 Provisioning: Mount Vcpkg Cache Drive on Linux
Change-Id: Ib7345f622e05248aa0a61e44a4d079666e56ae7d
Reviewed-by: Alexey Edelev <alexey.edelev@qt.io>
2023-11-05 10:05:47 +01:00
Bartlomiej Moskal
2d3245e0ea Coin: Install FFmpeg for Android on missing targets
On qtci-macos-13-x86_64 host CI tries to build and run the test on
Android (arm64) while we still haven't managed to install FFmpeg for it.
The same situation happened with qtci-linux-RHEL-8.8-x86_64 and Android
x86.

Task-number: QTBUG-110805
Task-number: QTBUG-114954
Task-number: QTBUG-113980
Pick-to: 6.6 6.5
Change-Id: If953221b104d5bb8fce9d48f8ecd977c2e80c41d
Reviewed-by: Assam Boudjelthia <assam.boudjelthia@qt.io>
2023-11-02 20:11:01 +00:00
Bartlomiej Moskal
185b7219a4 Coin: Fix install-ffmpeg calls for android
There is a specialized script to install FFmpeg for Android. Use it
instead of common install-ffmpeg.sh (which does not work for "android"
parameter).

Task-number: QTBUG-110805
Task-number: QTBUG-114954
Task-number: QTBUG-113980
Pick-to: 6.6 6.5
Change-Id: I2409e0f8ffe0f8b28eadce4738c2551fe00a7fbf
Reviewed-by: Assam Boudjelthia <assam.boudjelthia@qt.io>
2023-11-02 17:40:26 +02:00
Matti Paaso
6ddb97c90e Provisioning: Fix icu 73.2
Icu packages overwritten in ci-files01-hki, and file hash
changed.

Change-Id: I4755e13409cd4af008919ae3905fdb21fb893795
Reviewed-by: Jani Heikkinen <jani.heikkinen@qt.io>
2023-11-02 17:40:23 +02: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
Elias Toivola
d043fa0a45 Provisioning: RHEL platforms: Wait for PackageKit to finish
PackageKit is sometimes locked when trying to remove it, causing an error in provisioning. Scripts now wait until it is free for removal.

Task-number: QTQAINFRA-5577
Change-Id: I15d6bf5d72ec61517cc42a1dc51012ad60a806e9
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
Reviewed-by: Heikki Halmet <heikki.halmet@qt.io>
2023-09-12 04:32:58 +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
Matti Paaso
f80e295d4d Update ICU for RHEL 8.8
Task-number: QTQAINFRA-5654
Change-Id: I2a8b05f144afc05f1049633b7282864e3f6bb81e
Reviewed-by: Heikki Halmet <heikki.halmet@qt.io>
2023-08-24 08:22:20 +03: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
Assam Boudjelthia
8b6151e23d Coin: install specific version of openjdk 11
Android's sdkmanager seems to fail with openjdk 11 version 11.0.20.0.8.
The previous version 11.0.19.0.7 seems to work. the error is failure to
find /usr/lib/jvm/java-11-openjdk-11.0.20.0.8-2.el8.x86_64/lib/tzdb.dat.

This is more of a workaround for now to unblock provisioning.

Change-Id: Ib50b497c6e8b6bffd0739bf665ab1deb5bd51666
Reviewed-by: Simo Fält <simo.falt@qt.io>
2023-07-25 15:53:17 +03:00
Michal Klocek
9de403d32f Install 'dataclasses' python module for RHEL-8.8 as well
Install missing 'dataclasses' module for python.
It is required for licenses generation for webengine.

Make pip call after pip 'upgrade'.

Change-Id: Iedced50fe644c1711ee42d4940f70a24a070c4df
Reviewed-by: Michael Brüning <michael.bruning@qt.io>
2023-07-25 15:52:54 +03: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
Allan Sandfeld Jensen
e8f9c3d1cf Update node.js on RHEL 8.8 as well
Last update only touched RHEL 8.6 and 9.0

Pick-to: 6.6
Change-Id: I0c084edc08f3c833daa25c393674bd51eac4ea6e
Reviewed-by: Michal Klocek <michal.klocek@qt.io>
2023-07-19 07:08:38 +02:00
Fredrik Ålund
af7c74313d Add missing provisioning scripts for Mimer SQL for RHEL 8.6 and RHEL 8.8
The provisioning scripts for Mimer SQL is missing in RHEL 8.6 and
RHEL 8.8 and therefore the Mimer SQL QtSql plugin is not built

Fixes: QTBUG-111219
Pick-to: 6.6
Change-Id: I9c12b7d94ab7b047ed08b46043ad16586968ecfd
Reviewed-by: Volker Hilsheimer <volker.hilsheimer@qt.io>
2023-07-03 22:51:18 +02:00
Tero Heikkinen
5cca2b7ba4 Add Red Hat 8.8 to CI
RHEL 8.8 will be added as parallel with RHEL 8.6 until packaging
site gives green light to remove the older Red Hat version.

Removing also some obsolete package installations.

Task-number: QTQAINFRA-5600
Change-Id: Ie77500a805a89db9019b5347539e662bc016af59
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
Reviewed-by: Jukka Jokiniva <jukka.jokiniva@qt.io>
2023-06-26 15:50:30 +03:00