Compare commits

..

33 Commits

Author SHA1 Message Date
Jukka Jokiniva
2bac4d3be9 Remove license check on Ubuntu 22.04
The configuration is duplicate as it is also run on 24.04.

Pick-to: 6.11 6.10 6.8
Task-number: QTQAINFRA-7146
Change-Id: Icbd1f7379cb1f23ed8c818f25aa3e09c5fcb5a45
Reviewed-by: Tero Heikkinen <tero.heikkinen@qt.io>
2025-12-16 16:08:27 +02:00
Nils Petter Skålerud
e3966f2ffc Linux, FFmpeg: Make install-ffmpeg-linux.sh take an output parameter
Currently, this script is hardcoded to output to the directory
'/usr/local/'. This output is stored in the variable 'prefix'. However,
this variable is used inconsistently in the script, meaning we cannot
actually modify the variable to change the output directory.

This patch does the following:
- Applies the 'prefix' variable where necessary.
- Allows an optional command-line parameter to be applied to 'prefix',
allowing one to specify where the output directory. This is
particularly useful for local builds.

No changes to current CI behavior.

Pick-to: 6.11 6.10 6.8
Change-Id: I51f83ce3844c2aa9db778b1c54091acb64a227e6
Reviewed-by: Dimitrios Apostolou <jimis@qt.io>
Reviewed-by: Artem Dyomin <artem.dyomin@qt.io>
2025-12-16 15:08:21 +01:00
Joerg Bornemann
6bd3b23b6c init-repository: Fix passing no --alternates option
Commit d6918d7ac5 broke init-repository if
you did not pass an --alternates option.

Pick-to: 6.8 6.10 6.11
Task-number: QTBUG-142712
Fixes: QTBUG-142744
Change-Id: Ia727b420a34a46e52f0f05e549aabe2c975c6d7e
Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
2025-12-16 09:28:12 +00:00
Ville-Pekka Karhu
02beaf2090 Provisioning: Take repo-clones into use in RHEL 8
Pick-to: 6.10 6.8 6.5 5.15
Task-number: QTQAINFRA-7605
Change-Id: If368b7a648d8c97a0028ac834f74326a54d643d7
Reviewed-by: Tero Heikkinen <tero.heikkinen@qt.io>
2025-12-16 09:28:03 +00:00
Rami Potinkara
45aeb45a6e Provisioning: update Gradle cache to Android SDK 36
This patch updates build.gradle to set compile- and
targetSdkVersion to 36.

Task-number: QTBUG-138552
Task-number: QTBUG-138549
Pick-to: 6.11 6.10 6.8
Change-Id: I44be99956f39e7bc23e8c5a3d15289dfdd574921
Reviewed-by: Nicholas Bennett <nicholas.bennett@qt.io>
2025-12-16 09:28:00 +00:00
Johanna Äijälä
4bff151490 Provisioning: cleanup, remove Squish installations
RTA is using different means to install Squish for RTA tests, no need
to do it in general provisioning.

Pick-to: 6.11
Change-Id: I4858a282ad7a0b1412f6dd0f4876109fe54a4c88
Reviewed-by: Tero Heikkinen <tero.heikkinen@qt.io>
Reviewed-by: Jukka Jokiniva <jukka.jokiniva@qt.io>
2025-12-16 11:27:57 +02:00
Rami Potinkara
2795f20a4e Provisioning: bump Android sdkBuildToolsVersion and sdkApiLevel to 36
This patch bumps:
-The sdkBuildToolsVersion used in Coin to 36.0.0
-The sdkApiLevel used in Coin to 36

Task-number: QTBUG-138550
Task-number: QTBUG-138549
Pick-to: 6.11 6.10 6.8
Change-Id: Ic63cd28ba39743e517ea3a3e2f9ec08bd5dc3267
Reviewed-by: Jukka Jokiniva <jukka.jokiniva@qt.io>
2025-12-16 09:27:54 +00:00
Qt Submodule Update Bot
90a2d21db6 Update submodules on 'dev in qt/qt5'
Change-Id: Ib2f87bcdba6c2bd0c3d3d376583fa1fe37f16ba2
Reviewed-by: Qt Submodule Update Bot <qt_submodule_update_bot@qt-project.org>
2025-12-15 15:50:33 +00:00
Matti Paaso
c69a56646f Replace hard coded branch value with environment variable
Axvion analysis will be run also in release branches and this
prevents results to be mixed between brnaches.

Task-number: QTQAINFRA-7599
Pick-to: 6.11 6.10 6.8
Change-Id: I5766d234bce2054d0dc6999ae1cac3f05c197d0e
Reviewed-by: Aku Pietikäinen <aku.pietikainen@qt.io>
Reviewed-by: Toni Saario <toni.saario@qt.io>
2025-12-13 11:04:50 +02:00
Tim Blechmann
e9a003f0c3 provisioning: do not install libc++ on ubuntu
installing libc++-20-dev and libgstreamer1.0-dev on the same system
causes problems:
* using the llvm apt repo, it will uninstall libgstreamer1.0-dev
* using ubuntu's repo, it will break gstreamer's pkg-config integration

reason is that libgstreamer1.0-dev depends on libunwind-dev, but llvm's
libunwind-20-dev does not provide the pkg-config files.
as temporary workaround we basically revert
e5b56d1d37.

Pick-to: 6.11
Change-Id: Ib4626d17339256d56c4764e3167f4e9fe4b9c909
Reviewed-by: Tero Heikkinen <tero.heikkinen@qt.io>
Reviewed-by: Liang Qi <liang.qi@qt.io>
2025-12-13 09:04:47 +00:00
Tim Blechmann
88173877d6 Revert "platform_configs: add c++23 nightly builds - part 2"
This reverts commit 9073f03937.

Reason for revert: installing libc++ on ubuntu breaks gstreamer

Pick-to: 6.11
Task-number: QTQAINFRA-7340
Change-Id: I8229f80a7010244fccc462eb31d1feadbf389028
Reviewed-by: Liang Qi <liang.qi@qt.io>
Reviewed-by: Tero Heikkinen <tero.heikkinen@qt.io>
2025-12-13 09:04:44 +00:00
Ahmad Hasan Mubashshir
6f4c400406 init-repository: Add HTTPS support for Gerrit remotes
Introduce a new --codereview-https option to use HTTPS instead of SSH
for Gerrit URLs. Update QtIROptionsHelpers.cmake and document in
QtIRHelp.txt.

Change-Id: Iae032bdf07e323a8f63946475c692cab23deffc4
Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
2025-12-13 15:04:41 +06:00
Nils Petter Skålerud
df82dc7de2 FFmpeg, iOS: Store final .xcframework files in 'lib' folder
Currently, the iOS FFmpeg provisioning script will install .xcframework
files into a subfolder 'frameworks'. The .xcframework files fulfill a
similar purpose to ordinary .dylib files and should be placed in a
'lib' subfolder, to make provisioning more similar to how we deploy
FFmpeg for other platforms.

This patch makes us install .xcframework files in a 'lib' subfolder
instead.

Task-number: QTBUG-136480
Pick-to: 6.11 6.10
Change-Id: I91f9938b595ecff5b04d49a71e9872f5d7278cda
Reviewed-by: Artem Dyomin <artem.dyomin@qt.io>
2025-12-13 09:04:39 +00:00
Alexandru Croitor
160e6135bb CMake: Modify the RunCMake tests to clone from the Coin CI git mirror
This helps with the test stability when code.qt.io is down or slow.

Pick-to: 6.10 6.11
Change-Id: I0bdaaa06772a94e73cb33d3f827e4e327123b60a
Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
2025-12-12 17:36:31 +01:00
Joerg Bornemann
d6918d7ac5 init-repository: Fix passing relative path to --alternates
When using --alternates with a relative path, nested submodules
(e.g., qtdeclarative/tests/auto/qml/ecmascripttests/test262) failed
because the alternates path wasn't adjusted for the changed working
directory depth. The --alternates option worked correctly with absolute
paths.

Fix by converting the passed alternates path to an absolute path.

Pick-to: 6.8 6.10 6.11
Fixes: QTBUG-142712
Change-Id: Ief7a87768d9ff17bb2832ae363f573ecae58d5ee
Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
2025-12-12 14:56:13 +01:00
hjk
740e232f16 Disable more Axivion rules
This disables 12 more generally Mostly Harmless warnings to have a
realistic chance to get down to a base line of zero violations.

Later we can re-evaluate the disabled rules one by one and re-enable
them if wanted.

Change-Id: Id9fc2e4013fb7c59040868fea54f14dcda6cefe0
Reviewed-by: Matti Paaso <matti.paaso@qt.io>
2025-12-12 06:21:41 +01:00
Ville-Pekka Karhu
3a7f17e0cd Provisioning: Add macOS 26 Intel
Task-number: QTQAINFRA-7196
Change-Id: I56027e54391cbd90c8ff17ff670ad6551c3bcc0f
Reviewed-by: Simo Fält <simo.falt@qt.io>
2025-12-12 05:21:34 +00:00
Rami Potinkara
da6cc0ce0e Android: Android 16 as maximum supported version
This patch
- Replaces Android 15 with Android 16 as a maximum version
- Sets Android 16 as significant and switches to r07 version

Task-number: QTQAINFRA-7299
Task-number: QTQAINFRA-7298
Pick-to: 6.11 6.10 6.8
Change-Id: Ic2ac071da7ab1763225c82e441c27f60cc25fe06
Reviewed-by: Assam Boudjelthia <assam.boudjelthia@qt.io>
2025-12-12 06:14:27 +02:00
Allan Sandfeld Jensen
2bd7830030 Update NodeJS to at least version 20
Needed for WebEngine based on Chromium 140

Pick-to: 6.10 6.11
Change-Id: I0cf1df1107cc8f5aa2850239608f03a7c7831676
Reviewed-by: Elias Toivola <elias.toivola@qt.io>
Reviewed-by: Jukka Jokiniva <jukka.jokiniva@qt.io>
2025-12-10 12:23:37 +01:00
Nils Petter Skålerud
fb6a8b0215 Android, Unix: Move android_emulator_launcher.sh to unix folder
This script is currently located in the 'linux' directory. In future
patches, it will be reused by macOS and Linux hosts.

This patch moves it into the 'unix' folder.

Pick-to: 6.11 6.10 6.8
Change-Id: Ib03b999bef0373dc9600d505b1f4ce926fa97de6
Reviewed-by: Artem Dyomin <artem.dyomin@qt.io>
2025-12-10 09:12:03 +00:00
Nils Petter Skålerud
ba6a77312d macOS, Xcode: Harden error-handling when installing Xcode
The current script relies on some commands intentionally failing during
provisioning because they only apply to certain versions of Xcode.
These errors are silenced using pipes. This is error-prone because we
can no longer catch when these commands are failing in the case where
they should not.

This patch introduces some additional error-handling and conditionals
to make sure we only run commands when they are intended to succeed.

Pick-to: 6.11 6.10 6.8
Change-Id: Ic5048f54adb31d263e28f51312f44fe3b55e6fe5
Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io>
2025-12-10 09:12:01 +00:00
Nils Petter Skålerud
c9a8b8f220 Upgrade Android Command-Line Tools to v19.0
This patch updates the Android Command-Line Tools in CI from v2.1 to
v19.0.

The zip file for the older version contained a single directory
'tools', this directory has been renamed to 'cmdline-tools' in the
newer version. This patch includes some changes to make sure we still
use the same folder structure as before.

Task-number: QTQAINFRA-7487
Pick-to: 6.11 6.10 6.8
Change-Id: Id9227241283d4c529005c4961449f50ca7af13be
Reviewed-by: Artem Dyomin <artem.dyomin@qt.io>
2025-12-10 09:11:58 +00:00
Nils Petter Skålerud
8a70b9e482 Android: Begin initial alignment of Linux and macOS provisioning
The Android provisioning scripts on macOS and Linux perform many of the
same tasks, but with slightly differing approaches. Future patches will
make us run Android emulators on ARM64, which will further make these
scripts similar.

This patch performs some modifications to the macOS provisioning script
to make it more similar to the Linux one. This will help us combine
parts of these scripts in the future.

Task-number: QTQAINFRA-7487
Pick-to: 6.11 6.10 6.8
Change-Id: Idba30d07607780d1ef8c60cc5e038a034c821632
Reviewed-by: Artem Dyomin <artem.dyomin@qt.io>
2025-12-10 09:11:56 +00:00
Nils Petter Skålerud
bc6ba67934 Unix: Add curl fallback to check_and_set_proxy.sh
This script is stored in the directory 'provisioning/common/unix'. This
implies it can be used from Linux and macOS hosts. The script
uses the wget command, but at the time of writing, wget is not
installed on our macOS hosts. If wget is not found, this command will
assume the HTTP proxy is not found rather than fail the script
execution.

This patch rewrites this script to use curl if wget is not found.
This makes it run correctly on macOS. Additionally, it adds a fail
case if neither wget or curl is found on the system.

Pick-to: 6.11 6.10 6.8
Change-Id: Id54b9fc69307ef28eb35cf1c0042df11e704a6e2
Reviewed-by: Artem Dyomin <artem.dyomin@qt.io>
2025-12-10 09:11:54 +00:00
Nils Petter Skålerud
f0b54a51f7 macOS ARM, Python: Combine Python provisioning into common script
The Python provisioning on macOS ARM hosts is done multiple times
across separate targets.

This patch moves the code into a common script 'macos/python-arm.sh'.
As a drive-by, we bump the version of all targets to 3.12.11, whch is
the same as the one used in the macOS 15 ARM host.

Pick-to: 6.11 6.10 6.8
Change-Id: I8c1f6f7d635fe47b9faa34dbe6988e89252dc2c9
Reviewed-by: Artem Dyomin <artem.dyomin@qt.io>
2025-12-10 09:11:51 +00:00
Nils Petter Skålerud
bb77943c0f Provisioning: Use local mirror for pyenv on macOS ARM hosts
On macOS hosts we are using external mirrors for installing with pyenv.
We should instead pull the necessary files from our local mirror.

Pick-to: 6.11 6.10 6.8
Change-Id: I6ba67dfd7cd37809164c7e2c4bcf89d07d45b1b2
Reviewed-by: Artem Dyomin <artem.dyomin@qt.io>
2025-12-10 09:11:49 +00:00
Toni Saario
73c4ed922a Update sccache to v0.11.0
Custom patched packages for windows.

Also Add Windows on arm support.

Pick-to: 6.11 6.10 6.8
Fixes: COIN-740
Change-Id: I27f7d36b3501be2a2011b9b8dfa0ec846cd57bf5
Reviewed-by: Jukka Jokiniva <jukka.jokiniva@qt.io>
2025-12-10 10:11:47 +01:00
Elias Toivola
7c7bbfff4d Remove RHEL-8.10
Existing platform configs with RHEL 8 use RHEL 9 instead. [CI Platforms]

Pick-to: 6.11
Task-number: QTQAINFRA-7529
Change-Id: I202fdf464f59db52f7f1edbf99451054c6889e69
Reviewed-by: Tero Heikkinen <tero.heikkinen@qt.io>
2025-12-09 10:52:29 +00:00
Elias Toivola
8d9d8cf3e8 Remove Red Hat 9.4 from CI
RHEL-9.4 is replaced by RHEL-9.6. [CI Platforms]

Pick-to: 6.11 6.10 6.8
Task-number: QTQAINFRA-7326
Change-Id: Ia270d20eda412da291d9e09c265afa9c977fab2e
Reviewed-by: Tero Heikkinen <tero.heikkinen@qt.io>
2025-12-09 12:52:28 +02:00
Elias Toivola
6856189287 Set Red Hat 9.6 tests as blocking
Also set Packaging targets for RHEL-9.6. [CI Platforms]

Task-number: QTQAINFRA-7326
Task-number: QTQAINFRA-7331
Change-Id: I18ec1e79e6fbe7b4ed001a3cdb648dae37b89561
Reviewed-by: Tero Heikkinen <tero.heikkinen@qt.io>
2025-12-09 12:52:27 +02:00
Elias Toivola
d5bdd4dea6 RHEL-9.6: Add missing package for license-service library
This amends d534aedb32

Pick-to: 6.11 6.10
Change-Id: I2ccc49b1e924ae88315f776900046a57789d149e
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
2025-12-08 22:31:39 +00:00
Oleksii Zbykovskyi
b276b549f7 Rename 100... to 10... in Windows provisioning scripts
Renamed files since it leads to misunderstanding due to their index.
Our CI system sees only two first digits, so 100 is seen as 10
and executed with other 10s which is misleading.

Pick-to: 6.10 6.8
Change-Id: Iabb548c622d71df8a3593cc171b7e0c2e2ae0287
Reviewed-by: Artem Dyomin <artem.dyomin@qt.io>
2025-12-08 21:42:29 +01:00
Eike Ziller
dcd07cc2ab COIN/QtCreator: Move to RHEL 9 and macOS 15 for QtC 19+
Updating for raising the compiler requirements.
Also adds Ubuntu 22 to test with GCC 11

Since Qt Creator branches can use the same Qt branches
that define these platforms, keep one RHEL 8 job
for Qt Creator 18. Mark it in the features, so the
Qt Creator 19+ configuration can filter these out.

Pick-to: 6.11 6.10
Change-Id: Ib771f473b6ed3ce42c6191647da7d473b64c2316
Reviewed-by: Jukka Jokiniva <jukka.jokiniva@qt.io>
2025-12-08 07:50:05 +00:00
233 changed files with 1159 additions and 1545 deletions

92
.gitmodules vendored
View File

@@ -1,40 +1,40 @@
[submodule "qtbase"]
path = qtbase
url = ../qtbase.git
branch = 6.11.0
branch = dev
status = essential
[submodule "qtsvg"]
depends = qtbase
path = qtsvg
url = ../qtsvg.git
branch = 6.11.0
branch = dev
status = addon
[submodule "qtdeclarative"]
depends = qtbase
recommends = qtimageformats qtshadertools qtsvg qtlanguageserver
path = qtdeclarative
url = ../qtdeclarative.git
branch = 6.11.0
branch = dev
status = essential
[submodule "qtactiveqt"]
depends = qtbase
path = qtactiveqt
url = ../qtactiveqt.git
branch = 6.11.0
branch = dev
status = addon
[submodule "qtmultimedia"]
depends = qtbase qtshadertools
recommends = qtdeclarative qtquick3d
path = qtmultimedia
url = ../qtmultimedia.git
branch = 6.11.0
branch = dev
status = addon
[submodule "qttools"]
depends = qtbase
recommends = qtdeclarative qtactiveqt
path = qttools
url = ../qttools.git
branch = 6.11.0
branch = dev
status = essential
[submodule "qtxmlpatterns"]
depends = qtbase
@@ -47,7 +47,7 @@
depends = qttools
path = qttranslations
url = ../qttranslations.git
branch = 6.11.0
branch = dev
status = essential
priority = 30
[submodule "qtdoc"]
@@ -55,7 +55,7 @@
recommends = qtmultimedia qtshadertools qttasktree qtwebengine
path = qtdoc
url = ../qtdoc.git
branch = 6.11.0
branch = dev
status = essential
priority = 40
[submodule "qtrepotools"]
@@ -68,7 +68,7 @@
depends = qtbase
path = qtqa
url = ../qtqa.git
branch = 6.11.0
branch = dev
status = essential
priority = 50
[submodule "qtlocation"]
@@ -76,21 +76,21 @@
recommends = qtdeclarative
path = qtlocation
url = ../qtlocation.git
branch = 6.11.0
branch = dev
status = preview
[submodule "qtpositioning"]
depends = qtbase
recommends = qtdeclarative qtserialport
path = qtpositioning
url = ../qtpositioning.git
branch = 6.11.0
branch = dev
status = addon
[submodule "qtsensors"]
depends = qtbase
recommends = qtdeclarative
path = qtsensors
url = ../qtsensors.git
branch = 6.11.0
branch = dev
status = addon
[submodule "qtsystems"]
depends = qtbase
@@ -117,61 +117,61 @@
recommends = qtdeclarative
path = qtconnectivity
url = ../qtconnectivity.git
branch = 6.11.0
branch = dev
status = addon
[submodule "qtwayland"]
depends = qtbase
recommends = qtdeclarative
path = qtwayland
url = ../qtwayland.git
branch = 6.11.0
branch = dev
status = addon
[submodule "qt3d"]
depends = qtbase
recommends = qtdeclarative qtshadertools qtmultimedia
path = qt3d
url = ../qt3d.git
branch = 6.11.0
branch = dev
status = deprecated
[submodule "qtimageformats"]
depends = qtbase
path = qtimageformats
url = ../qtimageformats.git
branch = 6.11.0
branch = dev
status = addon
[submodule "qtserialbus"]
depends = qtbase
recommends = qtserialport
path = qtserialbus
url = ../qtserialbus.git
branch = 6.11.0
branch = dev
status = addon
[submodule "qtserialport"]
depends = qtbase
path = qtserialport
url = ../qtserialport.git
branch = 6.11.0
branch = dev
status = addon
[submodule "qtwebsockets"]
depends = qtbase
recommends = qtdeclarative
path = qtwebsockets
url = ../qtwebsockets.git
branch = 6.11.0
branch = dev
status = addon
[submodule "qtwebchannel"]
depends = qtbase
recommends = qtdeclarative qtwebsockets
path = qtwebchannel
url = ../qtwebchannel.git
branch = 6.11.0
branch = dev
status = addon
[submodule "qtwebengine"]
depends = qtdeclarative
recommends = qtwebchannel qttools qtpositioning
path = qtwebengine
url = ../qtwebengine.git
branch = 6.11.0
branch = dev
status = addon
priority = 10
[submodule "qtcanvas3d"]
@@ -185,28 +185,28 @@
recommends = qtwebengine
path = qtwebview
url = ../qtwebview.git
branch = 6.11.0
branch = dev
status = addon
[submodule "qtcharts"]
depends = qtbase
recommends = qtdeclarative qtmultimedia
path = qtcharts
url = ../qtcharts.git
branch = 6.11.0
branch = dev
status = deprecated
[submodule "qtdatavis3d"]
depends = qtbase
recommends = qtdeclarative qtmultimedia
path = qtdatavis3d
url = ../qtdatavis3d.git
branch = 6.11.0
branch = dev
status = deprecated
[submodule "qtvirtualkeyboard"]
depends = qtbase qtdeclarative qtsvg
recommends = qtmultimedia
path = qtvirtualkeyboard
url = ../qtvirtualkeyboard.git
branch = 6.11.0
branch = dev
status = addon
[submodule "qtgamepad"]
depends = qtbase
@@ -219,27 +219,27 @@
depends = qtbase qtdeclarative
path = qtscxml
url = ../qtscxml.git
branch = 6.11.0
branch = dev
status = addon
[submodule "qtspeech"]
depends = qtbase qtmultimedia
recommends = qtdeclarative
path = qtspeech
url = ../qtspeech.git
branch = 6.11.0
branch = dev
status = addon
[submodule "qtnetworkauth"]
depends = qtbase
path = qtnetworkauth
url = ../qtnetworkauth.git
branch = 6.11.0
branch = dev
status = addon
[submodule "qtremoteobjects"]
depends = qtbase
recommends = qtdeclarative
path = qtremoteobjects
url = ../qtremoteobjects.git
branch = 6.11.0
branch = dev
status = addon
[submodule "qtwebglplugin"]
depends = qtbase qtwebsockets
@@ -252,107 +252,107 @@
depends = qtbase qtdeclarative
path = qtlottie
url = ../qtlottie.git
branch = 6.11.0
branch = dev
status = addon
[submodule "qtquicktimeline"]
depends = qtbase qtdeclarative
path = qtquicktimeline
url = ../qtquicktimeline
branch = 6.11.0
branch = dev
status = addon
[submodule "qtquick3d"]
depends = qtbase qtdeclarative qtshadertools
recommends = qtquicktimeline
path = qtquick3d
url = ../qtquick3d.git
branch = 6.11.0
branch = dev
status = addon
[submodule "qtshadertools"]
depends = qtbase
path = qtshadertools
url = ../qtshadertools.git
branch = 6.11.0
branch = dev
status = addon
[submodule "qt5compat"]
depends = qtbase qtdeclarative
path = qt5compat
url = ../qt5compat.git
branch = 6.11.0
branch = dev
status = deprecated
[submodule "qtcoap"]
depends = qtbase
path = qtcoap
url = ../qtcoap.git
branch = 6.11.0
branch = dev
status = addon
[submodule "qtmqtt"]
depends = qtbase qtdeclarative
recommends = qtwebsockets
path = qtmqtt
url = ../qtmqtt.git
branch = 6.11.0
branch = dev
status = addon
[submodule "qtopcua"]
depends = qtbase qtdeclarative
path = qtopcua
url = ../qtopcua.git
branch = 6.11.0
branch = dev
status = addon
[submodule "qtlanguageserver"]
depends = qtbase
path = qtlanguageserver
url = ../qtlanguageserver.git
branch = 6.11.0
branch = dev
status = preview
[submodule "qthttpserver"]
depends = qtbase
recommends = qtwebsockets
path = qthttpserver
url = ../qthttpserver.git
branch = 6.11.0
branch = dev
status = addon
[submodule "qtquick3dphysics"]
depends = qtbase qtdeclarative qtquick3d qtshadertools
path = qtquick3dphysics
url = ../qtquick3dphysics.git
branch = 6.11.0
branch = dev
status = addon
[submodule "qtgrpc"]
depends = qtbase
recommends = qtdeclarative
path = qtgrpc
url = ../qtgrpc.git
branch = 6.11.0
branch = dev
status = addon
[submodule "qtquickeffectmaker"]
depends = qtbase qtdeclarative qtshadertools
recommends = qtquick3d
path = qtquickeffectmaker
url = ../qtquickeffectmaker.git
branch = 6.11.0
branch = dev
status = addon
[submodule "qtgraphs"]
depends = qtbase qtdeclarative qtquick3d
path = qtgraphs
url = ../qtgraphs.git
branch = 6.11.0
branch = dev
status = addon
[submodule "qttasktree"]
depends = qtbase
path = qttasktree
url = ../qttasktree.git
branch = 6.11.0
branch = dev
status = preview
[submodule "qtopenapi"]
depends = qtbase
recommends = qtdeclarative
path = qtopenapi
url = ../qtopenapi.git
branch = 6.11.0
branch = dev
status = preview
[submodule "qtcanvaspainter"]
depends = qtbase qtdeclarative qtshadertools
path = qtcanvaspainter
url = ../qtcanvaspainter.git
branch = 6.11.0
branch = dev
status = preview

View File

@@ -178,6 +178,7 @@ function(qt_ir_command_line_set_input name val)
endfunction()
# Appends a value of a command line option into a global property.
# Currently unused
function(qt_ir_command_line_append_input name val)
if(NOT "${commandline_option_${name}_alias}" STREQUAL "")
set(name "${commandline_option_${name}_alias}")
@@ -239,22 +240,6 @@ function(qt_ir_commandline_string arg val nextok)
endif()
endfunction()
# Like string, but appends to the existing value instead of overwriting.
# Allows repeated flags like: -skip qtwebengine -skip qtwebview
function(qt_ir_commandline_addString arg val nextok)
if(nextok)
qt_ir_args_get_next_command_line_arg(val)
if("${val}" MATCHES "^-")
qt_ir_add_error("No value supplied to command line options '${arg}'.")
endif()
endif()
qt_ir_validate_value("${arg}" "${val}" success)
if(success)
qt_ir_command_line_append_input("${arg}" "${val}")
endif()
endfunction()
# Sets / handles the value of a command line void option.
# This is an option like --force, which doesn't take any arguments.
# Currently unused
@@ -294,7 +279,6 @@ endfunction()
#
# Currently handles the following types of CLI arguments:
# string
# addString (like string, but accumulates values from repeated flags)
# boolean
# void
#

View File

@@ -102,18 +102,27 @@ endfunction()
# - ../qt/qttools-litehtml.git
function(qt_ir_add_git_remotes repo_relative_url working_directory)
set(gerrit_ssh_base "ssh://@USER@codereview.qt-project.org@PORT@/")
set(gerrit_repo_url "${gerrit_ssh_base}")
set(gerrit_https_base "https://@USER@codereview.qt-project.org@AUTH@/")
qt_ir_get_option_value(codereview-username username)
qt_ir_get_option_value(codereview-https https)
if(https)
set(gerrit_repo_url "${gerrit_https_base}")
else()
set(gerrit_repo_url "${gerrit_ssh_base}")
endif()
# If given a username, make a "verbose" remote.
# Otherwise, rely on proper SSH configuration.
if(username)
string(REPLACE "@USER@" "${username}@" gerrit_repo_url "${gerrit_repo_url}")
string(REPLACE "@PORT@" ":29418" gerrit_repo_url "${gerrit_repo_url}")
string(REPLACE "@AUTH@" "/a" gerrit_repo_url "${gerrit_repo_url}")
else()
string(REPLACE "@USER@" "" gerrit_repo_url "${gerrit_repo_url}")
string(REPLACE "@PORT@" "" gerrit_repo_url "${gerrit_repo_url}")
string(REPLACE "@AUTH@" "" gerrit_repo_url "${gerrit_repo_url}")
endif()
set(namespace "qt")

View File

@@ -98,6 +98,9 @@ Options:
username and port number, and thus relies on a correct SSH
configuration.
--codereview-https
Specify this option to use HTTPs instead of SSH.
--alternates <path to other Qt5 repo>
Adds alternates for each submodule to another full qt5 checkout.
This makes this qt5 checkout very small, as it will use the object

View File

@@ -89,26 +89,6 @@ function(qt_ir_handle_called_from_configure top_level_src_path out_var_exit_reas
qt_ir_validate_options_for_configure()
# Convert -skip values to module-subset exclusions so init-repository respects them.
qt_ir_get_option_value(skip skip_modules)
if(skip_modules)
string(REPLACE "," ";" skip_modules "${skip_modules}")
list(TRANSFORM skip_modules STRIP)
list(TRANSFORM skip_modules PREPEND "-")
qt_ir_get_option_value(module-subset existing_subset)
if(NOT existing_subset)
set(existing_subset "default")
endif()
list(APPEND skip_modules "${existing_subset}")
list(REMOVE_DUPLICATES skip_modules)
list(JOIN skip_modules "," merged_subset)
qt_ir_set_option_value(module-subset "${merged_subset}")
message(DEBUG "Preprocessed -skip option: module-subset is now: ${merged_subset}")
endif()
# -init_submodules implies --force
qt_ir_set_option_value(force TRUE)

View File

@@ -14,6 +14,7 @@ macro(qt_ir_set_known_command_line_options)
qt_ir_commandline_option(berlin TYPE boolean)
qt_ir_commandline_option(branch TYPE boolean)
qt_ir_commandline_option(codereview-username TYPE string)
qt_ir_commandline_option(codereview-https TYPE boolean)
qt_ir_commandline_option(copy-objects TYPE boolean)
qt_ir_commandline_option(fetch TYPE boolean DEFAULT_VALUE yes)
qt_ir_commandline_option(force SHORT_NAME f TYPE boolean)
@@ -37,7 +38,6 @@ macro(qt_ir_set_known_command_line_options)
qt_ir_commandline_option(init-submodules TYPE boolean)
# We alias qtbase's submodules option to init-repository module-subset.
qt_ir_commandline_option(submodules ALIAS module-subset TYPE string)
qt_ir_commandline_option(skip TYPE addString)
set_property(GLOBAL PROPERTY _qt_ir_known_command_line_options "${commandline_known_options}")
endmacro()

View File

@@ -120,15 +120,15 @@ Configurations:
# Test on Ubuntu 24.04 x64 X11
-
Id: 'ubuntu-24.04-x64-developer-build-x11-tests'
Template: 'qtci-linux-Ubuntu-24.04-x86_64-54'
Template: 'qtci-linux-Ubuntu-24.04-x86_64-51'
Compiler: 'GCC'
Features: ['Sccache', 'TestOnly']
Features: ['Sccache', 'TestOnly', 'InsignificantTests']
Platform dependency: 'ubuntu-24.04-x64-developer-build'
-
Id: 'ubuntu-24.04-x64-x11-tests'
Template: 'qtci-linux-Ubuntu-24.04-x86_64-54'
Template: 'qtci-linux-Ubuntu-24.04-x86_64-51'
Compiler: 'GCC'
Features: ['Sccache', 'TestOnly']
Features: ['Sccache', 'TestOnly', 'InsignificantTests']
Platform dependency: 'ubuntu-24.04-x64'
-
Id: 'opensuse-15.6-developer-build'
@@ -182,6 +182,7 @@ Configurations:
'VCPKG_TARGET_TRIPLET=x64-windows-qt',
'Protobuf_ROOT={{.Env.Protobuf_ROOT_msvc}}',
'WEBVIEW2_SDK_ROOT={{.Env.WEBVIEW2_SDK_ROOT_PATH}}',
'ZLIB_ROOT={{.Env.ZLIB_PATH_AMD64}}',
]
-
Id: 'windows-11_24H2-msvc2022'
@@ -197,6 +198,7 @@ Configurations:
'VCPKG_TARGET_TRIPLET=x64-windows-qt',
'Protobuf_ROOT={{.Env.Protobuf_ROOT_msvc}}',
'WEBVIEW2_SDK_ROOT={{.Env.WEBVIEW2_SDK_ROOT_PATH}}',
'ZLIB_ROOT={{.Env.ZLIB_PATH_AMD64}}',
]
-
Id: 'windows-11_23h2-arm64-msvc2022'
@@ -211,6 +213,7 @@ Configurations:
'VCPKG_TARGET_TRIPLET=arm64-windows-qt',
'Protobuf_ROOT={{.Env.Protobuf_ROOT_msvc}}',
'WEBVIEW2_SDK_ROOT={{.Env.WEBVIEW2_SDK_ROOT_PATH}}',
'ZLIB_ROOT={{.Env.ZLIB_PATH_ARM64}}',
]
-
Id: 'windows-11_24H2-msvc2022-arm64'
@@ -253,6 +256,7 @@ Configurations:
'VCPKG_HOST_TRIPLET=x64-windows-qt',
'VCPKG_TARGET_TRIPLET=x64-windows-qt',
'gRPC_ROOT={{.Env.gRPC_ROOT_msvc}}',
'ZLIB_ROOT={{.Env.ZLIB_PATH_AMD64}}',
]
-
Id: 'rhel-9.6'
@@ -266,18 +270,6 @@ Configurations:
'VCPKG_HOST_TRIPLET=x64-linux-qt',
'VCPKG_TARGET_TRIPLET=x64-linux-qt',
]
-
Id: 'rhel-10.0'
Template: 'qtci-linux-RHEL-10.0-x86_64-51'
Compiler: 'GCC'
Features: ['Sccache', 'UseConfigure', 'InstallQt5Dependencies', 'GenerateSBOM', 'VerifySBOM', 'InsignificantTests', 'DoNotAbortTestingOnFirstFailure']
Configure arguments: '-nomake examples -release -force-debug-info -headersclean -separate-debug-info -qt-libjpeg -qt-libpng -qt-pcre -qt-harfbuzz -qt-doubleconversion -no-libudev -bundled-xcb-xinput'
Environment variables: [
'CMAKE_ARGS=-DOpenGL_GL_PREFERENCE=LEGACY',
'NON_QTBASE_CMAKE_ARGS=-DFFMPEG_DIR={{.Env.FFMPEG_DIR}} -DQT_DEPLOY_FFMPEG=TRUE -DINPUT_headersclean=ON',
'VCPKG_HOST_TRIPLET=x64-linux-qt',
'VCPKG_TARGET_TRIPLET=x64-linux-qt',
]
-
Id: 'ios-universal'
Template: 'qtci-macos-14-arm-106'

View File

@@ -12,7 +12,7 @@ Configurations:
Template: 'qtci-macos-15-arm-104'
Compiler: 'Clang'
Target arch: 'x86_64-arm64'
Features: ['Sccache', 'Packaging', 'DoNotRunTests', 'WarningsAreErrors', 'UseConfigure', 'GenerateSBOM', 'VerifySBOM']
Features: ['Packaging', 'DoNotRunTests', 'WarningsAreErrors', 'UseConfigure', 'GenerateSBOM', 'VerifySBOM']
Configure arguments: '-nomake examples -release -force-debug-info -separate-debug-info -headersclean -framework'
Environment variables: [
'CMAKE_ARGS=-DCMAKE_OSX_ARCHITECTURES="x86_64;arm64" -DOPENSSL_ROOT_DIR={{.Env.OPENSSL_DIR}}',
@@ -41,6 +41,13 @@ Configurations:
Compiler: 'Clang'
Features: ['Sccache', 'TestOnly', 'Packaging']
Platform dependency: 'macos-universal-on-arm64'
-
Id: 'macos-26-x86_64-tests'
Template: 'qtci-macos-26-x86_64-100'
Compiler: 'Clang'
Features: ['Sccache', 'TestOnly', 'Packaging', 'DoNotAbortTestingOnFirstFailure']
Platform dependency: 'macos-universal-on-arm64'
Environment variables: [ 'COIN_CTEST_IGNORE_EXIT_CODE=1' ]
# And arm64
@@ -85,6 +92,16 @@ Configurations:
'CMAKE_ARGS=-DOPENSSL_ROOT_DIR={{.Env.OPENSSL_DIR}}',
'NON_QTBASE_CMAKE_ARGS=-DFFMPEG_DIR={{.Env.FFMPEG_DIR}} -DQT_DEPLOY_FFMPEG=TRUE',
]
-
Id: 'macos-26-x86_64-developer-build'
Template: 'qtci-macos-26-x86_64-100'
Compiler: 'Clang'
Features: ['Sccache', 'DoNotRunTests', 'WarningsAreErrors', 'UseConfigure', 'StandaloneExamples']
Configure arguments: '-developer-build -release -force-asserts -force-debug-info -no-pch -no-framework -qtnamespace TestNamespace -make examples'
Environment variables: [
'CMAKE_ARGS=-DOPENSSL_ROOT_DIR={{.Env.OPENSSL_DIR}}',
'NON_QTBASE_CMAKE_ARGS=-DFFMPEG_DIR={{.Env.FFMPEG_DIR}} -DQT_DEPLOY_FFMPEG=TRUE',
]
-
Id: 'macos-arm64-developer-build'
Template: 'qtci-macos-15-arm-104'

View File

@@ -2,7 +2,7 @@ Version: 2
Configurations:
-
Id: 'ubuntu-24.04-x64-examples-and-tests-build'
Template: 'qtci-linux-Ubuntu-24.04-x86_64-54'
Template: 'qtci-linux-Ubuntu-24.04-x86_64-51'
Compiler: 'GCC'
Features: ['Sccache', 'UseConfigure', 'DoNotRunTests', 'NoSubmoduleDependencies']
Configure arguments: '-make examples -make tests'

View File

@@ -2,7 +2,7 @@ Version: 2
Configurations:
-
Id: 'ubuntu-24.04-x64-run-cmake-tests'
Template: 'qtci-linux-Ubuntu-24.04-x86_64-54'
Template: 'qtci-linux-Ubuntu-24.04-x86_64-51'
Compiler: 'GCC'
Features: ['Sccache', 'NoSubmoduleDependencies', 'TopLevelRunCMakeTests', 'DisableTests', 'VMSize16']
Configure arguments: ''

View File

@@ -15,3 +15,8 @@ Include: [
quick-bridges.yaml
]
Configurations: []
Overrides:
# Make VxWorks tests insignificant.
-
Id: 'vxworks-x86_64-tests'
Features: ['VMSize8', 'UseConfigure', 'BuildTestsInTest', 'TestOnly', 'InsignificantTests']

View File

@@ -2,7 +2,7 @@ Version: 2
Configurations:
-
Id: 'ubuntu-24.04-x86-static-qtlite'
Template: 'qtci-linux-Ubuntu-24.04-x86_64-54'
Template: 'qtci-linux-Ubuntu-24.04-x86_64-51'
Compiler: 'GCC'
Features: ['Sccache', 'UseConfigure', 'DoNotRunTests', 'MinimalStaticTests']
Configure arguments: >
@@ -224,7 +224,7 @@ Configurations:
]
-
Id: 'ubuntu-24.04-x86-static-qtlite-tests'
Template: 'qtci-linux-Ubuntu-24.04-x86_64-54'
Template: 'qtci-linux-Ubuntu-24.04-x86_64-51'
Compiler: 'GCC'
Features: ['Sccache', 'TestOnly','InsignificantTests']
Platform dependency: 'ubuntu-24.04-x86-static-qtlite'

View File

@@ -24,7 +24,7 @@ Configurations:
Environment variables: []
-
Id: 'linux-quick-bridges'
Template: 'qtci-linux-Ubuntu-24.04-x86_64-54'
Template: 'qtci-linux-Ubuntu-24.04-x86_64-51'
Compiler: 'GCC'
Features: ['Packaging', 'Sccache', 'UseConfigure', 'DisableTests', 'Insignificant']
Configure arguments: >

View File

@@ -151,7 +151,7 @@ Configurations:
Platform dependency: 'macos-quick-minimal'
-
Id: 'linux-quick-minimal'
Template: 'qtci-linux-Ubuntu-24.04-x86_64-54'
Template: 'qtci-linux-Ubuntu-24.04-x86_64-51'
Compiler: 'GCC'
Features: ['Sccache', 'UseConfigure', 'DisableTests', 'Insignificant']
Configure arguments: >

View File

@@ -2,67 +2,67 @@ Version: 2
Module only: True
Configurations:
-
Template: 'qtci-linux-Ubuntu-24.04-x86_64-54'
Template: 'qtci-linux-Ubuntu-24.04-x86_64-51'
Compiler: 'Yocto'
Features: ['Packaging']
Target arch: 'TARGET1'
-
Template: 'qtci-linux-Ubuntu-24.04-x86_64-54'
Template: 'qtci-linux-Ubuntu-24.04-x86_64-51'
Compiler: 'Yocto'
Features: ['Packaging']
Target arch: 'TARGET2'
-
Template: 'qtci-linux-Ubuntu-24.04-x86_64-54'
Template: 'qtci-linux-Ubuntu-24.04-x86_64-51'
Compiler: 'Yocto'
Features: ['Packaging']
Target arch: 'TARGET3'
-
Template: 'qtci-linux-Ubuntu-24.04-x86_64-54'
Template: 'qtci-linux-Ubuntu-24.04-x86_64-51'
Compiler: 'Yocto'
Features: ['Packaging']
Target arch: 'TARGET4'
-
Template: 'qtci-linux-Ubuntu-24.04-x86_64-54'
Template: 'qtci-linux-Ubuntu-24.04-x86_64-51'
Compiler: 'Yocto'
Features: ['Packaging']
Target arch: 'TARGET5'
-
Template: 'qtci-linux-Ubuntu-24.04-x86_64-54'
Template: 'qtci-linux-Ubuntu-24.04-x86_64-51'
Compiler: 'Yocto'
Features: ['Packaging']
Target arch: 'TARGET6'
-
Template: 'qtci-linux-Ubuntu-24.04-x86_64-54'
Template: 'qtci-linux-Ubuntu-24.04-x86_64-51'
Compiler: 'Yocto'
Features: ['Packaging']
Target arch: 'TARGET7'
-
Template: 'qtci-linux-Ubuntu-24.04-x86_64-54'
Template: 'qtci-linux-Ubuntu-24.04-x86_64-51'
Compiler: 'Yocto'
Features: ['Packaging']
Target arch: 'TARGET8'
-
Template: 'qtci-linux-Ubuntu-24.04-x86_64-54'
Template: 'qtci-linux-Ubuntu-24.04-x86_64-51'
Compiler: 'Yocto'
Features: ['Packaging']
Target arch: 'TARGET9'
-
Template: 'qtci-linux-Ubuntu-24.04-x86_64-54'
Template: 'qtci-linux-Ubuntu-24.04-x86_64-51'
Compiler: 'Yocto'
Features: ['Packaging']
Target arch: 'TARGET10'
-
Template: 'qtci-linux-Ubuntu-24.04-x86_64-54'
Template: 'qtci-linux-Ubuntu-24.04-x86_64-51'
Compiler: 'Yocto'
Features: ['Insignificant']
Target arch: 'INSIGNIFICANT_TARGET1'
-
Template: 'qtci-linux-Ubuntu-24.04-x86_64-54'
Template: 'qtci-linux-Ubuntu-24.04-x86_64-51'
Compiler: 'Yocto'
Features: ['Insignificant']
Target arch: 'INSIGNIFICANT_TARGET2'
-
Template: 'qtci-linux-Ubuntu-24.04-x86_64-54'
Template: 'qtci-linux-Ubuntu-24.04-x86_64-51'
Compiler: 'Yocto'
Features: ['Insignificant']
Target arch: 'INSIGNIFICANT_TARGET3'

View File

@@ -1,13 +0,0 @@
#!/usr/bin/env bash
# Copyright (C) 2026 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
sudo tee -a /etc/dconf/db/local.d/00-media-automount <<"EOF"
[org/gnome/desktop/media-handling]
automount=false
automount-open=false
EOF
sudo dconf update

View File

@@ -1,88 +0,0 @@
### RHEL 10.0 ###
Hard Disk: 500G
Network: CI
Video Card: Total Video Memory: 64MB
Boot options/Firmware: BIOS
Language: English (United States)
Keyboard: English (US), Norwegian (Windows), Finnish (Windows)
Time & Date: Etc/Coordinated Universal Time
Software Selection: Server with GUI
Installation Destination: Automatic partitioning selected
Root Passowrd: Set
Network & Host..: Connected
KDUMP enabled: Memory Reservation: automatic
Begin Installation
Reboot
# Configure Settings
Notifications:
* Lock Screen Notifications: OFF
* Applications: Set notification off
* Do Not Disturb: on
Applications:
* Disable notifications from all applications
Privacy:
* Blank Screen Delay: Never
* Screen Lock: OFF
Power:
* Blank screen: Never
Displays:
* Resolution: 1280 x 800
Users:
* Automatic login on
# Add user to sudoers
Add 'qt ALL=NOPASSWD: ALL' to /etc/sudoers.d/qt
Add 'GRUB_GFXMODE=1280x800' to /etc/default/grub
sudo grub2-mkconfig -o /etc/grub2.cfg
sudo grub2-mkconfig -o /boot/grub2/grub.cfg
# Add support for virtio driver
su
echo "add_drivers+=\" virtio-blk \"" >> /etc/dracut.conf.d/virtio.conf
dracut -f
# NOTE!
# - RHEL uses 'sudo subscription-manager release --set=10.0' in provisioning
# - Do not update Tier 1 via GUI without using this same --set before provisioning
# - To avoid System to have newer packages than RPMS which will cause update issues
# Register RHEL before it's possible to install qemu-guest-agent
subscription-manager register
yum -y install qemu-guest-agent
# Do these from Opennebula UI!
# Enable network connection from right upper corner
This is done when the VM is launched as persistent in OpenNebula.
# Fetch and run coin-setup
Download http://coin/coin/binary/linux_amd64/coin-setup
# run as qt user
run './coin-setup'
# Switch to use GNOME Classic user interface
# GNOME Classic was selected because there's an issue with Standard (wayland display server).
# Autotest start failing because terminal session remains in Activities Overview.
# https://gitlab.gnome.org/GNOME/gnome-shell/-/issues/3854
First execute script ./01-disable-automounting.sh (dconf update crash in GNOME Classic)
logout -> Select user (without it the drop down menu won't appear) -> switch to 'GNOME Classic' -desktop session from drop down menu in login screen
# If gear icon is not seen, check is 'GNOME Classic' -desktop session installed, and install if it's missing
ls /usr/share/xsessions/
# This should list something like these if it's installed
gnome-classic.desktop
gnome.desktop
# To install GNOME Classic if it's missing
sudo dnf reinstall gnome-classic-session
# In RHEL 10.0 even with 'GNOME Classic' -desktop the Activities Overview is still in use
# It can be bypassed via 'No Overview' -GNOME extension:
# - https://extensions.gnome.org/extension/4099/no-overview/
# - Select GNOME Shell version 47 to download
# - Unpack extension from tar.gz
sudo mv <extension_folder> /usr/share/gnome-shell/extensions/no-overview@fthx
sudo chown -R root: /usr/share/gnome-shell/extensions/no-overview@fthx
sudo chmod 755 -R /usr/share/gnome-shell/extensions/no-overview@fthx
sudo reboot
gnome-extensions list
gnome-extensions enable no-overview@fthx
Reboot

View File

@@ -53,17 +53,6 @@ run 'sudo ufw disable'
run 'sudo apt install qemu-guest-agent'
# Install no-overview gnome extension to prevent desktop overview at boot (QTBUG-132070)
# - https://extensions.gnome.org/extension/4099/no-overview/
# - Select GNOME Shell version 46 to download
# - Unpack extension to (mkdir): /usr/share/gnome-shell/extensions/no-overview@fthx
sudo chown -R root /usr/share/gnome-shell/extensions/no-overview@fthx
sudo chmod 755 -R /usr/share/gnome-shell/extensions/no-overview@fthx
sudo reboot
gnome-extensions list
gnome-extensions enable no-overview@fthx
gnome-extensions info no-overview@fthx # Check for "Active"
# 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

View File

@@ -1,7 +1,12 @@
*.iml
.gradle
.idea
/local.properties
/.idea/caches
/.idea/libraries
/.idea/modules.xml
/.idea/workspace.xml
/.idea/navEditor.xml
/.idea/assetWizardSettings.xml
.DS_Store
/build
/captures

View File

@@ -15,8 +15,8 @@ android {
}
compileOptions {
sourceCompatibility JavaVersion.VERSION_17
targetCompatibility JavaVersion.VERSION_17
sourceCompatibility JavaVersion.VERSION_1_8
targetCompatibility JavaVersion.VERSION_1_8
}
}

View File

@@ -6,7 +6,7 @@
android:allowBackup="true"
android:label="gradle_project"
android:supportsRtl="true"
tools:targetApi="36">
tools:targetApi="35">
<activity
android:name=".MainActivity"
android:exported="true">

View File

@@ -1,8 +1,8 @@
[versions]
agp = "9.0.0"
core = "1.17.0"
agp = "8.10.1"
core = "1.16.0"
appcompat = "1.7.1"
material = "1.13.0"
material = "1.12.0"
constraintlayout = "2.2.1"
[libraries]

View File

@@ -232,16 +232,12 @@ cp "${scripts_dir_name}/../unix/${emulator_script_filename}" "${HOME}"
ANDROID_EMULATOR_RUNNER="${HOME}/${emulator_script_filename}"
SetEnvVar "ANDROID_EMULATOR_RUNNER" "$ANDROID_EMULATOR_RUNNER"
SetEnvVar "PATH" "\$PATH:$sdkTargetFolder/emulator"
SetEnvVar "PATH" "\$PATH:$sdkTargetFolder/platform-tools"
SetEnvVar "PATH" "\$PATH:$sdkTargetFolder/cmdline-tools/latest/bin"
# Gradle Caching
cp -r "${scripts_dir_name}/android/gradle_project" /tmp/gradle_project
cd /tmp/gradle_project
# Get Gradle files from qtbase
qtbaseGradleUrl="https://code.qt.io/cgit/qt/qtbase.git/plain/src/3rdparty/gradle"
commit_sha="269a75dbd1262a714eb238c42e5159a0a8979818"
commit_sha="bb12c984b2c838bdb06169ef7d659384c02c8b82"
curl "$qtbaseGradleUrl/gradle.properties?h=$commit_sha" > gradle.properties
curl "$qtbaseGradleUrl/gradlew?h=$commit_sha" > gradlew
curl "$qtbaseGradleUrl/gradlew.bat?h=$commit_sha" > gradlew.bat

View File

@@ -12,7 +12,7 @@
},
"directory": "../work/qt/$(env:TESTED_MODULE_COIN)",
"ir": "$(env:IRNAME)",
"name": "qt_$(env:PACKAGE)_$(env:MODULE)_$(env:TESTED_MODULE_BRANCH_COIN)_$(env:TARGET_OS_COIN)"
"name": "qt_$(env:PACKAGE)_$(env:MODULE)_(env:TESTED_MODULE_BRANCH_COIN)_$(env:TARGET_OS_COIN)"
},
"VCSIntegration": {
"vcs_mapping": {

View File

@@ -51,13 +51,13 @@
"_active": true
},
"Qt-CtorMissingParentArgument": {
"_active": true
"_active": false
},
"Qt-DetachingTemporary": {
"_active": true
},
"Qt-FullyQualifiedMocTypes": {
"_active": true
"_active": false
},
"Qt-FunctionArgsByValueRef": {
"_active": false
@@ -69,13 +69,13 @@
"_active": true
},
"Qt-Generic-InitializeAllFieldsInConstructor": {
"_active": true
"_active": false
},
"Qt-Generic-MissingBaseCopy": {
"_active": true
"_active": false
},
"Qt-Generic-MissingIncludeGuard": {
"_active": true
"_active": false
},
"Qt-Generic-MissingTrCall": {
"_active": true
@@ -84,7 +84,7 @@
"_active": true
},
"Qt-Generic-NoFunctionDefinitionInHeader": {
"_active": true
"_active": false
},
"Qt-Generic-NoIrregularInclude": {
"_active": true
@@ -114,7 +114,7 @@
"_active": true
},
"Qt-IncorrectEmit": {
"_active": true
"_active": false
},
"Qt-InstallEventFilter": {
"_active": true
@@ -129,16 +129,16 @@
"_active": true
},
"Qt-MissingQObjectMacro": {
"_active": true
"_active": false
},
"Qt-MutableContainerKey": {
"_active": true
},
"Qt-NonPodGlobalStatic": {
"_active": true
"_active": false
},
"Qt-OldStyleConnect": {
"_active": true
"_active": false
},
"Qt-OverloadedSignal": {
"_active": true
@@ -162,7 +162,7 @@
"_active": true
},
"Qt-QPropertyWithoutNotify": {
"_active": true
"_active": false
},
"Qt-QStringArg": {
"_active": true
@@ -186,7 +186,7 @@
"_active": true
},
"Qt-RuleOfThree": {
"_active": true
"_active": false
},
"Qt-RuleOfTwoSoft": {
"_active": true

View File

@@ -15,20 +15,18 @@ case "$uname_m" in
x86_64|amd64)
sha256="6f98805688d19672bd699fbbfa2c2cf0fc054ac3df1f0e6a47664d963d530255"
pkgname="ninja-$version-linux-x64.zip"
pkgnameExt="ninja-linux.zip"
dirname="ninja-$version-linux-x64"
;;
arm64|aarch64)
sha256="5c25c6570b0155e95fce5918cb95f1ad9870df5768653afe128db822301a05a1"
pkgname="ninja-$version-linux-arm64.zip"
pkgnameExt="ninja-linux-aarch64.zip"
dirname="ninja-$version-linux-arm64"
;;
*) fatal "Unknown architecture in uname: $uname_m" 43 ;;
esac
internalUrl="http://ci-files01-hki.ci.qt.io/input/ninja/$pkgname"
externalUrl="https://github.com/ninja-build/ninja/releases/download/v$version/$pkgnameExt"
externalUrl="https://github.com/ninja-build/ninja/releases/download/v$version/$pkgname"
targetFile="$HOME/$pkgname"
DownloadURL "$internalUrl" "$externalUrl" "$sha256" "$targetFile"

View File

@@ -25,8 +25,8 @@ basePath="http://ci-files01-hki.ci.qt.io/input/android"
toolsVersion="19.0"
toolsFile="commandlinetools-mac-13114758_latest.zip"
toolsBackupUrl="https://dl.google.com/android/repository/$toolsFile"
sdkBuildToolsVersion="36.0.0"
sdkApiLevel="android-36"
sdkBuildToolsVersion="35.0.1"
sdkApiLevel="android-35"
toolsSha1="c3e06a1959762e89167d1cbaa988605f6f7c1d24"
ndkVersionLatest="r27c"
@@ -41,9 +41,11 @@ ndkSha1Preview="09be4f8fb626a9c93415198ea8e75d8d82f528fa"
ndkVersionNightly1=$ndkVersionLatest # Set as same version as latest = skip NDK install in provisioning
ndkSha1Nightly1=$ndkSha1Latest
ndkVersionNightly2=$ndkVersionLatest
ndkSha1Nightly2=$ndkSha1Latest
sdkBuildToolsVersion="36.0.0"
# this is compile sdk version
sdkApiLevel="android-36"
toolsTargetFile="/tmp/$toolsFile"
toolsSourceFile="$basePath/$toolsFile"

View File

@@ -1,299 +0,0 @@
#!/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
# This script will build and install FFmpeg shared libraries.
#
# The script will package iOS and iOS-simulator binaries into one
# single .xcframework. This .xcframework cannot contain .dylibs
# directly. It must contain .framework files. Unlike macOS, binaries
# should NOT be lipoed together.
#
# From https://developer.apple.com/documentation/xcode/creating-a-multi-platform-binary-framework-bundle
# "Avoid using dynamic library files (.dylib files) for dynamic
# linking. An XCFramework can include dynamic library files, but only
# macOS supports these libraries for dynamic linking. Dynamic linking
# on iOS, iPadOS, tvOS, visionOS, and watchOS requires the XCFramework
# to contain .framework bundles."
#
# This script can take an optional final parameter to control
# installation directory.
set -eoux pipefail
# Must match or be lower than the minimum iOS version supported by the version of Qt that is
# is currently being built.
readonly MINIMUM_IOS_VERSION="16.0"
source "${BASH_SOURCE%/*}/../unix/ffmpeg-installation-utils.sh"
ffmpeg_version=$(ffmpeg_version_default)
ffmpeg_source_dir=$(download_ffmpeg)
ffmpeg_config_options=$(get_ffmpeg_config_options "shared")
default_prefix="/usr/local/ios/ffmpeg"
prefix="${1:-$default_prefix}"
# Qt doesn't utilize all FFmpeg components. This is a list of the ones
# we care about
ffmpeg_components="libavcodec libavformat libavutil libswresample libswscale"
target_platform_to_sdk() {
local target_platform="$1"
if [[ "$target_platform" == "arm64-simulator" ]] \
|| [[ "$target_platform" == "x86_64-simulator" ]]; then
echo "iphonesimulator"
elif [ "$target_platform" == "arm64-iphoneos" ]; then
echo "iphoneos"
else
echo "Error finding corresponding iOS SDK for target platform: ${target_platform}"
exit 1
fi
}
build_ffmpeg_ios() {
local target_platform="$1"
local target_cpu_arch=""
local target_sdk;
target_sdk="$(target_platform_to_sdk "${target_platform}")"
if [ "$target_platform" == "arm64-simulator" ]; then
target_cpu_arch="arm64"
minos="-mios-simulator-version-min=$MINIMUM_IOS_VERSION"
elif [ "$target_platform" == "x86_64-simulator" ]; then
target_cpu_arch="x86_64"
minos="-mios-simulator-version-min=$MINIMUM_IOS_VERSION"
elif [ "$target_platform" == "arm64-iphoneos" ]; then
target_cpu_arch="arm64"
minos="-miphoneos-version-min=$MINIMUM_IOS_VERSION"
else
echo "Error when building FFmpeg for iOS. Unknown parameter given for target_platform: '${target_platform}'"
exit 1
fi
local build_dir="$ffmpeg_source_dir/build_ios/$target_platform"
sudo mkdir -p "$build_dir"
pushd "$build_dir"
local sysroot;
sysroot="$(xcrun --sdk "${target_sdk}" --show-sdk-path)"
local cc;
cc="$(xcrun -f --sdk ${target_sdk} clang)"
local cxx;
cxx="$(xcrun -f --sdk ${target_sdk} clang++)"
# We add -g so we get debug symbols.
local common_arch_flags="${minos} -arch ${target_cpu_arch} -g"
local config_parameters=(
$ffmpeg_config_options
--sysroot="${sysroot}"
--enable-cross-compile
--enable-optimizations
--prefix="$prefix"
--arch="$target_cpu_arch"
--cc="$cc"
--cxx="$cxx"
--extra-cflags="${common_arch_flags}"
--extra-cxxflags="${common_arch_flags}"
--extra-ldflags="${common_arch_flags}"
--target-os=darwin
--enable-shared
--disable-static
--install-name-dir="@rpath"
--disable-audiotoolbox
# We perform manual stripping after generating dSYMs.
# Make sure to skip it during FFmpeg compilation.
--disable-stripping
)
sudo "$ffmpeg_source_dir/configure" "${config_parameters[@]}"
sudo make install DESTDIR="$build_dir/installed" -j4
popd
}
build_info_plist() {
local file_path="$1"
local framework_name="$2"
local framework_id="$3"
# Apple plist format has a strict requirement that the version string
# contains up to 3 numerics separated by a dot. Meanwhile, FFmpeg versioning
# tends to use an 'n' prefix in their versioning. We use a regex to convert
# and verify the version string.
#
# https://developer.apple.com/documentation/bundleresources/information-property-list/cfbundleversion
local formatted_ffmpeg_version
if [[ $ffmpeg_version =~ ([0-9]+(\.[0-9]+){0,2}) ]]; then
formatted_ffmpeg_version="${BASH_REMATCH[1]}"
else
echo "Unable to format FFmpeg version string '$ffmpeg_version' into corresponding Apple Info.plist format"
exit 1
fi
local minimum_version_key="MinimumOSVersion"
local supported_platforms="iPhoneOS"
info_plist="<?xml version=\"1.0\" encoding=\"UTF-8\"?>
<!DOCTYPE plist PUBLIC \"-//Apple//DTD PLIST 1.0//EN\" \"http://www.apple.com/DTDs/PropertyList-1.0.dtd\">
<plist version=\"1.0\">
<dict>
<key>CFBundleDevelopmentRegion</key>
<string>en</string>
<key>CFBundleExecutable</key>
<string>${framework_name}</string>
<key>CFBundleIdentifier</key>
<string>${framework_id}</string>
<key>CFBundleInfoDictionaryVersion</key>
<string>6.0</string>
<key>CFBundleName</key>
<string>${framework_name}</string>
<key>CFBundlePackageType</key>
<string>FMWK</string>
<key>CFBundleShortVersionString</key>
<string>${formatted_ffmpeg_version}</string>
<key>CFBundleVersion</key>
<string>${formatted_ffmpeg_version}</string>
<key>CFBundleSignature</key>
<string>????</string>
<key>${minimum_version_key}</key>
<string>${MINIMUM_IOS_VERSION}</string>
<key>CFBundleSupportedPlatforms</key>
<array>
<string>${supported_platforms}</string>
</array>
<key>NSPrincipalClass</key>
<string></string>
</dict>
</plist>"
echo $info_plist | sudo tee ${file_path} 1>/dev/null
}
# Create a 'traditional' framework from the corresponding dylib.
# This includes creating a folder for it, and inserting Info.plist
# and dylib. We also patch runpaths in the dylib to match the
# frameworks directory structure.
#
# There is no command-line tool for generating .framework
# files. By inspecting .frameworks generated through Xcode, we
# have found they are primarily a directory with a very specific
# layout. The code below generates a matching layout.
#
# See https://developer.apple.com/library/archive/documentation/MacOSX/Conceptual/BPFrameworks/Frameworks.html
create_framework() {
local ffmpeg_component_name="$1"
local platform="$2"
local ffmpeg_build_path="${ffmpeg_source_dir}/build_ios/${platform}/installed/${prefix}"
local ffmpeg_component_src_dylib="${ffmpeg_build_path}/lib/${ffmpeg_component_name}.dylib"
local ffmpeg_component_framework="${ffmpeg_build_path}/framework/${ffmpeg_component_name}.framework"
local ffmpeg_component_target_dylib="${ffmpeg_component_framework}/${ffmpeg_component_name}"
# Make directory for the .framework
sudo mkdir -p "${ffmpeg_component_framework}"
# Inser the Info.plist
build_info_plist \
"${ffmpeg_component_framework}/Info.plist" \
"${ffmpeg_component_name}" \
"io.qt.ffmpegkit.${ffmpeg_component_name}"
# Copy in the dylib
sudo cp \
"${ffmpeg_component_src_dylib}" \
"${ffmpeg_component_target_dylib}"
# By default, runpaths will look for FFmpeg dependencies in
# '@rpath/libavcodec.xx.yy.dylib'. We want this path to be in the form
# '@rpath/libavcodec.framework/libavcodec.dylib'.
# Set the dylibs self-identity
sudo install_name_tool \
-id "@rpath/${ffmpeg_component_name}.framework/${ffmpeg_component_name}" \
"${ffmpeg_component_target_dylib}"
# Update the runpaths for each FFmpeg dependency entry
otool -L "$ffmpeg_component_target_dylib" \
| tail -n +2 \
| awk '{print $1}' \
| while read -r dep; do
# Go through all dependency entries of this .dylib,
# see if they point to a FFmpeg component. If it does,
# modify the entry to match the final
# directory structure.
for ffdep in $ffmpeg_components; do
if [[ "$dep" == */${ffdep}.* ]]; then
echo "Rewriting dependency: $dep -> @rpath/${ffdep}.framework/${ffdep}"
sudo install_name_tool -change \
"$dep" \
"@rpath/${ffdep}.framework/${ffdep}" \
"$ffmpeg_component_target_dylib"
fi
done
done
}
# dSYM symbols must be generated manually, these are required for
# App Store deployment. We generate them from the .dylibs inside
# our .frameworks. This has to be done after patching the runpaths.
# At the end, we strip the dylib.
create_dsym() {
local ffmpeg_component_name="$1"
local platform="$2"
local ffmpeg_build_path="${ffmpeg_source_dir}/build_ios/${platform}/installed/${prefix}"
local target_dylib="${ffmpeg_build_path}/framework/${ffmpeg_component_name}.framework/${ffmpeg_component_name}"
sudo dsymutil "${target_dylib}" \
-o "${ffmpeg_build_path}/framework/${ffmpeg_component_name}.framework.dSYM"
local target_sdk;
target_sdk=$(target_platform_to_sdk "${platform}")
local strip;
strip="$(xcrun -f --sdk ${target_sdk} strip)"
sudo ${strip} -x "${target_dylib}"
}
create_xcframework() {
# Create 'traditional' framework from the corresponding dylib,
# also creating
local framework_name="$1"
local target_platform_a="$2"
local target_platform_b="$3"
local platform_a_build="${ffmpeg_source_dir}/build_ios/${target_platform_a}/installed/${prefix}"
local fw_a="${platform_a_build}/framework/${framework_name}.framework"
local dsym_a="${fw_a}.dSYM"
local platform_b_build="${ffmpeg_source_dir}/build_ios/${target_platform_b}/installed/${prefix}"
local fw_b="${platform_b_build}/framework/${framework_name}.framework"
local dsym_b="${fw_b}.dSYM"
sudo mkdir -p "$prefix/lib/"
sudo xcodebuild -create-xcframework \
-framework "$fw_a" -debug-symbols "$dsym_a" \
-framework $fw_b -debug-symbols "$dsym_b" \
-output "${prefix}/lib/${framework_name}.xcframework"
}
build_ffmpeg_ios "arm64-iphoneos"
build_ffmpeg_ios "x86_64-simulator"
for name in $ffmpeg_components; do
create_framework "$name" "arm64-iphoneos"
create_framework "$name" "x86_64-simulator"
create_dsym "$name" "arm64-iphoneos"
create_dsym "$name" "x86_64-simulator"
done
# Create corresponding xcframeworks containing both arm64 and x86_64-simulator frameworks:
for name in $ffmpeg_components; do
create_xcframework "$name" "arm64-iphoneos" "x86_64-simulator"
done
# xcframeworks are already installed directly into the target output directory.
# We need to install headers
sudo cp -r "${ffmpeg_source_dir}/build_ios/arm64-iphoneos/installed/${prefix}/include" "$prefix"
set_ffmpeg_dir_env_var "FFMPEG_DIR_IOS" "$prefix"

View File

@@ -9,12 +9,12 @@ set -ex
source "${BASH_SOURCE%/*}/../unix/DownloadURL.sh"
echo "Installing Java Development Kit"
version=21.0.9
version=17.0.12
targetFile=jdk-${version}_macos-x64_bin.dmg
expectedHash="3df8761bfba8d6a4633ecc92f1eff0a58d79c304"
expectedHash="6fba2fbe5d181bd2ef7fd79e0335278c13f611cb"
url=ci-files01-hki.ci.qt.io:/hdd/www/input/mac
# url_alt=https://download.oracle.com/java/21/archive/jdk-21.0.8_macos-x64_bin.dmg
# url_alt=https://www.oracle.com/java/technologies/downloads/#jdk17-mac
echo "Mounting $targetFile"
sudo mkdir -p /Volumes/files

View File

@@ -8,10 +8,10 @@ set -ex
echo "Installing Java Development Kit"
targetFile=zulu21.46.19-ca-jdk21.0.9-macosx_aarch64.dmg
targetFile=zulu17.54.21-ca-jdk17.0.13-macosx_aarch64.dmg
url=ci-files01-hki.ci.qt.io:/hdd/www/input/mac
# url_alt=https://cdn.azul.com/zulu/bin/zulu21.46.19-ca-jdk21.0.9-macosx_aarch64.dmg
# url_alt=https://cdn.azul.com/zulu/bin/zulu17.54.21-ca-jdk17.0.13-macosx_aarch64.dmg
echo "Mounting $targetFile"
sudo mkdir -p /Volumes/files
@@ -22,12 +22,12 @@ sudo umount /Volumes/files
sudo hdiutil attach "/tmp/$targetFile"
echo Installing JDK
cd /Volumes/Azul\ Zulu\ JDK\ 21.46+19 && sudo installer -pkg Double-Click\ to\ Install\ Azul\ Zulu\ JDK\ 21.pkg -target /
cd /Volumes/Azul\ Zulu\ JDK\ 17.54+21 && sudo installer -pkg Double-Click\ to\ Install\ Azul\ Zulu\ JDK\ 17.pkg -target /
echo "Unmounting $targetFile"
sudo hdiutil unmount /Volumes/Azul\ Zulu\ JDK\ 21.46+19 -force
sudo hdiutil unmount /Volumes/Azul\ Zulu\ JDK\ 17.54+21 -force
echo "Disable auto update"
sudo defaults write /Library/Preferences/com.oracle.java.Java-Updater JavaAutoUpdateEnabled -bool false
echo "JDK Version = 21.0.9" >> ~/versions.txt
echo "JDK Version = 17.0.13" >> ~/versions.txt

View File

@@ -7,7 +7,6 @@ set -euox pipefail
lib_dir="$1/lib"
additional_suffix="${2:-}"
set_rpath="${3:-yes}"
page_size="${4:-}"
# readelf and patchelf are prerequisite tools for this script. Check
# that they are available.
@@ -82,12 +81,7 @@ for lib_name in "${ffmpeg_libs[@]}"; do
stub_name="${stub_name%%.*}${additional_suffix}.${stub_name#*.}" # Add additional_suffix
fi
additional_command_args=""
if [ -n "$page_size" ]; then
additional_command_args+="--page-size ${page_size}"
fi
patchelf ${additional_command_args} --replace-needed "${BASH_REMATCH[1]}" "${stub_name}" "$lib_path"
patchelf --replace-needed "${BASH_REMATCH[1]}" "${stub_name}" "$lib_path"
fi
done <<< "$(read_needed_deps)"

View File

@@ -4,5 +4,4 @@ ntia-conformance-checker ; python_version >= '3.9'
sbomaudit ; python_version >= '3.9'
sbom2doc ; python_version >= '3.9'
reuse<=5.1.1 ; python_version >= '3.9'
cyclonedx-python-lib==11.5.0 ; python_version >= '3.9'
jsonschema>=4.20 ; python_version >= '3.12'
cyclonedx-python-lib==11.0.0 ; python_version >= '3.9'

View File

@@ -1,10 +1,5 @@
FROM ubuntu:16.04
ARG COIN_RUNS_IN_QT_COMPANY
RUN test x"$COIN_RUNS_IN_QT_COMPANY" = xtrue \
&& { printf '%s\n' \
'deb [arch=amd64 trusted=yes] http://repo-clones-apt.ci.qt.io:8080 xenial-amd64 main restricted universe multiverse' \
'deb [arch=amd64 trusted=yes] http://repo-clones-apt.ci.qt.io:8080 xenial-updates-amd64 main restricted universe multiverse' \
'deb [arch=amd64 trusted=yes] http://repo-clones-apt.ci.qt.io:8080 xenial-backports-amd64 main restricted universe' \
'deb [arch=amd64 trusted=yes] http://repo-clones-apt.ci.qt.io:8080 xenial-security-amd64 main restricted universe multiverse' \
> /etc/apt/sources.list; \
} \
RUN test x"$COIN_RUNS_IN_QT_COMPANY" = xtrue \
&& sed -i 's;\(archive\|security\)\.ubuntu\.com;repo-clones.ci.qt.io/apt-mirror/mirror;' /etc/apt/sources.list \
|| echo "Internal package repository not found. Using public repositories."

View File

@@ -1,10 +1,5 @@
FROM ubuntu:18.04
ARG COIN_RUNS_IN_QT_COMPANY
RUN test x"$COIN_RUNS_IN_QT_COMPANY" = xtrue \
&& { printf '%s\n' \
'deb [arch=amd64 trusted=yes] http://repo-clones-apt.ci.qt.io:8080 bionic-amd64 main restricted universe multiverse' \
'deb [arch=amd64 trusted=yes] http://repo-clones-apt.ci.qt.io:8080 bionic-updates-amd64 main restricted universe multiverse' \
'deb [arch=amd64 trusted=yes] http://repo-clones-apt.ci.qt.io:8080 bionic-backports-amd64 main restricted universe' \
'deb [arch=amd64 trusted=yes] http://repo-clones-apt.ci.qt.io:8080 bionic-security-amd64 main restricted universe multiverse' \
> /etc/apt/sources.list; \
} \
RUN test x"$COIN_RUNS_IN_QT_COMPANY" = xtrue \
&& sed -i 's;\(archive\|security\)\.ubuntu\.com;repo-clones.ci.qt.io/apt-mirror/mirror;' /etc/apt/sources.list \
|| echo "Internal package repository not found. Using public repositories."

View File

@@ -116,7 +116,7 @@ set_common_environment () {
CMD_INSTALL="sudo install"
COIN_RUNS_IN_QT_COMPANY=false
if ping -c1 repo-clones-apt.ci.qt.io >/dev/null 2>&1
if ping -c1 repo-clones.ci.qt.io >/dev/null 2>&1
then
COIN_RUNS_IN_QT_COMPANY=true
fi

View File

@@ -3,12 +3,12 @@
# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
ffmpeg_version_default() {
echo "n7.1.3"
echo "n7.1.2"
}
download_ffmpeg() {
local version="${1:-$(ffmpeg_version_default)}"
local sha1="${2:-27051817deec88bed3b9652d49f9127d22268d83}"
local sha1="${2:-1e4e937facdbde15943dd093121836bf69f27c7c}"
local ffmpeg_name="FFmpeg-$version"
local target_dir="$HOME"

View File

@@ -24,46 +24,43 @@ assert_envvar_is_populated_dir() {
}
build_ffmpeg_android() {
local target_dir=$1
local ndk_root=$2
local openssl_android_path=$3
local target_arch=$1
local target_dir=$2
local ndk_root=$3
local openssl_android_path=$4
sudo mkdir -p "$target_dir"
local openssl_include="$openssl_android_path/include"
local target_arch
local openssl_libs
local libs_prefix
local target_cpu
local target_toolchain_arch
if [ "$os" == "android-x86" ]; then
target_toolchain_arch="i686-linux-android"
target_arch=x86
target_cpu=i686
openssl_libs="$openssl_android_path/x86"
libs_prefix="_x86"
elif [ "$os" == "android-x86_64" ]; then
if [ "$target_arch" == "x86_64" ]; then
target_toolchain_arch="x86_64-linux-android"
target_arch=x86_64
target_cpu=x86-64
openssl_libs="$openssl_android_path/x86_64"
libs_prefix="_x86_64"
elif [ "$os" == "android-arm32" ]; then
elif [ "$target_arch" == "x86" ]; then
target_toolchain_arch="i686-linux-android"
target_arch=x86
target_cpu=i686
openssl_libs="$openssl_android_path/x86"
libs_prefix="_x86"
elif [ "$target_arch" == "arm32" ]; then
target_toolchain_arch="armv7a-linux-androideabi"
target_arch=arm
target_cpu=armv7-a
openssl_libs="$openssl_android_path/armeabi-v7a"
libs_prefix="_arm32-v7a"
elif [ "$os" == "android-arm64" ]; then
elif [ "$target_arch" == "arm64" ]; then
target_toolchain_arch="aarch64-linux-android"
target_arch=aarch64
target_cpu=armv8-a
openssl_libs="$openssl_android_path/arm64-v8a"
libs_prefix="_arm64-v8a"
else
>&2 echo "Unhandled android os param: $os"
exit 1
fi
ln -Ffs "${openssl_libs}/libcrypto_3.so" "${openssl_libs}/libcrypto.so"
@@ -85,13 +82,12 @@ build_ffmpeg_android() {
local cc=${toolchain_bin}/${target_toolchain_arch}${api_version}-clang
local ar=${toolchain_bin}/llvm-ar
local ranlib=${toolchain_bin}/llvm-ranlib
local strip=${toolchain_bin}/llvm-strip
local ffmpeg_config_options
ffmpeg_config_options=$(get_ffmpeg_config_options $build_type)
ffmpeg_config_options+=" --enable-cross-compile --target-os=android --enable-jni --enable-mediacodec --enable-openssl --enable-pthreads --enable-neon --disable-asm --disable-indev=android_camera"
ffmpeg_config_options+=" --arch=$target_arch --cpu=${target_cpu} --sysroot=${sysroot} --sysinclude=${sysroot}/usr/include/"
ffmpeg_config_options+=" --cc=${cc} --cxx=${cxx} --ar=${ar} --ranlib=${ranlib} --strip=${strip}"
ffmpeg_config_options+=" --cc=${cc} --cxx=${cxx} --ar=${ar} --ranlib=${ranlib}"
ffmpeg_config_options+=" --extra-cflags=-I${openssl_include} --extra-ldflags=-L${openssl_libs}"
if [ $page_size == "use_16kb_page_size" ]; then
ffmpeg_config_options+=" --extra-ldflags=-Wl,-z,max-page-size=16384"
@@ -119,35 +115,33 @@ build_ffmpeg_android() {
if [[ "$build_type" == "shared" ]]; then
local fix_dependencies="${BASH_SOURCE%/*}/../shared/fix_ffmpeg_dependencies.sh"
local page_size_arg=""
if [ $page_size == "use_16kb_page_size" ]; then
page_size_arg="16384"
fi
sudo "${fix_dependencies}" "${target_dir}" "${libs_prefix}" "no" "$page_size_arg"
sudo "${fix_dependencies}" "${target_dir}" "${libs_prefix}" "no"
fi
}
if [ "$os" == "android-x86" ]; then
target_arch=x86
target_dir="/usr/local/android/ffmpeg-x86"
envvar_latest="FFMPEG_DIR_ANDROID_X86_NDK_LATEST"
envvar_nightly1="FFMPEG_DIR_ANDROID_X86_NDK_NIGHTLY1"
envvar_nightly2="FFMPEG_DIR_ANDROID_X86_NDK_NIGHTLY2"
envvar_preview="FFMPEG_DIR_ANDROID_X86_NDK_PREVIEW"
elif [ "$os" == "android-x86_64" ]; then
target_arch=x86_64
target_dir="/usr/local/android/ffmpeg-x86_64"
envvar_latest="FFMPEG_DIR_ANDROID_X86_64_NDK_LATEST"
envvar_nightly1="FFMPEG_DIR_ANDROID_X86_64_NDK_NIGHTLY1"
envvar_nightly2="FFMPEG_DIR_ANDROID_X86_64_NDK_NIGHTLY2"
envvar_preview="FFMPEG_DIR_ANDROID_X86_64_NDK_PREVIEW"
elif [ "$os" == "android-arm32" ]; then
target_arch=arm32
target_dir="/usr/local/android/ffmpeg-arm32"
envvar_latest="FFMPEG_DIR_ANDROID_ARM32_NDK_LATEST"
envvar_nightly1="FFMPEG_DIR_ANDROID_ARM32_NDK_NIGHTLY1"
envvar_nightly2="FFMPEG_DIR_ANDROID_ARM32_NDK_NIGHTLY2"
envvar_preview="FFMPEG_DIR_ANDROID_ARM32_NDK_PREVIEW"
elif [ "$os" == "android-arm64" ]; then
target_arch=arm64
target_dir="/usr/local/android/ffmpeg-arm64"
envvar_latest="FFMPEG_DIR_ANDROID_ARM64_NDK_LATEST"
envvar_nightly1="FFMPEG_DIR_ANDROID_ARM64_NDK_NIGHTLY1"
@@ -165,26 +159,26 @@ fi
assert_envvar_is_populated_dir "ANDROID_NDK_ROOT_LATEST"
assert_envvar_is_populated_dir "OPENSSL_ANDROID_HOME_LATEST"
build_ffmpeg_android "$target_dir/latest" "$ANDROID_NDK_ROOT_LATEST" "$OPENSSL_ANDROID_HOME_LATEST"
build_ffmpeg_android "$target_arch" "$target_dir/latest" "$ANDROID_NDK_ROOT_LATEST" "$OPENSSL_ANDROID_HOME_LATEST"
set_ffmpeg_dir_env_var "$envvar_latest" "$target_dir/latest"
if [ "${ANDROID_NDK_ROOT_PREVIEW}" ]; then
assert_envvar_is_populated_dir "ANDROID_NDK_ROOT_PREVIEW"
assert_envvar_is_populated_dir "OPENSSL_ANDROID_HOME_PREVIEW"
build_ffmpeg_android "$target_dir/preview" "$ANDROID_NDK_ROOT_PREVIEW" "$OPENSSL_ANDROID_HOME_PREVIEW"
build_ffmpeg_android "$target_arch" "$target_dir/preview" "$ANDROID_NDK_ROOT_PREVIEW" "$OPENSSL_ANDROID_HOME_PREVIEW"
set_ffmpeg_dir_env_var "$envvar_preview" "$target_dir/preview"
fi
if [ "${ANDROID_NDK_ROOT_NIGHTLY1}" ]; then
assert_envvar_is_populated_dir "ANDROID_NDK_ROOT_NIGHTLY1"
assert_envvar_is_populated_dir "OPENSSL_ANDROID_HOME_NIGHTLY1"
build_ffmpeg_android "$target_dir/nightly1" "$ANDROID_NDK_ROOT_NIGHTLY1" "$OPENSSL_ANDROID_HOME_NIGHTLY1"
build_ffmpeg_android "$target_arch" "$target_dir/nightly1" "$ANDROID_NDK_ROOT_NIGHTLY1" "$OPENSSL_ANDROID_HOME_NIGHTLY1"
set_ffmpeg_dir_env_var "$envvar_nightly1" "$target_dir/nightly1"
fi
if [ "${ANDROID_NDK_ROOT_NIGHTLY2}" ]; then
assert_envvar_is_populated_dir "ANDROID_NDK_ROOT_NIGHTLY2"
assert_envvar_is_populated_dir "OPENSSL_ANDROID_HOME_NIGHTLY2"
build_ffmpeg_android "$target_dir/nightly2" "$ANDROID_NDK_ROOT_NIGHTLY2" "$OPENSSL_ANDROID_HOME_NIGHTLY2"
build_ffmpeg_android "$target_arch" "$target_dir/nightly2" "$ANDROID_NDK_ROOT_NIGHTLY2" "$OPENSSL_ANDROID_HOME_NIGHTLY2"
set_ffmpeg_dir_env_var "$envvar_nightly2" "$target_dir/nightly2"
fi

View File

@@ -0,0 +1,184 @@
#!/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
# This script will build and install FFmpeg static libs
# Can take an optional final parameter to control installation directory
set -ex
# Must match or be lower than the minimum iOS version supported by the version of Qt that is
# is currently being built.
readonly MINIMUM_IOS_VERSION="16.0"
source "${BASH_SOURCE%/*}/../unix/ffmpeg-installation-utils.sh"
ffmpeg_version=$(ffmpeg_version_default)
ffmpeg_source_dir=$(download_ffmpeg)
ffmpeg_config_options=$(get_ffmpeg_config_options "shared")
default_prefix="/usr/local/ios/ffmpeg"
prefix="${1:-$default_prefix}"
dylib_regex="^@rpath/.*\.dylib$"
build_ffmpeg_ios() {
local target_platform=$1
local target_cpu_arch=""
if [ "$target_platform" == "arm64-simulator" ]; then
target_sdk="iphonesimulator"
target_cpu_arch="arm64"
minos="-mios-simulator-version-min=$MINIMUM_IOS_VERSION"
elif [ "$target_platform" == "x86_64-simulator" ]; then
target_sdk="iphonesimulator"
target_cpu_arch="x86_64"
minos="-mios-simulator-version-min=$MINIMUM_IOS_VERSION"
elif [ "$target_platform" == "arm64-iphoneos" ]; then
target_sdk="iphoneos"
target_cpu_arch="arm64"
minos="-miphoneos-version-min=$MINIMUM_IOS_VERSION"
else
echo "Error when building FFmpeg for iOS. Unknown parameter given for target_platform: '${target_platform}'"
exit 1
fi
local build_dir="$ffmpeg_source_dir/build_ios/$target_platform"
sudo mkdir -p "$build_dir"
pushd "$build_dir"
# shellcheck disable=SC2086
sudo "$ffmpeg_source_dir/configure" $ffmpeg_config_options \
--sysroot="$(xcrun --sdk "$target_sdk" --show-sdk-path)" \
--enable-cross-compile \
--enable-optimizations \
--prefix=$prefix \
--arch=$target_cpu_arch \
--cc="xcrun --sdk ${target_sdk} clang -arch $target_cpu_arch" \
--cxx="xcrun --sdk ${target_sdk} clang++ -arch $target_cpu_arch" \
--target-os=darwin \
--extra-ldflags="$minos" \
--enable-shared \
--disable-static \
--install-name-dir='@rpath' \
--disable-audiotoolbox
sudo make install DESTDIR="$build_dir/installed" -j4
popd
}
build_info_plist() {
local file_path="$1"
local framework_name="$2"
local framework_id="$3"
# Apple plist format has a strict requirement that the version string
# contains up to 3 numerics separated by a dot. Meanwhile, FFmpeg versioning
# tends to use an 'n' prefix in their versioning. We use a regex to convert
# and verify the version string.
#
# https://developer.apple.com/documentation/bundleresources/information-property-list/cfbundleversion
local formatted_ffmpeg_version
if [[ $ffmpeg_version =~ ([0-9]+(\.[0-9]+){0,2}) ]]; then
formatted_ffmpeg_version="${BASH_REMATCH[1]}"
else
echo "Unable to format FFmpeg version string '$ffmpeg_version' into corresponding Apple Info.plist format"
exit 1
fi
local minimum_version_key="MinimumOSVersion"
local supported_platforms="iPhoneOS"
info_plist="<?xml version=\"1.0\" encoding=\"UTF-8\"?>
<!DOCTYPE plist PUBLIC \"-//Apple//DTD PLIST 1.0//EN\" \"http://www.apple.com/DTDs/PropertyList-1.0.dtd\">
<plist version=\"1.0\">
<dict>
<key>CFBundleDevelopmentRegion</key>
<string>en</string>
<key>CFBundleExecutable</key>
<string>${framework_name}</string>
<key>CFBundleIdentifier</key>
<string>${framework_id}</string>
<key>CFBundleInfoDictionaryVersion</key>
<string>6.0</string>
<key>CFBundleName</key>
<string>${framework_name}</string>
<key>CFBundlePackageType</key>
<string>FMWK</string>
<key>CFBundleShortVersionString</key>
<string>${formatted_ffmpeg_version}</string>
<key>CFBundleVersion</key>
<string>${formatted_ffmpeg_version}</string>
<key>CFBundleSignature</key>
<string>????</string>
<key>${minimum_version_key}</key>
<string>${MINIMUM_IOS_VERSION}</string>
<key>CFBundleSupportedPlatforms</key>
<array>
<string>${supported_platforms}</string>
</array>
<key>NSPrincipalClass</key>
<string></string>
</dict>
</plist>"
echo $info_plist | sudo tee ${file_path} 1>/dev/null
}
create_framework() {
# Create a 'traditional' framework from the corresponding dylib.
local framework_name="$1"
local platform="$2" # For now it's either arm64, x86_64-simulator, see below.
local ffmpeg_library_path="$ffmpeg_source_dir/build_ios/${platform}/installed$prefix"
local framework_complete_path="${ffmpeg_library_path}/framework/${framework_name}.framework/${framework_name}"
sudo mkdir -p "${ffmpeg_library_path}/framework/${framework_name}.framework"
sudo cp "${ffmpeg_library_path}/lib/${framework_name}.dylib" "${ffmpeg_library_path}/framework/${framework_name}.framework/${framework_name}"
# Fix LC_ID_DYLIB (to be libavcodec.framework/libavcodec instead of @rpath/libavcodec.xx.yy.dylib
sudo install_name_tool -id @rpath/${framework_name}.framework/${framework_name} "${framework_complete_path}"
build_info_plist "${ffmpeg_library_path}/framework/${framework_name}.framework/Info.plist" "${framework_name}" "io.qt.ffmpegkit."${framework_name}
# Fix all FFmpeg-related LC_LOAD_DYLIB, similar to how we fixed LC_ID_DYLIB above:
otool -L "$framework_complete_path" | awk '/\t/ {print $1}' | egrep "$dylib_regex" | while read -r dependency_path; do
found_name=$(tmp=${dependency_path/*\/}; echo ${tmp/\.*})
if [ "$found_name" != "$framework_name" ]
then
sudo install_name_tool -change "$dependency_path" @rpath/${found_name}.framework/${found_name} "${framework_complete_path}"
fi
done
#sudo mkdir -p "$prefix/framework/"
#sudo cp -r "${ffmpeg_library_path}/framework/${framework_name}.framework" "$prefix/framework/"
}
create_xcframework() {
# Create 'traditional' framework from the corresponding dylib,
# also creating
local framework_name="$1"
local target_platform_a="$2"
local target_platform_b="$3"
local fw_a="$ffmpeg_source_dir/build_ios/${target_platform_a}/installed$prefix/framework/${framework_name}.framework"
local fw_b="$ffmpeg_source_dir/build_ios/${target_platform_b}/installed$prefix/framework/${framework_name}.framework"
sudo mkdir -p "$prefix/lib/"
sudo xcodebuild -create-xcframework -framework $fw_a -framework $fw_b -output "${prefix}/lib/${framework_name}.xcframework"
}
build_ffmpeg_ios "x86_64-simulator"
build_ffmpeg_ios "arm64-iphoneos"
ffmpeg_libs="libavcodec libavformat libavutil libswresample libswscale"
for name in $ffmpeg_libs; do
create_framework $name "arm64-iphoneos"
create_framework $name "x86_64-simulator"
done
# Create corresponding (xc)frameworks containing both arm64 and arm64-simulator frameworks:
for name in $ffmpeg_libs; do
create_xcframework $name "arm64-iphoneos" "x86_64-simulator"
done
# xcframeworks are already installed directly into the target output directory.
# We need to install headers
sudo cp -r "$ffmpeg_source_dir/build_ios/arm64-iphoneos/installed$prefix/include" $prefix
set_ffmpeg_dir_env_var "FFMPEG_DIR_IOS" $prefix

View File

@@ -37,7 +37,6 @@ if [[ "$os" == "linux" ]]; then
make && make install_sw install_ssldirs
SetEnvVar "OPENSSL_HOME" "$opensslHome"
SetEnvVar "PATH" "\"$opensslHome/bin:\$PATH\""
SetEnvVar "PKG_CONFIG_PATH" "\"$opensslHome/lib64/pkgconfig:\$PKG_CONFIG_PATH\""
if uname -a |grep -q "Debian"; then
SetEnvVar "LD_LIBRARY_PATH" "\"$opensslHome/lib:$LD_LIBRARY_PATH\""
else

View File

@@ -63,7 +63,6 @@ cmake "$targetDir" -G"Ninja Multi-Config" \
-DCMAKE_POSITION_INDEPENDENT_CODE=ON \
-DCMAKE_CONFIGURATION_TYPES="Release;Debug;RelWithDebugInfo" \
-DCMAKE_INSTALL_PREFIX="$installPrefix" \
-DCMAKE_POLICY_VERSION_MINIMUM=3.5 \
"${extraCMakeArgs[@]}" \
"$extraOpenSslArg" \
-DgRPC_BUILD_TESTS=OFF \

View File

@@ -8,10 +8,10 @@
source "${BASH_SOURCE%/*}/DownloadURL.sh"
source "${BASH_SOURCE%/*}/SetEnvVar.sh"
version="7.18.0"
version="7.15.0"
PrimaryUrl="http://ci-files01-hki.ci.qt.io/input/qtopenapi/openapi_client_generators/openapi-generator-cli-$version.jar"
AltUrl="https://repo1.maven.org/maven2/org/openapitools/openapi-generator-cli/$version/openapi-generator-cli-$version.jar"
SHA1="8bd615a50b15ebf5be30e612af112526a6e81ac4"
SHA1="bb58e257f724fb46b7f2b309a9fa98e63fd7199f"
targetFolder="/opt/qt-openapi/"
targetFile="openapi-generator-cli.jar"

View File

@@ -16,7 +16,6 @@ source "${BASH_SOURCE%/*}/SetEnvVar.sh"
# shellcheck source=./DownloadURL.sh
source "${BASH_SOURCE%/*}/DownloadURL.sh"
zswitch=$1 # Since 7z 25.01 multi-hop symbolic links are restricted with -snl switch levels
version="20.1.3"
baseUrl="https://download.qt.io/development_releases/prebuilt/libclang"
cachedUrl="http://ci-files01-hki.ci.qt.io/input/libclang/dynamic"
@@ -41,7 +40,7 @@ DownloadURL "$url_cached" "$url" "$sha1" "$zip"
if command -v 7zr &> /dev/null; then
sudo 7zr x $zip -o/usr/local/
else
sudo 7z x $zswitch $zip -o/usr/local/
sudo 7z x $zip -o/usr/local/
fi
sudo mv /usr/local/libclang "$destination"
rm -rf $zip

View File

@@ -20,7 +20,6 @@ PROVISIONING_DIR="$(dirname "$0")/../../"
# shellcheck source=./common.sourced.sh
source "$PROVISIONING_DIR"/common/unix/common.sourced.sh
zswitch=$1 # Since 7z 25.01 multi-hop symbolic links are restricted with -snl switch levels
libclang_version="20.1.0"
if uname -a |grep -q Darwin; then
@@ -62,7 +61,7 @@ DownloadURL $url_cached $url $sha1 $zip
if command -v 7zr &> /dev/null; then
sudo 7zr x $zip -o/usr/local/
else
sudo 7z x $zswitch $zip -o/usr/local/
sudo 7z x $zip -o/usr/local/
fi
sudo mv /usr/local/libclang "$destination"
rm -rf $zip

View File

@@ -13,22 +13,18 @@ source "${BASH_SOURCE%/*}/../unix/SetEnvVar.sh"
sslVersionForLatest="3.0.7"
ndkVersionLatest="r27c"
featureSuffixLatest="_16kb"
prebuiltOpensslShaLatest="2cc15dd990460c2c7157ab257a47071fbd9e0ac8"
sslVersionForPreview="3.0.7"
ndkVersionPreview="r29-beta2"
featureSuffixPreview="_16kb"
prebuiltOpensslShaPreview="76c9788216440111be97ea1a63c4d8cd807baacd"
ndkVersionNightly1=$ndkVersionLatest
sslVersionForNightly1=$sslVersionForLatest
featureSuffixNightly1=""
prebuiltOpensslShaNightly1=$prebuiltOpensslShaLatest
ndkVersionNightly2=$ndkVersionLatest
sslVersionForNightly2=$sslVersionForLatest
featureSuffixNightly2=""
prebuiltOpensslShaNightly2=$prebuiltOpensslShaLatest
: <<'EOB' SOURCE BUILD INSTRUCTIONS - Openssl prebuilt was made using Android NDK r29-beta2
@@ -66,52 +62,38 @@ EOB
function InstallPrebuiltOpenssl() {
ndkVersion=$1
suffix=$2
sha=$3
sslVersion=$4
sha=$2
sslVersion=$3
renamed_root="${HOME}/prebuilt-openssl-${sslVersion}-for-android-ndk-${ndkVersion}${suffix}"
opensslHome="${HOME}/prebuilt-openssl-${sslVersion}-for-android-ndk-${ndkVersion}_16kb"
if [[ ! -d ${opensslHome} ]]; then
prebuiltUrl="http://ci-files01-hki.ci.qt.io/input/openssl/prebuilt-openssl-${sslVersion}-for-android-ndk-${ndkVersion}_16kb.zip"
targetFile="/tmp/prebuilt-openssl-${sslVersion}-for-android-ndk-${ndkVersion}_16kb.zip"
prebuiltUrl="http://ci-files01-hki.ci.qt.io/input/openssl/prebuilt-openssl-${sslVersion}-for-android-ndk-${ndkVersion}${suffix}.zip"
targetFile="/tmp/prebuilt-openssl-${sslVersion}-for-android-ndk-${ndkVersion}${suffix}.zip"
DownloadURL "$prebuiltUrl" "$prebuiltUrl" "$sha" "$targetFile"
tmp_extract="$(mktemp -d "${TMPDIR:-/tmp}/openssl-extract.XXXXXX")"
unzip -q -o "$targetFile" -d "$tmp_extract"
sudo rm -f "$targetFile"
# We assume there is only one top-level directory in the openssl zip
temp_openssl_root="$(find "$tmp_extract" -mindepth 1 -maxdepth 1 -type d | head -n 1)"
if [[ -z "$temp_openssl_root" ]]; then
echo "ERROR: Expected a single top-level directory in the archive, but none was found." >&2
return 1
DownloadURL "$prebuiltUrl" "$prebuiltUrl" "$sha" "$targetFile"
unzip -o "$targetFile" -d "${HOME}"
sudo rm -f "$targetFile"
fi
mv "$temp_openssl_root" "$renamed_root"
rm -rf "$tmp_extract"
opensslHome="${renamed_root}"
}
if [ "$ndkVersionNightly1" != "$ndkVersionLatest" ]; then
InstallPrebuiltOpenssl "$ndkVersionNightly1" "$featureSuffixNightly1" "$prebuiltOpensslShaNightly1" "$sslVersionForNightly1"
InstallPrebuiltOpenssl $ndkVersionNightly1 $prebuiltOpensslShaNightly1 $sslVersionForNightly1
SetEnvVar "OPENSSL_ANDROID_HOME_NIGHTLY1" "$opensslHome"
echo "OpenSSL for Android $ndkVersionNightly1 = $sslVersionForNightly1" >> ~/versions.txt
fi
if [ "$ndkVersionNightly2" != "$ndkVersionLatest" ]; then
InstallPrebuiltOpenssl "$ndkVersionNightly2" "$featureSuffixNightly2" "$prebuiltOpensslShaNightly2" "$sslVersionForNightly2"
InstallPrebuiltOpenssl $ndkVersionNightly2 $prebuiltOpensslShaNightly2 $sslVersionForNightly2
SetEnvVar "OPENSSL_ANDROID_HOME_NIGHTLY2" "$opensslHome"
echo "OpenSSL for Android $ndkVersionNightly2 = $sslVersionForNightly2" >> ~/versions.txt
fi
if [ "$ndkVersionPreview" != "$ndkVersionLatest" ]; then
InstallPrebuiltOpenssl "$ndkVersionPreview" "$featureSuffixPreview" "$prebuiltOpensslShaPreview" "$sslVersionForPreview"
InstallPrebuiltOpenssl $ndkVersionPreview $prebuiltOpensslShaPreview $sslVersionForPreview
SetEnvVar "OPENSSL_ANDROID_HOME_PREVIEW" "$opensslHome"
echo "OpenSSL for Android $ndkVersionPreview = $sslVersionForPreview" >> ~/versions.txt
fi
InstallPrebuiltOpenssl "$ndkVersionLatest" "$featureSuffixLatest" "$prebuiltOpensslShaLatest" "$sslVersionForLatest"
InstallPrebuiltOpenssl $ndkVersionLatest $prebuiltOpensslShaLatest $sslVersionForLatest
SetEnvVar "OPENSSL_ANDROID_HOME_LATEST" "$opensslHome"
echo "OpenSSL for Android $ndkVersionLatest = $sslVersionForLatest" >> ~/versions.txt

View File

@@ -7,9 +7,9 @@
# This script will install FFmpeg
$msys = "C:\Utils\msys64\usr\bin\bash"
$version="n7.1.3"
$version="n7.1.2"
$url_public="https://github.com/FFmpeg/FFmpeg/archive/refs/tags/$version.tar.gz"
$sha1="27051817deec88bed3b9652d49f9127d22268d83"
$sha1="1e4e937facdbde15943dd093121836bf69f27c7c"
$url_cached="http://ci-files01-hki.ci.qt.io/input/ffmpeg/$version.tar.gz"
$ffmpeg_name="FFmpeg-$version"

View File

@@ -4,31 +4,31 @@
. "$PSScriptRoot\helpers.ps1"
# This script will install Java SE
# https://www.oracle.com/java/technologies/javase/jdk21-archive-downloads.html
$version_major = "21"
# https://www.oracle.com/java/technologies/javase/jdk17-archive-downloads.html
$version_major = "17"
$cpu_arch = Get-CpuArchitecture
switch ($cpu_arch) {
arm64 {
$version = "21.0.9"
$version = "17.0.11"
$arch = "aarch64"
$sha1 = "293cca7b76e3280573061f53dbe41ced527e3b4d"
# Using Microsoft build https://aka.ms/download-jdk/ - no .msi available
$url_official = "https://aka.ms/download-jdk/microsoft-jdk-${version}-windows-${arch}.exe"
$url_cache = "\\ci-files01-hki.ci.qt.io\provisioning\windows\microsoft-jdk-${version}-windows-${arch}.exe"
$javaPackage = "C:\Windows\Temp\jdk-$version.exe"
$sha1 = "1c5984a185778ad91498b746e677d84e153d5918"
# Using Microsoft build version of OpenJDK from: https://learn.microsoft.com/en-us/java/openjdk/download
# as there are no available Windows ARM64 versions of JDK from Oracle
$url_official = "https://aka.ms/download-jdk/microsoft-jdk-${version}-windows-${arch}.msi"
$url_cache = "\\ci-files01-hki.ci.qt.io\provisioning\windows\microsoft-jdk-${version}-windows-${arch}.msi"
$javaPackage = "C:\Windows\Temp\jdk-$version.msi"
# Microsoft installer does not allow to override the installation path using the regular
# TARGETDIR or INSTALLDIR properties, so just hardcode the path that it uses
$installdir = "C:\Program Files\Microsoft\jdk-$version-hotspot"
$installdir = "C:\Program Files\Microsoft\jdk-17.0.11.9-hotspot"
Break
}
x64 {
$version = "21.0.9"
$version = "17.0.10"
$arch = "x64"
$sha1 = "b4b10fd43993650053c41f377af37b37a2267b74"
# Downloading from https://aka.ms/download-jdk/microsoft-jdk-21.0.9-windows-x64.exe
$url_official = "https://aka.ms/download-jdk/microsoft-jdk-${version}_windows-${arch}.exe"
$url_cache = "\\ci-files01-hki.ci.qt.io\provisioning\windows\microsoft-jdk-$version-windows-$arch.exe"
$sha1 = "d573091930076c3ffa9f74273cb41cb5c75c5400"
$url_official = "https://download.oracle.com/java/17/archive/jdk-${version}_windows-${arch}_bin.exe"
$url_cache = "\\ci-files01-hki.ci.qt.io\provisioning\windows\jdk-$version-windows-$arch.exe"
$javaPackage = "C:\Windows\Temp\jdk-$version.exe"
$installdir = "C:\Program Files\Java\jdk-$version_major"
Break
@@ -44,7 +44,7 @@ Download $url_official $url_cache $javaPackage
Verify-Checksum $javaPackage $sha1
if ($javaPackage.EndsWith(".exe")) {
Run-Executable "$javaPackage" "/SILENT /SUPPRESSMSGBOXES /ALLUSERS /DIR=`"$installdir`""
Run-Executable "$javaPackage" "/s SPONSORS=0"
} else {
Run-Executable "msiexec" "/quiet /i $javaPackage"
}

View File

@@ -54,9 +54,7 @@ installPackages+=(libgbm-dev)
installPackages+=(libxkbfile-dev)
installPackages+=(libxshmfence-dev)
installPackages+=(libxss-dev)
installPackages+=(rustc)
installPackages+=(bindgen)
installPackages+=(clang)
# installPackages+=(nodejs) too old
installPackages+=(python3-html5lib)
#
## Common event loop handling

View File

@@ -1,4 +0,0 @@
#!/bin/sh
sudo ethtool -K ens3 tso off
ethtool -k ens3 | grep tcp-segmentation-offload # Output: tcp-segmentation-offload: off

View File

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

View File

@@ -1,15 +0,0 @@
#!/usr/bin/env bash
# Copyright (C) 2026 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
curl --retry 5 --retry-delay 10 --retry-max-time 60 http://ci-files01-hki.ci.qt.io/input/semisecure/redhat_ak_all_versions_rhc.sh -o "/tmp/redhat_ak.sh" &>/dev/null
sudo chmod 755 /tmp/redhat_ak.sh
sudo /tmp/redhat_ak.sh
# refresh local certificates
sudo subscription-manager refresh
sudo rm -f /tmp/redhat_ak.sh

View File

@@ -1,11 +0,0 @@
#!/usr/bin/env bash
#Copyright (C) 2026 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
# Ipv6 link local becomes tentative and dadfailed if two systems has the same secret_key
# New unique secret key will be created automatically during start up.
# https://access.redhat.com/solutions/3553581
echo "Removing secret_key"
sudo rm -f "/var/lib/NetworkManager/secret_key"

View File

@@ -1,20 +0,0 @@
#!/usr/bin/env bash
# Copyright (C) 2026 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")
# shellcheck source=../common/shared/network_test_server_ip.txt
source "$BASEDIR/../common/shared/network_test_server_ip.txt"
echo "Set Network Test Server address to $network_test_server_ip in /etc/hosts"
echo "$network_test_server_ip qt-test-server qt-test-server.qt-test-net" | sudo tee -a /etc/hosts
# Set timezone to UTC.
sudo timedatectl set-timezone Etc/UTC
"$BASEDIR/../common/linux/configure-gnome-shell.sh"
echo "Disable windows key from showing the GNOME Shell Activities overlay"
gsettings set org.gnome.mutter overlay-key ""

View File

@@ -1,10 +0,0 @@
#!/usr/bin/env bash
# Copyright (C) 2026 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
# Install xcb-util-cursor* libraries before updating repos. In updated repos these libraries are no longer available.
# QTQAINFRA-6325
sudo yum -y install xcb-util-cursor
sudo yum -y install xcb-util-cursor-devel

View File

@@ -1,62 +0,0 @@
#!/usr/bin/env bash
# Copyright (C) 2026 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
echo "set WritePreparedUpdates=false" | sudo tee -a /etc/PackageKit/PackageKit.conf
sudo systemctl stop packagekit
sudo systemctl mask --now packagekit
while sudo fuser /usr/libexec/packagekitd >/dev/null 2>&1; do
echo "Waiting for PackageKit to finish..."
sleep 1
sudo systemctl stop packagekit
done
sudo yum -y remove PackageKit gnome-software
sudo subscription-manager config --rhsm.manage_repos=0
sudo subscription-manager refresh
# List available RHEL versions and bind with correct one
sudo subscription-manager release --list
# Do not update Tier 1 via GUI without using this same --set
# - To avoid System to have newer packages than RPMS which will cause update issues
sudo subscription-manager release --set=10.0
sudo yum clean all
sudo tee "/etc/yum.repos.d/local.repo" > /dev/null <<EOC
[rhel-10-for-x86_64-baseos-rpms]
metadata_expire = 86400
baseurl = http://repo-clones-rhel10.ci.qt.io/rhel-10-for-x86_64-baseos-rpms
ui_repoid_vars = releasever basearch
name = Qt Red Hat Enterprise Linux 10 Base OS (RPMs)
gpgkey = file:///etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-release
enabled = 1
gpgcheck = 1
[rhel-10-for-x86_64-appstream-rpms]
metadata_expire = 86400
baseurl = http://repo-clones-rhel10.ci.qt.io/rhel-10-for-x86_64-appstream-rpms
ui_repoid_vars = releasever basearch
name = Qt Red Hat Enterprise Linux 10 Appstream (RPMs)
gpgkey = file:///etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-release
enabled = 1
gpgcheck = 1
[codeready-builder-for-rhel-10-x86_64-rpms]
metadata_expire = 86400
baseurl = http://repo-clones-rhel10.ci.qt.io/codeready-builder-for-rhel-10-x86_64-rpms
ui_repoid_vars = releasever basearch
name = Qt Red Hat Enterprise Linux Codeready Builder (RPMs)
gpgkey = file:///etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-release
enabled = 1
gpgcheck = 1
EOC
# Epel is required for 'double-conversion-devel', 'libsqlite3x' and 'p7zip'
sudo dnf install -y https://dl.fedoraproject.org/pub/epel/epel-release-latest-10.noarch.rpm
sudo yum clean all
# As well as this fetching the repository data, we also get a printout of the used repos
sudo yum repolist

View File

@@ -1,8 +0,0 @@
#!/usr/bin/env bash
# Copyright (C) 2026 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/limit-avahi-interfaces.sh"

View File

@@ -1,206 +0,0 @@
#!/usr/bin/env bash
# Copyright (C) 2026 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
# Remove update notifications and packagekit running in the background
sudo yum -y remove PackageKit gnome-software
# CI: All platforms should have up-to-date packages when new provision is made
sudo yum -y update
installPackages=()
# Make sure needed ca-certificates are available
installPackages+=(ca-certificates)
installPackages+=(git)
installPackages+=(zlib-devel)
installPackages+=(glib2-devel)
installPackages+=(openssl-devel)
installPackages+=(freetype-devel)
installPackages+=(fontconfig-devel)
installPackages+=(curl-devel)
installPackages+=(expat-devel)
installPackages+=(gettext-devel)
installPackages+=(perl-devel)
# Required by some old pkg perl script, FindBin.pm was moved to new package in perl 5.32
installPackages+=(perl-FindBin)
installPackages+=(dh-autoreconf)
# cmake build
installPackages+=(ninja-build)
installPackages+=(pcre2-devel)
installPackages+=(double-conversion-devel)
installPackages+=(zstd)
installPackages+=(libzstd-devel)
# EGL support
installPackages+=(mesa-libEGL)
installPackages+=(libxkbfile-devel)
# Xinput2
installPackages+=(libXi-devel)
installPackages+=(mariadb-server)
installPackages+=(mariadb)
installPackages+=(mariadb-devel)
installPackages+=(postgresql-devel)
installPackages+=(cups-devel)
installPackages+=(dbus-devel)
# gstreamer 1 for QtMultimedia
# Note! gstreamer1-plugins-bad-free needs to be upgraded or it will conflicts with gstreamer1-plugins-base-devel
installPackages+=(gstreamer1-plugins-bad-free)
installPackages+=(gstreamer1-devel)
installPackages+=(gstreamer1-plugins-base-devel)
# Not available for RHEL 10.0
#installPackages+=(gstreamer1-plugin-openh264)
# pipewire for QtMultimedia
installPackages+=(pipewire-devel)
# yasm for QtMultimedia
installPackages+=(yasm)
# gtk3 style for QtGui/QStyle
installPackages+=(gtk3-devel)
# libusb1 for tqtc-boot2qt/qdb
installPackages+=(libusbx-devel)
# speech-dispatcher-devel / flite-devel for QtSpeech
installPackages+=(speech-dispatcher-devel)
installPackages+=(flite-devel)
# Python 2 devel and pip. python-pip requires the EPEL repository to be added
# Python 2 no longer supported
# installPackages+=(python2-devel python2-pip)
# Python 3 with python-devel, pip and virtualenv
installPackages+=(python3)
installPackages+=(python3-devel)
# WebEngine
installPackages+=(bison)
installPackages+=(flex)
installPackages+=(gperftools-libs)
installPackages+=(gperf)
installPackages+=(alsa-lib-devel)
installPackages+=(pulseaudio-libs-devel)
installPackages+=(libdrm-devel)
installPackages+=(libva-devel)
installPackages+=(libXtst-devel)
installPackages+=(libxshmfence-devel)
installPackages+=(nspr-devel)
installPackages+=(nss-devel)
installPackages+=(python3-html5lib)
installPackages+=(libstdc++-static)
# For Android builds
#installPackages+=(java-21-openjdk-devel.21.0.9.0.10-1.el10)
installPackages+=(java-21-openjdk-devel)
# For receiving shasum
installPackages+=(perl-Digest-SHA)
# INTEGRITY requirements
# Not available for RHEL 10.0
#installPackages+=(glibc.i686)
# Enable Qt Bluetooth
installPackages+=(bluez-libs-devel)
# QtNfc
installPackages+=(pcsc-lite-devel)
# QtWebKit
installPackages+=(libxml2-devel)
installPackages+=(libxslt-devel)
# For building Wayland from source
installPackages+=(libffi-devel)
# QtWayland
# installPackages+=(mesa-libwayland-egl)
# installPackages+=(mesa-libwayland-egl-devel)
installPackages+=(libwayland-egl)
installPackages+=(libwayland-client)
installPackages+=(libwayland-cursor)
installPackages+=(libwayland-server)
# Jenkins
installPackages+=(chrpath)
# libxkbcommon
installPackages+=(libxkbcommon-devel)
installPackages+=(libxkbcommon-x11-devel)
# xcb-util-* libraries
installPackages+=(xcb-util)
installPackages+=(xcb-util-devel)
installPackages+=(xcb-util-image-devel)
installPackages+=(xcb-util-keysyms-devel)
installPackages+=(xcb-util-wm-devel)
installPackages+=(xcb-util-renderutil-devel)
installPackages+=(xcb-util-cursor)
installPackages+=(xcb-util-cursor-devel)
# ODBC support
installPackages+=(unixODBC-devel)
installPackages+=(unixODBC)
# Vulkan support
installPackages+=(vulkan-devel)
installPackages+=(vulkan-tools)
# Conan: For Python build
installPackages+=(xz-devel)
installPackages+=(zlib-devel)
installPackages+=(libffi-devel)
installPackages+=(libsqlite3x-devel)
# Build.pl
installPackages+=(perl-Data-Dumper)
# In RedHat these come with Devtoolset
installPackages+=(gcc)
installPackages+=(gcc-c++)
installPackages+=(make)
# RHEL 10.0 has newer toolset
#installPackages+=(gcc-toolset-12)
# Open source VMware Tools
installPackages+=(open-vm-tools)
# nfs-utils is needed to make mount work with ci-files01
installPackages+=(nfs-utils)
# cifs-utils, for mounting smb drive
installPackages+=(keyutils)
installPackages+=(cifs-utils)
# zip, needed for vcpkg caching
installPackages+=(zip)
# OpenSSL requirement, built by vcpkg
installPackages+=(perl-IPC-Cmd)
# password management support for Qt Creator
installPackages+=(libsecret-devel)
# For Firebird in RTA
installPackages+=(libtommath-devel)
# For tst_license.pl with all the machines generating SBOM
installPackages+=(perl-JSON)
installPackages+=(perl-Test-Simple) # To install Test::More module for SBOM
# For qtgrpc build
installPackages+=(zlib-static)
sudo yum -y install "${installPackages[@]}"
sudo dnf install nodejs-22.19.0-2.el10_0 -y
# Required by QtCore
sudo dnf install 'perl(English)' -y
# We shouldn't use yum to install virtualenv. The one found from package repo is not
# working, but we can use installed pip
sudo pip3 install --upgrade pip
# Configure pip
sudo pip config --user set global.index https://ci-files01-hki.ci.qt.io/input/python_module_cache
sudo pip config --user set global.extra-index-url https://pypi.org/simple/
# Create SBOM virtual env compatible with RHEL 10.0 Python 3.12
mkdir "/home/qt/sbom/"
python3 -m venv /home/qt/sbom/venv
/home/qt/sbom/venv/bin/pip install wheel
/home/qt/sbom/venv/bin/pip install -r "${BASH_SOURCE%/*}/../common/shared/requirements.txt"
# Provisioning during installation says:
# 'The script sbom2doc is installed in '/usr/local/bin' which is not on PATH.'
# hence the explicit assignment to SBOM_PYTHON_APPS_PATH.
source "${BASH_SOURCE%/*}/../common/unix/SetEnvVar.sh"
SetEnvVar "SBOM_PYTHON_APPS_PATH" "/home/qt/sbom/venv/bin"
# Set SBOM_PYTHON_INTERP_PATH to Python3 instance which was used to install SBOM packages from requirements
SetEnvVar "SBOM_PYTHON_INTERP_PATH" "/home/qt/sbom/venv/bin"
# Make FindPython3.cmake to find python3
sudo ln -s /usr/bin/python3 /usr/local/bin/python3
gccVersion="$(gcc --version |grep -Eo '[0-9]+\.[0-9]+(\.[0-9]+)?' |head -n 1)"
echo "GCC = $gccVersion" >> versions.txt
glibcVersion="$(ldd --version |grep -Eo '[0-9]+\.[0-9]+(\.[0-9]+)?' |head -n 1)"
echo "glibc = $glibcVersion" >> versions.txt
OpenSSLVersion="$(openssl version |cut -b 9-14)"
echo "System's OpenSSL = $OpenSSLVersion" >> ~/versions.txt
# List all available updates
sudo yum -y list updates

View File

@@ -1,15 +0,0 @@
#!/usr/bin/env bash
# Copyright (C) 2026 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
source "${BASH_SOURCE%/*}/../common/unix/DownloadURL.sh"
set -ex
name="p7zip"
version="7-11"
sudo yum -y install "$name"
# Link 7za to 7z so we can use existing installation scripts
sudo ln -s /usr/bin/7za /usr/bin/7z
echo "$name = $version" >> ~/versions.txt

View File

@@ -1,5 +0,0 @@
#!/usr/bin/env bash
# Copyright (C) 2026 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
source "${BASH_SOURCE%/*}/../common/unix/install-patchelf.sh"

View File

@@ -1,8 +0,0 @@
#!/usr/bin/env bash
#Copyright (C) 2026 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")
# shellcheck source=../common/unix/libclang-dyn.sh
"$BASEDIR/../common/unix/libclang-dyn.sh" "-snld10"

View File

@@ -1,8 +0,0 @@
#!/usr/bin/env bash
#Copyright (C) 2026 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")
# shellcheck source=../common/unix/libclang.sh
"$BASEDIR/../common/unix/libclang.sh" "-snld10"

View File

@@ -1,8 +0,0 @@
#!/usr/bin/env bash
# Copyright (C) 2026 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

@@ -1,8 +0,0 @@
#!/usr/bin/env bash
# Copyright (C) 2026 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/disable_selinux.sh
source "${BASH_SOURCE%/*}/../common/linux/disable_selinux.sh"

View File

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

View File

@@ -1,6 +0,0 @@
#!/usr/bin/env bash
# Copyright (C) 2026 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/mqtt_broker.sh
source "${BASH_SOURCE%/*}/../common/unix/mqtt_broker.sh"

View File

@@ -1,45 +0,0 @@
#!/usr/bin/env bash
# Copyright (C) 2026 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"
icuLocation="/usr/lib64"
sha1="d2bbb7b2a9a9ee00dba5cc6a68137f6c8a98c27e"
baseBinaryPackageURL="http://ci-files01-hki.ci.qt.io/input/icu/$icuVersion/icu-linux-g++-Rhel8.6-x64.7z"
baseBinaryPackageExternalURL="http://master.qt.io/development_releases/prebuilt/icu/prebuilt/$icuVersion/icu-linux-g++-Rhel8.6-x64.7z"
sha1Dev="edc9cba31ffeac28bf7360c52b85b5e4d2f39043"
develPackageURL="http://ci-files01-hki.ci.qt.io/input/icu/$icuVersion/icu-linux-g++-Rhel8.6-x64-devel.7z"
develPackageExternalURL="http://master.qt.io/development_releases/prebuilt/icu/prebuilt/$icuVersion/icu-linux-g++-Rhel8.6-x64-devel.7z"
echo "Installing custom ICU $icuVersion $sha1 packages on RHEL to $icuLocation"
targetFile=$(mktemp)
DownloadURL "$baseBinaryPackageURL" "$baseBinaryPackageExternalURL" "$sha1" "$targetFile"
sudo 7z x -snld10 -y -o/usr/lib64 "$targetFile"
sudo rm "$targetFile"
echo "Installing custom ICU devel packages on RHEL"
tempDir=$(mktemp -d)
targetFile=$(mktemp)
DownloadURL "$develPackageURL" "$develPackageExternalURL" "$sha1Dev" "$targetFile"
7z x -snld10 -y -o"$tempDir" "$targetFile"
sudo cp -a "$tempDir"/lib/* /usr/lib64
sudo cp -a "$tempDir"/* /usr/
sudo rm "$targetFile"
sudo rm -fr "$tempDir"
sudo /sbin/ldconfig
echo "ICU = $icuVersion" >> ~/versions.txt

View File

@@ -1,8 +0,0 @@
#!/usr/bin/env bash
# Copyright (C) 2026 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

@@ -1,12 +0,0 @@
#!/usr/bin/env bash
# Copyright (C) 2026 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 CMake 3.6.2
set -ex
# CMake is needed for autotests that verify that Qt can be built with CMake
# shellcheck source=../common/linux/cmake_linux.sh
source "${BASH_SOURCE%/*}/../common/linux/cmake_linux.sh"

View File

@@ -1,8 +0,0 @@
#!/usr/bin/env bash
# Copyright (C) 2026 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-android-bundletool.sh
source "${BASH_SOURCE%/*}/../common/linux/install-android-bundletool.sh"

View File

@@ -1,7 +0,0 @@
#!/usr/bin/env bash
#Copyright (C) 2026 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
source "${BASH_SOURCE%/*}/../common/unix/install-golang.sh" "linux"

View File

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

View File

@@ -1,9 +0,0 @@
#!/usr/bin/env bash
# Copyright (C) 2026 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

@@ -1,10 +0,0 @@
#!/usr/bin/env bash
# Copyright (C) 2026 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 yum -y install qemu-guest-agent
sudo systemctl start qemu-guest-agent

View File

@@ -1,11 +0,0 @@
#!/usr/bin/env bash
# Copyright (C) 2026 Konstantin Tokarev <annulen@yandex.ru>
# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
set -ex
sudo yum -y install elfutils-libelf-devel
# shellcheck source=../common/linux/install_dwz.sh
source "${BASH_SOURCE%/*}/../common/linux/install_dwz.sh"

View File

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

View File

@@ -1,8 +0,0 @@
#!/usr/bin/env bash
# Copyright (C) 2026 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/install-firebird.sh"

View File

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

View File

@@ -1,8 +0,0 @@
#!/usr/bin/env bash
# Copyright (C) 2026 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/install-oracle.sh"

View File

@@ -1,8 +0,0 @@
#!/usr/bin/env bash
# Copyright (C) 2026 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" "rpm"

View File

@@ -1,8 +0,0 @@
#!/usr/bin/env bash
#Copyright (C) 2026 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

@@ -1,3 +0,0 @@
#!/usr/bin/env bash
BASEDIR=$(dirname "$0")
"$BASEDIR/../common/linux/install-network-test.sh" "--warn-only"

View File

@@ -1,17 +0,0 @@
#!/usr/bin/env bash
# Copyright (C) 2026 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 needs to be called last during provisioning so that the software information will show up last in provision log.
# Storage installed RPM packages information
set -ex
# shellcheck disable=SC2129
echo "*********************************************" >> ~/versions.txt
echo "***** All installed RPM packages *****" >> ~/versions.txt
rpm -q -a | sort >> ~/versions.txt
echo "*********************************************" >> ~/versions.txt
"$(dirname "$0")/../common/linux/version.sh"

View File

@@ -5,11 +5,14 @@
set -e
curl --retry 5 --retry-delay 10 --retry-max-time 60 http://ci-files01-hki.ci.qt.io/input/semisecure/redhat_ak_all_versions_rhc.sh -o "/tmp/redhat_ak.sh" &>/dev/null
curl --retry 5 --retry-delay 10 --retry-max-time 60 http://ci-files01-hki.ci.qt.io/input/semisecure/redhat_ak_all_versions.sh -o "/tmp/redhat_ak.sh" &>/dev/null
sudo chmod 755 /tmp/redhat_ak.sh
sudo /tmp/redhat_ak.sh
/tmp/redhat_ak.sh
# refresh local certificates
sudo subscription-manager refresh
# Attach available subscriptions to system. This is needed when subscriptions are renewed.
sudo subscription-manager attach --auto
sudo rm -f /tmp/redhat_ak.sh

View File

@@ -14,7 +14,7 @@ while sudo fuser /usr/libexec/packagekitd >/dev/null 2>&1; do
done
sudo yum -y remove PackageKit gnome-software
sudo subscription-manager config --rhsm.manage_repos=1
sudo subscription-manager config --rhsm.manage_repos=0
sudo subscription-manager refresh
# List available RHEL versions and bind with correct one
@@ -22,10 +22,35 @@ sudo subscription-manager release --list
sudo subscription-manager release --set=8.10
sudo yum clean all
# sudo yum config-manager --enable 'rhceph-4-tools-for-rhel-8-x86_64-rpms'
sudo yum config-manager --enable 'codeready-builder-for-rhel-8-x86_64-rpms'
sudo yum config-manager --enable 'rhel-8-for-x86_64-baseos-rpms'
sudo yum config-manager --enable 'rhel-8-for-x86_64-appstream-rpms'
sudo tee "/etc/yum.repos.d/local.repo" > /dev/null <<EOC
[rhel-8-for-x86_64-baseos-rpms]
metadata_expire = 86400
baseurl = http://repo-clones.ci.qt.io/repos/rhel-8-for-x86_64-baseos-rpms
ui_repoid_vars = releasever basearch
name = Qt Red Hat Enterprise Linux 8 Base OS (RPMs)
gpgkey = file:///etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-release
enabled = 1
gpgcheck = 1
[rhel-8-for-x86_64-appstream-rpms]
metadata_expire = 86400
baseurl = http://repo-clones.ci.qt.io/repos/rhel-8-for-x86_64-appstream-rpms
ui_repoid_vars = releasever basearch
name = Qt Red Hat Enterprise Linux 8 Appstream (RPMs)
gpgkey = file:///etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-release
enabled = 1
gpgcheck = 1
[codeready-builder-for-rhel-8-x86_64-rpms]
metadata_expire = 86400
baseurl = http://repo-clones.ci.qt.io/repos/codeready-builder-for-rhel-8-x86_64-rpms
ui_repoid_vars = releasever basearch
name = Qt Red Hat Enterprise Linux Codeready Builder (RPMs)
gpgkey = file:///etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-release
enabled = 1
gpgcheck = 1
EOC
# Epel is required for 'double-conversion-devel', 'libsqlite3x' and 'p7zip'
sudo dnf install -y https://dl.fedoraproject.org/pub/epel/epel-release-latest-8.noarch.rpm

View File

@@ -17,6 +17,8 @@ installPackages+=(ca-certificates)
installPackages+=(git)
installPackages+=(zlib-devel)
installPackages+=(glib2-devel)
installPackages+=(openssl3)
installPackages+=(openssl3-devel)
installPackages+=(freetype-devel)
installPackages+=(fontconfig-devel)
installPackages+=(curl-devel)
@@ -90,7 +92,7 @@ installPackages+=(nss-devel)
installPackages+=(libatomic)
installPackages+=(mesa-libgbm-devel-21.3.4-1.el8.x86_64)
# For Android builds
installPackages+=(java-21-openjdk-devel-21.0.9.0.10-1.el9)
installPackages+=(java-17-openjdk-devel-17.0.9.0.9)
# For receiving shasum
installPackages+=(perl-Digest-SHA)
# INTEGRITY requirements
@@ -189,5 +191,8 @@ echo "GCC = $gccVersion" >> versions.txt
glibcVersion="$(ldd --version |grep -Eo '[0-9]+\.[0-9]+(\.[0-9]+)?' |head -n 1)"
echo "glibc = $glibcVersion" >> versions.txt
OpenSSLVersion="$(openssl3 version |cut -b 9-14)"
echo "System's OpenSSL = $OpenSSLVersion" >> ~/versions.txt
# List all available updates
sudo yum -y list updates

View File

@@ -71,7 +71,7 @@ installPackages+=(nspr-devel)
installPackages+=(nss-devel)
installPackages+=(python3-html5lib)
# For Android builds
installPackages+=(java-21-openjdk-devel)
installPackages+=(java-11-openjdk-devel)
# For receiving shasum
installPackages+=(perl-Digest-SHA)
# INTEGRITY requirements

View File

@@ -5,11 +5,14 @@
set -e
curl --retry 5 --retry-delay 10 --retry-max-time 60 http://ci-files01-hki.ci.qt.io/input/semisecure/redhat_ak_all_versions_rhc.sh -o "/tmp/redhat_ak.sh" &>/dev/null
curl --retry 5 --retry-delay 10 --retry-max-time 60 http://ci-files01-hki.ci.qt.io/input/semisecure/redhat_ak_all_versions.sh -o "/tmp/redhat_ak.sh" &>/dev/null
sudo chmod 755 /tmp/redhat_ak.sh
sudo /tmp/redhat_ak.sh
/tmp/redhat_ak.sh
# refresh local certificates
sudo subscription-manager refresh
# Attach available subscriptions to system. This is needed when subscriptions are renewed.
sudo subscription-manager attach --auto
sudo rm -f /tmp/redhat_ak.sh

View File

@@ -9,7 +9,7 @@ sudo systemctl stop packagekit
sudo systemctl disable packagekit
sudo yum -y remove PackageKit gnome-software
sudo subscription-manager config --rhsm.manage_repos=1
sudo subscription-manager config --rhsm.manage_repos=0
sudo subscription-manager refresh
# List available RHEL versions and bind with correct one
@@ -17,10 +17,35 @@ sudo subscription-manager release --list
sudo subscription-manager release --set=8.4
sudo yum clean all
# sudo yum config-manager --enable 'rhceph-4-tools-for-rhel-8-x86_64-rpms'
sudo yum config-manager --enable 'codeready-builder-for-rhel-8-x86_64-rpms'
sudo yum config-manager --enable 'rhel-8-for-x86_64-baseos-rpms'
sudo yum config-manager --enable 'rhel-8-for-x86_64-appstream-rpms'
sudo tee "/etc/yum.repos.d/local.repo" > /dev/null <<EOC
[rhel-8-for-x86_64-baseos-rpms]
metadata_expire = 86400
baseurl = http://repo-clones.ci.qt.io/repos/rhel-8-for-x86_64-baseos-rpms
ui_repoid_vars = releasever basearch
name = Qt Red Hat Enterprise Linux 8 Base OS (RPMs)
gpgkey = file:///etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-release
enabled = 1
gpgcheck = 1
[rhel-8-for-x86_64-appstream-rpms]
metadata_expire = 86400
baseurl = http://repo-clones.ci.qt.io/repos/rhel-8-for-x86_64-appstream-rpms
ui_repoid_vars = releasever basearch
name = Qt Red Hat Enterprise Linux 8 Appstream (RPMs)
gpgkey = file:///etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-release
enabled = 1
gpgcheck = 1
[codeready-builder-for-rhel-8-x86_64-rpms]
metadata_expire = 86400
baseurl = http://repo-clones.ci.qt.io/repos/codeready-builder-for-rhel-8-x86_64-rpms
ui_repoid_vars = releasever basearch
name = Qt Red Hat Enterprise Linux Codeready Builder (RPMs)
gpgkey = file:///etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-release
enabled = 1
gpgcheck = 1
EOC
# Epel is required for 'double-conversion-devel', 'libsqlite3x' and 'p7zip'
sudo dnf install -y https://dl.fedoraproject.org/pub/epel/epel-release-latest-8.noarch.rpm

View File

@@ -81,7 +81,7 @@ installPackages+=(nss-devel)
installPackages+=(python3-html5lib)
installPackages+=(mesa-libgbm-devel)
# For Android builds
installPackages+=(java-21-openjdk-devel)
installPackages+=(java-11-openjdk-devel)
# For receiving shasum
installPackages+=(perl-Digest-SHA)
# INTEGRITY requirements

View File

@@ -5,11 +5,14 @@
set -e
curl --retry 5 --retry-delay 10 --retry-max-time 60 http://ci-files01-hki.ci.qt.io/input/semisecure/redhat_ak_all_versions_rhc.sh -o "/tmp/redhat_ak.sh" &>/dev/null
curl --retry 5 --retry-delay 10 --retry-max-time 60 http://ci-files01-hki.ci.qt.io/input/semisecure/redhat_ak_all_versions.sh -o "/tmp/redhat_ak.sh" &>/dev/null
sudo chmod 755 /tmp/redhat_ak.sh
sudo /tmp/redhat_ak.sh
/tmp/redhat_ak.sh
# refresh local certificates
sudo subscription-manager refresh
# Attach available subscriptions to system. This is needed when subscriptions are renewed.
sudo subscription-manager attach --auto
sudo rm -f /tmp/redhat_ak.sh

View File

@@ -90,7 +90,7 @@ installPackages+=(nspr-devel)
installPackages+=(nss-devel)
installPackages+=(python3-html5lib)
# For Android builds
installPackages+=(java-21-openjdk-devel)
installPackages+=(java-11-openjdk-devel-11.0.19.0.7)
# For receiving shasum
installPackages+=(perl-Digest-SHA)
# INTEGRITY requirements

View File

@@ -5,11 +5,14 @@
set -e
curl --retry 5 --retry-delay 10 --retry-max-time 60 http://ci-files01-hki.ci.qt.io/input/semisecure/redhat_ak_all_versions_rhc.sh -o "/tmp/redhat_ak.sh" &>/dev/null
curl --retry 5 --retry-delay 10 --retry-max-time 60 http://ci-files01-hki.ci.qt.io/input/semisecure/redhat_ak_all_versions.sh -o "/tmp/redhat_ak.sh" &>/dev/null
sudo chmod 755 /tmp/redhat_ak.sh
sudo /tmp/redhat_ak.sh
/tmp/redhat_ak.sh
# refresh local certificates
sudo subscription-manager refresh
# Attach available subscriptions to system. This is needed when subscriptions are renewed.
sudo subscription-manager attach --auto
sudo rm -f /tmp/redhat_ak.sh

View File

@@ -14,7 +14,7 @@ while sudo fuser /usr/libexec/packagekitd >/dev/null 2>&1; do
done
sudo yum -y remove PackageKit gnome-software
sudo subscription-manager config --rhsm.manage_repos=1
sudo subscription-manager config --rhsm.manage_repos=0
sudo subscription-manager refresh
# List available RHEL versions and bind with correct one
@@ -22,10 +22,35 @@ sudo subscription-manager release --list
sudo subscription-manager release --set=8.8
sudo yum clean all
# sudo yum config-manager --enable 'rhceph-4-tools-for-rhel-8-x86_64-rpms'
sudo yum config-manager --enable 'codeready-builder-for-rhel-8-x86_64-rpms'
sudo yum config-manager --enable 'rhel-8-for-x86_64-baseos-rpms'
sudo yum config-manager --enable 'rhel-8-for-x86_64-appstream-rpms'
sudo tee "/etc/yum.repos.d/local.repo" > /dev/null <<EOC
[rhel-8-for-x86_64-baseos-rpms]
metadata_expire = 86400
baseurl = http://repo-clones.ci.qt.io/repos/rhel-8-for-x86_64-baseos-rpms
ui_repoid_vars = releasever basearch
name = Qt Red Hat Enterprise Linux 8 Base OS (RPMs)
gpgkey = file:///etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-release
enabled = 1
gpgcheck = 1
[rhel-8-for-x86_64-appstream-rpms]
metadata_expire = 86400
baseurl = http://repo-clones.ci.qt.io/repos/rhel-8-for-x86_64-appstream-rpms
ui_repoid_vars = releasever basearch
name = Qt Red Hat Enterprise Linux 8 Appstream (RPMs)
gpgkey = file:///etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-release
enabled = 1
gpgcheck = 1
[codeready-builder-for-rhel-8-x86_64-rpms]
metadata_expire = 86400
baseurl = http://repo-clones.ci.qt.io/repos/codeready-builder-for-rhel-8-x86_64-rpms
ui_repoid_vars = releasever basearch
name = Qt Red Hat Enterprise Linux Codeready Builder (RPMs)
gpgkey = file:///etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-release
enabled = 1
gpgcheck = 1
EOC
# Epel is required for 'double-conversion-devel', 'libsqlite3x' and 'p7zip'
sudo dnf install -y https://dl.fedoraproject.org/pub/epel/epel-release-latest-8.noarch.rpm

View File

@@ -17,6 +17,8 @@ installPackages+=(ca-certificates)
installPackages+=(git)
installPackages+=(zlib-devel)
installPackages+=(glib2-devel)
installPackages+=(openssl3)
installPackages+=(openssl3-devel)
installPackages+=(freetype-devel)
installPackages+=(fontconfig-devel)
installPackages+=(curl-devel)
@@ -91,7 +93,7 @@ installPackages+=(python3-html5lib)
installPackages+=(libatomic)
installPackages+=(mesa-libgbm-devel-21.3.4-1.el8.x86_64)
# For Android builds
installPackages+=(java-21-openjdk-devel-21.0.9.0.10-1.el9)
installPackages+=(java-17-openjdk-devel-17.0.9.0.9)
# For receiving shasum
installPackages+=(perl-Digest-SHA)
# INTEGRITY requirements
@@ -182,5 +184,8 @@ echo "GCC = $gccVersion" >> versions.txt
glibcVersion="$(ldd --version |grep -Eo '[0-9]+\.[0-9]+(\.[0-9]+)?' |head -n 1)"
echo "glibc = $glibcVersion" >> versions.txt
OpenSSLVersion="$(openssl3 version |cut -b 9-14)"
echo "System's OpenSSL = $OpenSSLVersion" >> ~/versions.txt
# List all available updates
sudo yum -y list updates

View File

@@ -5,11 +5,14 @@
set -e
curl --retry 5 --retry-delay 10 --retry-max-time 60 http://ci-files01-hki.ci.qt.io/input/semisecure/redhat_ak_all_versions_rhc.sh -o "/tmp/redhat_ak.sh" &>/dev/null
curl --retry 5 --retry-delay 10 --retry-max-time 60 http://ci-files01-hki.ci.qt.io/input/semisecure/redhat_ak_all_versions.sh -o "/tmp/redhat_ak.sh" &>/dev/null
sudo chmod 755 /tmp/redhat_ak.sh
sudo /tmp/redhat_ak.sh
/tmp/redhat_ak.sh
# refresh local certificates
sudo subscription-manager refresh
# Attach available subscriptions to system. This is needed when subscriptions are renewed.
sudo subscription-manager attach --auto
sudo rm -f /tmp/redhat_ak.sh

View File

@@ -1,5 +1,5 @@
#!/usr/bin/env bash
# Copyright (C) 2026 The Qt Company Ltd.
# 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
@@ -13,7 +13,7 @@ while sudo fuser /usr/libexec/packagekitd >/dev/null 2>&1; do
done
sudo yum -y remove PackageKit gnome-software
sudo subscription-manager config --rhsm.manage_repos=0
sudo subscription-manager config --rhsm.manage_repos=1
sudo subscription-manager refresh
# List available RHEL versions and bind with correct one
@@ -21,35 +21,10 @@ sudo subscription-manager release --list
sudo subscription-manager release --set=9.0
sudo yum clean all
sudo tee "/etc/yum.repos.d/local.repo" > /dev/null <<EOC
[rhel-9-for-x86_64-baseos-rpms]
metadata_expire = 86400
baseurl = http://repo-clones-rhel9.ci.qt.io/rhel-9-for-x86_64-baseos-rpms
ui_repoid_vars = releasever basearch
name = Qt Red Hat Enterprise Linux 9 Base OS (RPMs)
gpgkey = file:///etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-release
enabled = 1
gpgcheck = 1
[rhel-9-for-x86_64-appstream-rpms]
metadata_expire = 86400
baseurl = http://repo-clones-rhel9.ci.qt.io/rhel-9-for-x86_64-appstream-rpms
ui_repoid_vars = releasever basearch
name = Qt Red Hat Enterprise Linux 9 Appstream (RPMs)
gpgkey = file:///etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-release
enabled = 1
gpgcheck = 1
[codeready-builder-for-rhel-9-x86_64-rpms]
metadata_expire = 86400
baseurl = http://repo-clones-rhel9.ci.qt.io/codeready-builder-for-rhel-9-x86_64-rpms
ui_repoid_vars = releasever basearch
name = Qt Red Hat Enterprise Linux Codeready Builder (RPMs)
gpgkey = file:///etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-release
enabled = 1
gpgcheck = 1
EOC
# sudo yum config-manager --enable 'rhceph-4-tools-for-rhel-8-x86_64-rpms'
sudo yum config-manager --enable 'codeready-builder-for-rhel-9-x86_64-rpms'
sudo yum config-manager --enable 'rhel-9-for-x86_64-baseos-rpms'
sudo yum config-manager --enable 'rhel-9-for-x86_64-appstream-rpms'
# Epel is required for 'double-conversion-devel', 'libsqlite3x' and 'p7zip'
sudo dnf install -y https://dl.fedoraproject.org/pub/epel/epel-release-latest-9.noarch.rpm

View File

@@ -83,7 +83,7 @@ installPackages+=(python3-html5lib)
installPackages+=(mesa-libgbm-devel-21.3.4-2.el9)
installPackages+=(libstdc++-static)
# For Android builds
installPackages+=(java-21-openjdk-devel-21.0.9.0.10-1.el9)
installPackages+=(java-17-openjdk-devel-17.0.9.0.9)
# For receiving shasum
installPackages+=(perl-Digest-SHA)
# INTEGRITY requirements

View File

@@ -5,11 +5,14 @@
set -e
curl --retry 5 --retry-delay 10 --retry-max-time 60 http://ci-files01-hki.ci.qt.io/input/semisecure/redhat_ak_all_versions_rhc.sh -o "/tmp/redhat_ak.sh" &>/dev/null
curl --retry 5 --retry-delay 10 --retry-max-time 60 http://ci-files01-hki.ci.qt.io/input/semisecure/redhat_ak_all_versions.sh -o "/tmp/redhat_ak.sh" &>/dev/null
sudo chmod 755 /tmp/redhat_ak.sh
sudo /tmp/redhat_ak.sh
/tmp/redhat_ak.sh
# refresh local certificates
sudo subscription-manager refresh
# Attach available subscriptions to system. This is needed when subscriptions are renewed.
sudo subscription-manager attach --auto
sudo rm -f /tmp/redhat_ak.sh

View File

@@ -1,5 +1,5 @@
#!/usr/bin/env bash
# Copyright (C) 2026 The Qt Company Ltd.
# 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
@@ -14,7 +14,7 @@ while sudo fuser /usr/libexec/packagekitd >/dev/null 2>&1; do
done
sudo yum -y remove PackageKit gnome-software
sudo subscription-manager config --rhsm.manage_repos=0
sudo subscription-manager config --rhsm.manage_repos=1
sudo subscription-manager refresh
# List available RHEL versions and bind with correct one
@@ -22,35 +22,10 @@ sudo subscription-manager release --list
sudo subscription-manager release --set=9.2
sudo yum clean all
sudo tee "/etc/yum.repos.d/local.repo" > /dev/null <<EOC
[rhel-9-for-x86_64-baseos-rpms]
metadata_expire = 86400
baseurl = http://repo-clones-rhel9.ci.qt.io/rhel-9-for-x86_64-baseos-rpms
ui_repoid_vars = releasever basearch
name = Qt Red Hat Enterprise Linux 9 Base OS (RPMs)
gpgkey = file:///etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-release
enabled = 1
gpgcheck = 1
[rhel-9-for-x86_64-appstream-rpms]
metadata_expire = 86400
baseurl = http://repo-clones-rhel9.ci.qt.io/rhel-9-for-x86_64-appstream-rpms
ui_repoid_vars = releasever basearch
name = Qt Red Hat Enterprise Linux 9 Appstream (RPMs)
gpgkey = file:///etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-release
enabled = 1
gpgcheck = 1
[codeready-builder-for-rhel-9-x86_64-rpms]
metadata_expire = 86400
baseurl = http://repo-clones-rhel9.ci.qt.io/codeready-builder-for-rhel-9-x86_64-rpms
ui_repoid_vars = releasever basearch
name = Qt Red Hat Enterprise Linux Codeready Builder (RPMs)
gpgkey = file:///etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-release
enabled = 1
gpgcheck = 1
EOC
# sudo yum config-manager --enable 'rhceph-4-tools-for-rhel-8-x86_64-rpms'
sudo yum config-manager --enable 'codeready-builder-for-rhel-9-x86_64-rpms'
sudo yum config-manager --enable 'rhel-9-for-x86_64-baseos-rpms'
sudo yum config-manager --enable 'rhel-9-for-x86_64-appstream-rpms'
# Epel is required for 'double-conversion-devel', 'libsqlite3x' and 'p7zip'
sudo dnf install -y https://dl.fedoraproject.org/pub/epel/epel-release-latest-9.noarch.rpm

View File

@@ -100,7 +100,7 @@ installPackages+=(python3-html5lib)
installPackages+=(libstdc++-static)
installPackages+=(mesa-libgbm-devel-21.3.4-2.el9.x86_64)
# For Android builds
installPackages+=(java-21-openjdk-devel-21.0.9.0.10-1.el9)
installPackages+=(java-17-openjdk-devel-17.0.9.0.9)
# For receiving shasum
installPackages+=(perl-Digest-SHA)
# INTEGRITY requirements

View File

@@ -5,11 +5,14 @@
set -e
curl --retry 5 --retry-delay 10 --retry-max-time 60 http://ci-files01-hki.ci.qt.io/input/semisecure/redhat_ak_all_versions_rhc.sh -o "/tmp/redhat_ak.sh" &>/dev/null
curl --retry 5 --retry-delay 10 --retry-max-time 60 http://ci-files01-hki.ci.qt.io/input/semisecure/redhat_ak_all_versions.sh -o "/tmp/redhat_ak.sh" &>/dev/null
sudo chmod 755 /tmp/redhat_ak.sh
sudo /tmp/redhat_ak.sh
/tmp/redhat_ak.sh
# refresh local certificates
sudo subscription-manager refresh
# Attach available subscriptions to system. This is needed when subscriptions are renewed.
sudo subscription-manager attach --auto
sudo rm -f /tmp/redhat_ak.sh

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