Commit Graph

72 Commits

Author SHA1 Message Date
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
Aku Pietikäinen
fc1e3c7084 Provisioning: update Java 17 to Ubuntu20.04 x64
Change-Id: I9eec100e11c00c1d984151b09bc1e4dc29f402c1
Reviewed-by: Toni Saario <toni.saario@qt.io>
(cherry picked from commit f63db53d98)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
2024-06-26 18:38:40 +00:00
Volker Hilsheimer
ac2a19ab7e Build shared FFmpeg on Linux and set dependencies to stubs
Task-number: QTBUG-120990
Change-Id: I8fccf8ef58cf6334e71287450ee30cc2256516d9
Reviewed-by: Volker Hilsheimer <volker.hilsheimer@qt.io>
(cherry picked from commit 83adc86c53)
2024-06-25 06:19:28 +02:00
Tim Blechmann
6eed0ab93a provisioning: install gstreamer plugins
This allows us to run unit tests that require real-world codecs on
debian/ubuntu

Pick-to: 6.7 6.5
Change-Id: I99a73506610ea430948692f8a88045394e747750
Reviewed-by: Simo Fält <simo.falt@qt.io>
(cherry picked from commit 02af86d2aa)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
2024-06-25 04:19:23 +00:00
Zoltan Gera
ef13af8e5a Include python venv installation in Ubuntu provisioning
The venv module is part of the default Python installations in most
Linux distributions except the Debian line. However, we had this already
installed on Debian images, but not on Ubuntu images. This is required
for Qt Interface Framework.

Change-Id: I255f27edf53acbb7ab258d5495636759bddc888b
Reviewed-by: Heikki Halmet <heikki.halmet@qt.io>
Reviewed-by: Tero Heikkinen <tero.heikkinen@qt.io>
2024-05-15 14:48:28 +03:00
Dimitrios Apostolou
d25f25f3af Copy mdns resolution workaround to the emulated platforms too
Applies fix from commit 5c6814fb18
to the emulated platforms.

Fixes: QTBUG-107696
Pick-to: 6.7 6.5
Change-Id: I9c282ecf9c29c57cce964ae9962f1857c953cfd8
Reviewed-by: Axel Spoerl <axel.spoerl@qt.io>
Reviewed-by: Mårten Nordheim <marten.nordheim@qt.io>
2024-05-10 07:31:29 +02:00
Dimitrios Apostolou
5f3586f59f Simplify command invocation
No need to wrap the sed call in a shell, just invoke sed directly.
And reduce the two separate sed invocations to one with two file arguments.

This change is purely aesthetic, functionality should be identical.

Pick-to: 6.7 6.5
Change-Id: If841301077e1c21fe846b28b5f7f6af422d86b93
Reviewed-by: Toni Saario <toni.saario@qt.io>
Reviewed-by: Axel Spoerl <axel.spoerl@qt.io>
2024-05-10 07:31:27 +02: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
Artem Dyomin
aea9fc281c Install vlc binaries on ubuntu and macos for QtMM streaming tests
Cross-platform VLC provides a cmd-line interface for creating media
streams, we use it in QtMultimedia integration tests.
In the future, vlc might be replaced with something more light-weight,
but for now let's just start running the streaming tests at least on
these platform.

Pick-to: 6.5 6.6
Change-Id: I887a98a1ee8f4a9f0a08d16124303bd10fa5a6ba
Reviewed-by: Jøger Hansegård <joger.hansegard@qt.io>
Reviewed-by: Lars Knoll <lars@knoll.priv.no>
2023-10-11 13:16:19 +00: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
Casimir Saastamoinen
a4628e939b Change git_lfs install location to versions own repo
Task-number: QTQAINFRA-5573
Change-Id: I481a6d82a6fee2bb849369f98085ccded1ca54a8
Reviewed-by: Matti Paaso <matti.paaso@qt.io>
2023-08-21 12:35:05 +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
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
Heikki Halmet
f080b88d85 Remove *yocto_ssh_configurations script
Not needed anymore

Pick-to: 6.4 6.2
Change-Id: I9b813a66593525a2328bed95c128b5979a410fc7
Reviewed-by: Jani Heikkinen <jani.heikkinen@qt.io>
2023-02-26 14:59:04 +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
Mårten Nordheim
5c6814fb18 Work around glibc bug in our mdns resolution
glibc has a system where, if it fails to perform Happy Eyeballs host
name resolution in parallel, it will do it sequentially.
We triggered this because our docker setup was not responding to
systemd-resolved's AAAA queries over IPv6.
The bug in glibc was then that it would poll for 4999ms after sending
the first of the two queries. __Every time__ we do mdns host lookup.
In tst_QTcpSocket this happens multiple times in ::initTestCase for the
proxy global-datatags. That means we would be stuck polling for
4999ms*5 (number of proxy addresses to look up) before every test-case
that would use proxy (even if the test just does a return in the
proxy-case). Plus another 4999ms for any mdns lookup we would need to
perform during the test.
This led to the test severely slowing down and timing out quite often.

Work around this by doing full mDNS before trying DNS.
This will let us resolve multi-label mDNS addresses.

Pick-to: 6.5
Fixes: QTBUG-107696
Change-Id: I26c6b356b4c9712f4ac6d3613998ee448c0ca504
Reviewed-by: Dimitrios Apostolou <jimis@qt.io>
2023-02-15 14:40:57 +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
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
Allan Sandfeld Jensen
bb89b5ca77 Add optional dependencies for QtWebEngine
To better use system libraries and reduce the size of webengine libs

Change-Id: I626327e123ee93bc25f5b40d5adbdffa6dfb772d
Reviewed-by: Heikki Halmet <heikki.halmet@qt.io>
2022-11-24 22:27:26 +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
Topi Reinio
31c4ad1686 coin: Update provisioned qdoc, qtattributionsscanner binaries
Update qdoc to a version that queries system include paths from the
compiler, avoiding spurious documentation warnings in some environments.

Update qtattributionsscanner to a version that fails the documentation
build on incorrect input, i.e. incorrectly formatted qt_attribution.json
files.

Pick-to: 6.4
Fixes: QTBUG-108353
Change-Id: I3a64f7810cddafcbf9de66bd1d848c18f5677ad0
Reviewed-by: Kai Köhne <kai.koehne@qt.io>
2022-11-17 19:20:31 +00:00
Johanna Äijälä
db68763094 Provisioning: Add Java 11 to Ubuntu20.04
Needed by RTA when compiling Android applications, minimum required
Java is 11.

Pick-to: 6.4
Pick-to: 6.3
Pick-to: 6.2
Change-Id: I9a64e8de322a576d5d94593b5666d72afea8744f
Reviewed-by: Heikki Halmet <heikki.halmet@qt.io>
2022-09-24 11:10:25 +03:00
Liang Qi
7e7c23669c provisioning: fix mdns to support both docker and network tests
Network tests require the system resolver to resolve IP addresses
back to host names, but "mdns4" seems to be unable to do that, and
instead prevents "dns" from doing its job. So we place it after "dns".

Done-with: Dimitrios Apostolou <jimis@qt.io>
Done-with: Thiago Macieira <thiago.macieira@intel.com>
Fixes: QTBUG-106013
Change-Id: If0379cf5f42b41964cf156cdf8691dbcfcc0275b
Reviewed-by: Mårten Nordheim <marten.nordheim@qt.io>
Reviewed-by: Samuli Piippo <samuli.piippo@qt.io>
2022-09-23 06:23:55 +00:00
Topi Reinio
505eb9e3a8 coin: Update provisioned qdoc, qtattributionsscanner binaries
Latest qdoc introduced a new command (\modulestatus) as well as other
fixes and improvements.

Pick-to: 6.4
Change-Id: Idcbd96bc1ec17c81d51c2413f6435ee1b7e12946
Reviewed-by: Paul Wicking <paul.wicking@qt.io>
2022-09-12 10:14:34 +02: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
Alexey Edelev
ad84c5cb8a Update protobuf provisioning scripts
Enable protobuf provisioning for all linux platforms, since it's
required to build qtbase with protobuf support.

Delete install_protobuff for macos 10.14 since it's not used and
wouldn't build without special casing.

Change-Id: I9c7dea876c45dbcbfc3110b106ae683bbe9179ec
Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io>
2022-09-08 10:27:54 +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
Piotr Srebrny
a273e9f11c Provision FFmpeg library for QtMultimedia plugin
One of the QtMultimedia backends is implemented using FFmpeg.
This provisioning enables building and testing of this backend.

Change-Id: Ia196c2ae4b457aa6b8e3ee8e0f367197aadfe0d9
Reviewed-by: Simo Fält <simo.falt@qt.io>
2022-06-13 09:56:56 +02: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
Topi Reinio
69b329a55f coin: Update provisioned qdoc, qtattributionsscanner binaries
Latest qdoc introduced a new command (\qmlvaluetype) used in
qtdeclarative documentation, as well as other fixes and
improvements.

Pick-to: 6.3
Change-Id: I6453468fb36dbe38d62f5eb9de74beffd568673b
Reviewed-by: Paul Wicking <paul.wicking@qt.io>
Reviewed-by: Kai Koehne <kai.koehne@qt.io>
2022-02-10 23:59:49 +01: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
Samuli Piippo
54c3a77fdf QEMU: update toolchains
Update qemu toolchains to include needed dependencies for QtWebEngine.

Pick-to: 6.2
Change-Id: Ia5cf09b3f94fe75d16304e717a9da04cb120ea79
Reviewed-by: Michal Klocek <michal.klocek@qt.io>
Reviewed-by: Heikki Halmet <heikki.halmet@qt.io>
2021-11-26 14:21:09 +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
Pasi Petäjäjärvi
b580128093 Provisioning: Install NFS support required by QNX QEMU
Task-number: QTBUG-87628
Pick-to: 6.2
Change-Id: I9100dd7eda11a9a6ebf35aa6100c6bf983402b64
Reviewed-by: Marianne Yrjänä <marianne.yrjana@qt.io>
Reviewed-by: Samuli Piippo <samuli.piippo@qt.io>
2021-10-27 10:12:03 +03:00
Pasi Petäjäjärvi
ffc3ef20a3 CI: Add NFS export
Export work directory via NFS for QNX qemu

Task-number: QTBUG-87628
Pick-to: 6.2
Change-Id: I57a2f612cf268bef4582726c9b0a1b953e74034b
Reviewed-by: Tony Sarajärvi <tony.sarajarvi@qt.io>
Reviewed-by: Marianne Yrjänä <marianne.yrjana@qt.io>
Reviewed-by: Samuli Piippo <samuli.piippo@qt.io>
2021-10-27 07:11:55 +00:00
Topi Reinio
134a8546c6 coin: Update provisioned qdoc, qtattributionsscanner binaries
Latest qdoc has fixes that enables us to enforce zero warnings on
all qtbase modules.

Change-Id: Ie47011fa524fb869fb1e8856fd8c377e14be7e69
Reviewed-by: Paul Wicking <paul.wicking@qt.io>
2021-10-22 11:12:29 +02: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
3b09730b44 Provisioning: Re-install ca-certificates for Ubuntu 20.04
This makes sure that needed ca-certificates are installed during
provisioning

Pick-to: 6.2
Change-Id: I39289f237a54ca0805b1d9116ee899aecf02e72f
Reviewed-by: Samuli Piippo <samuli.piippo@qt.io>
2021-10-05 11:24:16 +03:00
Topi Reinio
74bc9ea94d coin: Ensure provisioned qdoc has proper permissions
The testing steps are done with the 'qt' user, so modify the ownership
and permissions when extracting the binaries.

Also update the version of the package itself.

Task-number: QTBUG-83851
Change-Id: I6d5318572e34c99637421e527d1e07286e55bfab
Reviewed-by: Paul Wicking <paul.wicking@qt.io>
2021-09-27 12:47:20 +00:00
Topi Reinio
f0b4d1c8f5 coin: Update provisioned binaries for qdoc, qtattributionsscanner
Also, change the install directory - attempting to install directly
to Qt's installdir won't work as it gets overwritten by modules'
binary packages.

Task-number: QTBUG-83851
Change-Id: I96cd95f99322d1278d066d22965e54cf3c7701b4
Reviewed-by: Paul Wicking <paul.wicking@qt.io>
2021-09-24 10:50:11 +02:00
Samuli Piippo
663ebcb102 Add zstd to Ubuntu 20.04
Needed for bitbake.

Change-Id: Ib7be3a971b970311adca25f46238d3fae838cba9
Reviewed-by: Heikki Halmet <heikki.halmet@qt.io>
2021-09-10 10:57:27 +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
Allan Sandfeld Jensen
c4b8c908b6 Update node.js to 12
For Ubuntu it means using an alternative packages, for
openSUSE not using an alternative package.

Pick-to: 6.2
Change-Id: I09085428db083adc1ff1d68f384cd19c83605bfd
Reviewed-by: Heikki Halmet <heikki.halmet@qt.io>
2021-08-18 11:31:42 +02:00
Topi Reinio
e8a86ab6c8 Provision qdoc and qtattributionsscanner
Provision documentation generators for Ubuntu 20.04, and add 'TestDocs'
feature to the configuration already used for generating documentation.

This is to allow building docs during the testing cycle to block
integrations that introduce new documentation warnings, without the
need to add a dependency to qttools.

Pick-to: 6.2
Fixes: QTBUG-83851
Change-Id: I74d7daeb7abb49403e97af41b0521f903607ce55
Reviewed-by: Paul Wicking <paul.wicking@qt.io>
2021-08-16 11:21:31 +02:00
Heikki Halmet
8fa865b37b Update Yocto toolchains
Task-number: QTQAINFRA-4459
Change-Id: I0a6144db1ca1ceb35791749bf5b056ced2307ab9
Reviewed-by: Samuli Piippo <samuli.piippo@qt.io>
(cherry picked from commit 34d0ca0f39)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
2021-07-08 09:01:53 +00:00