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.5
Change-Id: I7ec1d4173e35fe91bc988492e56dd9a5fcbad072
Reviewed-by: Artem Dyomin <artem.dyomin@qt.io>
(cherry picked from commit 03ffb92263)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
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)
Prepare for turning on dynamically linked FFmpeg on macOS:
- install binutils (for readelf) on macOS;
- readelf need to be used with absolute path on macOS. Prepare
workaround solution for this system in
fix_ffmpeg_dependencies.sh script;
- install patchelf on macOS;
- ensuring compatibility of sed call on Linux and macOS;
Task-number: QTBUG-122010
Change-Id: I810566786de4363b4383f29467c6ca4395f9f668
Reviewed-by: Artem Dyomin <artem.dyomin@qt.io>
(cherry picked from commit b5e6c9e59b)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
Move fix_ffmpeg_dependencies.sh script from "linux" to "shared"
directory.
The script will be used on macOS but also on Windows (using MSYS2)
Task-number: QTBUG-122010
Change-Id: If63d5e3ba7562b230cce26c7bfba728a2ae0a382
Reviewed-by: Artem Dyomin <artem.dyomin@qt.io>
(cherry picked from commit b6c6812798)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
Fix CMAKE_SYSTEM_PROCESSOR definition for armv7le. This is needed when
using Windows host to cross-compile Qt binaries for QNX.
Fixes: QTBUG-125450
Pick-to: 6.7 6.5
Change-Id: I19df2ef9d4cc988f5acf4f09fa46b7014fac80d2
Reviewed-by: Toni Saario <toni.saario@qt.io>
(cherry picked from commit 9e560e22a4)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
The truemotion1 decoder depends on a truemotion1data.h file which is
part of FFmpeg. This header file has a reference to GPL licensing, and
although the header provides a rationale for why the decoder tables are
not copyrightable, we prefer to not distribute this decoder as part of
the online Qt installer.
Users who need ability to decode truemotion1 format video files can do
so by recompiling the QtMultimedia FFmpeg media plugin against a custom
build of FFmpeg.
Task-number: QTBUG-118204
Pick-to: 6.7 6.6 6.5
Change-Id: Ia195ef9ce576d18047e7b38bbc5019648ba42b4c
Reviewed-by: Kai Köhne <kai.koehne@qt.io>
- 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>
- 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 openSSL for x64-windows, arm64-windows, and
armeabi-v7a-android-qt. The android triplet has been renamed from
vcpkg's official `arm-neon-android.cmake` triplet to further clarify
the android abi.
- The version of the libraries installed via vcpkg is being written to
versions.txt as `vpckg <library-name> = <library-version>`
Task-number: QTBUG-115715
Change-Id: I4a17bf00e59c3c90968941be6a21c1d961ba3d97
Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
- Downloading 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 Windows
- Adding a `vcpkg-configuration.json`
- Setting environment variables for Binary and Asset cache
- Run `install-vcpkg.sh` on all active Windows hosts
Task-number: QTBUG-115715
Change-Id: I7a8a883a1523f27506ff31757f5aad5221de0698
Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
Add CMAKE_SYSTEM PROCESSOR definition and use that for finding processor specific binaries from QNX SDP.
Task-number: QTBUG-116082
Pick-to: 6.6 6.5
Change-Id: I893cac45058d8e0ac6228159e9b97bc59307ff35
Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
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>
Vulkan:
FFmpeg has a very draft support of vulkan in n5.x and n6.0,
it's promised to be introduced with some working functionality in n6.1.
We'll wait for 6.1, then test it. For now, let's get rid of the extra
dependency.
v4l2m2m:
It's a prospective hw acceleration on linux, especially on embeddded
platforms, but currently, in my experiments, it's not working with
both QtMM and ffmpeg cmd line.
Let's get rid of the not working codec. Hopefully, it'll be fixed
in the future.
Pick-to: 6.6 6.5
Change-Id: I2468f84ae2ec54043d2db83f1a9c08be8e4f509d
Reviewed-by: Lars Knoll <lars@knoll.priv.no>
The californium docker container was based on californium 1.0.0, which
is a very old release. This results in some SSL-related errors when
running the Qt CoAP tests in the CI.
This patch updates the docker container. Instead of a custom fork of
a californium server, we use 3.8.0 release tag, and apply a custom
patch locally.
A similar docker container is already uploaded to DockerHub and used
in Qt CoAP examples.
Task-number: QTBUG-114798
Pick-to: 6.6 6.5
Change-Id: I07346f69a6790b4ae648e073440d68f28668cdd0
Reviewed-by: Sona Kurazyan <kurazyan.sona@gmail.com>
Reviewed-by: Dimitrios Apostolou <jimis@qt.io>
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>
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>
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>
This patch configures FFmpeg with network support. This enables QtMM
to handle network source such as HTTP, HTTPS, or RTSP.
Details:
- on macOS and windows ffmpeg uses native security backend so we don't
include openssl to the build. Additional patch for linking
with the security backend is in QtMM commit under the same task.
- on linux we add openssl; for all CI linux platforms libssl-dev is
installed.
Task-number: QTBUG-110708
Pick-to: 6.5
Change-Id: I80a7dfda702c4d554df3a7380aac642890a28b94
Reviewed-by: Lars Knoll <lars@knoll.priv.no>
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>
Add required configurations to Nightly run for building
Qt SW in Windows host for QNX OS.
Task-number: QTBUG-101292
Pick-to: 6.4 6.3 6.2
Change-Id: I689abd6596bf1ab1f30ba07c198e12569dbf2164
Reviewed-by: Heikki Halmet <heikki.halmet@qt.io>
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>
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>
Now that qtbase supports building bundled 3rd party libraries, we
should have no need for vcpkg in Coin anymore.
Change-Id: I7aa7b0323416b60ffb0cd70eec287e5f25963d9a
Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
This makes sure we don't run into CVE-2019-10906 when using
jinja2 in QtIvis Autogenerator.
Change-Id: If51bf54bd26858c6b5faa3dd6a6627f2979b862d
Reviewed-by: Robert Griebl <robert.griebl@qt.io>
Reviewed-by: Jani Heikkinen <jani.heikkinen@qt.io>
Depending on different external URLs makes our provisioning scripts flaky,
because they can fail if any one of the external servers goes down.
In this patch
* the docker images qt_ubuntu_16.04 and qt_ubuntu_18.04 are being built first,
they apt-get from the internal ubuntu mirror
* all the existing docker images have been rebased to these two images, so
they inherit this behavior
* images that fetch files from the internet have been modified to not do the
fetching themselves; insted URLs are fetched in advance using "DownloadURL"
which accepts internal mirrored URLs, and the downloaded files are ADDed to
the images with a local copy
* previously existing git clone commands have been modified to fetch
internally mirrored tarballs
Task-number: QTQAINFRA-3343
Change-Id: Ic4640a4f7776e38623edba90f0eba7cb68631223
Reviewed-by: Sona Kurazyan <sona.kurazyan@qt.io>
Reviewed-by: Tony Sarajärvi <tony.sarajarvi@qt.io>
This merges merely the provisioning changes needed to perform cmake
builds in the CI. The platform configuration changes will be applied
incremental as we merge support in the individual modules.
Conflicts:
coin/provisioning/qtci-linux-Ubuntu-18.04-x86_64/02-apt.sh
Added ninja to
coin/provisioning/qtci-linux-SLES-15-x86_64/02-zypperpackages.sh
just to force re-provisioning.
Removed module_config.yaml because that breaks license check in
qmake builds.
Change-Id: Ic074c0c881404f4361e61f66130c0cb07f5e8b84
The snapshot uses the previous snapshot as a based. It was rebased
on latest master as of 2019-12-05, and also contains cherry-picked
patches to target iOS.
Change-Id: I9fc0c39856fdb255533f6c71d27f5749894b6bea
Reviewed-by: Qt CMake Build Bot
Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
We will use this tag in qtbase to refer to the image to run, because
with the current sha1tree() tag, every minor change in the docker images
requires synchronized changes between repositories.
Task-number: QTBUG-79867
Change-Id: If94eb6dd8b97526b589e58064837bc6554fed79c
Reviewed-by: Volker Hilsheimer <volker.hilsheimer@qt.io>
Some patches were upstreamed and this beings the version in line with
what we need for Android. This patch also centralizes the version into a
shared file, for future use.
Change-Id: I90973f9bfcbc1bfeb2d11e2ee7a7fa4e4f6a58a2
Reviewed-by: Qt CMake Build Bot
Reviewed-by: Liang Qi <liang.qi@qt.io>
Install binaries as early as possible in the provisioning process, and
start them, in order to monitor provisioning too.
To achieve this, some OS auto-detection logic is introduced in shell
script common.sourced.sh. The script can be sourced and used in all kind
of other generic scripts.
ioping is also installed from custom-compiled binaries in order to
monitor the disk latency of the VMs. Reason we don't use ioping from the
repositories, is that the units differ between ioping versions (new
ioping reports latencies in nanoseconds, old in microseconds).
Fixes: QTQAINFRA-3092
Change-Id: I9d9afb791955725d4bd0b32dae97dfc0bd4a76a3
Reviewed-by: Heikki Halmet <heikki.halmet@qt.io>
This change includes:
- Docker image for the test server to test non-secure and PSK-based
CoAP security modes.
- Docker image for the test server to test X.509 certificate-based
CoAP security mode.
Change-Id: Ice661917591ecaee8ebc3500209bcffc08981f65
Reviewed-by: Ryan Chu <ryan.chu@qt.io>
Known high severity security vulnerability in pyyaml v< 4.2b1
Task-number: QTQAINFRA-2888
Change-Id: I6522fc66ca7c4323cc6248ec2cb31c62201f8e84
Reviewed-by: Dominik Holland <dominik.holland@pelagicore.com>
Reviewed-by: Tony Sarajärvi <tony.sarajarvi@qt.io>
Split the creation of the test images and the creation of the
docker environment. This way, one can easily recreate the test
images, without requiring to re-provision everything.
Change-Id: I35bbe8d8bf497f16d9be92cbaa2d9001f8eee247
Reviewed-by: Maurice Kalinowski <maurice.kalinowski@qt.io>
Reviewed-by: Ryan Chu <ryan.chu@qt.io>
Used for dropping packets on a specific port.
Needs to be launched with the NET_ADMIN and NET_RAW capabilities to be
able to actually be able to interact with iptables, this is done in
docker-compose.
Change-Id: I5093d19fbc269f42fe3e314e9344866fa5b79999
Reviewed-by: Timur Pocheptsov <timur.pocheptsov@qt.io>
For its imap server, needed in various tests
Change-Id: I7ad11342f362392edec2f15c781f4c48deeeff30
Reviewed-by: Edward Welbourne <edward.welbourne@qt.io>
Reviewed-by: Timur Pocheptsov <timur.pocheptsov@qt.io>
Needed in the QUdpSocket test for the echo service and in the QSslSocket
test for the daylight service.
Change-Id: Ic7143eb7abd37dbf2c20ddb4b52cdd5ea3f0d193
Reviewed-by: Timur Pocheptsov <timur.pocheptsov@qt.io>
Comparing to the previous release, Ubuntu 18.04 includes dante-server
1.4.2 by default. Therefore, it doesn't rely on the Third-party PPA.
The SHA-1 of the provisioned images in docker cache:
qt-test-server-apache2_18.04:69478e75b362d57691a53700434a7034d471459e
qt-test-server-squid_18.04:cd5a5e2ff5d23c9a7adef1bd82847e027c090e5b
qt-test-server-vsftpd_18.04:a40425c0494f8f4e8ba27ac9fb5cc02aaedd62d8
qt-test-server-ftp-proxy_18.04:5f78e23a0579a579fcae7f3e5704bb5eec0e2f6d
qt-test-server-danted_18.04:d590b915cda9d524620d18a0398fdfa4d5876f97
Change-Id: Iffb4abe144a957465a2daab657c6259f0b75e800
Reviewed-by: Edward Welbourne <edward.welbourne@qt.io>
Reviewed-by: Jędrzej Nowacki <jedrzej.nowacki@qt.io>
After the system reboots, the docker machine is created, but in a
stopped state. To handle the case that a developer may rerun the
provisioning scripts for the missed docker images, make sure the
docker machine is both started and running with new TLS certificates.
Change-Id: Ibdb58152cac860132a77d6d094f9bca20a5e95e8
Reviewed-by: Edward Welbourne <edward.welbourne@qt.io>
Build and cache docker images to VirtualBox virtual machine.
1. Download and install the docker tool kits and Apple Bonjour
2. Deploy boot2docker image into VirtualBox via docker-machine commands
3. Use Git Bash to run the shared provisioning scripts
4. Print CPU features to verify that CI has enabled VT-X/AMD-v support
5. Disable Hyper-V from Windows 10 Pro/Enterprise editions
Change-Id: I5520e4a28376aba14f880c077bd7b083be971f0a
Reviewed-by: Edward Welbourne <edward.welbourne@qt.io>
For debug purpose, print the installed version of docker,
docker-compose, and docker-engine. Because 'docker info' is related to
the docker-engine, postpone calling the command until docker virtual
machine has been created.
Change-Id: I4c869b7122b831b7f22c9c3846ac9cbe47c3b355
Reviewed-by: Edward Welbourne <edward.welbourne@qt.io>
Reviewed-by: Liang Qi <liang.qi@qt.io>
To reuse the provisioning scripts for all platforms, they are moved to a
shared folder (coin/common/shared/testserver). The scripts of macOS and
linux are combined and controlled by an input parameter (macos/linux).
Change-Id: Ibf9a438d1825d01d707c2fc8fbcf2bc70a8b4902
Reviewed-by: Edward Welbourne <edward.welbourne@qt.io>
Reviewed-by: Jędrzej Nowacki <jedrzej.nowacki@qt.io>