Compare commits

..

30 Commits

Author SHA1 Message Date
Tor Arne Vestbø
6a340438f8 coin: Add kTCCServiceScreenCapture permission to ssh/bootstrap-agent
The screen capture permission might be useful for Qt Multimedia, and
also allows us to do screen capturing of the state of the VM in case
of test failures.

For macOS 15 we need to work around the monthly nagging that an
app has permission to capture the screen, otherwise this popup
may interfere with test runs.

Change-Id: I0398488c78b19a85ba527b780b264e0b915b6024
Reviewed-by: Ville-Pekka Karhu <ville-pekka.karhu@qt.io>
(cherry picked from commit 3a5f7bb8d8)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
2024-08-28 18:50:30 +00:00
Tor Arne Vestbø
8f7410b202 coin: Extend TCC permissions to SSH server and bundled boostrap agent
We are experimenting with various ways of running and packaging the
bootstrap agent. To support this, let's add the required permissions
to both a standalone bootstrap-agent executable, as well as an app
bundled version of it, if found.

In addition, add the permissions to sshd-keygen-wrapper, which is
the responsible process for the SSH server, and any ssh login
sessions spawned by that. This serves two purposes. Firstly, this
matches the permissions between a coin run (by the bootstrap agent)
and what a developer will see when SSH'ing into the CI machine to
debug an issue. Secondly, we might use ssh as an entrypoint to
run the bootstrap-agent, in which case we need the permissions
on sshd-keygen-wrapper anyways, so that they are inherited by
the bootstrap-agent.

Change-Id: I576349e93ca19d98384490c99102966e8ffe2833
Reviewed-by: Ville-Pekka Karhu <ville-pekka.karhu@qt.io>
(cherry picked from commit 5368f47fe0)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
2024-08-28 18:50:28 +00:00
Johanna Äijälä
0e0732df1d Provisioning: Update Squish 8.0.0
Add Squish provisioning to linux on arm and windows on arm machines
also.

Pick-to: 6.7
Change-Id: I52f0e8fc4931efd7c7fcf36c555cbae76e2f347b
Reviewed-by: Simo Fält <simo.falt@qt.io>
(cherry picked from commit 29194b8803)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
2024-08-28 18:50:12 +00:00
Jukka Jokiniva
3974ea45d2 Make build phase blocking for qemu-arm64/arm7-developer-builds
Task-number: QTQAINFRA-6266
Change-Id: I3a7fc89518e71d0bf580a6abd6876b7b1d292a16
Reviewed-by: Simo Fält <simo.falt@qt.io>
(cherry picked from commit 86529cd5bc)
Reviewed-by: Jukka Jokiniva <jukka.jokiniva@qt.io>
Reviewed-by: Paul Wicking <paul.wicking@qt.io>
2024-08-28 20:49:59 +02:00
Alexandru Croitor
9d623692a8 CMake: Provision llvm-mingw for latest Windowss 11 23H2 image
It was previously missed, and thus qdoc wasn't built for the
windows-11_23H2-llvm Packaging configuration.

Amends 9975595a5e

Pick-to: 6.7
Fixes: QTBUG-121548
Task-number: QTBUG-111580
Change-Id: I1142b593f36c8366ceaeac91eba81e16f1a2557d
Reviewed-by:  Alexey Edelev <alexey.edelev@qt.io>
(cherry picked from commit 8aa15db27f)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
2024-08-28 18:49:53 +00:00
Liang Qi
52322049be coin: force qtbase tests for offscreen on linux arm64
Task-number: QTQAINFRA-6112
Task-number: QTBUG-125446
Change-Id: Id88e0b7717fdbd86fc001809073c491aaa669d61
Reviewed-by: Tero Heikkinen <tero.heikkinen@qt.io>
Reviewed-by: Simo Fält <simo.falt@qt.io>
Reviewed-by: Liang Qi <liang.qi@qt.io>
(cherry picked from commit 18be2625a0)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
2024-08-28 20:49:47 +02:00
Liang Qi
1e38bd21bd platform_configs: drop the offscreen documentation build
We still have one offscreen build(non-dev).

Change-Id: Ib0a4314387bc4388e75cb6dc65c220e167980805
Reviewed-by: Jukka Jokiniva <jukka.jokiniva@qt.io>
(cherry picked from commit a9b9ebd2de)
Reviewed-by: Paul Wicking <paul.wicking@qt.io>
2024-08-27 20:44:37 +02:00
Liang Qi
8910e90705 Install patchelf in Ubuntu 24.04 x64
This amends ac2a19ab7e .

Change-Id: I5124eb5f5860bab7e76689ea84ffb5d284b6eef8
Reviewed-by: Liang Qi <liang.qi@qt.io>
2024-08-27 20:44:32 +02:00
Johanna Äijälä
addf3a0794 Provisioning: update Java 17 to Ubuntu24.04 x64
Needed by RTA Android tests.

Change-Id: Iec5a63f3c81f9758e1910f81508ea775ba30c388
Reviewed-by: Jukka Jokiniva <jukka.jokiniva@qt.io>
(cherry picked from commit 30443436c4)
Reviewed-by: Paul Wicking <paul.wicking@qt.io>
2024-08-27 20:44:27 +02:00
Liang Qi
3cc306b68a Disable docker for network auto tests on Ubuntu 24.04
both x64 and arm64.

Don't have enough resource to make sure docker setup works fine
for new platform now.

Task-number: QTBUG-126410
Change-Id: I58de4836af9d7589c1a1db5371c410099e671793
Reviewed-by: Tero Heikkinen <tero.heikkinen@qt.io>
Reviewed-by: Tony Sarajärvi <tony.sarajarvi@qt.io>
(cherry picked from commit adc927b02b)
Reviewed-by: Paul Wicking <paul.wicking@qt.io>
2024-08-27 20:44:23 +02:00
Liang Qi
8af8e9081b platform_configs: disable glx on offscreen integrations - 2
It's broken in the VMs in our CI.

This follows 94a4f06fb88ec6c7fa5e31dfd28af4e9b3cdbdd8 in qtbase.

Fixes: QTBUG-126250
Task-number: QTBUG-125446
Change-Id: Id61f3d51cea33a8648aa99941c0dc77b9da5c498
Reviewed-by: Tero Heikkinen <tero.heikkinen@qt.io>
Reviewed-by: Simo Fält <simo.falt@qt.io>
(cherry picked from commit 397ef196b7)
Reviewed-by: Paul Wicking <paul.wicking@qt.io>
2024-08-27 20:44:18 +02:00
Liang Qi
a604af6991 Make offscreen plugin the default one for ubuntu-24.04-arm64-documentation
This follows 37ce15a3b0.

Change-Id: I8ad866b409d84730edaac1785db9ce599be2844c
Reviewed-by:  Alexey Edelev <alexey.edelev@qt.io>
(cherry picked from commit 9592341d1a)
Reviewed-by: Paul Wicking <paul.wicking@qt.io>
2024-08-27 20:44:15 +02:00
Tero Heikkinen
79134ebf0e Provisioning: Add Ubuntu 24.04 x64 as non-blocking in CI
Adding all builds Wayland which is the default display
server for Ubuntu. Testing each module in X11, and
testing Wayland client plugin for each module in
Qt Wayland integration. [CI Platforms]

TestDocs was removed, see also QTQAINFRA-6068.

Task-number: QTQAINFRA-6322
Task-number: QTQAINFRA-6098
Task-number: QTQAINFRA-6203
Change-Id: I8db0d861940bdd558384f1cc24243c6a84e133e2
Reviewed-by: Liang Qi <liang.qi@qt.io>
(cherry picked from commit 5a79cf9168)
Reviewed-by: Paul Wicking <paul.wicking@qt.io>
2024-08-27 20:44:10 +02:00
Alexey Edelev
456bb49e7d Make offscreen plugin the default one for debian-11.6-arm64
Fixes: QTBUG-124449
Change-Id: Icfc3a11bcbcafef28e186f3b4e481309bb58c191
Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
(cherry picked from commit 37ce15a3b0)
Reviewed-by: Paul Wicking <paul.wicking@qt.io>
2024-08-27 20:44:05 +02:00
Qt Submodule Update Bot
418b0e5b47 Update submodules on '6.8 in qt/qt5'
Change-Id: I283f4ed18d691510f1dc35221971235d53e7486b
Reviewed-by: Qt Submodule Update Bot <qt_submodule_update_bot@qt-project.org>
2024-08-26 20:00:31 +00:00
Liang Qi
6011e6a29b Ubuntu 24.04 arm64: Add documentation targets as non-blocking in CI
build on wayland and test offscreen and wayland

Task-number: QTQAINFRA-6112
Task-number: QTQAINFRA-6308
Change-Id: I31a57794d455316fc98f1d84d3d275fa6e934b8e
Reviewed-by: Topi Reiniö <topi.reinio@qt.io>
(cherry picked from commit b0dc1225cb)
Reviewed-by: Paul Wicking <paul.wicking@qt.io>
2024-08-26 08:01:59 +02:00
Qt Submodule Update Bot
df249cc06f Update submodules on '6.8 in qt/qt5'
Change-Id: Ia10a2ad1ebc809200c24f729033e63e07c16d59c
Reviewed-by: Qt Submodule Update Bot <qt_submodule_update_bot@qt-project.org>
2024-08-24 22:52:45 +00:00
Paul Wicking
47b58a4f6b coin: Provision new QDoc and qtattributionsscanner binaries
Update QDoc and qtattributionsscanner to the latest versions from
qttools/dev.

The QDoc binary is built against libClang v18.1.7. It supports new
commands introduced in Qt 6.7 and 6.8. It also ignores duplicate
warnings that QDoc issues for certain attribution files in CI only,
which have been known to block qt5.git integrations previously.

Fixes: QTBUG-126407
Change-Id: I69aad04bbe73e1fdf1d6cb4ff797616a23abcdaf
Reviewed-by: Topi Reiniö <topi.reinio@qt.io>
(cherry picked from commit 957b74a7fa)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
2024-08-22 07:24:01 +02:00
Paul Wicking
3964060835 Update libclang for QDoc to 18.1.7
* Update the version variable used to identify the correct libclang
  package for download and cache sites.
* Add provisioning package locations for Ubuntu 24.04 ARM64.
* Update SHA1 for provisioning packages on all platforms.

Fixes: QTBUG-126412
Task-number: QTQAINFRA-6112
Change-Id: Id30841efb29d78c9d2d54ffa6af9993b12734c0b
Reviewed-by: Topi Reiniö <topi.reinio@qt.io>
(cherry picked from commit ee8e66fd2a)
2024-08-22 07:23:55 +02:00
Qt Submodule Update Bot
7af09a0f3d Update submodules on '6.8 in qt/qt5'
Change-Id: I322753bb57f9aa8120a6c5e66ed147e75ad23ca0
Reviewed-by: Qt Submodule Update Bot <qt_submodule_update_bot@qt-project.org>
2024-08-21 07:32:58 +00:00
Jani Heikkinen
9e76e174ef Remove preview status from qthttpserver
Qt HTTP Server will be officially supported from Qt 6.8.0 ->

Task-number: QTBUG-125155
Change-Id: I3286b2b0bdfcb675774d67909d485e88d100c09d
Reviewed-by: Antti Kokko <antti.kokko@qt.io>
(cherry picked from commit 9a59f1d50f)
2024-08-20 08:54:05 +00:00
Jani Heikkinen
cac4a76366 Remove preview status from qtgrpc
It will be officially supported from Qt 6.8.0 ->

Task-number: QTBUG-125156
Change-Id: Idd5d2851dfa9d4c04643b3385ee8b4da86226772
Reviewed-by: Antti Kokko <antti.kokko@qt.io>
(cherry picked from commit 5f0b5bfdcb)
Reviewed-by:  Alexey Edelev <alexey.edelev@qt.io>
2024-08-20 08:54:00 +00:00
Jani Heikkinen
e609ade2a4 Remove preview status from qtgraphs
Qt Graphs will be officially supported from Qt 6.8.0 ->

Task-number: QTBUG-125143
Change-Id: I3dd57696188ef03b1ea67d15fce407fc48d333ec
Reviewed-by: Tomi Korpipää <tomi.korpipaa@qt.io>
(cherry picked from commit a6529838ce)
Reviewed-by: Antti Kokko <antti.kokko@qt.io>
2024-08-20 08:53:56 +00:00
Tero Heikkinen
aa22a35f05 Windows: Enable proxy with fix to cert issue with Py 3.10+
Packaging reported issue that python installation
without proxy didn't work - therefore enabling proxy
back was needed but with a fix to handle Py 3.10+ changes

Py 3.10+ pip 24.2 has moved to use system certifications
by default which caused issue when proxy is used
and if host didn't have one specific certification
GlobalSign Root CA - R3 for pypi.org.

Also noticed that sometimes Windows x64 images seemed to
have this missing certification, but after installing it
to Windows ARM (which was clearly missing it) - logs showed
they didn't have it - and direct check to both Win x64
Tier1 images showed that they didn't have that cert.

Not sure what steps in provisioning or proxy usage could have
affected to that, but missing certification is now added directly
to all of these new three Windows Tier 1 images:
   - qtci-windows-10_22H2-x86_64-52 (via QTQAINFRA-6207)
   - qtci-windows-11_23H2-x86_64-53
   - qtci-windows-11_22H2-aarch64-53

Therefore --use-deprecated=legacy-certs flag is not needed
when system has correct certification available as Py 3.10+
has moved to use them by default.

Long-term improvements could still be added in future, in two ways:
   1) Internal package cache (QTQAINFRA-6485 QTQAINFRA-5531), or
   2) To update system certificates with Py 3.10+

But those will need more time to decide and implement.

Therefore this improved quick fix to get proxy back with Py 3.10+
was needed now and it removes previous quick fix to unset proxy.

Task-number: QTQAINFRA-6490
Task-number: QTQAINFRA-6473
Pick-to: 6.7 6.5 6.2
Change-Id: I0805a70cf1163012094505162d28640e9ea8e6bb
Reviewed-by: Tero Heikkinen <tero.heikkinen@qt.io>
Reviewed-by: Heikki Halmet <heikki.halmet@qt.io>
(cherry picked from commit 61c5bb072f)
2024-08-20 10:06:29 +03:00
Elias Toivola
368369beb1 Windows-10_22h2-x86_64: Disable MS services that we do not use
qtci-windows-10_22H2-x86_64-51 was copied as -52

In this new tier-1 image, the following services were disabled:
  - backgroundDownload.exe (part of MSVC)
  - Microsoft Edge update/installer and Onedrive

Also missing certification GlobalSign Root CA - R3 was added.

Pick-to: 6.7 6.5 6.2
Task-number: QTQAINFRA-6207
Task-number: QTQAINFRA-6490
Task-number: QTQAINFRA-6473
Change-Id: Ifd51d25a6c8d43b008ca65af22ebbd592cf57b85
Reviewed-by: Tero Heikkinen <tero.heikkinen@qt.io>
Reviewed-by: Heikki Halmet <heikki.halmet@qt.io>
(cherry picked from commit d58045688b)
2024-08-20 10:06:27 +03:00
Tor Arne Vestbø
55bef8cb0c Provisioning: Remove mac certificates and signing tools
Those will be provided by Coin.

Follow-up to 4e09a6db79 for macOS ARM.

Pick-to: 6.5 6.2
Change-Id: Iffe433b606e6fb28580b8d2a265ee82f4bda7eb8
Reviewed-by: Toni Saario <toni.saario@qt.io>
(cherry picked from commit 73c8e4d387)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
2024-08-19 08:57:18 +00:00
Pavel Dubsky
2007bdb634 Update FFmpeg version to n7.0.2
Task-number: QTBUG-127868
Pick-to: 6.7 6.5
Change-Id: I95f8f021cd23fdb35eb171d4609bf204878e105d
Reviewed-by: Jøger Hansegård <joger.hansegard@qt.io>
(cherry picked from commit f2535cdcef)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
2024-08-18 18:06:33 +00:00
Tim Blechmann
aa419b10fb Provisioning: install dummy sound device on ubuntu VMs
Pick-to: 6.7 6.5
Change-Id: I71a518576c1ef0677855561edbd2dc5560727c35
Reviewed-by: Axel Spoerl <axel.spoerl@qt.io>
(cherry picked from commit 0020fd1b3e)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
2024-08-17 02:15:52 +00:00
Qt Submodule Update Bot
f5430bded0 Update submodules on '6.8 in qt/qt5'
Change-Id: I93429b55467475d163d95a1073051ba98c676a30
Reviewed-by: Qt Submodule Update Bot <qt_submodule_update_bot@qt-project.org>
2024-08-16 06:26:13 +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
149 changed files with 1466 additions and 645 deletions

6
.gitmodules vendored
View File

@@ -309,7 +309,7 @@
path = qthttpserver
url = ../qthttpserver.git
branch = 6.8
status = preview
status = addon
[submodule "qtquick3dphysics"]
depends = qtbase qtdeclarative qtquick3d qtshadertools
path = qtquick3dphysics
@@ -322,7 +322,7 @@
path = qtgrpc
url = ../qtgrpc.git
branch = 6.8
status = preview
status = addon
[submodule "qtquickeffectmaker"]
depends = qtbase qtdeclarative qtshadertools
recommends = qtquick3d
@@ -335,4 +335,4 @@
path = qtgraphs
url = ../qtgraphs.git
branch = 6.8
status = preview
status = addon

View File

@@ -39,6 +39,16 @@ Configurations:
Features: ['Sccache', 'TestOnly']
Platform dependency: 'ubuntu-22.04'
# Build on Ubuntu 24.04 ARM64 Wayland and test on offscreen and Wayland later
-
Id: 'ubuntu-24.04-arm64-documentation'
Template: 'qtci-linux-Ubuntu-24.04-aarch64-50'
Compiler: 'GCC'
Features: ['Documentation', 'UseConfigure', 'DoNotRunTests']
Configure arguments: '-make examples -developer-build -c++std c++20 -linker gold -qtlibinfix TestInfix -qtnamespace TestNamespace -qpa offscreen\;xcb'
Environment variables: [
'COMMON_TEST_CMAKE_ARGS=-DQT_SKIP_DOCKER_COMPOSE=ON',
'NON_QTBASE_CMAKE_ARGS=-DFFMPEG_DIR={{.Env.FFMPEG_DIR}}'
]
-
Id: 'ubuntu-24.04-arm64'
Template: 'qtci-linux-Ubuntu-24.04-aarch64-50'
@@ -47,6 +57,7 @@ Configurations:
Configure arguments: '-nomake examples -release -force-debug-info -separate-debug-info -headersclean -qt-libjpeg -qt-libpng -qt-pcre -qt-harfbuzz -qt-doubleconversion -no-libudev -bundled-xcb-xinput -qpa offscreen\;xcb'
Environment variables: [
'CMAKE_ARGS=-DOpenGL_GL_PREFERENCE=LEGACY',
'COMMON_TEST_CMAKE_ARGS=-DQT_SKIP_DOCKER_COMPOSE=ON',
'NON_QTBASE_CMAKE_ARGS=-DFFMPEG_DIR={{.Env.FFMPEG_DIR}} -DINPUT_headersclean=ON'
]
# Test on Ubuntu 24.04 ARM64 offscreen
@@ -61,6 +72,41 @@ Configurations:
'QT_QPA_PLATFORM=offscreen'
]
Platform dependency: 'ubuntu-24.04-arm64'
# Build on Ubuntu 24.04 x64 Wayland and test on both X11 and Wayland (Wayland=default)
-
Id: 'ubuntu-24.04-x64-documentation'
Template: 'qtci-linux-Ubuntu-24.04-x86_64-50'
Compiler: 'GCC'
Features: ['Sccache', 'Documentation', 'UseConfigure', 'DoNotRunTests']
Configure arguments: '-make examples -developer-build -c++std c++20 -linker gold -qtlibinfix TestInfix -qtnamespace TestNamespace'
Environment variables: [
'COMMON_TEST_CMAKE_ARGS=-DQT_SKIP_DOCKER_COMPOSE=ON',
'NON_QTBASE_CMAKE_ARGS=-DFFMPEG_DIR={{.Env.FFMPEG_DIR}} -DQT_DEPLOY_FFMPEG=TRUE'
]
-
Id: 'ubuntu-24.04-x64'
Template: 'qtci-linux-Ubuntu-24.04-x86_64-50'
Compiler: 'GCC'
Features: ['Sccache', 'UseConfigure', 'DoNotRunTests']
Configure arguments: '-nomake examples -release -force-debug-info -separate-debug-info -headersclean -qt-libjpeg -qt-libpng -qt-pcre -qt-harfbuzz -qt-doubleconversion -no-libudev -bundled-xcb-xinput'
Environment variables: [
'CMAKE_ARGS=-DOpenGL_GL_PREFERENCE=LEGACY',
'COMMON_TEST_CMAKE_ARGS=-DQT_SKIP_DOCKER_COMPOSE=ON',
'NON_QTBASE_CMAKE_ARGS=-DFFMPEG_DIR={{.Env.FFMPEG_DIR}} -DQT_DEPLOY_FFMPEG=TRUE -DINPUT_headersclean=ON'
]
# Test on Ubuntu 24.04 x64 X11
-
Id: 'ubuntu-24.04-x64-documentation-x11-tests'
Template: 'qtci-linux-Ubuntu-24.04-x86_64-51'
Compiler: 'GCC'
Features: ['Sccache', 'TestOnly', 'InsignificantTests']
Platform dependency: 'ubuntu-24.04-x64-documentation'
-
Id: 'ubuntu-24.04-x64-x11-tests'
Template: 'qtci-linux-Ubuntu-24.04-x86_64-51'
Compiler: 'GCC'
Features: ['Sccache', 'TestOnly', 'InsignificantTests']
Platform dependency: 'ubuntu-24.04-x64'
-
Id: 'opensuse-15.5-developer-build'
Template: 'qtci-linux-openSUSE-15.5-x86_64-52'
@@ -84,7 +130,7 @@ Configurations:
]
-
Id: 'windows-10_22h2-msvc2022'
Template: 'qtci-windows-10_22H2-x86_64-51'
Template: 'qtci-windows-10_22H2-x86_64-52'
Compiler: 'MSVC2022'
Features: ['Sccache', "DebugAndRelease", 'UseConfigure', 'GenerateSBOM', 'VerifySBOM']
Configure arguments: '-debug-and-release -force-debug-info -headersclean -nomake examples -qt-zlib'
@@ -96,7 +142,7 @@ Configurations:
]
-
Id: 'windows-11_23H2-msvc2022'
Template: 'qtci-windows-11_23H2-x86_64-52'
Template: 'qtci-windows-11_23H2-x86_64-53'
Compiler: 'MSVC2022'
Features: ['Sccache', "DebugAndRelease", 'UseConfigure', 'Packaging', 'GenerateSBOM', 'VerifySBOM']
Configure arguments: '-debug-and-release -force-debug-info -headersclean -nomake examples -qt-zlib'
@@ -108,7 +154,7 @@ Configurations:
]
-
Id: 'windows-11_22h2-arm64-msvc2022'
Template: 'qtci-windows-11_22H2-aarch64-51'
Template: 'qtci-windows-11_22H2-aarch64-53'
Compiler: 'MSVC2022'
Features: ['Packaging', 'DebugAndRelease', 'UseConfigure', 'InsignificantTests', 'GenerateSBOM', 'VerifySBOM']
Configure arguments: '-debug-and-release -force-debug-info -headersclean -nomake examples -qt-zlib -no-sql-psql -no-opengl'
@@ -143,7 +189,7 @@ Configurations:
Template: 'qtci-linux-Debian-11.6-aarch64-50'
Compiler: 'GCC'
Features: ['Packaging', 'UseConfigure', 'InstallQt5Dependencies', 'DoNotRunTests']
Configure arguments: '-nomake examples -release -force-debug-info -separate-debug-info -qt-libjpeg -qt-libpng -qt-pcre -qt-doubleconversion -qt-harfbuzz -no-libudev -bundled-xcb-xinput'
Configure arguments: '-nomake examples -release -force-debug-info -separate-debug-info -qt-libjpeg -qt-libpng -qt-pcre -qt-doubleconversion -qt-harfbuzz -no-libudev -bundled-xcb-xinput -qpa offscreen\;xcb'
Environment variables: [
'CMAKE_ARGS=-DOpenGL_GL_PREFERENCE=LEGACY -DOPENSSL_ROOT_DIR={{.Env.OPENSSL_HOME}}',
]
@@ -174,7 +220,7 @@ Configurations:
]
-
Id: 'windows-10_22h2-mingw13'
Template: 'qtci-windows-10_22H2-x86_64-51'
Template: 'qtci-windows-10_22H2-x86_64-52'
Compiler: 'Mingw'
Features: ['Packaging', 'Sccache', 'UseConfigure', 'GenerateSBOM', 'VerifySBOM']
Configure arguments: '-release -force-debug-info -separate-debug-info -nomake examples'
@@ -187,7 +233,7 @@ Configurations:
]
-
Id: 'windows-11_23H2-llvm'
Template: 'qtci-windows-11_23H2-x86_64-52'
Template: 'qtci-windows-11_23H2-x86_64-53'
Compiler: 'Clang'
Features: ['Packaging','Sccache', 'UseConfigure', 'GenerateSBOM', 'VerifySBOM']
Configure arguments: '-release -force-debug-info -separate-debug-info -nomake examples'
@@ -200,7 +246,7 @@ Configurations:
]
-
Id: 'windows-11_23H2-mingw13-developer-build'
Template: 'qtci-windows-11_23H2-x86_64-52'
Template: 'qtci-windows-11_23H2-x86_64-53'
Compiler: 'Mingw'
Features: ['Sccache', 'WarningsAreErrors', 'UseConfigure']
Configure arguments: '-developer-build -release -force-debug-info -separate-debug-info -make examples'

View File

@@ -7,7 +7,7 @@ Configurations:
Target arch: 'armv7'
Compiler: 'GCC'
Platform dependency: 'ubuntu-22.04'
Features: ['Sccache', 'UseConfigure', 'Insignificant']
Features: ['Sccache', 'UseConfigure', 'InsignificantTests']
Environment variables: [
'TARGET_CONFIGURE_ARGS=-release -force-debug-info -developer-build -no-warnings-are-errors -make examples -qt-harfbuzz -device linux-imx7-g++ -device-option "CROSS_COMPILE={{.Env.QEMUARMV7_TOOLCHAIN_CROSS_COMPILE}}" -device-option "DISTRO_OPTS=hard-float boot2qt" -no-feature-forkfd_pidfd',
'TARGET_CMAKE_ARGS=-DCMAKE_TOOLCHAIN_FILE={{.Env.QEMUARMV7_TOOLCHAIN_FILE}} -DQT_FORCE_BUILD_TOOLS=ON',
@@ -24,7 +24,7 @@ Configurations:
Target arch: 'arm64'
Compiler: 'GCC'
Platform dependency: 'ubuntu-22.04'
Features: ['Sccache', 'UseConfigure', 'Insignificant']
Features: ['Sccache', 'UseConfigure', 'InsignificantTests']
Environment variables: [
'TARGET_CONFIGURE_ARGS=-release -force-debug-info -developer-build -no-warnings-are-errors -nomake examples -qt-harfbuzz -device linux-generic-g++ -device-option "CROSS_COMPILE={{.Env.QEMUARM64_TOOLCHAIN_CROSS_COMPILE}}" -device-option "DISTRO_OPTS=boot2qt" -no-feature-forkfd_pidfd',
'TARGET_CMAKE_ARGS=-DCMAKE_TOOLCHAIN_FILE={{.Env.QEMUARM64_TOOLCHAIN_FILE}} -DQT_FORCE_BUILD_TOOLS=ON',

View File

@@ -11,7 +11,7 @@ Configurations:
]
-
Id: 'windows-10_22h2-minimal-static'
Template: 'qtci-windows-10_22H2-x86_64-51'
Template: 'qtci-windows-10_22H2-x86_64-52'
Compiler: 'MSVC2019'
Features: ['Sccache', 'MinimalStaticTests', 'UseConfigure']
Configure arguments: '-release -force-debug-info -static -nomake examples -qt-zlib'

View File

@@ -17,7 +17,7 @@ Configurations:
]
-
Id: 'android-armv7-on-windows'
Template: 'qtci-windows-10_22H2-x86_64-51'
Template: 'qtci-windows-10_22H2-x86_64-52'
Target os: 'Android_ANY'
Target arch: 'armv7'
Compiler: 'Mingw'

View File

@@ -14,7 +14,7 @@ Configurations:
]
-
Id: 'webassembly-windows'
Template: 'qtci-windows-10_22H2-x86_64-51'
Template: 'qtci-windows-10_22H2-x86_64-52'
Target os: 'WebAssembly'
Compiler: 'Mingw'
Target compiler: 'Clang'

View File

@@ -5,3 +5,8 @@ Configurations:
Template: 'qtci-linux-Ubuntu-22.04-x86_64-51'
Compiler: 'GCC'
Features: ['TestOnly', 'LicenseCheck', 'UseLegacyInstructions']
-
Id: 'ubuntu-24.04-x64-license-check'
Template: 'qtci-linux-Ubuntu-24.04-x86_64-50'
Compiler: 'GCC'
Features: ['TestOnly', 'LicenseCheck', 'UseLegacyInstructions']

View File

@@ -7,7 +7,7 @@ Configurations:
Features: ['Packaging', 'UseLegacyInstructions']
Configure arguments: '-qmake -opensource -confirm-license -verbose -prefix c:\Users\qt\work\install -debug-and-release -release -force-debug-info -nomake tests -opengl dynamic -nomake examples -openssl -I %OPENSSL_INCLUDE_x64% -L %OPENSSL_LIB_x64% -no-sql-mysql -plugin-sql-sqlite -plugin-sql-odbc -I %MYSQL_INCLUDE_x64% -L %MYSQL_LIB_x64% -plugin-sql-psql -I %POSTGRESQL_INCLUDE_x64% -L %POSTGRESQL_LIB_x64% -static -no-icu'
-
Template: 'qtci-windows-10_22H2-x86_64-51'
Template: 'qtci-windows-10_22H2-x86_64-52'
Compiler: 'MSVC2019'
Features: ['Packaging', 'UseLegacyInstructions']
Configure arguments: '-qmake -opensource -confirm-license -verbose -prefix c:\Users\qt\work\install -debug-and-release -release -force-debug-info -nomake tests -opengl dynamic -nomake examples -openssl -I %OPENSSL_INCLUDE_x64% -L %OPENSSL_LIB_x64% -no-sql-mysql -plugin-sql-sqlite -plugin-sql-odbc -I %MYSQL_INCLUDE_x64% -L %MYSQL_LIB_x64% -plugin-sql-psql -I %POSTGRESQL_INCLUDE_x64% -L %POSTGRESQL_LIB_x64% -static -no-icu'
@@ -18,7 +18,7 @@ Configurations:
Features: ['Packaging', 'UseLegacyInstructions']
Configure arguments: '-qmake -opensource -confirm-license -verbose -prefix c:\Users\qt\work\install -debug-and-release -release -force-debug-info -nomake tests -nomake examples -opengl dynamic -openssl -I %OPENSSL_INCLUDE_x86% -L %OPENSSL_LIB_x86% -no-sql-mysql -plugin-sql-sqlite -plugin-sql-odbc -I %MYSQL_INCLUDE_x86% -L %MYSQL_LIB_x86% -plugin-sql-psql -I %POSTGRESQL_INCLUDE_x86% -L %POSTGRESQL_LIB_x86% -static -no-icu'
-
Template: 'qtci-windows-10_22H2-x86_64-51'
Template: 'qtci-windows-10_22H2-x86_64-52'
Compiler: 'MSVC2019'
Target arch: 'x86'
Features: ['Packaging', 'UseLegacyInstructions']

View File

@@ -7,7 +7,7 @@ Include: [
Configurations:
-
Id: 'qnx-710-arm64-on-windows'
Template: 'qtci-windows-10_22H2-x86_64-51'
Template: 'qtci-windows-10_22H2-x86_64-52'
Target os: 'QNX_710'
Target arch: 'arm64'
Compiler: 'MSVC2019'

View File

@@ -1,22 +0,0 @@
Version: 2
Configurations:
# cmake_platforms.yaml
# Build on Ubuntu 24.04 ARM64 Wayland and test on both offscreen and Wayland later
-
Id: 'ubuntu-24.04-arm64-documentation'
Template: 'qtci-linux-Ubuntu-24.04-aarch64-50'
Compiler: 'GCC'
Features: ['Documentation', 'UseConfigure', 'DoNotRunTests']
Configure arguments: '-make examples -developer-build -c++std c++20 -linker gold -qtlibinfix TestInfix -qtnamespace TestNamespace'
Environment variables: ['NON_QTBASE_CMAKE_ARGS=-DFFMPEG_DIR={{.Env.FFMPEG_DIR}}']
# Test on Ubuntu 24.04 ARM64 offscreen
-
Id: 'ubuntu-24.04-arm64-documentation-offscreen-tests'
Template: 'qtci-linux-Ubuntu-24.04-aarch64-50'
Compiler: 'GCC'
Features: ['TestDocs', 'TestOnly', 'InsignificantTests']
Environment variables: [
'CMAKE_ARGS=-DOpenGL_GL_PREFERENCE=LEGACY',
'QT_QPA_PLATFORM=offscreen'
]
Platform dependency: 'ubuntu-24.04-arm64-documentation'

View File

@@ -2,7 +2,7 @@ Version: 2
Module only: True
Configurations:
-
Template: 'qtci-windows-10_22H2-x86_64-51'
Template: 'qtci-windows-10_22H2-x86_64-52'
Compiler: 'MSVC2019'
Features: ['DisableTests']
-

View File

@@ -2,14 +2,14 @@ Version: 2
Module only: True
Configurations:
-
Template: 'qtci-windows-10_22H2-x86_64-51'
Template: 'qtci-windows-10_22H2-x86_64-52'
Compiler: 'MSVC2019'
Features: ['Packaging', 'Sccache', 'DebugAndRelease']
Configure arguments: ''
Environment variables: []
Environment script: ['%ProgramFiles(x86)%\Microsoft Visual Studio\2019\Professional\VC\Auxiliary\Build\vcvarsall.bat', 'amd64']
-
Template: 'qtci-windows-10_22H2-x86_64-51'
Template: 'qtci-windows-10_22H2-x86_64-52'
Compiler: 'MSVC2019'
Features: ['Packaging', 'Sccache', 'DebugAndRelease', 'DisableTests']
Configure arguments: ''

View File

@@ -0,0 +1,26 @@
Version: 2
Configurations:
# Test on Ubuntu 24.04 ARM64 offscreen
-
Id: 'ubuntu-24.04-arm64-offscreen-qtbase-tests'
Template: 'qtci-linux-Ubuntu-24.04-aarch64-50'
Compiler: 'GCC'
Features: ['TestOnly']
Environment variables: [
'CMAKE_ARGS=-DOpenGL_GL_PREFERENCE=LEGACY',
'QT_QPA_OFFSCREEN_NO_GLX=1',
'QT_QPA_PLATFORM=offscreen'
]
Platform dependency: 'ubuntu-24.04-arm64'
# Test on Debian-11.6 offscreen
-
Id: 'debian-11.6-arm64-offscreen-qtbase-tests'
Template: 'qtci-linux-Debian-11.6-aarch64-50'
Compiler: 'GCC'
Features: ['Sccache', 'TestOnly']
Environment variables: [
'CMAKE_ARGS=-DOpenGL_GL_PREFERENCE=LEGACY',
'QT_QPA_OFFSCREEN_NO_GLX=1',
'QT_QPA_PLATFORM=offscreen'
]
Platform dependency: 'debian-11.6-arm64'

View File

@@ -9,6 +9,7 @@ Include: [
wasm_qtbase_tests.yaml,
cmake_platforms_qemu_vxworks_buildtest.yaml,
qtlite.yaml,
qtbase-linux-arm64-offscreen.yaml,
qtbase-new-compiler-testing.yaml
]
Configurations: []

View File

@@ -47,7 +47,7 @@ Configurations:
]
-
Id: 'Windows-MSVC2019_Static'
Template: 'qtci-windows-10_22H2-x86_64-51'
Template: 'qtci-windows-10_22H2-x86_64-52'
Compiler: 'MSVC2019'
Features: ['Packaging', 'Sccache', 'UseConfigure', 'MinimalStaticTests']
Configure arguments: '-release -headersclean -nomake examples -qt-zlib -static -no-icu -no-sql-mysql -no-sql-odbc -no-sql-psql -plugin-sql-sqlite -plugin-sql-odbc'

View File

@@ -18,12 +18,31 @@ Configurations:
Features: ['Sccache', 'TestOnly', 'RunDependencyTests', 'InsignificantTests']
Platform dependency: 'ubuntu-22.04'
# Test on Ubuntu 24.04 ARM64 Wayland
-
Id: 'ubuntu-24.04-arm64-documentation-wayland-tests'
Template: 'qtci-linux-Ubuntu-24.04-aarch64-50'
Compiler: 'GCC'
Features: ['TestOnly', 'RunDependencyTests', 'InsignificantTests']
Platform dependency: 'ubuntu-24.04-arm64-documentation'
-
Id: 'ubuntu-24.04-arm64-wayland-tests'
Template: 'qtci-linux-Ubuntu-24.04-aarch64-50'
Compiler: 'GCC'
Features: ['TestOnly', 'RunDependencyTests', 'InsignificantTests']
Platform dependency: 'ubuntu-24.04-arm64'
# Test on Ubuntu 24.04 x64 Wayland
-
Id: 'ubuntu-24.04-x64-documentation-wayland-tests'
Template: 'qtci-linux-Ubuntu-24.04-x86_64-50'
Compiler: 'GCC'
Features: ['TestOnly', 'RunDependencyTests', 'InsignificantTests']
Platform dependency: 'ubuntu-24.04-x64-documentation'
-
Id: 'ubuntu-24.04-x64-wayland-tests'
Template: 'qtci-linux-Ubuntu-24.04-x86_64-50'
Compiler: 'GCC'
Features: ['TestOnly', 'RunDependencyTests', 'InsignificantTests']
Platform dependency: 'ubuntu-24.04-x64'
# Test on Debian-11.6 Wayland
-
Id: 'debian-11.6-arm64-wayland-tests'

View File

@@ -1,7 +1,7 @@
Version: 2
Configurations:
-
Template: 'qtci-windows-10_22H2-x86_64-51'
Template: 'qtci-windows-10_22H2-x86_64-52'
Compiler: 'Mingw'
Environment variables: ['PATH=C:\MINGW1120_i686\mingw32\bin;$PATH']
Features: ['Packaging', UseLegacyInstructions']

View File

@@ -0,0 +1,60 @@
### Ubuntu 24.04 ###
Hard Disk: 1TB
Language: English (United States)
Time & Date: Etc/Coordinated Universal Time
Software Selection: Desktop image, minimal install
Language: English (US)
Typing: English (US)
Privacy: Location Services: OFF
Connect Your Online Accounts: Skip
# Configure Settings
Notifications:
* Notification Popups: OFF
* Lock Screen Notifications: OFF
Privacy:
* Screen Lock: OFF
* File History & Rubbish Bin:
* File History: Off
* Diagnostics:
* Send error reports to Canonical: Never
Power:
* Blank screen: Never
* Automatic suspend: Off
Appearance:
* Auto-hide the dock: Off
Devices:
* Displays: Resolution 1280 x 800
Details:
* Time Zone: UTC
* run "sudo timedatectl set-timezone UTC"
* Users: Automatic login on
Software & Updates:
* Updates:
* Subscribed to: Security updates only
* Automatically check for updates: Never
* Notify me of a new Ubuntu version: Never
# Add user to sudoers
Add 'qt ALL=NOPASSWD: ALL' to /etc/sudoers.d/qt
Add 'GRUB_GFXMODE=1280x800' to /etc/default/grub
run 'sudo grub-mkconfig'
# Install ssh server
run 'sudo apt install openssh-server'
# Disable firewall
run 'sudo ufw disable'
# Fetch and run coin-setup (in Opennebula)
Download http://coin/coin/binary/linux_amd64/coin-setup
run 'chmod +x ./coin-setup' to make it executable
run './coin-setup'
Reboot

View File

@@ -74,11 +74,17 @@ Reboot
* Sysmain disabled:
- 'C:\ProgramData\Microsoft\Windows\Start Menu\Programs\Administrative Tools\Services' - 'SysMain' - stop & disable
# Don't disable Windows Update before running '01-enable-dotnet-framework.ps1'. Script requires Windows update to be enabled!
* Install msvc2019 and msvc2022 (follow the msvc2019.txt and msvc2022.txt files)
- After installation: Open Task Scheduler: Task Scheduler Library > Microsoft > VisualStudio > Updates > right-click: BackgroundDownload > disable
* Windows update:
- Settings - Windows Update - run available updates (Windows update2022-09 Cumulative Update for Windows 11 Version 22H2 for x64-based Systems (KB5017321))
- After reboot disable windows updates:
- 'C:\ProgramData\Microsoft\Windows\Start Menu\Programs\Administrative Tools\Services' - 'Windows updates' - stop & disable
* Turn windows features on or off -> Check the "SMB 1.0/CIFS File Sharing Support"
* Disable Edge update/installer
- Open services.msc: search 'Microsoft Edge Update Service (edgeupdate)' > stop and disable
* Disable Onedrive
- Open Task Manager: startup tab > Microsoft OneDrive > Disabled
* (Restart Windows)
* Google Chrome installed for RTA
* Virus & threat protection settings:

View File

@@ -0,0 +1,67 @@
#!/usr/bin/env bash
# Copyright (C) 2023 The Qt Company Ltd.
# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
set -ex
systemd_folder=/etc/systemd/system
systemd_file=dummysound.service
script_folder=/home/qt/bin
script_file=dummy_sound.sh
# Ensure that script folder exists
if [ ! -d ${script_folder} ]; then
sudo mkdir ${script_folder}
sudo chmod 750 ${script_folder}
fi
# Create script to install dummy sound driver,
# in case no other sound driver is installed.
sudo tee "${script_folder}/${script_file}" <<"EOF"
# Check for existing sound driver
if lsmod | grep -q -i snd-dummy
then
echo "(**) Dummy sound driver already loaded. Nothing to do.";
exit 0;
fi
# load dummy sound module
sudo modprobe snd-dummy
# Check result
if lsmod | grep -q snd_dummy
then
echo "(**) Dummy sound driver loaded.";
else
echo "(EE) Failed to load dummy sound driver.";
exit 1;
fi
EOF
# set permissions
sudo chmod 750 "${script_folder}/${script_file}"
# Create service file
sudo tee "${systemd_folder}/${systemd_file}" <<"EOF"
# /etc/systemd/system/dummysound.service
#
[Unit]
Description=Install dummy sound driver
[Service]
Type=oneshot
ExecStart=/bin/sh -c "/home/qt/bin/dummy_sound.sh"
[Install]
WantedBy=multi-user.target
EOF
# Start servive and output result, just for logging
sudo systemctl start dummysound.service
# status commented out, returns 3 on VM.
# sudo systemctl status dummysound.service
# enable service
sudo systemctl enable dummysound.service

View File

@@ -2,38 +2,111 @@
#Copyright (C) 2024 The Qt Company Ltd
#SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
TCC_DATABASE="$HOME/Library/Application Support/com.apple.TCC/TCC.db"
if touch "$TCC_DATABASE"; then
# We can write to the TCC database
BOOTSTRAP_AGENT="$HOME/bootstrap-agent"
REQ_STR=$(codesign -d -r- "$BOOTSTRAP_AGENT" 2>&1 | awk -F ' => ' '/designated/{print $2}')
REQ_HEX=$(echo "$REQ_STR" | csreq -r- -b >(xxd -p | tr -d '\n'))
set -e
SERVICES=()
# ------ Clients ------
# Qt Multimedia tests need microphone access
SERVICES+=('kTCCServiceMicrophone')
TCC_CLIENTS=()
# Qt Connectivity tests need Bluetooth access
SERVICES+=('kTCCServiceBluetoothAlways')
# The original path to bootstrap-agent
if [[ -x "$HOME/bootstrap-agent" ]]; then
TCC_CLIENTS+=("$HOME/bootstrap-agent")
fi
# The app-bundle version of the agent, in case we install it like that
if [[ -d "$HOME/bootstrap-agent.app" ]]; then
TCC_CLIENTS+=("$HOME/bootstrap-agent.app")
fi
# The responsible process for the SSH server. By giving this
# process the permissions we ensure that developers SSH'ing
# into a CI machine will have the same permissions when running
# tests as bootstrap-agent has. This also opens the door to
# running the boostrap agent via SSH, giving the exact same
# environment for interactive developer sessions as coin.
TCC_CLIENTS+=("/usr/libexec/sshd-keygen-wrapper")
# ------ Services (permissions) ------
SERVICES=()
# Qt Multimedia tests need microphone access
SERVICES+=("kTCCServiceMicrophone|$HOME")
# Qt Connectivity tests need Bluetooth access
SERVICES+=("kTCCServiceBluetoothAlways|$HOME")
# Qt Multimedia might need screen capture, and it can
# also be useful for capturing the state of the VM when
# a test fails.
SERVICES+=("kTCCServiceScreenCapture|/")
# ------ Implementation ------
function add_permission_for_client() {
local client="$1"
local service="$2"
local path="${service#*|}"
local service="${service%|*}"
tcc_database="${path%/}/Library/Application Support/com.apple.TCC/TCC.db"
if ! sudo touch "$tcc_database"; then
echo "TCC database is not writable. Is SIP disabled?" >&2
exit 1
fi
if [[ -d "$client" && "${client%/}" == *.app ]]; then
info_plist="$client/Contents/Info.plist"
executable=$(defaults read $info_plist CFBundleExecutable)
executable="$client/Contents/MacOS/$executable"
client=$(defaults read $info_plist CFBundleIdentifier)
client_type="0" # Bundle ID
elif [[ -x "$client" ]]; then
executable=$client
client_type="1" # Absolute path
else
echo "Unknown or missing TCC client type '$client'!" >&2
exit 1
fi
local req_str=$(codesign -d -r- "$executable" 2>&1 | awk -F ' => ' '/designated/{print $2}')
local req_hex=$(echo "$req_str" | csreq -r- -b >(xxd -p | tr -d '\n'))
sudo sqlite3 -echo "$tcc_database" <<EOF
DELETE from access WHERE client = '$client' AND service = '$service';
INSERT INTO access (service, client, client_type, auth_value, auth_reason, auth_version, csreq, flags) VALUES (
'$service', -- service
'$client', -- client
$client_type, -- client_type
2, -- auth_value (2 - allowed)
4, -- auth_reason (4 - "System Set")
1, -- auth_version
X'$req_hex', -- csreq
0 -- flags
);
EOF
if [[ "$service" == "kTCCServiceScreenCapture" ]]; then
# macOS 15 will nag the user every month about applications
# that are permitted to capture the screen. We don't want this
# popup to come in the way of tests, so we manually extend
# the permission.
replayd_dir="$HOME/Library/Group Containers/group.com.apple.replayd"
mkdir -p "$replayd_dir"
approvals_file="$replayd_dir/ScreenCaptureApprovals.plist"
if [[ ! -f $approvals_file ]]; then
plutil -create xml1 "$approvals_file"
fi
key=${executable//\./\\.}
plutil -replace "$key" -date "2100-01-01T00:00:00Z" "$approvals_file"
fi
}
# shellcheck disable=SC2043
for client in "${TCC_CLIENTS[@]}"; do
# shellcheck disable=SC2043
for service in "${SERVICES[@]}"; do
sqlite3 -echo "$TCC_DATABASE" <<EOF
DELETE from access WHERE client = '$BOOTSTRAP_AGENT' AND service = '$service';
INSERT INTO access (service, client, client_type, auth_value, auth_reason, auth_version, csreq, flags) VALUES (
'$service', -- service
'$BOOTSTRAP_AGENT', -- client
1, -- client_type (1 - absolute path)
2, -- auth_value (2 - allowed)
4, -- auth_reason (4 - "System Set")
1, -- auth_version
X'$REQ_HEX', -- csreq
0 -- flags
);
EOF
add_permission_for_client $client $service
done
else
echo "TCC database is not writable. Is SIP disabled?" >&2
exit 1
fi
done

View File

@@ -9,9 +9,10 @@ source "${BASH_SOURCE%/*}/../unix/SetEnvVar.sh"
# Note! Python3 is required for Conan installation
os="$1"
params="$2"
# Install Conan to Python user install directory (typically ~./local/)
pip3 install conan --user
pip3 install conan --user $params
SetEnvVar "CONAN_REVISIONS_ENABLED" "1"
SetEnvVar "CONAN_V2_MODE" "1"

View File

@@ -11,9 +11,9 @@ source "${BASH_SOURCE%/*}/../unix/InstallFromCompressedFileFromURL.sh"
# shellcheck source=../unix/SetEnvVar.sh
source "${BASH_SOURCE%/*}/../unix/SetEnvVar.sh"
version="n7.0.1"
version="n7.0.2"
url_public="https://github.com/FFmpeg/FFmpeg/archive/refs/tags/$version.tar.gz"
sha1="6bfb65c18516e95249942f34ef664c94c0768722"
sha1="e017c72dd84a9bac1519eaa33c203b82dd850bc0"
url_cached="http://ci-files01-hki.ci.qt.io/input/ffmpeg/$version.tar.gz"
ffmpeg_name="FFmpeg-$version"

View File

@@ -10,9 +10,9 @@ source "${BASH_SOURCE%/*}/../unix/InstallFromCompressedFileFromURL.sh"
# shellcheck source=../unix/SetEnvVar.sh
source "${BASH_SOURCE%/*}/../unix/SetEnvVar.sh"
version="n7.0.1"
version="n7.0.2"
url_public="https://github.com/FFmpeg/FFmpeg/archive/refs/tags/$version.tar.gz"
sha1="6bfb65c18516e95249942f34ef664c94c0768722"
sha1="e017c72dd84a9bac1519eaa33c203b82dd850bc0"
url_cached="http://ci-files01-hki.ci.qt.io/input/ffmpeg/$version.tar.gz"
ffmpeg_name="FFmpeg-$version"

View File

@@ -11,9 +11,9 @@ source "${BASH_SOURCE%/*}/../unix/InstallFromCompressedFileFromURL.sh"
# shellcheck source=../unix/SetEnvVar.sh
source "${BASH_SOURCE%/*}/../unix/SetEnvVar.sh"
version="n7.0.1"
version="n7.0.2"
url_public="https://github.com/FFmpeg/FFmpeg/archive/refs/tags/$version.tar.gz"
sha1="6bfb65c18516e95249942f34ef664c94c0768722"
sha1="e017c72dd84a9bac1519eaa33c203b82dd850bc0"
url_cached="http://ci-files01-hki.ci.qt.io/input/ffmpeg/$version.tar.gz"
ffmpeg_name="FFmpeg-$version"

View File

@@ -20,33 +20,38 @@ PROVISIONING_DIR="$(dirname "$0")/../../"
# shellcheck source=./common.sourced.sh
source "$PROVISIONING_DIR"/common/unix/common.sourced.sh
libclang_version="17.0.6"
libclang_version="18.1.7"
if uname -a |grep -q Darwin; then
version=$libclang_version
url="https://download.qt.io/development_releases/prebuilt/libclang/qt/libclang-release_${version}-based-mac.7z"
url_cached="http://ci-files01-hki.ci.qt.io/input/libclang/qt/libclang-release_${version}-based-mac.7z"
sha1="e8ecc2fb0d7d7a0f60a50379f16fbf3eef679d78"
sha1="9ea511576645ef4abee6d4c27550406e929334d5"
elif test -f /etc/redhat-release && grep "Red Hat" /etc/redhat-release | grep "9" ; then
version=$libclang_version
url="https://download.qt.io/development_releases/prebuilt/libclang/qt/libclang-release_${version}-based-linux-Rhel9.2-gcc10.0-x86_64.7z"
url_cached="http://ci-files01-hki.ci.qt.io/input/libclang/qt/libclang-release_${version}-based-linux-Rhel9.2-gcc10.0-x86_64.7z"
sha1="102374379af906bd26085fcd18047cac4d0fb7bf"
elif test "$PROVISIONING_OS_ID" == "ubuntu" ; then
version=$libclang_version
url="https://download.qt.io/development_releases/prebuilt/libclang/qt/libclang-release_${version}-based-linux-Ubuntu22.04-gcc11.2-x86_64.7z"
url_cached="http://ci-files01-hki.ci.qt.io/input/libclang/qt/libclang-release_${version}-based-linux-Ubuntu22.04-gcc11.2-x86_64.7z"
sha1="4a793c9da9a02bd23c163c74dbc5565164a00c3f"
sha1="32c29d8df726b035e0a97e767c5c3e392aa331e1"
elif test "$PROVISIONING_OS_ID" == "debian" && test "$PROVISIONING_ARCH" == "arm64" ; then
version=$libclang_version
url="https://download.qt.io/development_releases/prebuilt/libclang/qt/libclang-release_${version}-based-linux-Debian11.6-gcc10.0-arm64.7z"
url_cached="http://ci-files01-hki.ci.qt.io/input/libclang/qt/libclang-release_${version}-based-linux-Debian11.6-gcc10.0-arm64.7z"
sha1="b5ff982738dbb6efe1a34ed26ff47fca2b1b3b93"
sha1="8d876f60c2fe9c55e18fbac0be2acb70bd20d5d1"
elif test "$PROVISIONING_OS_ID" == "ubuntu" && test "$PROVISIONING_ARCH" == "arm64" ; then
version=$libclang_version
url="https://download.qt.io/development_releases/prebuilt/libclang/qt/libclang-release_${version}-based-linux-Ubuntu24.04-gcc11.2-arm64.7z"
url_cached="http://ci-files01-hki.ci.qt.io/input/libclang/qt/libclang-release_${version}-based-linux-Ubuntu24.04-gcc11.2-arm64.7z"
sha1="5a7bda4fbd2c52ae66557034591d977ba617482c"
elif test "$PROVISIONING_OS_ID" == "ubuntu" && test "$PROVISIONING_ARCH" == "x86_64" ; then
version=$libclang_version
url="https://download.qt.io/development_releases/prebuilt/libclang/qt/libclang-release_${version}-based-linux-Ubuntu22.04-gcc11.2-x86_64.7z"
url_cached="http://ci-files01-hki.ci.qt.io/input/libclang/qt/libclang-release_${version}-based-linux-Ubuntu22.04-gcc11.2-x86_64.7z"
sha1="b9f8735a148342174d7d763b5475175cd0827441"
else
version=$libclang_version
url="https://download.qt.io/development_releases/prebuilt/libclang/qt/libclang-release_${version}-based-linux-Rhel8.8-gcc10.0-x86_64.7z"
url_cached="http://ci-files01-hki.ci.qt.io/input/libclang/qt/libclang-release_${version}-based-linux-Rhel8.8-gcc10.0-x86_64.7z"
sha1="2a58cc71ad90eb6234c56ef7b141f32361b4312a"
sha1="a51c5562c9b071250e7971390d55ef21924271ca"
fi
zip="/tmp/libclang.7z"

View File

@@ -2,16 +2,17 @@
# Copyright (C) 2020 The Qt Company Ltd.
# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
# shellcheck source=./DownloadURL.sh
PROVISIONING_DIR="$(dirname "$0")/../../"
source "${BASH_SOURCE%/*}/DownloadURL.sh"
source "$PROVISIONING_DIR"/common/unix/common.sourced.sh
set -ex
# This script will fetch and extract pre-buildt squish package for Linux and Mac.
# Squish is need by Release Test Automation (RTA)
version="7.2.1"
qtBranch="66x"
version="8.0.0"
qtBranch="67x"
installFolder="/opt"
squishFolder="$installFolder/squish"
preBuildCacheUrl="ci-files01-hki.ci.qt.io:/hdd/www/input/squish/jenkins_build/stable"
@@ -22,11 +23,16 @@ licenseSHA="e84b499a2011f9bb1a6eefc7b2338d7ae770927a"
testSuiteUrl="ci-files01-hki.ci.qt.io:/hdd/www/input/squish/coin/suite_test_squish"
testSuiteLocal="/tmp/squish_test_suite"
if uname -a |grep -q Darwin; then
compressedFolder="prebuild-squish-$version-$qtBranch-mac.tar.gz"
sha1="7467c974b65255c86b8fccaeca90e0590d4f7c96"
compressedFolder="prebuild-squish-$version-$qtBranch-mac-x64.tar.gz"
sha1="8ae422b44af9b8e5f0d15cdca08df99973b8699a"
else
compressedFolder="prebuild-squish-$version-$qtBranch-linux64.tar.gz"
sha1="950a6035c777c8ce0a50a0b3ad468044d07f898b"
if [ "$PROVISIONING_ARCH" = arm64 ] ; then
compressedFolder="prebuild-squish-$version-$qtBranch-linux-arm64.tar.gz"
sha1="06d542579271f88b1527d6ddca2bfd4eaf2dade5"
else
compressedFolder="prebuild-squish-$version-$qtBranch-linux-x64.tar.gz"
sha1="db5c48f359b46a460551cdf9362c63f557cbc04f"
fi
fi
mountFolder="/tmp/squish"
@@ -69,14 +75,6 @@ if uname -a |grep -q Darwin; then
sudo xattr -r -c "$squishFolder"
fi
if uname -a |grep -q "Ubuntu"; then
if [ ! -e "/usr/lib/tcl8.6" ]; then
sudo mkdir /usr/lib/tcl8.6
#this needs to be copied only to squish_for_qt65
sudo cp "$squishFolder/squish_for_qt66/tcl/lib/tcl8.6/init.tcl" /usr/lib/tcl8.6/
fi
fi
echo "Download Squish license"
DownloadURL "$licenseUrl" "$licenseUrl" "$licenseSHA" "$HOME/$licenseFile"

View File

@@ -6,9 +6,9 @@
# This script will install FFmpeg
$msys = "C:\Utils\msys64\usr\bin\bash"
$version="n7.0.1"
$version="n7.0.2"
$url_public="https://github.com/FFmpeg/FFmpeg/archive/refs/tags/$version.tar.gz"
$sha1="6bfb65c18516e95249942f34ef664c94c0768722"
$sha1="e017c72dd84a9bac1519eaa33c203b82dd850bc0"
$url_cached="http://ci-files01-hki.ci.qt.io/input/ffmpeg/$version.tar.gz"
$ffmpeg_name="FFmpeg-$version"

View File

@@ -5,7 +5,7 @@ param(
)
. "$PSScriptRoot\helpers.ps1"
$libclang_version="17.0.6"
$libclang_version="18.1.7"
Write-Output "libClang = $libclang_version" >> ~/versions.txt
# PySide versions following 5.6 use a C++ parser based on Clang (http://clang.org/).
@@ -38,7 +38,7 @@ $toolchainSuffix = ""
if ( $toolchain -eq "vs2019" ) {
if ( $archVer -eq 64 ) {
$sha1 = "7e3e474081d2e1d5d95c9743532de01b8e59b9aa"
$sha1 = "8e0862386caef7e4537599ef980eeb6ebee8767f"
}
else {
$sha1 = ""
@@ -48,7 +48,7 @@ if ( $toolchain -eq "vs2019" ) {
if ( $toolchain -eq "mingw" ) {
if ( $archVer -eq 64 ) {
$sha1 = "b9e65f617cd8d6e8fb8ae734383f03f6a7b202ed"
$sha1 = "a23cbb0822cf2eb8d1cecf26e8614ef37a7611e3"
}
else {
$sha1 = ""
@@ -56,9 +56,10 @@ if ( $toolchain -eq "mingw" ) {
$toolchainSuffix = "mingw"
}
if ( $toolchain -eq "llvm-mingw" ) {
if ( $archVer -eq 64 ) {
$sha1 = "1844f107d067b69deabf375fc024848c1c8b015d"
$sha1 = "9c34f99eb575b42c2befe27829c08e6d3f01ae58"
}
else {
$sha1 = ""

View File

@@ -5,9 +5,6 @@ $n = Get-Content "$PSScriptRoot\..\shared\http_proxy.txt"
$n = $n.Split('=')
New-Variable -Name $n[0] -Value $n[1]
Write-Host "Temporarily not setting proxy" # QTQAINFRA-6473
$proxy = ""
if ([string]::IsNullOrEmpty($proxy)) {
Write-Host "No proxy is defined."
} else {

View File

@@ -6,8 +6,8 @@
# This script will pre-installed squish package for Windows.
# Squish is need by Release Test Automation (RTA)
$version = "7.2.1"
$qtBranch = "66x"
$version = "8.0.0"
$qtBranch = "67x"
$targetDir = "C:\Utils\squish"
$squishPackage = "C:\Utils\rta_squish"
$squishUrl = "\\ci-files01-hki.ci.qt.io\provisioning\squish\jenkins_build\stable"
@@ -33,7 +33,7 @@ if (($OSVersion -eq "Windows 10 Enterprise") -or ($OSVersion -eq "Windows 10 Pro
# In Windows 11 case $OSVersion is 'Windows 10 Pro'
$winVersion = "win10"
if (Is64BitWinHost) {
$sha1 = "eed4ed4936fbbacb11e0d8a00ff190e1ea808eeb"
$sha1 = "0f863c261f854ec38032815298f5636e99779bff"
}
} else {
$winVersion = "n/a"

View File

@@ -171,6 +171,7 @@ installPackages+=(ssh)
installPackages+=(diffstat)
installPackages+=(binfmt-support)
installPackages+=(zstd)
installPackages+=(libzstd-dev)
# Vulkan is needed for examples
installPackages+=(libvulkan-dev)
# Needed for qtdltlogging

View File

@@ -0,0 +1,6 @@
#!/usr/bin/env bash
#Copyright (C) 2023 The Qt Company Ltd
#SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
BASEDIR=$(dirname "$0")
"$BASEDIR/../common/unix/squishInstall.sh"

View File

@@ -27,6 +27,7 @@ installPackages+=(ninja-build)
installPackages+=(pcre2-devel)
installPackages+=(double-conversion-devel)
installPackages+=(zstd)
installPackages+=(libzstd-devel)
# EGL support
installPackages+=(mesa-libEGL-devel)
installPackages+=(mesa-libGL-devel)

View File

@@ -28,6 +28,7 @@ installPackages+=(ninja-build)
installPackages+=(pcre2-devel)
installPackages+=(double-conversion-devel)
installPackages+=(zstd)
installPackages+=(libzstd-devel)
# EGL support
installPackages+=(mesa-libEGL-devel)
installPackages+=(mesa-libGL-devel)

View File

@@ -29,6 +29,7 @@ installPackages+=(ninja-build)
installPackages+=(pcre2-devel)
installPackages+=(double-conversion-devel)
installPackages+=(zstd)
installPackages+=(libzstd-devel)
# update kernel
installPackages+=(kernel)
installPackages+=(kernel-tools)

View File

@@ -29,6 +29,7 @@ installPackages+=(ninja-build)
installPackages+=(pcre2-devel)
installPackages+=(double-conversion-devel)
installPackages+=(zstd)
installPackages+=(libzstd-devel)
# update kernel
installPackages+=(kernel)
installPackages+=(kernel-tools)

View File

@@ -29,6 +29,7 @@ installPackages+=(ninja-build)
installPackages+=(pcre2-devel)
installPackages+=(double-conversion-devel)
installPackages+=(zstd)
installPackages+=(libzstd-devel)
# EGL support
# mesa-libEGL-devel need to use older version than 22.1.5-2.el9 which cause Xorg to crash
installPackages+=(mesa-libEGL-devel-21.3.4-2.el9)

View File

@@ -29,6 +29,7 @@ installPackages+=(ninja-build)
installPackages+=(pcre2-devel)
installPackages+=(double-conversion-devel)
installPackages+=(zstd)
installPackages+=(libzstd-devel)
# EGL support
# mesa-libEGL-devel need to use older version than 22.1.5-2.el9 which cause Xorg to crash
#installPackages+=(mesa-libEGL-devel-21.3.4-2.el9)

View File

@@ -199,6 +199,7 @@ installPackages+=(ssh)
installPackages+=(diffstat)
installPackages+=(binfmt-support)
installPackages+=(zstd)
installPackages+=(libzstd-dev)
# Vulkan is needed for examples
installPackages+=(libvulkan-dev)
# Needed for qtdltlogging

View File

@@ -0,0 +1,6 @@
#!/usr/bin/env bash
#Copyright (C) 2023 The Qt Company Ltd
#SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
BASEDIR=$(dirname "$0")
"$BASEDIR/../common/unix/squishInstall.sh"

View File

@@ -0,0 +1,8 @@
#!/usr/bin/env bash
# Copyright (C) 2024 The Qt Company Ltd.
# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
set -ex
# shellcheck source=../common/linux/install-dummy-alsa-device.sh
source "${BASH_SOURCE%/*}/../common/linux/install-dummy-alsa-device.sh"

View File

@@ -205,6 +205,7 @@ installPackages+=(ssh)
installPackages+=(diffstat)
installPackages+=(binfmt-support)
installPackages+=(zstd)
installPackages+=(libzstd-dev)
installPackages+=(lz4)
# Vulkan is needed for examples
installPackages+=(libvulkan-dev)

View File

@@ -11,8 +11,8 @@ set -e
"${BASH_SOURCE%/*}/../common/unix/check_and_set_proxy.sh"
# shellcheck source=../common/unix/DownloadURL.sh
source "${BASH_SOURCE%/*}/../common/unix/DownloadURL.sh"
version="68bdc5764da2d4e442181b408751b6572f36fa74"
sha1="dac76e8f6cb69990661e7d814bea6f32fea29bf4"
version="57a554131c468f45f36d7501d777fcc7bba597b0"
sha1="add45e09655314db4295a2d459ef2b13e1b6268f"
url="https://download.qt.io/development_releases/prebuilt/qdoc/qt/qdoc-qtattributionsscanner_${version//\./}-based-linux-Ubuntu22.04-gcc11.4-x86_64.7z"
url_cached="http://ci-files01-hki.ci.qt.io/input/qdoc/qt/qdoc-qtattributionsscanner_${version//\./}-based-linux-Ubuntu22.04-gcc11.4-x86_64.7z"

View File

@@ -0,0 +1,8 @@
#!/usr/bin/env bash
# Copyright (C) 2024 The Qt Company Ltd.
# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
set -ex
# shellcheck source=../common/linux/install-dummy-alsa-device.sh
source "${BASH_SOURCE%/*}/../common/linux/install-dummy-alsa-device.sh"

View File

@@ -207,6 +207,7 @@ installPackages+=(ssh)
installPackages+=(diffstat)
installPackages+=(binfmt-support)
installPackages+=(zstd)
installPackages+=(libzstd-dev)
installPackages+=(lz4)
# Vulkan is needed for examples
installPackages+=(libvulkan-dev)

View File

@@ -0,0 +1,6 @@
#!/usr/bin/env bash
#Copyright (C) 2023 The Qt Company Ltd
#SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
BASEDIR=$(dirname "$0")
"$BASEDIR/../common/unix/libclang.sh"

View File

@@ -0,0 +1,6 @@
#!/usr/bin/env bash
#Copyright (C) 2023 The Qt Company Ltd
#SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
BASEDIR=$(dirname "$0")
"$BASEDIR/../common/unix/squishInstall.sh"

View File

@@ -0,0 +1,8 @@
#!/usr/bin/env bash
# Copyright (C) 2024 The Qt Company Ltd.
# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
set -ex
# shellcheck source=../common/linux/install-dummy-alsa-device.sh
source "${BASH_SOURCE%/*}/../common/linux/install-dummy-alsa-device.sh"

View File

@@ -0,0 +1,9 @@
#!/usr/bin/env bash
# Copyright (C) 2023 The Qt Company Ltd.
# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
set -ex
# Disalbe updates
echo "Disabling auto-upgrades"
sudo sed -i 's/"1"/"0"/g' /etc/apt/apt.conf.d/20auto-upgrades

View File

@@ -0,0 +1,6 @@
#!/bin/sh
#Copyright (C) 2023 The Qt Company Ltd
#SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
echo "ethtool -K \${DEVICE_IFACE} tso off" | sudo tee -a /etc/NetworkManager/dispatcher.d/pre-up.d/net_tso_off
sudo chmod +x /etc/NetworkManager/dispatcher.d/pre-up.d/net_tso_off

View File

@@ -0,0 +1,3 @@
#!/bin/sh
"$(dirname "$0")"/../common/unix/telegraf_install.sh

View File

@@ -0,0 +1,8 @@
#!/usr/bin/env bash
#Copyright (C) 2023 The Qt Company Ltd
#SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
set -ex
BASEDIR=$(dirname "$0")
"$BASEDIR/../common/linux/set_ulimit.sh"

View File

@@ -0,0 +1,43 @@
#!/usr/bin/env bash
# Copyright (C) 2017 The Qt Company Ltd.
# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
# This script modifies system settings for automated use
set -ex
# shellcheck source=../common/unix/check_and_set_proxy.sh
source "${BASH_SOURCE%/*}/../common/unix/check_and_set_proxy.sh"
NTS_IP=10.212.2.216
echo "Set timezone to UTC."
sudo timedatectl set-timezone Etc/UTC
echo "Timeout for blanking the screen (0 = never)"
gsettings set org.gnome.desktop.session idle-delay 0
echo "Prevents screen lock when screesaver goes active."
gsettings set org.gnome.desktop.screensaver lock-enabled false
echo "Set grub timeout to 0"
sudo sed -i 's|GRUB_TIMEOUT=10|GRUB_TIMEOUT=0|g' /etc/default/grub
sudo update-grub
# https://bugs.launchpad.net/ubuntu/+source/systemd/+bug/1624320
# Checking if Ubuntu 20.04 works without this
#echo "Setting up workaround for Ubuntu systemd resolve bug"
#sudo rm -f /etc/resolv.conf
#sudo ln -s /run/systemd/resolve/resolv.conf /etc/resolv.conf
# remove hostname to get unique based on IP address
sudo rm /etc/hostname
echo "Set Network Test Server address to $NTS_IP in /etc/hosts"
echo "$NTS_IP qt-test-server qt-test-server.qt-test-net" | sudo tee -a /etc/hosts
echo 'LC_ALL=en_US.UTF8' | sudo tee /etc/default/locale
if [ "$http_proxy" != "" ]; then
echo "Acquire::http::Proxy \"$proxy\";" | sudo tee -a /etc/apt/apt.conf
fi
# This script diverts qtlogging.ini file so we don't get debugging related auto-test failures.
sudo dpkg-divert --divert /etc/xdg/QtProject/qtlogging.ini.foo --rename /etc/xdg/QtProject/qtlogging.ini

View File

@@ -0,0 +1,256 @@
#!/usr/bin/env bash
# Copyright (C) 2022 The Qt Company Ltd.
# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
# Install required packages with APT
# shellcheck source=../common/linux/apt_wait_loop.sh
source "${BASH_SOURCE%/*}/../common/linux/apt_wait_loop.sh"
echo "Disabling auto update"
sudo sed -i 's/APT::Periodic::Update-Package-Lists "1";/APT::Periodic::Update-Package-Lists "0";/' /etc/apt/apt.conf.d/10periodic
for service in apt-daily.timer apt-daily-upgrade.timer apt-daily.service apt-daily-upgrade.service; do
sudo systemctl stop $service
sudo systemctl disable $service
done
function set_internal_repo {
# Stop fetching the dep-11 metadata, since our mirrors do not handle them well
sudo mv /etc/apt/apt.conf.d/50appstream{,.disabled}
sudo tee "/etc/apt/sources.list.d/ubuntu.list" > /dev/null <<-EOC
deb [arch=amd64] http://repo-clones.ci.qt.io/apt-mirror/mirror/ubuntu/ noble main restricted universe multiverse
deb [arch=amd64] http://repo-clones.ci.qt.io/apt-mirror/mirror/ubuntu/ noble-updates main restricted universe multiverse
deb [arch=amd64] http://repo-clones.ci.qt.io/apt-mirror/mirror/ubuntu/ noble-backports main restricted universe
deb [arch=amd64] http://repo-clones.ci.qt.io/apt-mirror/mirror/ubuntu/ noble-security main restricted universe multiverse
deb [arch=i386] http://repo-clones.ci.qt.io/apt-mirror/mirror/ubuntu/ noble main restricted
deb [arch=i386] http://repo-clones.ci.qt.io/apt-mirror/mirror/ubuntu/ noble-updates main restricted
deb [arch=i386] http://repo-clones.ci.qt.io/apt-mirror/mirror/ubuntu/ noble universe
EOC
}
#(ping -c 3 repo-clones.ci.qt.io && set_internal_repo) || echo "Internal package repository not found. Using public repositories."
echo "Internal package repository not loading Translation en package (QTQAINFRA-6297). Using public repositories."
# Make sure needed ca-certificates are available
sudo apt-get install --reinstall ca-certificates
# Git is not needed by builds themselves, but is nice to have
# immediately as one starts debugging
installPackages+=(git)
# 7zip is a needed decompressing tool
installPackages+=(p7zip-full)
# To be able to mount yocto-cache during builds
installPackages+=(nfs-common)
# libssl-dev provides headers for OpenSSL
installPackages+=(libssl-dev)
# Needed libraries for X11 support accordingly to https://wiki.qt.io/Building_Qt_5_from_Git
installPackages+=("^libxcb.*")
installPackages+=(libxkbcommon-dev)
installPackages+=(libxkbcommon-x11-dev)
installPackages+=(libx11-xcb-dev)
installPackages+=(libglu1-mesa-dev)
installPackages+=(libxrender-dev)
installPackages+=(libxi-dev)
# Enable linking to system dbus
installPackages+=(libdbus-1-dev)
# Needed libraries for WebEngine
installPackages+=(udev)
installPackages+=(libudev-dev)
installPackages+=(libdrm-dev)
installPackages+=(libegl1-mesa-dev)
installPackages+=(libfontconfig1-dev)
installPackages+=(libgbm-dev)
installPackages+=(liblcms2-dev)
installPackages+=(libpci-dev)
installPackages+=(libre2-dev)
installPackages+=(libsnappy-dev)
installPackages+=(libva-dev)
installPackages+=(libvpx-dev)
installPackages+=(libxkbfile-dev)
installPackages+=(libxshmfence-dev)
installPackages+=(libxss-dev)
# installPackages+=(nodejs) too old
installPackages+=(python3-html5lib)
# Common event loop handling
installPackages+=(libglib2.0-dev)
# MySQL support
installPackages+=(libmysqlclient-dev)
# PostgreSQL support
installPackages+=(libpq-dev)
# SQLite support
installPackages+=(libsqlite3-dev)
# ODBC support
installPackages+=(unixodbc-dev)
# Support for FreeType font engine
installPackages+=(libfreetype6-dev)
# Enable the usage of system jpeg libraries
installPackages+=(libjpeg-dev)
# Enable support for printer driver
installPackages+=(libcups2-dev)
# Enable support for printer test
installPackages+=(cups-pdf)
# Install libraries needed for QtMultimedia to be able to support all plugins
installPackages+=(libasound2-dev)
installPackages+=(libgstreamer1.0-dev)
installPackages+=(libgstreamer-plugins-base1.0-dev)
installPackages+=(libgstreamer-plugins-good1.0-dev)
installPackages+=(libgstreamer-plugins-bad1.0-dev)
installPackages+=(libgstreamer-gl1.0-0)
installPackages+=(gir1.2-gst-plugins-base-1.0)
installPackages+=(gir1.2-gst-plugins-bad-1.0)
installPackages+=(yasm)
installPackages+=(libva-dev)
# for QtMultimedia streaming tests
installPackages+=(vlc-bin)
installPackages+=(vlc-plugin-base)
# Support for cross-building to x86 (needed by WebEngine boot2qt builds)
installPackages+=(g++-multilib)
# python3 development package
installPackages+=(python3-dev)
installPackages+=(python3-pip)
installPackages+=(python3-venv)
installPackages+=(virtualenv)
installPackages+=(python3-wheel)
installPackages+=(python-is-python3)
# TODO: Ubuntu 24.04 Removal - not available
# python2 development package
#installPackages+=(python2-dev)
# Automates interactive applications (Needed by RTA to automate configure testing)
installPackages+=(expect)
installPackages+=(mesa-common-dev)
# TODO: Ubuntu 24.04 Replacement
#installPackages+=(libgl1-mesa-glx)
installPackages+=(libglx-mesa0)
installPackages+=(libgl1-mesa-dev)
installPackages+=(libegl1-mesa-dev)
installPackages+=(libegl1)
installPackages+=(libegl-mesa0)
installPackages+=(libegl-dev)
installPackages+=(libglvnd-dev)
installPackages+=(libgles2-mesa-dev)
installPackages+=(curl)
installPackages+=(libcurl4-openssl-dev)
installPackages+=(libicu-dev)
installPackages+=(zlib1g-dev)
installPackages+=(zlib1g)
installPackages+=(openjdk-8-jdk)
#Java 17 for Android, needed by RTA
installPackages+=(openjdk-17-jdk)
installPackages+=(libgtk-3-dev)
installPackages+=(ninja-build)
installPackages+=(libssl-dev)
installPackages+=(libxcursor-dev)
installPackages+=(libxcomposite-dev)
installPackages+=(libxdamage-dev)
installPackages+=(libxrandr-dev)
installPackages+=(libfontconfig1-dev)
installPackages+=(libsrtp2-dev)
installPackages+=(libwebp-dev)
installPackages+=(libjsoncpp-dev)
installPackages+=(libopus-dev)
installPackages+=(libminizip-dev)
installPackages+=(libavutil-dev)
installPackages+=(libavformat-dev)
installPackages+=(libavcodec-dev)
installPackages+=(libevent-dev)
installPackages+=(bison)
installPackages+=(flex)
installPackages+=(gperf)
installPackages+=(libasound2-dev)
installPackages+=(libpulse-dev)
installPackages+=(libxtst-dev)
installPackages+=(libnspr4-dev)
installPackages+=(libnss3-dev)
installPackages+=(libnss3)
installPackages+=(libopenal-dev)
installPackages+=(libbluetooth-dev)
#VirtualBox for RTA
installPackages+=(virtualbox)
installPackages+=(dkms)
# Needed for qtspeech
installPackages+=(libspeechd-dev)
#Pypdf for PDF reading in RTA tests
installPackages+=(python3-pypdf2)
# Needed for b2qt
installPackages+=(git-lfs)
installPackages+=(chrpath)
installPackages+=(gawk)
installPackages+=(texinfo)
# Needed for Poppler test in QtWebEngine
installPackages+=(libpoppler-cpp-dev)
# Needed for QtCore
installPackages+=(libdouble-conversion-dev)
installPackages+=(libpcre2-dev)
# Needed for testlib selftests
installPackages+=(valgrind)
# Needed for qtgampepad
installPackages+=(libsdl2-2.0)
installPackages+=(libsdl2-dev)
# Needed for qtwebkit
installPackages+=(ruby)
installPackages+=(libxslt1-dev)
installPackages+=(libxml2-dev)
installPackages+=(libhyphen-dev)
# For remote access
installPackages+=(ssh)
# For bitbake
installPackages+=(diffstat)
installPackages+=(binfmt-support)
installPackages+=(zstd)
installPackages+=(lz4)
# Vulkan is needed for examples
installPackages+=(libvulkan-dev)
# Needed for qtdltlogging
installPackages+=(libdlt-dev)
# For integrity
installPackages+=(libc6:i386)
# TODO: Ubuntu 24.04 Removal - not available
#installPackages+=(libncurses5:i386)
installPackages+=(libstdc++6:i386)
installPackages+=(libx11-6:i386)
installPackages+=(lib32z1)
installPackages+=(linux-libc-dev:i386)
installPackages+=(libxcursor1:i386)
installPackages+=(libc6-dev-i386)
sudo dpkg --add-architecture i386
# For QNX
installPackages+=(nfs-kernel-server)
installPackages+=(net-tools)
installPackages+=(bridge-utils)
# For Debian packaging
installPackages+=(sbuild)
installPackages+=(ubuntu-dev-tools)
# cifs-utils, for mounting smb drive
installPackages+=(keyutils)
installPackages+=(cifs-utils)
# VxWorks QEMU network setup (tunctl)
installPackages+=(uml-utilities)
# used for reading vcpkg packages version, from vcpkg.json
installPackages+=(jq)
installPackages+=(patchelf)
echo "Running update for apt"
waitLoop
sudo apt-get update
echo "Installing packages"
waitLoop
sudo DEBIAN_FRONTEND=noninteractive apt-get -q -y -o DPkg::Lock::Timeout=300 install "${installPackages[@]}"
# Configure pip
pip config --user set global.index https://ci-files01-hki.ci.qt.io/input/python_module_cache
pip config --user set global.extra-index-url https://pypi.org/simple/
source "${BASH_SOURCE%/*}/../common/unix/SetEnvVar.sh"
# SetEnvVar "PATH" "/usr/lib/nodejs-mozilla/bin:\$PATH"
OpenSSLVersion="$(openssl version |cut -b 9-14)"
echo "System's OpenSSL = $OpenSSLVersion" >> ~/versions.txt

View File

@@ -0,0 +1,6 @@
#!/usr/bin/env bash
#Copyright (C) 2023 The Qt Company Ltd
#SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
# shellcheck source=../common/linux/disable-notifications.sh
source "${BASH_SOURCE%/*}/../common/linux/disable-notifications.sh"

View File

@@ -0,0 +1,6 @@
#!/usr/bin/env bash
#Copyright (C) 2023 The Qt Company Ltd
#SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
# shellcheck source=../common/linux/disable-ntp_linux.sh
source "${BASH_SOURCE%/*}/../common/linux/disable-ntp_linux.sh"

View File

@@ -0,0 +1,6 @@
#!/usr/bin/env bash
#Copyright (C) 2023 The Qt Company Ltd
#SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
# shellcheck source=../common/linux/remove-apport.sh
source "${BASH_SOURCE%/*}/../common/linux/remove-apport.sh"

View File

@@ -0,0 +1,6 @@
#!/usr/bin/env bash
#Copyright (C) 2023 The Qt Company Ltd
#SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
# shellcheck source=../common/linux/remove-update_notifier.sh
source "${BASH_SOURCE%/*}/../common/linux/remove-update_notifier.sh"

View File

@@ -0,0 +1,6 @@
#!/usr/bin/env bash
# Copyright (C) 2023 The Qt Company Ltd.
# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
# shellcheck source=../common/linux/install-nodejs.sh
source "${BASH_SOURCE%/*}/../common/linux/install-nodejs.sh"

View File

@@ -0,0 +1,8 @@
#!/usr/bin/env bash
# Copyright (C) 2023 The Qt Company Ltd.
# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
set -ex
# shellcheck source=../common/linux/mount-vcpkg-cache-drive.sh
source "${BASH_SOURCE%/*}/../common/linux/mount-vcpkg-cache-drive.sh"

View File

@@ -0,0 +1,19 @@
#!/usr/bin/env bash
# Copyright (C) 2021 The Qt Company Ltd.
# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
set -ex
# shellcheck source=../common/unix/SetEnvVar.sh
source "${BASH_SOURCE%/*}/../common/unix/SetEnvVar.sh"
# First test using QFont fails if fonts-noto-cjk is installed. This happens because
# running fontcache for that font takes > 5 mins when run on QEMU. Running fc-cache
# doesn't help since host version creates cache for a wrong architecture and running
# armv7 fc-cache segfaults on QEMU.
sudo DEBIAN_FRONTEND=noninteractive apt-get -y remove fonts-noto-cjk
# Disable QtWayland window decorations, as they cause flakiness when used inside qemu (QTBUG-66173)
qemu_env="QT_WAYLAND_DISABLE_WINDOWDECORATION=1"
SetEnvVar "QEMU_SET_ENV" "\"${qemu_env}\""

View File

@@ -0,0 +1,6 @@
#!/usr/bin/env bash
#Copyright (C) 2023 The Qt Company Ltd
#SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
BASEDIR=$(dirname "$0")
"$BASEDIR/../common/unix/libclang-v100-dyn.sh"

View File

@@ -0,0 +1,6 @@
#!/usr/bin/env bash
#Copyright (C) 2023 The Qt Company Ltd
#SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
BASEDIR=$(dirname "$0")
"$BASEDIR/../common/unix/libclang.sh"

View File

@@ -0,0 +1,125 @@
#!/usr/bin/env bash
# Copyright (C) 2021 The Qt Company Ltd.
# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
# This script installs the Yocto toolchain
set -ex
# shellcheck source=../common/unix/DownloadURL.sh
source "${BASH_SOURCE%/*}/../common/unix/DownloadURL.sh"
# shellcheck source=../common/unix/SetEnvVar.sh
source "${BASH_SOURCE%/*}/../common/unix/SetEnvVar.sh"
primaryBaseUrlPath="http://ci-files01-hki.ci.qt.io/input/boot2qt/gatesgarth"
altBaseUrlPath="http://download.qt.io/development_releases/prebuilt/boot2qt/gatesgarth"
echo "Installing Yocto toolchain for 32-bit b2qt ARMV7..."
versionARM="3.2"
package="b2qt-x86_64-meta-toolchain-b2qt-ci-sdk-qemuarm-a9d5156a.sh"
PrimaryUrl="$primaryBaseUrlPath/$package"
AltUrl="$altBaseUrlPath/$package"
SHA1="f9f7d51656067a1cc9d7ab92ddcddb219886ab22"
yoctoInstaller="/tmp/yocto-toolchain-ARMv7.sh"
yoctoLocationARMv7="/opt/b2qt/$versionARM"
sysrootARMv7="armv7vet2hf-neon-poky-linux-gnueabi"
crosscompileARMv7="sysroots/x86_64-pokysdk-linux/usr/bin/arm-poky-linux-gnueabi/arm-poky-linux-gnueabi-"
envSetupARMv7="environment-setup-$sysrootARMv7"
toolchainFileARMv7="sysroots/x86_64-pokysdk-linux/usr/share/cmake/OEToolchainConfig.cmake"
DownloadURL "$PrimaryUrl" "$AltUrl" "$SHA1" "$yoctoInstaller"
chmod +x "$yoctoInstaller"
/bin/bash "$yoctoInstaller" -y -d "$yoctoLocationARMv7"
rm -rf "$yoctoInstaller"
echo "Installing Yocto toolchain for 64-bit b2qt ARM64..."
versionARM64="3.2"
package="b2qt-x86_64-meta-toolchain-b2qt-ci-sdk-qemuarm64-a9d5156a.sh"
PrimaryUrl="$primaryBaseUrlPath/$package"
AltUrl="$altBaseUrlPath/$package"
SHA1="f490cbcc4e0d5a87f4e07607a71013aeeabce94a"
yoctoInstaller="/tmp/yocto-toolchain-ARM64.sh"
yoctoLocationARM64="/opt/b2qt/$versionARM64"
sysrootARM64="cortexa57-poky-linux"
crosscompileARM64="sysroots/x86_64-pokysdk-linux/usr/bin/aarch64-poky-linux/aarch64-poky-linux-"
envSetupARM64="environment-setup-$sysrootARM64"
toolchainFileARM64="sysroots/x86_64-pokysdk-linux/usr/share/cmake/OEToolchainConfig.cmake"
DownloadURL "$PrimaryUrl" "$AltUrl" "$SHA1" "$yoctoInstaller"
chmod +x "$yoctoInstaller"
/bin/bash "$yoctoInstaller" -y -d "$yoctoLocationARM64"
rm -rf "$yoctoInstaller"
echo "Installing Yocto toolchain for 64-bit b2qt MIPS64..."
versionMIPS64="3.2"
package="b2qt-x86_64-meta-toolchain-b2qt-ci-sdk-qemumips64-a9d5156a.sh"
PrimaryUrl="$primaryBaseUrlPath/$package"
AltUrl="$altBaseUrlPath/$package"
SHA1="5d3a8bb4384de273937286d275d1dab36f969951"
yoctoInstaller="/tmp/yocto-toolchain-mips64.sh"
yoctoLocationMIPS64="/opt/b2qt/$versionMIPS64"
sysrootMIPS64="mips64r2-poky-linux"
crosscompileMIPS64="sysroots/x86_64-pokysdk-linux/usr/bin/mips64-poky-linux/mips64-poky-linux-"
envSetupMIPS64="environment-setup-$sysrootMIPS64"
toolchainFileMIPS64="sysroots/x86_64-pokysdk-linux/usr/share/cmake/OEToolchainConfig.cmake"
DownloadURL "$PrimaryUrl" "$AltUrl" "$SHA1" "$yoctoInstaller"
chmod +x "$yoctoInstaller"
/bin/bash "$yoctoInstaller" -y -d "$yoctoLocationMIPS64"
rm -rf "$yoctoInstaller"
if [ -e "$yoctoLocationARMv7/sysroots/$sysrootARMv7" ] && [ -e "$yoctoLocationARMv7/${crosscompileARMv7}g++" ] && \
[ -e "$yoctoLocationARMv7/$envSetupARMv7" ] && [ -e "$yoctoLocationARMv7/$toolchainFileARMv7" ] && \
[ -e "$yoctoLocationARM64/sysroots/$sysrootARM64" ] && [ -e "$yoctoLocationARM64/${crosscompileARM64}g++" ] && \
[ -e "$yoctoLocationARM64/$envSetupARM64" ] && [ -e "$yoctoLocationARM64/$toolchainFileARM64" ] && \
[ -e "$yoctoLocationMIPS64/sysroots/$sysrootMIPS64" ] && [ -e "$yoctoLocationMIPS64/${crosscompileMIPS64}g++" ] && \
[ -e "$yoctoLocationMIPS64/$envSetupMIPS64" ] && [ -e "$yoctoLocationMIPS64/$toolchainFileMIPS64" ]; then
SetEnvVar "QEMUARMV7_TOOLCHAIN_SYSROOT" "$yoctoLocationARMv7/sysroots/$sysrootARMv7"
SetEnvVar "QEMUARMV7_TOOLCHAIN_CROSS_COMPILE" "$yoctoLocationARMv7/$crosscompileARMv7"
SetEnvVar "QEMUARMV7_TOOLCHAIN_ENVSETUP" "$yoctoLocationARMv7/$envSetupARMv7"
SetEnvVar "QEMUARMV7_TOOLCHAIN_FILE" "$yoctoLocationARMv7/$toolchainFileARMv7"
SetEnvVar "QEMUARM64_TOOLCHAIN_SYSROOT" "$yoctoLocationARM64/sysroots/$sysrootARM64"
SetEnvVar "QEMUARM64_TOOLCHAIN_CROSS_COMPILE" "$yoctoLocationARM64/$crosscompileARM64"
SetEnvVar "QEMUARM64_TOOLCHAIN_ENVSETUP" "$yoctoLocationARM64/$envSetupARM64"
SetEnvVar "QEMUARM64_TOOLCHAIN_FILE" "$yoctoLocationARM64/$toolchainFileARM64"
SetEnvVar "QEMUMIPS64_TOOLCHAIN_SYSROOT" "$yoctoLocationMIPS64/sysroots/$sysrootMIPS64"
SetEnvVar "QEMUMIPS64_TOOLCHAIN_CROSS_COMPILE" "$yoctoLocationMIPS64/$crosscompileMIPS64"
SetEnvVar "QEMUMIPS64_TOOLCHAIN_ENVSETUP" "$yoctoLocationMIPS64/$envSetupMIPS64"
SetEnvVar "QEMUMIPS64_TOOLCHAIN_FILE" "$yoctoLocationMIPS64/$toolchainFileMIPS64"
else
echo "Error! Couldn't find installation paths for Yocto toolchain. Aborting provisioning." 1>&2
exit 1
fi
cat << EOB >> ~/versions.txt
Yocto ARMv7 toolchain = $versionARM
Yocto ARM64 toolchain = $versionARM64
Yocto MIPS64 toolchain = $versionMIPS64
EOB
# List qt user in qemu toolchain sysroots
sudo sh -c "grep ^qt /etc/passwd >> $yoctoLocationARMv7/sysroots/$sysrootARMv7/etc/passwd"
sudo sh -c "grep ^qt /etc/group >> $yoctoLocationARMv7/sysroots/$sysrootARMv7/etc/group"
sudo sh -c "grep ^qt /etc/passwd >> $yoctoLocationARM64/sysroots/$sysrootARM64/etc/passwd"
sudo sh -c "grep ^qt /etc/group >> $yoctoLocationARM64/sysroots/$sysrootARM64/etc/group"
# Fix mdns to support both docker and network tests
# See also https://bugreports.qt.io/browse/QTBUG-106013
sudo sh -c "sed -i '/^hosts:/s/.*/hosts: files myhostname mdns_minimal [NOTFOUND=return] dns mdns4/' $yoctoLocationARMv7/sysroots/$sysrootARMv7/etc/nsswitch.conf"
sudo sh -c "sed -i '/^hosts:/s/.*/hosts: files myhostname mdns_minimal [NOTFOUND=return] dns mdns4/' $yoctoLocationARM64/sysroots/$sysrootARM64/etc/nsswitch.conf"
# Install qemu binfmt for 32bit and 64bit arm architectures
sudo update-binfmts --package qemu-arm --install arm $yoctoLocationARMv7/sysroots/x86_64-pokysdk-linux/usr/bin/qemu-arm \
--magic "\x7f\x45\x4c\x46\x01\x01\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02\x00\x28\x00" \
--mask "\xff\xff\xff\xff\xff\xff\xff\x00\xff\xff\xff\xff\xff\xff\xff\xff\xfe\xff\xff\xff"
sudo update-binfmts --package qemu-aarch64 --install aarch64 $yoctoLocationARM64/sysroots/x86_64-pokysdk-linux/usr/bin/qemu-aarch64 \
--magic "\x7f\x45\x4c\x46\x02\x01\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02\x00\xb7\x00" \
--mask "\xff\xff\xff\xff\xff\xff\xff\x00\xff\xff\xff\xff\xff\xff\xff\xff\xfe\xff\xff\xff"

View File

@@ -0,0 +1,8 @@
#!/usr/bin/env bash
# Copyright (C) 2017 The Qt Company Ltd.
# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
set -ex
# shellcheck source=../common/linux/integrity.sh
source "${BASH_SOURCE%/*}/../common/linux/integrity.sh"

View File

@@ -0,0 +1,3 @@
#!/usr/bin/env bash
source "${BASH_SOURCE%/*}/../common/linux/sccache.sh"

View File

@@ -0,0 +1,8 @@
#!/usr/bin/env bash
# Copyright (C) 2018 The Qt Company Ltd.
# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
set -ex
# shellcheck source=../common/unix/mqtt_broker.sh
source "${BASH_SOURCE%/*}/../common/unix/mqtt_broker.sh"

View File

@@ -0,0 +1,8 @@
#!/usr/bin/env bash
#Copyright (C) 2023 The Qt Company Ltd
#SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
set -ex
BASEDIR=$(dirname "$0")
"$BASEDIR/../common/linux/fbx_linux.sh"

View File

@@ -0,0 +1,8 @@
#!/usr/bin/env bash
#Copyright (C) 2023 The Qt Company Ltd
#SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
set -ex
BASEDIR=$(dirname "$0")
"$BASEDIR/../common/unix/install-conan.sh" "linux" "--break-system-packages"

View File

@@ -0,0 +1,48 @@
#!/usr/bin/env bash
# Copyright (C) 2023 The Qt Company Ltd.
# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
# shellcheck source=../common/unix/DownloadURL.sh
source "${BASH_SOURCE%/*}/../common/unix/DownloadURL.sh"
set -ex
# This script will install ICU
icuVersion="73.2"
icuLocationLib="/opt/icu/lib64"
icuLocationInclude="/opt/icu/include"
sha1="5699987afcceb0390e52fb860bb3b4ab8b39cabe"
baseBinaryPackageURL="http://ci-files01-hki.ci.qt.io/input/icu/$icuVersion/icu-linux-g++-Ubuntu22.04-x64.7z"
baseBinaryPackageExternalURL="http://master.qt.io/development_releases/prebuilt/icu/prebuilt/$icuVersion/icu-linux-g++-Ubuntu22.04-x64.7z"
sha1Dev="6b9da2fa5fd88db88e9957ee5e3cf9dbcd08fe6b"
develPackageURL="http://ci-files01-hki.ci.qt.io/input/icu/$icuVersion/icu-linux-g++-Ubuntu22.04-x64-devel.7z"
develPackageExternalURL="http://master.qt.io/development_releases/prebuilt/icu/prebuilt/$icuVersion/icu-linux-g++-Ubuntu22.04-x64-devel.7z"
echo "Installing custom ICU $icuVersion $sha1 packages on CentOS to $icuLocationLib"
targetFile=$(mktemp)
sudo mkdir -p "$icuLocationLib"
sudo mkdir -p "$icuLocationInclude"
DownloadURL "$baseBinaryPackageURL" "$baseBinaryPackageExternalURL" "$sha1" "$targetFile"
sudo 7z x -y -o$icuLocationLib "$targetFile"
sudo rm "$targetFile"
echo "Installing custom ICU devel packages on CentOS"
tempDir=$(mktemp -d)
targetFile=$(mktemp)
DownloadURL "$develPackageURL" "$develPackageExternalURL" "$sha1Dev" "$targetFile"
7z x -y -o"$tempDir" "$targetFile"
sudo cp -a "$tempDir"/lib/* "$icuLocationLib"
sudo cp -a "$tempDir"/* /opt/icu/
sudo rm "$targetFile"
sudo rm -fr "$tempDir"
sudo /sbin/ldconfig
echo "ICU = $icuVersion" >> ~/versions.txt

View File

@@ -0,0 +1,8 @@
#!/usr/bin/env bash
#Copyright (C) 2023 The Qt Company Ltd
#SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
set -ex
# shellcheck source=../common/unix/install-breakpad.sh
source "${BASH_SOURCE%/*}/../common/unix/install-breakpad.sh"

View File

@@ -0,0 +1,8 @@
#!/bin/bash
# Copyright (C) 2017 The Qt Company Ltd.
# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
set -ex
# shellcheck source=../common/linux/android_linux.sh
source "${BASH_SOURCE%/*}/../common/linux/android_linux.sh"

View File

@@ -0,0 +1,7 @@
#!/bin/bash
#Copyright (C) 2023 The Qt Company Ltd
#SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
BASEDIR=$(dirname "$0")
"$BASEDIR/../common/linux/cmake_linux.sh"

View File

@@ -0,0 +1,6 @@
#!/usr/bin/env bash
set -ex
BASEDIR=$(dirname "$0")
"$BASEDIR/../common/linux/install-vcpkg.sh"

View File

@@ -0,0 +1,6 @@
#!/usr/bin/env bash
set -ex
BASEDIR=$(dirname "$0")
"$BASEDIR/../common/linux/install-vcpkg-ports.sh"

View File

@@ -0,0 +1,13 @@
#!/usr/bin/env bash
# Copyright (C) 2023 The Qt Company Ltd.
# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
# This script install cpdb from sources.
# Requires GCC and Perl to be in PATH.
set -ex
# Install the dependencies
sudo apt install -y make autoconf autopoint libglib2.0-dev libdbus-1-dev libtool
BASEDIR=$(dirname "$0")
"$BASEDIR/../common/linux/install-cpdb.sh"

View File

@@ -0,0 +1,8 @@
#!/bin/bash
# Copyright (C) 2021 The Qt Company Ltd.
# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
set -ex
# shellcheck source=../common/unix/openssl_for_android.sh
source "${BASH_SOURCE%/*}/../common/unix/openssl_for_android.sh"

View File

@@ -0,0 +1,9 @@
#!/usr/bin/env bash
# Copyright (C) 2018 The Qt Company Ltd.
# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
set -ex
# shellcheck source=../common/unix/install_protobuf.sh
source "${BASH_SOURCE%/*}/../common/unix/install_protobuf.sh"

View File

@@ -0,0 +1,9 @@
#!/usr/bin/env bash
# Copyright (C) 2022 The Qt Company Ltd.
# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
set -ex
# shellcheck source=../common/unix/install_grpc.sh
source "${BASH_SOURCE%/*}/../common/unix/install_grpc.sh"

View File

@@ -0,0 +1,10 @@
#!/usr/bin/env bash
# Copyright (C) 2020 The Qt Company Ltd.
# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
# This script installs QEMU Guest Agent
set -ex
sudo apt -y install qemu-guest-agent
sudo systemctl start qemu-guest-agent

View File

@@ -0,0 +1,13 @@
#!/usr/bin/env bash
# Copyright (C) 2021 The Qt Company Ltd.
# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
set -ex
# shellcheck source=../common/linux/qnx_710.sh
source "${BASH_SOURCE%/*}/../common/linux/qnx_710.sh"
# setup NFS
sudo bash -c "echo '/home/qt/work ${qemuNetwork}/24(rw,sync,root_squash,no_subtree_check,anonuid=1000,anongid=1000)' >> /etc/exports"
sudo exportfs -a
sudo systemctl restart nfs-kernel-server

View File

@@ -0,0 +1,8 @@
#!/usr/bin/env bash
# Copyright (C) 2021 The Qt Company Ltd.
# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
set -ex
# shellcheck source=../common/linux/vx_works.sh
source "${BASH_SOURCE%/*}/../common/linux/vx_works.sh"

View File

@@ -0,0 +1,59 @@
#!/usr/bin/env bash
# Copyright (C) 2023 The Qt Company Ltd.
# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
set -e
PROVISIONING_DIR="$(dirname "$0")/../"
# shellcheck source=../common/unix/common.sourced.sh
source "$PROVISIONING_DIR"/common/unix/common.sourced.sh
# shellcheck source=../common/unix/DownloadURL.sh
source "$PROVISIONING_DIR"/common/unix/DownloadURL.sh
localRepo=http://ci-files01-hki.ci.qt.io/input/docker
# upstreamRepo=https://download.docker.com/linux/ubuntu/dists/bionic/pool/stable/amd64
#upstreamRepo=https://download.docker.com/linux/ubuntu/dists/jammy/pool/stable/amd64
upstreamRepo=https://download.docker.com/linux/ubuntu/dists/noble/pool/stable/amd64
echo '
57c62933ad2dc07a3a79efd5b464ea84fa80c773 containerd.io_1.6.31-1_amd64.deb
cbcd536345e052b9221a0240caa451e1b687a05e docker-ce_26.1.0-1~ubuntu.24.04~noble_amd64.deb
6f0989763692b88b748444174e70b6069c781533 docker-ce-cli_26.1.0-1~ubuntu.24.04~noble_amd64.deb
' \
| xargs -n2 | while read -r sha f
do
DownloadURL "$localRepo/$f" "$upstreamRepo/$f" "$sha"
done
sudo apt-get -y install ./containerd.io_*.deb ./docker-ce_*.deb ./docker-ce-cli_*.deb
rm -f ./containerd.io_*.deb ./docker-ce_*.deb ./docker-ce-cli_*.deb
sudo usermod -a -G docker "$USER"
sudo docker --version
# Download and install the docker-compose extension from https://github.com/docker/compose/releases
f=docker-compose-$(uname -s)-$(uname -m)
DownloadURL \
"$localRepo/$f-1.24.1" \
"https://github.com/docker/compose/releases/download/1.24.1/$f" \
cfb3439956216b1248308141f7193776fcf4b9c9b49cbbe2fb07885678e2bb8a
sudo install -m 755 ./docker-compose* /usr/local/bin/docker-compose
sudo docker-compose --version
rm ./docker-compose*
# Install Avahi to discover Docker containers in the test network
sudo apt-get install avahi-daemon -y
# Add registry mirror for docker images
sudo tee -a /etc/docker/daemon.json <<"EOF"
{
"registry-mirrors": ["http://repo-clones.ci.qt.io:5000"]
}
EOF
echo "Restart Docker"
sudo systemctl daemon-reload
sudo systemctl restart docker
# Start testserver provisioning
sudo "$(readlink -f "$(dirname "${BASH_SOURCE[0]}")")/../common/shared/testserver/docker_testserver.sh"

View File

@@ -0,0 +1,15 @@
#!/usr/bin/env bash
# Copyright (C) 2021 The Qt Company Ltd.
# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
# The new version of libnss-mdns resolver library automatically rejects all
# hostnames with more than two labels (i.e. subdomains deep), for example
# vsftpd.test-net.qt.local is automatically rejected. The changes here fix
# this, see also https://github.com/lathiat/nss-mdns#etcmdnsallow
cat <<EOT | sudo tee /etc/mdns.allow
.local.
.local
EOT
sudo sed -i '/^hosts:/s/.*/hosts: files mdns_minimal [NOTFOUND=return] mdns4 dns/' /etc/nsswitch.conf

View File

@@ -0,0 +1,33 @@
#!/usr/bin/env bash
# Copyright (C) 2022 The Qt Company Ltd.
# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
# Provisions qdoc and qtattributionsscanner binaries; these are used for
# documentation testing without the need for a dependency to qttools.
set -e
# shellcheck source=../common/unix/check_and_set_proxy.sh
"${BASH_SOURCE%/*}/../common/unix/check_and_set_proxy.sh"
# shellcheck source=../common/unix/DownloadURL.sh
source "${BASH_SOURCE%/*}/../common/unix/DownloadURL.sh"
version="68bdc5764da2d4e442181b408751b6572f36fa74"
sha1="dac76e8f6cb69990661e7d814bea6f32fea29bf4"
url="https://download.qt.io/development_releases/prebuilt/qdoc/qt/qdoc-qtattributionsscanner_${version//\./}-based-linux-Ubuntu22.04-gcc11.4-x86_64.7z"
url_cached="http://ci-files01-hki.ci.qt.io/input/qdoc/qt/qdoc-qtattributionsscanner_${version//\./}-based-linux-Ubuntu22.04-gcc11.4-x86_64.7z"
zip="/tmp/qdoc-qtattributionsscanner.7z"
destination="/opt/qt-doctools"
sudo mkdir -p "$destination"
sudo chmod 755 "$destination"
DownloadURL "$url_cached" "$url" "$sha1" "$zip"
if command -v 7zr &> /dev/null; then
sudo 7zr x "$zip" "-o$destination/"
else
sudo 7z x "$zip" "-o$destination/"
fi
sudo chown -R qt:users "$destination"
rm -rf "$zip"
echo -e "qdoc = $version\nqtattributionsscanner = $version" >> ~/versions.txt

View File

@@ -0,0 +1,3 @@
#!/usr/bin/env bash
source "${BASH_SOURCE%/*}/../common/linux/bootstrap-autostart.sh"

View File

@@ -0,0 +1,3 @@
#!/usr/bin/env bash
source "${BASH_SOURCE%/*}/../common/unix/install-ffmpeg.sh" "linux"

View File

@@ -0,0 +1,8 @@
#!/usr/bin/env bash
# Copyright (C) 2022 The Qt Company Ltd.
# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
set -ex
BASEDIR=$(dirname "$0")
"$BASEDIR/../common/linux/mimersql.sh" "openssl-3" "deb"

View File

@@ -0,0 +1,6 @@
#!/usr/bin/env bash
#Copyright (C) 2023 The Qt Company Ltd
#SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
BASEDIR=$(dirname "$0")
"$BASEDIR/../common/unix/squishInstall.sh"

View File

@@ -0,0 +1,8 @@
#!/usr/bin/env bash
# Copyright (C) 2024 The Qt Company Ltd.
# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
set -ex
# shellcheck source=../common/linux/install-dummy-alsa-device.sh
source "${BASH_SOURCE%/*}/../common/linux/install-dummy-alsa-device.sh"

View File

@@ -0,0 +1,6 @@
#!/bin/bash
#Copyright (C) 2023 The Qt Company Ltd
#SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
# shellcheck source=../common/linux/squish-coco.sh
source "${BASH_SOURCE%/*}/../common/linux/squish-coco.sh"

View File

@@ -0,0 +1,57 @@
#!/usr/bin/env bash
# Copyright (C) 2021 The Qt Company Ltd.
# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
# Setups sbuild environment
tee ~/.sbuildrc << EOF
##############################################################################
# PACKAGE BUILD RELATED (additionally produce _source.changes)
##############################################################################
# -d
\$distribution = 'stable';
# -A
\$build_arch_all = 1;
# -s
\$build_source = 1;
# -v
\$verbose = 1;
# parallel build
\$ENV{'DEB_BUILD_OPTIONS'} = 'parallel=8';
##############################################################################
# POST-BUILD RELATED (turn off functionality by setting variables to 0)
##############################################################################
\$run_lintian = 1;
\$lintian_opts = ['-i', '-I'];
\$run_piuparts = 0;
\$piuparts_opts = ['--schroot', 'stable-amd64-sbuild', '--no-eatmydata'];
\$run_autopkgtest = 0;
\$autopkgtest_root_args = '';
\$autopkgtest_opts = [ '--', 'schroot', '%r-%a-sbuild' ];
##############################################################################
# PERL MAGIC
##############################################################################
1;
EOF
# Add user group
sudo sbuild-adduser "$LOGNAME"
newgrp sbuild
# Create chroot
sudo sbuild-createchroot --include=eatmydata,ccache,gnupg,ca-certificates stable /srv/chroot/stable-amd64
# For ubuntu 24.04
echo "Create chroot for Ubuntu Noble"
## ccache can't be found with Jammy (TODO: but now we have Noble - this should be tested)
sudo sbuild-createchroot --include=eatmydata,gnupg,ca-certificates noble /srv/chroot/noble-amd64 http://archive.ubuntu.com/ubuntu/
echo "Done creating chroot for Ubuntu Noble"
# Update chroot.
sudo sbuild-update -udcar stable

View File

@@ -0,0 +1,6 @@
#!/bin/bash
#Copyright (C) 2023 The Qt Company Ltd
#SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
# shellcheck source=../common/linux/axivion-bauhaus-suite.sh
source "${BASH_SOURCE%/*}/../common/linux/axivion-bauhaus-suite.sh"

View File

@@ -0,0 +1,17 @@
#!/usr/bin/env bash
# Copyright (C) 2023 The Qt Company Ltd.
# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
# Get required deb files for sbuild to build qt debian packages for Ubuntu jammy
mkdir -p /home/qt/debian_packages
cd /home/qt/debian_packages || exit
# Backported cmake 3.24
wget https://ci-files01-hki.intra.qt.io/input/debian/cmake/amd64-jammy/cmake-3.24-deb.tar.gz
tar xzf cmake-3.24-deb.tar.gz
rm -rf cmake-3.24-deb.tar.gz
# TODO: Adapt this from jammy to noble Ubuntu 24.04:
# get rest of ready made Ubuntu jammy arm debian packages
# so that sbuild can find those
#wget http://ci-files01-hki.ci.qt.io/input/debian/icu/amd64-jammy/libicu-56.1-qt_56.1-1_amd64.deb
#wget http://ci-files01-hki.ci.qt.io/input/debian/icu/amd64-jammy/libicu-56.1-qt-dev_56.1-1_amd64.deb

View File

@@ -0,0 +1,9 @@
#!/usr/bin/env bash
# Copyright (C) 2024 The Qt Company Ltd.
# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
# Install lcov 2.0 from 24.04/noble numbat
echo "Installing lcov"
wget https://ci-files01-hki.ci.qt.io/input/lcov/lcov_2.0-4ubuntu1_all.deb
sudo DEBIAN_FRONTEND=noninteractive apt-get -q -y -o DPkg::Lock::Timeout=300 install -f ./lcov_2.0-4ubuntu1_all.deb

View File

@@ -0,0 +1,7 @@
#!/usr/bin/env bash
# Copyright (C) 2022 The Qt Company Ltd.
# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
set -ex
"$(dirname "$0")"/../common/linux/cleanup_cache.sh

View File

@@ -0,0 +1,8 @@
#!/usr/bin/env bash
#Copyright (C) 2023 The Qt Company Ltd
#SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
set -ex
BASEDIR=$(dirname "$0")
"$BASEDIR"/../common/linux/enable_test_stacktraces.sh

View File

@@ -0,0 +1,6 @@
#!/bin/bash
#Copyright (C) 2023 The Qt Company Ltd
#SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
BASEDIR=$(dirname "$0")
"$BASEDIR/../common/linux/ubuntu-version.sh"

View File

@@ -1,60 +1,8 @@
#!/usr/bin/env bash
# Copyright (C) 2023 The Qt Company Ltd.
# Copyright (C) 2024 The Qt Company Ltd.
# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
set -ex
systemd_folder=/etc/systemd/system
systemd_file=dummysound.service
script_folder=/home/qt/bin
script_file=dummy_sound.sh
# Create script to install dummy sound driver,
# in case no other sound driver is installed.
sudo tee "${script_folder}/${script_file}" <<"EOF"
# Check for existing sound driver
if lsmod | grep -q -i snd
then
echo "(**) Sound driver already loaded. Nothing to do.";
exit 0;
fi
# load dummy sound module
sudo modprobe snd-dummy
# Check result
if lsmod | grep -q snd_dummy
then
echo "(**) Dummy sound driver loaded.";
else
echo "(EE) Failed to load dummy sound driver.";
exit 1;
fi
EOF
# set permissions
sudo chmod 750 "${script_folder}/${script_file}"
# Create service file
sudo tee "${systemd_folder}/${systemd_file}" <<"EOF"
# /etc/systemd/system/dummysound.service
#
[Unit]
Description=Install dummy sound driver
[Service]
Type=oneshot
ExecStart=/bin/sh -c "/home/qt/bin/dummy_sound.sh"
[Install]
WantedBy=multi-user.target
EOF
# Start servive and output result, just for logging
sudo systemctl start dummysound.service
# status commented out, returns 3 on VM.
# sudo systemctl status dummysound.service
# enable service
sudo systemctl enable dummysound.service
# shellcheck source=../common/linux/install-dummy-alsa-device.sh
source "${BASH_SOURCE%/*}/../common/linux/install-dummy-alsa-device.sh"

Some files were not shown because too many files have changed in this diff Show More