Compare commits

..

9 Commits

Author SHA1 Message Date
Qt Submodule Update Bot
1e75082933 Update submodules on '6.10.0 in qt/qt5'
Change-Id: I4cf3ffac9eb94f0532c28abb4fddd88faf05ac9a
Reviewed-by: Qt Submodule Update Bot <qt_submodule_update_bot@qt-project.org>
2025-09-18 04:04:30 +00:00
Qt Submodule Update Bot
e5006befd2 Update submodules on '6.10.0 in qt/qt5'
Change-Id: Ic02aa9bb91c3fceb9e2b8ac8017ced721c322a8e
Reviewed-by: Qt Submodule Update Bot <qt_submodule_update_bot@qt-project.org>
2025-09-16 17:00:08 +00:00
Jani Heikkinen
c48b48491c Update Qt3D manually
Change-Id: I02defad44504a8c264322a77cfcd73d01b54a53b
Reviewed-by: Antti Kokko <antti.kokko@qt.io>
2025-09-15 07:57:37 +03:00
Rami Potinkara
a7fd3442b4 Android: Fix Android 16 emulator CI start problems
This patch updates the fully booted check for Android.

Old logic used init.svc.bootanim property and it's status
"stopped", but since Android 16 forward the status is kept
empty "" if "-no-boot-anim" emulator startup parameter is used.

The new logic simplifies old and relies only to two values:
sys.boot_completed and dev.bootcomplete. These work similary
from Android 9 to 16.

Task-number: QTQAINFRA-7301
Task-number: QTQAINFRA-7298
Change-Id: I62efb0b05cd9792f92040dcb98a37f4bf14022e6
Reviewed-by: Dimitrios Apostolou <jimis@qt.io>
Reviewed-by: Assam Boudjelthia <assam.boudjelthia@qt.io>
Reviewed-by: Elias Toivola <elias.toivola@qt.io>
(cherry picked from commit 0eb085f93d)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
(cherry picked from commit 99ac2960f13106409ddd7f783b1ee43fd55711bc)
Reviewed-by: Jani Heikkinen <jani.heikkinen@qt.io>
2025-09-15 04:57:35 +00:00
Simo Fält
4a9b4db7ff COIN: Fix Debian with missing debootstrap key
Change-Id: I61f6a4834b034bb52323416499d71543f290ccf6
Reviewed-by: Jani Heikkinen <jani.heikkinen@qt.io>
(cherry picked from commit feffcade4be43e52b9521aac3e731aff4d994c4d)
Reviewed-by: Jukka Jokiniva <jukka.jokiniva@qt.io>
2025-09-15 04:57:31 +00:00
Aku Pietikäinen
464303d9fe Update homebrew to version 4.6.8 and git to latest installer
Change-Id: I2c13ce86b3aceae47afab7e1af1489c2d355aad2
Reviewed-by: Tero Heikkinen <tero.heikkinen@qt.io>
(cherry picked from commit ae2ae67c61)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
(cherry picked from commit 81c17fb547a9213929819381d01d34dbc760fd25)
Reviewed-by: Jukka Jokiniva <jukka.jokiniva@qt.io>
2025-09-15 04:57:28 +00:00
Assam Boudjelthia
2cfbd125b2 Android: update provisioning to Gradle 8.14.2 and AGP 8.10.1
Task-number: QTBUG-137782
Change-Id: I522a7179e1a0be7c7bb876d935fd02ef7e049475
Reviewed-by: Simo Fält <simo.falt@qt.io>
(cherry picked from commit 49be1e2f1186f484cc8675c9b156abd4fbaff097)
Reviewed-by: Jukka Jokiniva <jukka.jokiniva@qt.io>
2025-09-15 04:57:25 +00:00
Simo Fält
dc3b464f0d COIN: Fix Debian bookworm pgp key in Ubuntu 22.04 for debootstrap
Change-Id: Ie06c37987cf21ee0f8f60528af5d70cbf8b5490d
Reviewed-by: Jani Heikkinen <jani.heikkinen@qt.io>
(cherry picked from commit e6eaa4f3ef)
Reviewed-by: Simo Fält <simo.falt@qt.io>
2025-09-15 04:57:22 +00:00
Jani Heikkinen
e19a6280e8 Adjust submodule branches
Change-Id: Ida7bc557d9ebb819e6af4e08902b5912d1ea9e49
2025-09-08 06:02:55 +01:00
521 changed files with 1079 additions and 2317 deletions

86
.gitmodules vendored
View File

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

View File

@@ -104,9 +104,6 @@ AlignEscapedNewlines: Left
# initializer list in list-initialization.
SpaceBeforeCpp11BracedList: false
# Do not reflow any comment
ReflowComments: false
---
# Use the Google-based style for .proto files.
Language: Proto

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
#
@@ -437,19 +421,3 @@ function(qt_ir_get_option_as_cmake_flag_option cli_name cmake_option_name out_va
endif()
set(${out_var} "${cmake_option}" PARENT_SCOPE)
endfunction()
# Get the value of a command line option as existing absolute path.
# Yield error if the path does not exist.
# Convert to absolute path if necessary.
function(qt_ir_get_option_as_existing_absolute_path name value)
qt_ir_get_option_value("${name}" path)
if(NOT "${path}" STREQUAL "")
if(NOT EXISTS "${path}")
qt_ir_add_error("The path '${path}' passed with -${name} does not exist.")
endif()
if(NOT IS_ABSOLUTE "${path}")
get_filename_component(path "${path}" ABSOLUTE)
endif()
endif()
set("${value}" "${path}" PARENT_SCOPE)
endfunction()

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)
@@ -130,11 +110,6 @@ function(qt_ir_get_args_from_optfile_configure_filtered optfile_path out_var)
set(extra_configure_args "")
set(extra_cmake_args "")
# Collect modules to skip. These may come from:
# 1. The -skip option (consumed by init-repository's option parser)
# 2. Exclusion entries in -submodules/--module-subset (e.g. -qtfoo)
qt_ir_get_option_value(skip skip_modules)
# If the -submodules or --module-subset options were specified, transform
# the values into something configure understands and pass them to configure.
qt_ir_get_option_value(module-subset submodules)
@@ -158,10 +133,25 @@ function(qt_ir_get_args_from_optfile_configure_filtered optfile_path out_var)
endif()
list(JOIN include_submodules "," include_submodules)
list(JOIN exclude_submodules "," exclude_submodules)
# Merge exclusions from module-subset into the skip list.
if(exclude_submodules)
list(APPEND skip_modules ${exclude_submodules})
# Handle case when the -skip argument is already passed.
# In that case read the passed values, merge with new ones,
# remove both the -skip and its values, and re-add it later.
list(FIND filtered_args "-skip" skip_index)
if(exclude_submodules AND skip_index GREATER -1)
list(LENGTH filtered_args filtered_args_length)
math(EXPR skip_args_index "${skip_index} + 1")
if(skip_args_index LESS filtered_args_length)
list(GET filtered_args "${skip_args_index}" skip_args)
string(REPLACE "," ";" skip_args "${skip_args}")
list(APPEND skip_args ${exclude_submodules})
list(REMOVE_DUPLICATES skip_args)
list(JOIN skip_args "," exclude_submodules)
list(REMOVE_AT filtered_args "${skip_args_index}")
list(REMOVE_AT filtered_args "${skip_index}")
endif()
endif()
# Handle case when only '-submodules existing' is passed and the
@@ -169,13 +159,9 @@ function(qt_ir_get_args_from_optfile_configure_filtered optfile_path out_var)
if(include_submodules)
list(APPEND extra_configure_args "-submodules" "${include_submodules}")
endif()
endif()
# Forward all collected skip modules to configure.
if(skip_modules)
list(REMOVE_DUPLICATES skip_modules)
list(JOIN skip_modules "," skip_csv)
list(APPEND extra_configure_args "-skip" "${skip_csv}")
if(exclude_submodules)
list(APPEND extra_configure_args "-skip" "${exclude_submodules}")
endif()
endif()
# Insert the extra arguments into the proper positions before and after '--'.
@@ -309,7 +295,7 @@ function(qt_ir_run_after_args_parsed top_level_src_path out_var_exit_reason)
"${working_directory}")
# Get some additional options to pass down.
qt_ir_get_option_as_existing_absolute_path(alternates alternates)
qt_ir_get_option_value(alternates alternates)
qt_ir_get_option_as_cmake_flag_option(branch "CHECKOUT_BRANCH" checkout_branch_option)
# The prefix for the cmake-style 'dictionary' that will be used by various functions.

View File

@@ -37,7 +37,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

@@ -110,15 +110,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'
@@ -167,11 +167,23 @@ Configurations:
'Protobuf_ROOT={{.Env.Protobuf_ROOT_msvc}}',
'WEBVIEW2_SDK_ROOT={{.Env.WEBVIEW2_SDK_ROOT_PATH}}',
]
-
Id: 'windows-11_22h2-arm64-msvc2022'
Template: 'qtci-windows-11_22H2-aarch64-55'
Compiler: 'MSVC2022'
Features: ['Packaging', 'DebugAndRelease', 'UseConfigure', 'GenerateSBOM', 'VerifySBOM']
Configure arguments: '-debug-and-release -force-debug-info -headersclean -nomake examples -qt-zlib -no-opengl -no-sql-db2 -no-sql-ibase -no-sql-mysql -no-sql-oci -no-sql-psql -no-sql-mimer'
Environment variables: [
'CMAKE_ARGS=-DFEATURE_msvc_obj_debug_info=ON -DOPENSSL_ROOT_DIR={{.Env.OPENSSL_INCLUDE_arm64}}\..',
'NON_QTBASE_CMAKE_ARGS= -DFEATURE_clangcpp=OFF -DFFMPEG_DIR={{.Env.FFMPEG_DIR_MSVC_ARM64}} -DQT_DEPLOY_FFMPEG=TRUE',
'Protobuf_ROOT={{.Env.Protobuf_ROOT_msvc}}',
'WEBVIEW2_SDK_ROOT={{.Env.WEBVIEW2_SDK_ROOT_PATH}}',
]
-
Id: 'windows-11_23h2-arm64-msvc2022'
Template: 'qtci-windows-11_23H2-aarch64-53'
Compiler: 'MSVC2022'
Features: ['Sccache', 'Packaging', 'DebugAndRelease', 'UseConfigure', 'GenerateSBOM', 'VerifySBOM']
Features: ['Packaging', 'DebugAndRelease', 'UseConfigure', 'GenerateSBOM', 'VerifySBOM', 'InsignificantTests', 'DoNotAbortTestingOnFirstFailure']
Configure arguments: '-debug-and-release -force-debug-info -headersclean -nomake examples -qt-zlib -no-sql-db2 -no-sql-ibase -no-sql-mysql -no-sql-oci -no-sql-psql -no-sql-mimer'
Environment variables: [
'CMAKE_ARGS=-DFEATURE_msvc_obj_debug_info=ON -DOPENSSL_ROOT_DIR={{.Env.OPENSSL_INCLUDE_arm64}}\..',
@@ -184,11 +196,11 @@ Configurations:
Template: 'qtci-windows-11_24H2-x86_64-71'
Compiler: 'MSVC2022'
Target arch: 'arm64'
Features: ['Sccache', 'Packaging', 'DoNotRunTests', 'TargetBuildOnly', 'UseConfigure', 'GenerateSBOM', 'VerifySBOM']
Platform dependency: 'windows-11_24h2-mingw13'
Features: ['Sccache', 'DoNotRunTests', 'TargetBuildOnly', 'UseConfigure', 'GenerateSBOM', 'VerifySBOM']
Platform dependency: 'windows-10_22h2-mingw13'
Environment variables: [
'Path={{.Env.MINGW_PATH}}\bin;{{.Env.Path}}',
'TARGET_CONFIGURE_ARGS=-debug-and-release -force-debug-info -platform win32-arm64-msvc -qt-zlib -no-sql-db2 -no-sql-ibase -no-sql-mysql -no-sql-oci -no-sql-psql -no-sql-mimer',
'TARGET_CONFIGURE_ARGS=-debug-and-release -force-debug-info -platform win32-arm64-msvc -no-sql-db2 -no-sql-ibase -no-sql-mysql -no-sql-oci -no-sql-psql -no-sql-mimer -no-feature-run-opengl-tests',
'TARGET_CMAKE_ARGS=-DFEATURE_msvc_obj_debug_info=ON -DOPENSSL_ROOT_DIR={{.Env.OPENSSL_ROOT_DIR_x64_arm64}} -DQT_FORCE_BUILD_TOOLS=ON',
'NON_QTBASE_TARGET_CMAKE_ARGS=-DFEATURE_native_grpc=OFF -DFFMPEG_DIR={{.Env.FFMPEG_DIR_MSVC_ARM64}} -DQT_DEPLOY_FFMPEG=TRUE',
'OPENSSL_CONF_x64={{.Env.OPENSSL_CONF_x64_arm64}}',
@@ -198,13 +210,40 @@ Configurations:
'Protobuf_ROOT={{.Env.Protobuf_ROOT_msvc}}',
'WEBVIEW2_SDK_ROOT={{.Env.WEBVIEW2_SDK_ROOT_PATH}}',
]
-
Id: 'windows-11_24H2-msvc2022-arm64-23H2'
Template: 'qtci-windows-11_24H2-x86_64-71'
Compiler: 'MSVC2022'
Target arch: 'arm64'
Features: ['Sccache', 'Packaging', 'DoNotRunTests', 'TargetBuildOnly', 'UseConfigure', 'GenerateSBOM', 'VerifySBOM']
Platform dependency: 'windows-10_22h2-mingw13'
Environment variables: [
'Path={{.Env.MINGW_PATH}}\bin;{{.Env.Path}}',
'TARGET_CONFIGURE_ARGS=-debug-and-release -force-debug-info -platform win32-arm64-msvc -qt-zlib -no-sql-db2 -no-sql-ibase -no-sql-mysql -no-sql-oci -no-sql-psql -no-sql-mimer',
'TARGET_CMAKE_ARGS=-DFEATURE_msvc_obj_debug_info=ON -DOPENSSL_ROOT_DIR={{.Env.OPENSSL_ROOT_DIR_x64_arm64}}',
'NON_QTBASE_TARGET_CMAKE_ARGS=-DFEATURE_native_grpc=OFF -DFFMPEG_DIR={{.Env.FFMPEG_DIR_MSVC_ARM64}} -DQT_DEPLOY_FFMPEG=TRUE',
'OPENSSL_CONF_x64={{.Env.OPENSSL_CONF_x64_arm64}}',
'OPENSSL_INCLUDE_x64={{.Env.OPENSSL_INCLUDE_x64_arm64}}',
'OPENSSL_LIB_x64={{.Env.OPENSSL_LIB_x64_arm64}}',
'VCPKG_HOST_TRIPLET=x64-windows-qt',
'VCPKG_TARGET_TRIPLET=arm64-windows-qt',
'Protobuf_ROOT={{.Env.Protobuf_ROOT_msvc}}',
'WEBVIEW2_SDK_ROOT={{.Env.WEBVIEW2_SDK_ROOT_PATH}}',
]
-
Id: 'windows-11-x86_64-arm64-tests'
Template: 'qtci-windows-11_23H2-aarch64-53'
Template: 'qtci-windows-11_22H2-aarch64-55'
Compiler: 'MSVC2022'
Features: ['TestOnly']
Configure arguments: '-cross-compiled'
Configure arguments: '-no-opengl -cross-compiled'
Platform dependency: 'windows-11_24H2-msvc2022-arm64'
-
Id: 'windows-11-x86_64-arm64-tests-23H2'
Template: 'qtci-windows-11_23H2-aarch64-53'
Compiler: 'MSVC2022'
Features: ['TestOnly', 'InsignificantTests', 'DoNotAbortTestingOnFirstFailure']
Configure arguments: '-cross-compiled'
Platform dependency: 'windows-11_24H2-msvc2022-arm64-23H2'
-
Id: 'windows-11_24H2-msvc2022-developer-build'
Template: 'qtci-windows-11_24H2-x86_64-71'
@@ -237,16 +276,6 @@ Configurations:
'CMAKE_ARGS=-DOpenGL_GL_PREFERENCE=LEGACY',
'NON_QTBASE_CMAKE_ARGS=-DFFMPEG_DIR={{.Env.FFMPEG_DIR}} -DQT_DEPLOY_FFMPEG=TRUE -DINPUT_headersclean=ON'
]
-
Id: 'rhel-9.6'
Template: 'qtci-linux-RHEL-9.6-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'
]
-
Id: 'ios-universal'
Template: 'qtci-macos-14-arm-106'
@@ -273,8 +302,8 @@ Configurations:
'TARGET_CONFIGURE_ARGS=-developer-build -no-warnings-are-errors -nomake examples -nomake tests -platform macx-visionos-clang',
]
-
Id: 'windows-11_24h2-mingw13'
Template: 'qtci-windows-11_24H2-x86_64-71'
Id: 'windows-10_22h2-mingw13'
Template: 'qtci-windows-10_22H2-x86_64-53'
Compiler: 'Mingw'
Features: ['Packaging', 'Sccache', 'UseConfigure', 'GenerateSBOM', 'VerifySBOM']
Configure arguments: '-release -force-debug-info -separate-debug-info -nomake examples'

View File

@@ -14,16 +14,29 @@ Configurations:
'Protobuf_ROOT={{.Env.Protobuf_ROOT_msvc}}',
]
-
Id: 'windows-11_23h2-arm64-msvc2022-minimal-static-test'
Template: 'qtci-windows-11_23H2-aarch64-53'
Id: 'windows-11_22h2-arm64-msvc2022-minimal-static-test'
Template: 'qtci-windows-11_22H2-aarch64-55'
Compiler: 'MSVC2022'
Features: ['Sccache', 'UseConfigure', 'InsignificantTests', 'Packaging', 'MinimalStaticTests']
Features: ['UseConfigure', 'InsignificantTests', 'Packaging', 'MinimalStaticTests']
Configure arguments: '-static -release -headersclean -nomake examples -qt-libjpeg -no-icu -qt-doubleconversion -qt-zlib -c++std c++17 -no-sql-psql'
Environment variables: [
'CMAKE_ARGS=-DFEATURE_msvc_obj_debug_info=ON -DOPENSSL_ROOT_DIR={{.Env.OPENSSL_INCLUDE_arm64}}\..',
'NON_QTBASE_CMAKE_ARGS=-DCMAKE_BUILD_TYPE=Release -DFEATURE_native_grpc=OFF -DFEATURE_clangcpp=OFF -DFEATURE_qdoc=OFF',
'Protobuf_ROOT={{.Env.Protobuf_ROOT_msvc}}',
]
-
Id: 'windows-11_23h2-arm64-msvc2022-minimal-static-test'
Template: 'qtci-windows-11_23H2-aarch64-53'
Compiler: 'MSVC2022'
Features: ['UseConfigure', 'InsignificantTests', 'Packaging', 'MinimalStaticTests']
Configure arguments: '-static -release -headersclean -nomake examples -qt-libjpeg -no-icu -qt-doubleconversion -qt-zlib -c++std c++17 -no-sql-psql'
Environment variables: [
'CMAKE_ARGS=-DFEATURE_msvc_obj_debug_info=ON -DOPENSSL_ROOT_DIR={{.Env.OPENSSL_INCLUDE_arm64}}\..',
'NON_QTBASE_CMAKE_ARGS=-DCMAKE_BUILD_TYPE=Release -DFEATURE_native_grpc=OFF -DFEATURE_clangcpp=OFF -DFEATURE_qdoc=OFF',
'VCPKG_HOST_TRIPLET=arm64-windows-qt',
'VCPKG_TARGET_TRIPLET=arm64-windows-qt',
'Protobuf_ROOT={{.Env.Protobuf_ROOT_msvc}}',
]
-
Id: 'rhel-8.10-minimal-static-test'
Template: 'qtci-linux-RHEL-8.10-x86_64-51'
@@ -38,7 +51,7 @@ Configurations:
Id: 'ubuntu-24.04-arm64'
Template: 'qtci-linux-Ubuntu-24.04-aarch64-52'
Compiler: 'GCC'
Features: ['Sccache', 'Packaging', 'UseConfigure', 'InstallQt5Dependencies', 'DoNotRunTests']
Features: ['Packaging', 'UseConfigure', 'InstallQt5Dependencies', 'DoNotRunTests']
Configure arguments: '-static -nomake examples -release -qt-libjpeg -qt-libpng -qt-pcre -qt-harfbuzz -no-libudev -bundled-xcb-xinput -no-icu -qt-doubleconversion'
Environment variables: [
'CMAKE_ARGS=-DOpenGL_GL_PREFERENCE=LEGACY',

View File

@@ -17,12 +17,12 @@ Configurations:
]
-
Id: 'android-armv7-on-windows'
Template: 'qtci-windows-11_24H2-x86_64-71'
Template: 'qtci-windows-10_22H2-x86_64-53'
Target os: 'Android_ANY'
Target arch: 'armv7'
Compiler: 'Mingw'
Target compiler: 'Clang'
Platform dependency: 'windows-11_24h2-mingw13'
Platform dependency: 'windows-10_22h2-mingw13'
Features: ['Packaging', 'Sccache', 'WarningsAreErrors', 'DisableTests', 'UseConfigure', 'GenerateSBOM', 'VerifySBOM']
Environment variables: [
'Path={{.Env.MINGW_PATH}}\bin;{{.Env.Path}}',
@@ -33,12 +33,12 @@ Configurations:
]
-
Id: 'android-9-x86-on-linux'
Template: 'qtci-linux-RHEL-9.4-x86_64-50'
Template: 'qtci-linux-RHEL-8.10-x86_64-51'
Target os: 'Android_ANY'
Target arch: 'x86'
Compiler: 'GCC'
Target compiler: 'Clang'
Platform dependency: 'rhel-9.4'
Platform dependency: 'rhel-8.10'
Features: ['Packaging', 'Sccache', 'WarningsAreErrors', 'AndroidTestRun', 'VMSize8', 'UseConfigure', 'GenerateSBOM', 'VerifySBOM']
Environment variables: [
'TARGET_CONFIGURE_ARGS=-nomake examples -release -force-debug-info -android-ndk {{.Env.ANDROID_NDK_ROOT_LATEST}} -android-sdk {{.Env.ANDROID_SDK_ROOT}} -android-abis x86',
@@ -48,46 +48,30 @@ Configurations:
'ANDROID_EMULATOR=emulator_x86_api_28'
]
-
Id: 'android-9-x86-on-linux-rhel_9_6'
Template: 'qtci-linux-RHEL-9.6-x86_64-51'
Id: 'android-15-x86_64-on-linux'
Template: 'qtci-linux-RHEL-8.10-x86_64-51'
Target os: 'Android_ANY'
Target arch: 'x86'
Target arch: 'x86_64'
Compiler: 'GCC'
Target compiler: 'Clang'
Platform dependency: 'rhel-9.6'
Features: ['Sccache', 'WarningsAreErrors', 'AndroidTestRun', 'VMSize8', 'UseConfigure', 'GenerateSBOM', 'VerifySBOM', 'InsignificantTests', 'DoNotAbortTestingOnFirstFailure']
Platform dependency: 'rhel-8.10'
Features: ['Packaging', 'Sccache', 'WarningsAreErrors', 'AndroidTestRun', 'VMSize8', 'UseConfigure', 'GenerateSBOM', 'VerifySBOM']
Environment variables: [
'TARGET_CONFIGURE_ARGS=-nomake examples -release -force-debug-info -android-ndk {{.Env.ANDROID_NDK_ROOT_LATEST}} -android-sdk {{.Env.ANDROID_SDK_ROOT}} -android-abis x86',
'TARGET_CONFIGURE_ARGS=-nomake examples -release -force-debug-info -android-ndk {{.Env.ANDROID_NDK_ROOT_LATEST}} -android-sdk {{.Env.ANDROID_SDK_ROOT}} -android-abis x86_64',
'TARGET_CMAKE_ARGS=-DCMAKE_C_COMPILER_FRONTEND_VARIANT=GNU -DCMAKE_CXX_COMPILER_FRONTEND_VARIANT=GNU -DOPENSSL_ROOT_DIR={{.Env.OPENSSL_ANDROID_HOME_LATEST}} -DQT_GENERATE_WRAPPER_SCRIPTS_FOR_ALL_HOSTS=ON',
'NON_QTBASE_TARGET_CMAKE_ARGS=-DFFMPEG_DIR={{.Env.FFMPEG_DIR_ANDROID_X86_NDK_LATEST}} -DQT_DEPLOY_FFMPEG=TRUE -DQT_PROTOBUF_WELL_KNOWN_TYPES_PROTO_DIR=/usr/local/include',
'NON_QTBASE_TARGET_CMAKE_ARGS=-DFFMPEG_DIR={{.Env.FFMPEG_DIR_ANDROID_X86_64_NDK_LATEST}} -DQT_DEPLOY_FFMPEG=TRUE -DQT_PROTOBUF_WELL_KNOWN_TYPES_PROTO_DIR=/usr/local/include',
'ANDROID_NDK_ROOT={{.Env.ANDROID_NDK_ROOT_LATEST}}',
'ANDROID_EMULATOR=emulator_x86_api_28'
'ANDROID_EMULATOR=emulator_x86_64_api_35'
]
-
Id: 'android-16-x86_64-on-linux'
Template: 'qtci-linux-RHEL-9.4-x86_64-50'
Template: 'qtci-linux-RHEL-8.10-x86_64-51'
Target os: 'Android_ANY'
Target arch: 'x86_64'
Compiler: 'GCC'
Target compiler: 'Clang'
Platform dependency: 'rhel-9.4'
Features: ['Packaging', 'Sccache', 'WarningsAreErrors', 'AndroidTestRun', 'VMSize8', 'UseConfigure', 'GenerateSBOM', 'VerifySBOM']
Environment variables: [
'TARGET_CONFIGURE_ARGS=-nomake examples -release -force-debug-info -android-ndk {{.Env.ANDROID_NDK_ROOT_LATEST}} -android-sdk {{.Env.ANDROID_SDK_ROOT}} -android-abis x86_64',
'TARGET_CMAKE_ARGS=-DCMAKE_C_COMPILER_FRONTEND_VARIANT=GNU -DCMAKE_CXX_COMPILER_FRONTEND_VARIANT=GNU -DOPENSSL_ROOT_DIR={{.Env.OPENSSL_ANDROID_HOME_LATEST}} -DQT_GENERATE_WRAPPER_SCRIPTS_FOR_ALL_HOSTS=ON',
'NON_QTBASE_TARGET_CMAKE_ARGS=-DFFMPEG_DIR={{.Env.FFMPEG_DIR_ANDROID_X86_64_NDK_LATEST}} -DQT_DEPLOY_FFMPEG=TRUE -DQT_PROTOBUF_WELL_KNOWN_TYPES_PROTO_DIR=/usr/local/include',
'ANDROID_NDK_ROOT={{.Env.ANDROID_NDK_ROOT_LATEST}}',
'ANDROID_EMULATOR=emulator_x86_64_api_36'
]
-
Id: 'android-16-x86_64-on-linux-rhel_9_6'
Template: 'qtci-linux-RHEL-9.6-x86_64-51'
Target os: 'Android_ANY'
Target arch: 'x86_64'
Compiler: 'GCC'
Target compiler: 'Clang'
Platform dependency: 'rhel-9.6'
Features: ['Sccache', 'WarningsAreErrors', 'AndroidTestRun', 'VMSize8', 'UseConfigure', 'GenerateSBOM', 'VerifySBOM', 'InsignificantTests', 'DoNotAbortTestingOnFirstFailure']
Platform dependency: 'rhel-8.10'
Features: ['Sccache', 'WarningsAreErrors', 'AndroidTestRun', 'VMSize8', 'UseConfigure', 'GenerateSBOM', 'VerifySBOM', 'InsignificantTests']
Environment variables: [
'TARGET_CONFIGURE_ARGS=-nomake examples -release -force-debug-info -android-ndk {{.Env.ANDROID_NDK_ROOT_LATEST}} -android-sdk {{.Env.ANDROID_SDK_ROOT}} -android-abis x86_64',
'TARGET_CMAKE_ARGS=-DCMAKE_C_COMPILER_FRONTEND_VARIANT=GNU -DCMAKE_CXX_COMPILER_FRONTEND_VARIANT=GNU -DOPENSSL_ROOT_DIR={{.Env.OPENSSL_ANDROID_HOME_LATEST}} -DQT_GENERATE_WRAPPER_SCRIPTS_FOR_ALL_HOSTS=ON',

View File

@@ -15,11 +15,11 @@ Configurations:
]
-
Id: 'webassembly-windows'
Template: 'qtci-windows-11_24H2-x86_64-71'
Template: 'qtci-windows-10_22H2-x86_64-53'
Target os: 'WebAssembly'
Compiler: 'Mingw'
Target compiler: 'Clang'
Platform dependency: 'windows-11_24h2-mingw13'
Platform dependency: 'windows-10_22h2-mingw13'
Features: ['Packaging','DisableTests', 'UseConfigure', 'GenerateSBOM', 'VerifySBOM']
Environment variables: [
'Path={{.Env.EMSDK_PATH}};{{.Env.MINGW_PATH}}\bin;{{.Env.Path}}',

View File

@@ -1,5 +1,10 @@
Version: 2
Configurations:
-
Id: 'ubuntu-22.04-license-check'
Template: 'qtci-linux-Ubuntu-22.04-x86_64-51'
Compiler: 'GCC'
Features: ['TestOnly', 'LicenseCheckV2']
-
Id: 'ubuntu-24.04-x64-license-check'
Template: 'qtci-linux-Ubuntu-24.04-x86_64-50'

View File

@@ -2,12 +2,12 @@ Version: 2
Configurations:
-
Id: 'android-x86-developer-build-testrun-on-linux'
Template: 'qtci-linux-RHEL-9.4-x86_64-50'
Template: 'qtci-linux-RHEL-8.10-x86_64-51'
Target os: 'Android_ANY'
Target arch: 'x86'
Compiler: 'GCC'
Target compiler: 'Clang'
Platform dependency: 'rhel-9.4'
Platform dependency: 'rhel-8.10'
Features: ['Packaging', 'Sccache', 'AndroidTestRun', 'UseConfigure']
Environment variables: [
'TARGET_CONFIGURE_ARGS=-nomake examples -debug -developer-build -android-ndk {{.Env.ANDROID_NDK_ROOT_LATEST}} -android-sdk {{.Env.ANDROID_SDK_ROOT}} -android-abis x86',
@@ -15,18 +15,3 @@ Configurations:
'NON_QTBASE_CMAKE_ARGS=-DFFMPEG_DIR={{.Env.FFMPEG_DIR_ANDROID}}',
'NON_QTBASE_TARGET_CMAKE_ARGS=',
'ANDROID_EMULATOR=emulator_x86_api_28']
-
Id: 'android-x86-developer-build-testrun-on-linux-rhel_9_6'
Template: 'qtci-linux-RHEL-9.6-x86_64-51'
Target os: 'Android_ANY'
Target arch: 'x86'
Compiler: 'GCC'
Target compiler: 'Clang'
Platform dependency: 'rhel-9.6'
Features: ['Sccache', 'AndroidTestRun', 'UseConfigure', 'InsignificantTests', 'DoNotAbortTestingOnFirstFailure']
Environment variables: [
'TARGET_CONFIGURE_ARGS=-nomake examples -debug -developer-build -android-ndk {{.Env.ANDROID_NDK_ROOT_LATEST}} -android-sdk {{.Env.ANDROID_SDK_ROOT}} -android-abis x86',
'TARGET_CMAKE_ARGS=-DCMAKE_C_COMPILER_FRONTEND_VARIANT=GNU -DCMAKE_CXX_COMPILER_FRONTEND_VARIANT=GNU -DOPENSSL_ROOT_DIR={{.Env.OPENSSL_ANDROID_HOME_LATEST}}',
'NON_QTBASE_CMAKE_ARGS=-DFFMPEG_DIR={{.Env.FFMPEG_DIR_ANDROID}}',
'NON_QTBASE_TARGET_CMAKE_ARGS=',
'ANDROID_EMULATOR=emulator_x86_api_28']

View File

@@ -2,15 +2,15 @@ Version: 2
Configurations:
-
Id: 'android-9-multi-abi'
Template: 'qtci-linux-RHEL-9.4-x86_64-50'
Template: 'qtci-linux-RHEL-8.10-x86_64-51'
Target os: 'Android_ANY'
Target arch: 'multi'
Compiler: 'GCC'
Target compiler: 'Clang'
Platform dependency: [
'rhel-9.4',
'rhel-8.10',
'android-9-x86-on-linux',
'android-16-x86_64-on-linux'
'android-15-x86_64-on-linux'
]
Features: [
'Sccache',
@@ -20,37 +20,9 @@ Configurations:
'InstallDepsPerPlatformSubdir'
]
Environment variables: [
'QT_CI_ARTIFACT_ID_PATH_Android-host=QT_CI_ARTIFACT_ID_PATH_rhel-9.4',
'QT_CI_ARTIFACT_ID_PATH_Android-host=QT_CI_ARTIFACT_ID_PATH_rhel-8.10',
'QT_CI_ARTIFACT_ID_PATH_Android-x86=QT_CI_ARTIFACT_ID_PATH_android-9-x86-on-linux',
'QT_CI_ARTIFACT_ID_PATH_Android-x86_64=QT_CI_ARTIFACT_ID_PATH_android-16-x86_64-on-linux',
'COMMON_TARGET_TEST_CMAKE_ARGS=-DQT_ANDROID_ABIS="x86;x86_64"',
'ANDROID_EMULATOR=emulator_x86_api_28'
]
-
Id: 'android-9-multi-abi-rhel_9_6'
Template: 'qtci-linux-RHEL-9.6-x86_64-51'
Target os: 'Android_ANY'
Target arch: 'multi'
Compiler: 'GCC'
Target compiler: 'Clang'
Platform dependency: [
'rhel-9.6',
'android-9-x86-on-linux',
'android-16-x86_64-on-linux'
]
Features: [
'Sccache',
'WarningsAreErrors',
'AndroidTestRun',
'MinimalAndroidMultiABITests',
'InstallDepsPerPlatformSubdir',
'InsignificantTests',
'DoNotAbortTestingOnFirstFailure'
]
Environment variables: [
'QT_CI_ARTIFACT_ID_PATH_Android-host=QT_CI_ARTIFACT_ID_PATH_rhel-9.6',
'QT_CI_ARTIFACT_ID_PATH_Android-x86=QT_CI_ARTIFACT_ID_PATH_android-9-x86-on-linux',
'QT_CI_ARTIFACT_ID_PATH_Android-x86_64=QT_CI_ARTIFACT_ID_PATH_android-16-x86_64-on-linux',
'QT_CI_ARTIFACT_ID_PATH_Android-x86_64=QT_CI_ARTIFACT_ID_PATH_android-15-x86_64-on-linux',
'COMMON_TARGET_TEST_CMAKE_ARGS=-DQT_ANDROID_ABIS="x86;x86_64"',
'ANDROID_EMULATOR=emulator_x86_api_28'
]

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}}',
@@ -48,19 +48,19 @@ Configurations:
Id: 'macos-13-arm64-tests'
Template: 'qtci-macos-13-arm-107'
Compiler: 'Clang'
Features: ['Sccache', 'TestOnly', 'Packaging']
Features: ['TestOnly', 'Packaging']
Platform dependency: 'macos-universal-on-arm64'
-
Id: 'macos-14-arm64-tests'
Template: 'qtci-macos-14-arm-106'
Compiler: 'Clang'
Features: ['Sccache', 'TestOnly', 'Packaging']
Features: ['TestOnly', 'Packaging']
Platform dependency: 'macos-universal-on-arm64'
-
Id: 'macos-15-arm64-tests'
Template: 'qtci-macos-15-arm-104'
Compiler: 'Clang'
Features: ['Sccache', 'TestOnly', 'Packaging']
Features: ['TestOnly', 'Packaging']
Platform dependency: 'macos-universal-on-arm64'
# =========================================================================
@@ -83,7 +83,7 @@ Configurations:
Id: 'macos-arm64-developer-build'
Template: 'qtci-macos-15-arm-104'
Compiler: 'Clang'
Features: ['Sccache', 'DoNotRunTests', 'WarningsAreErrors', 'UseConfigure']
Features: ['DoNotRunTests', 'WarningsAreErrors', 'UseConfigure']
Configure arguments: '-developer-build -nomake examples -debug -framework'
Environment variables: [
'CMAKE_ARGS=-DOPENSSL_ROOT_DIR={{.Env.OPENSSL_DIR}}',

View File

@@ -1,7 +1,7 @@
Version: 2
Include: [
cmake_platforms.yaml: [
'rhel-9.4'
'rhel-8.10'
],
cmake_platforms_target_android.yaml: [
'android-15-x86_64-on-linux',

View File

@@ -1,8 +1,8 @@
Version: 2
Include: [
cmake_platforms.yaml: [
'rhel-9.4',
'windows-11_24h2-mingw13'
'rhel-8.10',
'windows-10_22h2-mingw13'
],
cmake_platforms_target_android.yaml: [
'android-15-x86_64-on-linux',

View File

@@ -1,8 +1,8 @@
Version: 2
Include: [
cmake_platforms.yaml: [
'rhel-9.4',
'windows-11_24h2-mingw13'
'rhel-8.10',
'windows-10_22h2-mingw13'
],
cmake_platforms_target_android.yaml: [
'android-15-x86_64-on-linux',

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

@@ -1,18 +1,18 @@
Version: 2
Include: [
cmake_platforms.yaml: [
'windows-11_24h2-mingw13'
windows-10_22h2-mingw13
]
]
Configurations:
-
Id: 'qnx-710-arm64-on-windows'
Template: 'qtci-windows-11_24H2-x86_64-71'
Template: 'qtci-windows-10_22H2-x86_64-53'
Target os: 'QNX_710'
Target arch: 'arm64'
Compiler: 'Mingw'
Target compiler: 'QCC'
Platform dependency: 'windows-11_24h2-mingw13'
Platform dependency: 'windows-10_22h2-mingw13'
Features: ['DisableTests', 'UseConfigure']
Environment variables: [
'Path={{.Env.MINGW_PATH}}\bin;{{.Env.Path}}',

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

@@ -13,10 +13,6 @@ Configurations:
Template: 'qtci-linux-RHEL-9.4-x86_64-50'
Compiler: 'GCC'
Features: ['DisableTests']
-
Template: 'qtci-linux-RHEL-9.6-x86_64-51'
Compiler: 'GCC'
Features: ['DisableTests']
-
Template: 'qtci-linux-Ubuntu-22.04-x86_64-51'
Compiler: 'GCC'

View File

@@ -9,7 +9,7 @@ Configurations:
Environment variables: []
Environment script: ['%ProgramFiles%\Microsoft Visual Studio\2022\Professional\VC\Auxiliary\Build\vcvarsall.bat', 'amd64']
-
Template: 'qtci-linux-RHEL-9.4-x86_64-50'
Template: 'qtci-linux-RHEL-8.10-x86_64-51'
Compiler: 'GCC'
Features: ['Sccache', 'DebugAndRelease']
Configure arguments: ''
@@ -21,7 +21,7 @@ Configurations:
Configure arguments: ''
Environment variables: []
-
Template: 'qtci-macos-15-arm-104'
Template: 'qtci-macos-14-arm-106'
Compiler: 'Clang'
Features: ['Sccache', 'DebugAndRelease']
Configure arguments: ''
@@ -42,28 +42,15 @@ Configurations:
Configure arguments: ''
Environment variables: []
Environment script: ['%ProgramFiles%\Microsoft Visual Studio\2022\Professional\VC\Auxiliary\Build\vcvarsall.bat', 'amd64']
-
Template: 'qtci-linux-RHEL-9.4-x86_64-50'
Compiler: 'GCC'
Features: ['Sccache', 'DebugAndRelease', 'OldestQt']
Configure arguments: ''
Environment variables: []
-
Template: 'qtci-linux-RHEL-8.10-x86_64-51'
Compiler: 'GCC'
Features: ['Sccache', 'DebugAndRelease', 'OldestQt', 'QtC18AndEarlier']
Configure arguments: ''
Environment variables: []
-
Template: 'qtci-macos-15-arm-104'
Compiler: 'Clang'
Features: ['Sccache', 'DebugAndRelease', 'OldestQt']
Configure arguments: ''
Environment variables: []
# Tests GCC 11
-
Template: 'qtci-linux-Ubuntu-22.04-x86_64-51'
Compiler: 'GCC'
Template: 'qtci-macos-14-arm-106'
Compiler: 'Clang'
Features: ['Sccache', 'DebugAndRelease', 'OldestQt']
Configure arguments: ''
Environment variables: []

View File

@@ -10,8 +10,7 @@ Include: [
cmake_platforms_qemu_vxworks_buildtest_static.yaml,
cmake_platforms_qemu_vxworks_tests_static.yaml,
qtlite.yaml,
qtbase-new-compiler-testing.yaml,
quick-bridges.yaml
qtbase-new-compiler-testing.yaml
]
Configurations: []
Overrides:

View File

@@ -7,8 +7,7 @@ Include: [
cmake_platforms_static_tests.yaml,
cmake_platforms_qemu_vxworks_buildtest_static.yaml,
cmake_platforms_qemu_vxworks_tests_static.yaml,
qtlite.yaml,
quick-bridges.yaml
qtlite.yaml
]
Configurations: []
Overrides:

View File

@@ -6,11 +6,6 @@ Configurations:
Template: 'qtci-linux-RHEL-9.4-x86_64-50'
Compiler: 'GCC'
Features: ['TestOnly']
-
Id: 'qtgp-on-linux-rhel_9_6'
Template: 'qtci-linux-RHEL-9.6-x86_64-51'
Compiler: 'GCC'
Features: ['TestOnly', 'InsignificantTests', 'DoNotAbortTestingOnFirstFailure']
-
Id: 'qtgp-on-macos'
Template: 'qtci-macos-14-arm-106'

View File

@@ -4,8 +4,7 @@ Include: [
address_sanitizer_platforms.yaml,
integrity.yaml,
cmake_platforms_qemu_vxworks_buildtest_static.yaml,
cmake_platforms_qemu_vxworks_tests_static.yaml,
quick-bridges.yaml
cmake_platforms_qemu_vxworks_tests_static.yaml
]
Configurations: []
Overrides:

View File

@@ -4,7 +4,6 @@ Include: [
address_sanitizer_platforms.yaml,
integrity.yaml,
cmake_platforms_qemu_vxworks_buildtest_static.yaml,
cmake_platforms_qemu_vxworks_tests_static.yaml,
quick-bridges.yaml
cmake_platforms_qemu_vxworks_tests_static.yaml
]
Configurations: []

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

@@ -12,11 +12,11 @@ Include: [
"sles-15_sp6-static",
"windows-10_22h2-msvc2022",
"rhel-8.10",
"windows-11_24h2-mingw13",
"windows-10_22h2-mingw13",
"windows-11_24H2-mingw13-developer-build",
"windows-11_24H2-llvm",
"windows-11_24H2-msvc2022",
"windows-11_23h2-arm64-msvc2022"
"windows-11_22h2-arm64-msvc2022"
],
cmake_platforms_qemu_qnx710.yaml: [
"qnx-710-x86_64-developer-build-on-linux",

View File

@@ -13,11 +13,11 @@ Include: [
"sles-15_sp6-static",
"windows-10_22h2-msvc2022",
"rhel-8.10",
"windows-11_24h2-mingw13",
"windows-10_22h2-mingw13",
"windows-11_24H2-mingw13-developer-build",
"windows-11_24H2-llvm",
"windows-11_24H2-msvc2022",
"windows-11_23h2-arm64-msvc2022"
"windows-11_22h2-arm64-msvc2022"
],
cmake_platforms_qemu_qnx710.yaml: [
"qnx-710-x86_64-developer-build-on-linux",
@@ -61,6 +61,17 @@ Configurations:
]
-
Id: 'Windows-MSVC2022-arm64_Static'
Template: 'qtci-windows-11_22H2-aarch64-54'
Compiler: 'MSVC2022'
Features: ['Packaging', 'UseConfigure', 'MinimalStaticTests']
Configure arguments: '-release -headersclean -nomake examples -qt-zlib -static -no-icu -no-sql-psql -no-opengl'
Environment variables: [
'CMAKE_ARGS=-DFEATURE_msvc_obj_debug_info=ON -DOPENSSL_ROOT_DIR={{.Env.OPENSSL_INCLUDE_arm64}}\..',
'NON_QTBASE_CMAKE_ARGS= -DFEATURE_clangcpp=OFF -DFFMPEG_DIR={{.Env.FFMPEG_DIR_MSVC_ARM64}} -DQT_DEPLOY_FFMPEG=TRUE',
'Protobuf_ROOT={{.Env.Protobuf_ROOT_msvc}}',
]
-
Id: 'Windows-MSVC2022-arm64_Static-23H2'
Template: 'qtci-windows-11_23H2-aarch64-53'
Compiler: 'MSVC2022'
Features: ['Packaging', 'UseConfigure', 'MinimalStaticTests']

View File

@@ -4,7 +4,6 @@ Include: [
address_sanitizer_platforms.yaml,
integrity.yaml,
cmake_platforms_qemu_vxworks_buildtest_static.yaml,
cmake_platforms_qemu_vxworks_tests_static.yaml,
quick-bridges.yaml
cmake_platforms_qemu_vxworks_tests_static.yaml
]
Configurations: []

View File

@@ -4,7 +4,6 @@ Include: [
address_sanitizer_platforms.yaml,
integrity.yaml,
cmake_platforms_qemu_vxworks_buildtest_static.yaml,
cmake_platforms_qemu_vxworks_tests_static.yaml,
quick-bridges.yaml
cmake_platforms_qemu_vxworks_tests_static.yaml
]
Configurations: []

View File

@@ -1,70 +0,0 @@
Version: 2
Configurations:
-
Id: 'macos-quick-bridges'
Template: 'qtci-macos-15-arm-104'
Compiler: 'Clang'
Features: ['Packaging', 'Sccache', 'UseConfigure', 'DisableTests', 'Insignificant']
Configure arguments: >
-nomake examples
-nomake tests
-release
-force-debug-info
-separate-debug-info
-optimize-size
-shared
-disable-deprecated-up-to 0x070000
-no-feature-widgets
-no-feature-sql
-no-feature-printsupport
-no-feature-dbus
-no-feature-vnc
-no-feature-picture
-no-feature-pdf
-no-feature-network
Environment variables: []
-
Id: 'linux-quick-bridges'
Template: 'qtci-linux-Ubuntu-24.04-x86_64-54'
Compiler: 'GCC'
Features: ['Packaging', 'Sccache', 'UseConfigure', 'DisableTests', 'Insignificant']
Configure arguments: >
-nomake examples
-nomake tests
-release
-force-debug-info
-separate-debug-info
-optimize-size
-shared
-disable-deprecated-up-to 0x070000
-no-feature-widgets
-no-feature-sql
-no-feature-printsupport
-no-feature-dbus
-no-feature-vnc
-no-feature-picture
-no-feature-pdf
Environment variables: []
-
Id: 'windows-quick-bridges'
Template: 'qtci-windows-11_24H2-x86_64-71'
Compiler: 'MSVC2022'
Features: ['Packaging', 'Sccache', "DebugAndRelease", 'UseConfigure', 'DisableTests', 'Insignificant']
Configure arguments: >
-nomake examples
-nomake tests
-debug-and-release
-force-debug-info
-optimize-size
-shared
-disable-deprecated-up-to 0x070000
-no-feature-widgets
-no-feature-sql
-no-feature-printsupport
-no-feature-dbus
-no-feature-vnc
-no-feature-picture
-no-feature-pdf
Environment variables: [
'CMAKE_ARGS=-DFEATURE_msvc_obj_debug_info=ON',
]

View File

@@ -2,9 +2,8 @@ Version: 2
Include: [
cmake_platforms.yaml: [
"documentation-warnings",
"rhel-9.4",
"rhel-9.6",
'windows-11_24h2-mingw13',
"rhel-8.10",
'windows-10_22h2-mingw13',
],
macos.yaml: [
'macos-universal-on-arm64'
@@ -13,19 +12,19 @@ Include: [
'android-arm64-on-macos',
'android-armv7-on-windows',
'android-9-x86-on-linux',
'android-16-x86_64-on-linux'
'android-15-x86_64-on-linux'
],
offline_documentation.yaml
]
Configurations:
-
Id: "automotive-android-14-x86_64-on-linux"
Template: 'qtci-linux-RHEL-9.4-x86_64-50'
Template: 'qtci-linux-RHEL-8.10-x86_64-51'
Target os: 'Android_ANY'
Target arch: 'x86_64'
Compiler: 'GCC'
Target compiler: 'Clang'
Platform dependency: 'rhel-9.4'
Platform dependency: 'rhel-8.10'
Features: ['Packaging', 'Sccache', 'WarningsAreErrors', 'AndroidTestRun', 'VMSize8', 'UseConfigure']
Environment variables: [
'TARGET_CONFIGURE_ARGS=-nomake examples -release -force-debug-info -android-ndk {{.Env.ANDROID_NDK_ROOT_LATEST}} -android-sdk {{.Env.ANDROID_SDK_ROOT}} -android-abis x86_64',
@@ -36,12 +35,12 @@ Configurations:
]
-
Id: "automotive-android-10-x86_64-on-linux"
Template: 'qtci-linux-RHEL-9.4-x86_64-50'
Template: 'qtci-linux-RHEL-8.10-x86_64-51'
Target os: 'Android_ANY'
Target arch: 'x86_64'
Compiler: 'GCC'
Target compiler: 'Clang'
Platform dependency: 'rhel-9.4'
Platform dependency: 'rhel-8.10'
Features: ['Packaging', 'Sccache', 'WarningsAreErrors', 'AndroidTestRun', 'VMSize8', 'UseConfigure']
Environment variables: [
'TARGET_CONFIGURE_ARGS=-nomake examples -release -force-debug-info -android-ndk {{.Env.ANDROID_NDK_ROOT_LATEST}} -android-sdk {{.Env.ANDROID_SDK_ROOT}} -android-abis x86_64',
@@ -50,35 +49,3 @@ Configurations:
'NON_QTBASE_TARGET_CMAKE_ARGS= -DQT_PROTOBUF_WELL_KNOWN_TYPES_PROTO_DIR=/usr/local/include',
'ANDROID_EMULATOR=automotive_emulator_x86_64_api_29'
]
-
Id: "automotive-android-14-x86_64-on-linux-rhel_9_6"
Template: 'qtci-linux-RHEL-9.6-x86_64-51'
Target os: 'Android_ANY'
Target arch: 'x86_64'
Compiler: 'GCC'
Target compiler: 'Clang'
Platform dependency: 'rhel-9.6'
Features: ['Sccache', 'WarningsAreErrors', 'AndroidTestRun', 'VMSize8', 'UseConfigure', 'InsignificantTests', 'DoNotAbortTestingOnFirstFailure']
Environment variables: [
'TARGET_CONFIGURE_ARGS=-nomake examples -release -force-debug-info -android-ndk {{.Env.ANDROID_NDK_ROOT_LATEST}} -android-sdk {{.Env.ANDROID_SDK_ROOT}} -android-abis x86_64',
'TARGET_CMAKE_ARGS=-DCMAKE_C_COMPILER_FRONTEND_VARIANT=GNU -DCMAKE_CXX_COMPILER_FRONTEND_VARIANT=GNU -DOPENSSL_ROOT_DIR={{.Env.OPENSSL_ANDROID_HOME_LATEST}}',
'NON_QTBASE_CMAKE_ARGS=-DFFMPEG_DIR={{.Env.FFMPEG_DIR_ANDROID}}',
'NON_QTBASE_TARGET_CMAKE_ARGS= -DQT_PROTOBUF_WELL_KNOWN_TYPES_PROTO_DIR=/usr/local/include',
'ANDROID_EMULATOR=automotive_emulator_x86_64_api_34'
]
-
Id: "automotive-android-10-x86_64-on-linux-rhel_9_6"
Template: 'qtci-linux-RHEL-9.6-x86_64-51'
Target os: 'Android_ANY'
Target arch: 'x86_64'
Compiler: 'GCC'
Target compiler: 'Clang'
Platform dependency: 'rhel-9.6'
Features: ['Sccache', 'WarningsAreErrors', 'AndroidTestRun', 'VMSize8', 'UseConfigure', 'InsignificantTests', 'DoNotAbortTestingOnFirstFailure']
Environment variables: [
'TARGET_CONFIGURE_ARGS=-nomake examples -release -force-debug-info -android-ndk {{.Env.ANDROID_NDK_ROOT_LATEST}} -android-sdk {{.Env.ANDROID_SDK_ROOT}} -android-abis x86_64',
'TARGET_CMAKE_ARGS=-DCMAKE_C_COMPILER_FRONTEND_VARIANT=GNU -DCMAKE_CXX_COMPILER_FRONTEND_VARIANT=GNU -DOPENSSL_ROOT_DIR={{.Env.OPENSSL_ANDROID_HOME_LATEST}}',
'NON_QTBASE_CMAKE_ARGS=-DFFMPEG_DIR={{.Env.FFMPEG_DIR_ANDROID}}',
'NON_QTBASE_TARGET_CMAKE_ARGS= -DQT_PROTOBUF_WELL_KNOWN_TYPES_PROTO_DIR=/usr/local/include',
'ANDROID_EMULATOR=automotive_emulator_x86_64_api_29'
]

View File

@@ -1,64 +0,0 @@
Version: 2
Include: [
quick-bridges.yaml: [
"macos-quick-bridges",
"linux-quick-bridges",
"windows-quick-bridges"
]
]
Configurations:
-
Id: 'windows-quick-bridges-dotnet'
Template: 'qtci-windows-11_24H2-x86_64-71'
Compiler: 'MSVC2022'
Platform dependency: 'windows-quick-bridges'
Features: ['Packaging', 'Sccache', "DebugAndRelease", 'UseConfigure', 'DisableTests', 'RunAsPlatformDependency', 'QtBridgesDotnet']
-
Id: 'windows-quick-bridges-rust'
Template: 'qtci-windows-11_24H2-x86_64-71'
Compiler: 'MSVC2022'
Platform dependency: 'windows-quick-bridges'
Features: ['Packaging', 'Sccache', "DebugAndRelease", 'UseConfigure', 'DisableTests', 'RunAsPlatformDependency', 'QtBridgesRust']
-
Id: 'linux-quick-bridges-python'
Template: 'qtci-linux-Ubuntu-24.04-x86_64-51'
Compiler: 'GCC'
Platform dependency: 'linux-quick-bridges'
Features: ['Packaging', 'Sccache', 'UseConfigure', 'DisableTests', 'RunAsPlatformDependency', 'QtBridgesPython']
-
Id: 'linux-quick-bridges-java'
Template: 'qtci-linux-Ubuntu-24.04-x86_64-51'
Compiler: 'GCC'
Platform dependency: 'linux-quick-bridges'
Features: ['Packaging', 'Sccache', 'UseConfigure', 'DisableTests', 'RunAsPlatformDependency', 'RunAsPlatformDependency', 'QtBridgesJava']
-
Id: 'linux-quick-bridges-rust'
Template: 'qtci-linux-Ubuntu-24.04-x86_64-51'
Compiler: 'GCC'
Platform dependency: 'linux-quick-bridges'
Features: ['Packaging', 'Sccache', 'UseConfigure', 'DisableTests', 'RunAsPlatformDependency', 'RunAsPlatformDependency', 'QtBridgesRust']
-
Id: 'macos-quick-bridges-java'
Template: 'qtci-macos-15-arm-104'
Compiler: 'Clang'
Platform dependency: 'macos-quick-bridges'
Features: ['Packaging', 'Sccache', 'UseConfigure', 'DisableTests', 'RunAsPlatformDependency', 'QtBridgesJava']
-
Id: 'macos-quick-bridges-python'
Template: 'qtci-macos-15-arm-104'
Compiler: 'Clang'
Platform dependency: 'macos-quick-bridges'
Features: ['Packaging', 'Sccache', 'UseConfigure', 'DisableTests', 'RunAsPlatformDependency', 'QtBridgesPython']
-
Id: 'macos-quick-bridges-swift'
Template: 'qtci-macos-15-arm-104'
Compiler: 'Clang'
Platform dependency: 'macos-quick-bridges'
Features: ['Packaging', 'Sccache', 'UseConfigure', 'DisableTests', 'RunAsPlatformDependency', 'QtBridgesSwift']

View File

@@ -1,13 +0,0 @@
#!/usr/bin/env bash
# Copyright (C) 2023 The Qt Company Ltd.
# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
set -ex
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,64 +0,0 @@
### RHEL 9.6 ###
Language: English (United States)
# Installation Summary #
Keyboard: English (US), Norwegian (Windows), Finnish (Windows)
Language Support: English (United States)
Time & Date: Etc/Coordinated Universal Time
Connect to Red Hat: Registered
Installation Source: Local media
Software Selection: Server with GUI
Installation Destination: Automatic partitioning selected
KDUMP enabled: Memory Reservation: automatic
Network & Host Name: Connected
Security Profile: No profile selected
Root Password: set
User Creation: set. Make this user administrator. Require password.
# 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
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 Starndard (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' from drop down menu in login screen
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

@@ -4,12 +4,12 @@ plugins {
android {
namespace 'com.example.gradle_project'
compileSdk 36
compileSdk 35
defaultConfig {
applicationId "com.example.gradle_project"
minSdk 28
targetSdk 36
targetSdk 35
versionCode 1
versionName "1.0"
}

View File

@@ -7,65 +7,15 @@
set -e
function print_help {
echo "Usage: [ANDROID_EMULATOR=<name>] $0 [--avd <name>] [--window] [--help]"
echo ""
echo "This script launches the Android emulator on Qt CI."
echo ""
echo "Options:"
echo " --avd <name> Set the AVD name to launch (overrides ANDROID_EMULATOR env var)"
echo " --window Show the emulator window (default is headless via -no-window)"
echo " --help Show this help message"
echo ""
}
WINDOW_ARG="-no-window"
AVD_NAME_ARG=""
while [ $# -gt 0 ]; do
arg="$1"
case "$arg" in
--help)
print_help
exit 0
;;
--window)
WINDOW_ARG=""
shift
;;
--avd)
if [ -n "$2" ]; then
AVD_NAME_ARG="$2"
shift 2
else
echo "Error: --avd requires an argument"
exit 1
fi
;;
esac
done
EMULATOR_MAX_RETRIES=3
ADB_MAX_TIMEOUT=180
EMULATOR_EXEC="$ANDROID_SDK_ROOT/emulator/emulator"
ADB_EXEC="$ANDROID_SDK_ROOT/platform-tools/adb"
if [ -z "$COIN_CTEST_RESULTSDIR" ]; then
COIN_CTEST_RESULTSDIR="$(pwd)"
fi
LOGCAT_PATH="$COIN_CTEST_RESULTSDIR/emulator_logcat_%iter.txt"
EMULATOR_RUN_LOG_PATH="$COIN_CTEST_RESULTSDIR/emulator_run_log_%iter.txt"
if [ -n "$AVD_NAME_ARG" ]; then
AVD_NAME="$AVD_NAME_ARG"
else
AVD_NAME="$ANDROID_EMULATOR"
fi
if [ -z "${AVD_NAME}" ]; then
echo "No AVD name provided via --avd option or ANDROID_EMULATOR env variable. Aborting!"
echo "Available AVDs names:"
$EMULATOR_EXEC -list-avds | sed 's/^/ /'
if [ -z "${ANDROID_EMULATOR}" ]; then
echo "No AVD name provided via ANDROID_EMULATOR env variable. Aborting!"
exit 1
fi
@@ -109,10 +59,10 @@ do
LOGCAT_PATH=${LOGCAT_PATH//%iter/${counter}}
EMULATOR_RUN_LOG_PATH=${EMULATOR_RUN_LOG_PATH//%iter/${counter}}
echo "Starting emulator ${AVD_NAME}, try ${counter}/${EMULATOR_MAX_RETRIES}" \
echo "Starting emulator ${ANDROID_EMULATOR}, try ${counter}/${EMULATOR_MAX_RETRIES}" \
| tee "${EMULATOR_RUN_LOG_PATH}"
$EMULATOR_EXEC -avd "$AVD_NAME" \
-gpu swiftshader_indirect -no-audio $WINDOW_ARG -no-boot-anim \
$EMULATOR_EXEC -avd "$ANDROID_EMULATOR" \
-gpu swiftshader_indirect -no-audio -no-window -no-boot-anim \
-cores 4 -memory 16000 -partition-size 4096 \
-detect-image-hang -restart-when-stalled -no-snapshot-save \
-no-nested-warnings -logcat '*:v' -logcat-output "${LOGCAT_PATH}" \
@@ -120,7 +70,7 @@ do
emulator_pid=$!
disown $emulator_pid
echo "Waiting ${ADB_MAX_TIMEOUT} seconds for emulated device to start..."
echo "Waiting ${ADB_MAX_TIMEOUT} seconds for emulated device to appear..."
timeout ${ADB_MAX_TIMEOUT} "$ADB_EXEC" wait-for-device
# Due to some bug in Coin/Go, we can't have the emulator command stream

View File

@@ -24,8 +24,8 @@ basePath="http://ci-files01-hki.ci.qt.io/input/android"
toolsVersion="2.1"
toolsFile="commandlinetools-linux-6609375_latest.zip"
sdkBuildToolsVersion="36.0.0"
sdkApiLevel="android-36"
sdkBuildToolsVersion="35.0.1"
sdkApiLevel="android-35"
toolsSha1="9172381ff070ee2a416723c1989770cf4b0d1076"
ndkVersionLatest="r27c"
@@ -158,7 +158,7 @@ echo "Download and unzip Android 9 System Image"
minVersionFileName="x86-28_r08.zip"
minVersionDestination="$sdkTargetFolder/system-images/android-28/google_apis/"
minVersionFilePath="$minVersionDestination/$minVersionFileName"
minVersionCiUrl="$basePath/system_images/google_apis/$minVersionFileName"
minVersionCiUrl="$basePath/system-images/google_apis/$minVersionFileName"
minVersionUrl="https://dl.google.com/android/repository/sys-img/google_apis/$minVersionFileName"
minVersionSha1="41e3b854d7987a3d8b7500631dae1f1d32d3db4e"
@@ -169,27 +169,45 @@ echo "Unzipping the Android 9 to $minVersionDestination"
sudo unzip -o -q "$minVersionFilePath" -d "$minVersionDestination"
rm "$minVersionFilePath"
echo "Download and unzip Android 16 System Image"
maxVersionFileName="x86_64-36_r07.zip"
maxVersionDestination="$sdkTargetFolder/system-images/android-36/google_apis/"
echo "Download and unzip Android 15 System Image"
maxVersionFileName="x86_64-35_r08.zip"
maxVersionDestination="$sdkTargetFolder/system-images/android-35/google_apis/"
maxVersionFilePath="$maxVersionDestination/$maxVersionFileName"
maxVersionCiUrl="$basePath/system_images/google_apis/$maxVersionFileName"
maxVersionCiUrl="$basePath/system-images/google_apis/$maxVersionFileName"
maxVersionUrl="https://dl.google.com/android/repository/sys-img/google_apis/$maxVersionFileName"
maxVersionSha1="c6bf44bdcd885bb902b4ba752d111a073ad7a817"
maxVersionSha1="d79169884cabc6680cb29d32c2112ad46c858c1b"
mkdir -p "$maxVersionDestination"
DownloadURL "$maxVersionCiUrl" "$maxVersionUrl" "$maxVersionSha1" "$maxVersionFilePath"
echo "Unzipping the Android 16 to $maxVersionDestination"
echo "Unzipping the Android 15 to $maxVersionDestination"
sudo unzip -o -q "$maxVersionFilePath" -d "$maxVersionDestination"
rm "$maxVersionFilePath"
echo "Download and unzip Android 16 System Image for insignificant"
insignificantMaxVersionFileName="x86_64-36_r06.zip"
insignificantMaxVersionDestination="$sdkTargetFolder/system-images/android-36/google_apis/"
insignificantMaxVersionFilePath="$insignificantMaxVersionDestination/$insignificantMaxVersionFileName"
insignificantMaxVersionCiUrl="$basePath/system-images/google_apis/$insignificantMaxVersionFileName"
insignificantMaxVersionUrl="https://dl.google.com/android/repository/sys-img/google_apis/$insignificantMaxVersionFileName"
insignificantMaxVersionSha1="a9b0b4a0488e0c6c380f5485507950f011388511"
mkdir -p "$insignificantMaxVersionDestination"
DownloadURL "$insignificantMaxVersionCiUrl" "$insignificantMaxVersionUrl" "$insignificantMaxVersionSha1" "$insignificantMaxVersionFilePath"
echo "Unzipping the Android 16 insignicant to $insignificantMaxVersionDestination"
sudo unzip -o -q "$insignificantMaxVersionFilePath" -d "$insignificantMaxVersionDestination"
rm "$insignificantMaxVersionFilePath"
echo "Checking the contents of Android SDK again..."
ls -l "$sdkTargetFolder"
echo "no" | ./avdmanager create avd -n emulator_x86_api_28 -c 2048M -f \
-k "system-images;android-28;google_apis;x86"
echo "no" | ./avdmanager create avd -n emulator_x86_64_api_35 -c 2048M -f \
-k "system-images;android-35;google_apis;x86_64"
echo "no" | ./avdmanager create avd -n emulator_x86_64_api_36 -c 2048M -f \
-k "system-images;android-36;google_apis;x86_64"
@@ -217,10 +235,6 @@ cp "${scripts_dir_name}/${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

View File

@@ -2,7 +2,6 @@
"Project": {
"Git": {
"_active": true,
"author_line": "author-mail",
"sourceserver_gitdir": "/data/axivion/databases/$(env:TESTED_MODULE_COIN).git",
"sourceserver_remote_url": "ssh://codereview.qt-project.org:29418/qt/$(env:TESTED_MODULE_COIN)"
},
@@ -12,12 +11,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)"
},
"VCSIntegration": {
"vcs_mapping": {
"vcs_account_callback": "dsquery * forestroot -filter \"(&(objectCategory=Person)(mail=%1)) -attr sAMAccountName -l"
}
"name": "qt_$(env:PACKAGE)_$(env:MODULE)_dev_$(env:TARGET_OS_COIN)"
}
},
"Results": {

View File

@@ -1,23 +1,5 @@
{
"Analysis": {
"CWE-119": {
"_active": true
},
"CWE-125": {
"_active": true
},
"CWE-190": {
"_active": true
},
"CWE-416": {
"_active": true
},
"CWE-476": {
"_active": true
},
"CWE-787": {
"_active": true
},
"CloneDetection": {
"_active": true,
"excludes": [
@@ -221,8 +203,8 @@
"_Format": "1.0",
"_VersionNum": [
7,
10,
4,
17655
8,
0,
15004
]
}

0
coin/provisioning/common/linux/fix-bwrap-apparmor.sh Executable file → Normal file
View File

View File

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

@@ -8,17 +8,17 @@ source "${BASH_SOURCE%/*}/../unix/DownloadURL.sh"
source "${BASH_SOURCE%/*}/../unix/SetEnvVar.sh"
# This script will install node.js 18.16.0
version="22.21.1"
version="18.16.0"
uname_m="$(uname -m)"
case "$uname_m" in
x86_64|amd64)
sha256="680d3f30b24a7ff24b98db5e96f294c0070f8f9078df658da1bce1b9c9873c88"
sha256="44d93d9b4627fe5ae343012d855491d62c7381b236c347f7666a7ad070f26548"
pkgname="node-v$version-linux-x64.tar.xz"
dirname="node-v$version-linux-x64"
;;
arm64|aarch64)
sha256="e660365729b434af422bcd2e8e14228637ecf24a1de2cd7c916ad48f2a0521e1"
sha256="c81dfa0bada232cb4583c44d171ea207934f7356f85f9184b32d0dde69e2e0ea"
pkgname="node-v$version-linux-arm64.tar.xz"
dirname="node-v$version-linux-arm64"
;;

View File

@@ -13,7 +13,7 @@ QEMU_VER="8.2.3"
PrimaryUrl="http://ci-files01-hki.ci.qt.io/input/qemu/qemu-$QEMU_VER.tar.xz"
AltUrl="https://download.qemu.org/qemu-$QEMU_VER.tar.xz"
SHA1="1b29c8105cf8d15b9e7fb6f8e85170b6c54a1788"
InstallFromCompressedFileFromURL "$PrimaryUrl" "$AltUrl" "$SHA1" "/tmp" ""
InstallFromCompressedFileFromURL "$PrimaryUrl" "$AltUrl" "$SHA1" "/tmp" "$appPrefix"
targetFolder=/tmp/qemu-${QEMU_VER}
mkdir -p "$targetFolder/build"

View File

@@ -6,13 +6,14 @@ set -ex
source "${BASH_SOURCE%/*}/../unix/sccache.sh"
targetVersion=v0.11.0
targetVersion=0.2.14
if [[ $(uname -m) == 'aarch64' ]]; then
targetArch=aarch64-unknown-linux-musl
sha1=b7606d0fb461c0aa7351f511d9223416a322d52a
sha1=0f9b57c423d77f7aa89bb642864ac7689d84d6a0
else
targetArch=x86_64-unknown-linux-musl
sha1=ef389a20c85b732cccd48436a5e28ed40bed2806
sha1=281680c0fc2c09173e94d12ba45d9f1b8e62e5b3
fi
installSccache "$targetArch" "$targetVersion" "$sha1"

View File

@@ -27,9 +27,9 @@ ndkVersionLatest="r27c"
ndkVersionNightly1="$ndkVersionLatest" # If same version as latest = skip NDK install for nightly
ndkVersionNightly2="$ndkVersionLatest"
sdkBuildToolsVersion="36.0.0"
sdkBuildToolsVersion="35.0.1"
# this is compile sdk version
sdkApiLevel="android-36"
sdkApiLevel="android-35"
toolsSourceFile="$basePath/$toolsFile"

View File

@@ -1,9 +0,0 @@
#!/bin/bash
# Copyright (C) 2025 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
# Delete GCA plists and leases plist to force their regeneration after next reboot
# This avoids IPv6 link-local address collision that would happen with
# multiple VMs from same image.
sudo rm -rf /var/db/dhcpclient

View File

@@ -15,13 +15,6 @@ disableSpotlight() {
sudo mdutil -E / || return 1
}
fixUnknownIndexingState() {
echo "Fix unknown indexing state by enabling indexing back one by one"
sudo mdutil -i on / || return 1
sudo mdutil -i on /System/Volumes/Preboot || return 1
sudo mdutil -i on /System/Volumes/Data || return 1
}
# Disabling spotlight tends to be flaky, add some retry
for i in $(seq 1 5)
do
@@ -32,8 +25,7 @@ do
echo "Spotlight disabled"
break
else
echo "Failed to disable spotlight, $i run fix and retry..."
fixUnknownIndexingState
echo "Failed to disable spotlight, $i retry..."
sleep 2
fi
done

View File

@@ -1,283 +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 static libs
# 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.
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/framework/"
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"
# The set_ffmpeg_dir_env_var requires the presence of the "lib" subfolder in order to validate
# our FFmpeg install. On iOS we don't use this subfolder, we only rely on the "framework" subfolder.
# So we create a dummy "lib" folder to pass the check.
sudo mkdir -p "${prefix}/lib"
set_ffmpeg_dir_env_var "FFMPEG_DIR_IOS" "$prefix"

View File

@@ -1,23 +0,0 @@
#!/usr/bin/env bash
#Copyright (C) 2025 The Qt Company Ltd
#SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
set -ex
# shellcheck source=../common/unix/SetEnvVar.sh
source "${BASH_SOURCE%/*}/../unix/SetEnvVar.sh"
# shellcheck source=./DownloadURL.sh
source "${BASH_SOURCE%/*}/../unix/DownloadURL.sh"
installerFile="pyenv-installer"
sha="1c2f20c26dc8bb7409a6031e8777c0c1b2aae9da"
cacheUrl="https://ci-files01-hki.ci.qt.io/input/python/pyenv/${installerFile}"
target="${installerFile}"
DownloadURL "$cacheUrl" "" "$sha" "$target"
chmod +x "$target"
"./$target"
SetEnvVar "PYENV_ROOT" "/Users/qt/.pyenv"
SetEnvVar "PATH" "\$PYENV_ROOT/bin:\$PATH"
rm -f "$target"

View File

@@ -7,10 +7,10 @@ source "${BASH_SOURCE%/*}/../unix/DownloadURL.sh"
# This script will install Nodejs
version="22.21.1"
version="18.16.0"
urlCache="http://ci-files01-hki.ci.qt.io/input/nodejs/node-v$version.pkg"
urlOffcial="https://nodejs.org/dist/v$version/node-v$version.pkg"
sha256="182ad62634eabbb11497c2284a3172771944f1cd17e23b143e778bd189af6d65"
sha256="156aa5b9580288fb0b3c6134eb8fac64e50745d78d33eebe9e29eb7ff87b8e1e"
DownloadURL $urlCache $urlOffcial $sha256 "/tmp/node-v$version.pkg"
sudo installer -pkg "/tmp/node-v$version.pkg" -target /

View File

@@ -1,8 +0,0 @@
#!/usr/bin/env bash
#Copyright (C) 2025 The Qt Company Ltd
#SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
# Install 7z to be used from command line
set -ex
brew install p7zip

View File

@@ -6,12 +6,12 @@ set -ex
source "${BASH_SOURCE%/*}/../unix/sccache.sh"
targetVersion=v0.11.0
targetVersion=0.2.14
if [[ `arch` == arm* ]]; then
targetArch=aarch64-apple-darwin
sha1=3261ab99e5bb1f9f36eafa597d11491bd85da5ec
sha1=ad10cd4b8889fa08e193a4165ac664876a27c0dc
else
targetArch=x86_64-apple-darwin
sha1=57810789bf2813dfa9bf5da26a712dc30b56ce16
sha1=764bc1664c0ff616d9980a6d127175d0a2041781
fi
installSccache "$targetArch" "$targetVersion" "$sha1"

View File

@@ -41,9 +41,6 @@ SERVICES+=("kTCCServiceBluetoothAlways|$HOME")
# a test fails.
SERVICES+=("kTCCServiceScreenCapture|/")
# Squish requires kTCCServiceAccessibility
SERVICES+=("kTCCServiceAccessibility|/")
# ------ Implementation ------
function add_permission_for_client() {

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

@@ -3,5 +3,5 @@ spdx-tools>=0.8.0 ; python_version >= '3.9'
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'
reuse ; python_version >= '3.9'
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

@@ -2,13 +2,9 @@
# 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
ffmpeg_version_default() {
echo "n7.1.3"
}
download_ffmpeg() {
local version="${1:-$(ffmpeg_version_default)}"
local sha1="${2:-27051817deec88bed3b9652d49f9127d22268d83}"
local version="${1:-n7.1.1}"
local sha1="${2:-479291e8555fe036ca760f95cea829a21e9b8365}"
local ffmpeg_name="FFmpeg-$version"
local target_dir="$HOME"
@@ -69,11 +65,3 @@ set_ffmpeg_dir_env_var() {
source "${BASH_SOURCE%/*}/../unix/SetEnvVar.sh"
SetEnvVar "$envvar" "$dir"
}
set_ffmpeg_env_var() {
local envvar="$1"
local value="$2"
source "${BASH_SOURCE%/*}/../unix/SetEnvVar.sh"
SetEnvVar "$envvar" "$value"
}

View File

@@ -9,8 +9,7 @@ source "${BASH_SOURCE%/*}/../unix/ffmpeg-installation-utils.sh"
os="$1"
# Optional parameter to set output installation directory. Useful for local builds.
page_size="$2"
target_install_dir_param="$3"
target_install_dir_param="$2"
build_type=$(get_ffmpeg_build_type)
ffmpeg_source_dir=$(download_ffmpeg)
@@ -82,23 +81,14 @@ 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"
echo "FFmpeg Android using 16KB page sizes"
elif [ $page_size == "use_4kb_page_size" ]; then
echo "FFmpeg Android using 4KB page sizes"
else
echo "Error: FFmpeg Android page_size must be: use_16kb_page_size or: use_4kb_page_size got: $page_size" >&2
exit 1
fi
local build_dir="$ffmpeg_source_dir/build_android/$target_arch"
mkdir -p "$build_dir"
pushd "$build_dir"
@@ -116,13 +106,7 @@ 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
}

View File

@@ -0,0 +1,175 @@
#!/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_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"
local minimum_version_key="MinimumOSVersion"
local supported_platforms="iPhoneOS"
# TODO: This should be filled out with the actual version of FFmpeg that we are
# deploying.
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>7.0.2</string>
<key>CFBundleVersion</key>
<string>7.0.2</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 or arm64-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/framework/"
sudo xcodebuild -create-xcframework -framework $fw_a -framework $fw_b -output "${prefix}/framework/${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
# The set_ffmpeg_dir_env_var requires the presence of the "lib" subfolder in order to validate
# our FFmpeg install. On iOS we don't use this subfolder, we only rely on the "framework" subfolder.
# So we create a dummy "lib" folder to pass the check.
sudo mkdir -p "${prefix}/lib"
set_ffmpeg_dir_env_var "FFMPEG_DIR_IOS" $prefix

View File

@@ -34,7 +34,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

@@ -15,21 +15,14 @@ sha1="ddd46a2e2a16a308245c008721d877455b23bba8"
target_source_dir="$HOME/patchelf-$patchelf_version"
if [ ! -d "$target_source_dir" ]; then
InstallFromCompressedFileFromURL "$url_cached" "$url_public" "$sha1" "$HOME" ""
InstallFromCompressedFileFromURL "$url_cached" "$url_public" "$sha1" "$HOME" ""
fi
pushd "$target_source_dir" || exit
pushd "$target_source_dir"
./bootstrap.sh
./configure
make
sudo make install
popd || exit
if [[ "$(uname -s)" = "Linux" && -f /etc/redhat-release ]]; then
# RHEL-9 with sudo or non-interactive shells do not include /usr/local/bin/ in PATH
# Add a symlink so patchelf is found in later scripts
echo "Creating symlink for patchelf in /usr/bin"
sudo ln -sf /usr/local/bin/patchelf /usr/bin/patchelf
fi
popd

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

@@ -13,17 +13,14 @@ source "${BASH_SOURCE%/*}/../unix/SetEnvVar.sh"
sslVersionForLatest="3.0.7"
ndkVersionLatest="r27c"
featureSuffixLatest="_16kb"
prebuiltOpensslShaLatest="2cc15dd990460c2c7157ab257a47071fbd9e0ac8"
prebuiltOpensslShaLatest="733cff853b6ee7738e78b90f46b5f028c8490e1e"
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 r27c
@@ -61,46 +58,32 @@ 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}"
if [[ ! -d ${opensslHome} ]]; then
prebuiltUrl="http://ci-files01-hki.ci.qt.io/input/openssl/prebuilt-openssl-${sslVersion}-for-android-ndk-${ndkVersion}.zip"
targetFile="/tmp/prebuilt-openssl-${sslVersion}-for-android-ndk-${ndkVersion}.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
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

@@ -34,8 +34,8 @@ $ndkOfficialUrlNightly2 = "https://dl.google.com/android/repository/android-ndk-
$toolsVersion = "2.1"
$toolsFile = "commandlinetools-win-6609375_latest.zip"
$sdkApi = "ANDROID_API_VERSION"
$sdkApiLevel = "android-36"
$sdkBuildToolsVersion = "36.0.0"
$sdkApiLevel = "android-35"
$sdkBuildToolsVersion = "35.0.1"
$toolsCachedUrl= "\\ci-files01-hki.ci.qt.io\provisioning\android\$toolsFile"
$toolsOfficialUrl = "https://dl.google.com/android/repository/$toolsFile"
$toolsChecksum = "e2e19c2ff584efa87ef0cfdd1987f92881323208"

View File

@@ -1,21 +0,0 @@
# Copyright (C) 2025 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 output usable drivers' versions in provision log
function LogDriverVersion
{
Param (
[string]$Name = $(BadParam("a name of the driver"))
)
$version = (Get-WmiObject Win32_PnPSignedDriver -Filter "DeviceName = '$Name'" | Format-Table Driverversion -HideTableHeaders | Out-String).Trim()
if ([string]::IsNullOrEmpty($version) -eq $true) {
Write-Host "No driver version found: '$Name'"
return
}
Write-Host "$Name = $version"
}
LogDriverVersion "VirtIO Serial Driver"

View File

@@ -382,22 +382,3 @@ function Invoke-MtCommand {
& $Env:SystemRoot\system32\cmd.exe /c $cmdLine | Write-Output
Remove-Item $tempFile
}
function Invoke-NMake {
param([string[]]$NmakeArgs)
# Temporarily remove MAKE flags for NMAKE process
$old = @{
MAKEFLAGS = (Get-Item Env:MAKEFLAGS -ErrorAction Ignore).Value
MFLAGS = (Get-Item Env:MFLAGS -ErrorAction Ignore).Value
MAKE = (Get-Item Env:MAKE -ErrorAction Ignore).Value
NMAKEFLAGS = (Get-Item Env:NMAKEFLAGS -ErrorAction Ignore).Value
}
foreach ($n in $old.Keys) {Remove-Item "Env:$n" -ErrorAction SilentlyContinue}
try {& nmake @NmakeArgs}
finally {
foreach ($n in $old.Keys) {
if ($old[$n]) {Set-EnvironmentVariable -Key "$n" -Value $old[$n]}
else {Remove-Item "Env:$n" -ErrorAction SilentlyContinue}
}
}
}

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.1"
$url_public="https://github.com/FFmpeg/FFmpeg/archive/refs/tags/$version.tar.gz"
$sha1="27051817deec88bed3b9652d49f9127d22268d83"
$sha1="479291e8555fe036ca760f95cea829a21e9b8365"
$url_cached="http://ci-files01-hki.ci.qt.io/input/ffmpeg/$version.tar.gz"
$ffmpeg_name="FFmpeg-$version"
@@ -205,8 +205,7 @@ function InstallAndroidArmv7 {
[string]$ndk_root,
[string]$ffmpeg_dir_android_envvar_name,
[string]$ndk_version,
[string]$android_openssl_path, # OpenSSL is built for Android using NDK, NDK versions for OpenSSL+FFmpeg should match
[string]$android_page_size
[string]$android_openssl_path # OpenSSL is built for Android using NDK, NDK versions for OpenSSL+FFmpeg should match
)
$shared=$true
$target_toolchain_arch="armv7a-linux-androideabi"
@@ -228,10 +227,8 @@ function InstallAndroidArmv7 {
$strip="${toolchain_bin}/llvm-strip.exe"
$openssl_path = $android_openssl_path.Replace("\", "/")
Write-Host "Copying _3.so's to .so's"
Copy-Item -Path ${openssl_path}/armeabi-v7a/libcrypto_3.so -Destination ${openssl_path}/armeabi-v7a/libcrypto.so
Copy-Item -Path ${openssl_path}/armeabi-v7a/libssl_3.so -Destination ${openssl_path}/armeabi-v7a/libssl.so
New-Item -ItemType SymbolicLink -Path ${openssl_path}/armeabi-v7a/libcrypto.so -Target ${openssl_path}/armeabi-v7a/libcrypto_3.so
New-Item -ItemType SymbolicLink -Path ${openssl_path}/armeabi-v7a/libssl.so -Target ${openssl_path}/armeabi-v7a/libssl_3.so
$config = GetFfmpegDefaultConfiguration
$config += " --enable-cross-compile --target-os=android --enable-jni --enable-mediacodec --enable-openssl --enable-pthreads --enable-neon --disable-asm --disable-indev=android_camera"
@@ -239,16 +236,6 @@ function InstallAndroidArmv7 {
$config += " --cc=${cc} --cxx=${cxx} --ar=${ar} --ranlib=${ranlib}"
$config += " --extra-cflags=-I${android_openssl_path}/include --extra-ldflags=-L${android_openssl_path}/armeabi-v7a"
$config += " --extra-cflags=-I${openssl_path}/include --extra-ldflags=-L${openssl_path}/armeabi-v7a"
if ($android_page_size -eq "use_16kb_page_size"){
$config += " --extra-ldflags=-Wl,-z,max-page-size=16384"
Write-Host "FFmpeg Android using 16KB page sizes"
} elseif ($android_page_size -eq "use_4kb_page_size") {
Write-Host "FFmpeg Android using 4KB page sizes"
} else {
Write-Host "Error: FFmpeg Android page_size must be: use_16kb_page_size or: use_16kb_page_size got: $android_page_size"
return false
}
$config += " --strip=$strip"
$buildSystem = "android-arm"
@@ -296,7 +283,7 @@ function InstallFfmpegsAMD64 {
$llvmMingwRes = InstallLlvmMingwFfmpeg
if ($env:ANDROID_NDK_ROOT_LATEST) {
Write-Host "Install ffmpeg using latest supported Android NDK"
$androidArmV7Res = InstallAndroidArmv7 -ndk_root $env:ANDROID_NDK_ROOT_LATEST -ffmpeg_dir_android_envvar_name "FFMPEG_DIR_ANDROID_ARMV7_NDK_LATEST" -ndk_version "latest" -android_openssl_path $env:OPENSSL_ANDROID_HOME_LATEST -android_page_size "use_4kb_page_size"
$androidArmV7Res = InstallAndroidArmv7 -ndk_root $env:ANDROID_NDK_ROOT_LATEST -ffmpeg_dir_android_envvar_name "FFMPEG_DIR_ANDROID_ARMV7_NDK_LATEST" -ndk_version "latest" -android_openssl_path $env:OPENSSL_ANDROID_HOME_LATEST
} else {
throw "Error: env.var ANDROID_NDK_ROOT_LATEST is not set for FFmpeg"
}

View File

@@ -6,6 +6,7 @@
# This script will install Java SE
# https://www.oracle.com/java/technologies/javase/jdk17-archive-downloads.html
$version_major = "17"
$installdir = "C:\Program Files\Java\jdk-$version_major"
$cpu_arch = Get-CpuArchitecture
switch ($cpu_arch) {
@@ -18,9 +19,6 @@ switch ($cpu_arch) {
$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-17.0.11.9-hotspot"
Break
}
x64 {
@@ -30,7 +28,6 @@ switch ($cpu_arch) {
$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
}
default {

View File

@@ -3,34 +3,14 @@
# Install mozilla sccache
param(
[string]$arch="x86_64-pc-windows-msvc",
[string]$version="0.2.14",
[string]$sha1="bbdceb59d6fd7b6a3af02fb36f65c8bf324757b0"
)
. "$PSScriptRoot\helpers.ps1"
$version="v0.11.0-jimis3"
$cpu_arch = Get-CpuArchitecture
switch ($cpu_arch) {
arm64 {
$arch="aarch64-pc-windows-msvc"
$sha1="be429b6c33da9408bba827815d04fceeadf6dbd1"
break
}
x64 {
$arch="x86_64-pc-windows-msvc"
$sha1="bcce35f6b39e2d1d0829f2277fd749767e057486"
break
}
x86 {
$arch="x86-pc-windows-gnu"
$sha1="287f4c3b7db21b72138704b8fe96827e6b1643a8"
$version="0.2.13-alpha-0"
break
}
default {
throw "Unknown architecture $cpu_arch"
}
}
$basename = "sccache-" + $version + "-" + $arch
$zipfile = $basename + ".tar.gz"
$tempfile = "C:\Windows\Temp\" + $zipfile
@@ -48,9 +28,6 @@ Remove-Item -Path $tempfile
# Turnoff idle timeout to avoid sccache shutting down
Set-EnvironmentVariable "SCCACHE_IDLE_TIMEOUT" "0"
# Prevents build job dying from random network I/O errors
Set-EnvironmentVariable "SCCACHE_IGNORE_SERVER_IO_ERROR" "1"
# add sccache to PATH
Set-EnvironmentVariable "PATH" "C:\Program Files\$basename\;$([Environment]::GetEnvironmentVariable('PATH', 'Machine'))"

View File

@@ -2,12 +2,11 @@
# This script installs Windows App SDK
$script:nugetVersion = "v6.11.0"
$script:nugetPackage = "nuget_$nugetVersion.exe"
$script:nugetPackage = "nuget.exe"
$script:packageRoot = "C:\Utils\WindowsAppSdk\"
$script:cachedUrl = "\\ci-files01-hki.ci.qt.io\provisioning\windows\nuget\$nugetPackage"
$script:officialUrl = "https://dist.nuget.org/win-x86-commandline/$nugetVersion/nuget.exe"
$script:officialUrl = "https://dist.nuget.org/win-x86-commandline/v6.11.0/nuget.exe"
$script:sdkChecksumSha1 = "5443887cfb5283da5021388d146ebb5febdc82e9"
$script:package_path = "$packageRoot\\$nugetPackage"

View File

@@ -42,7 +42,8 @@ function BuildZlib {
)
PrepareBuildEnvironment -HostArchitecture $HostArchitecture -TargetArchitecture $TargetArchitecture
Invoke-NMake -NmakeArgs @('/f', "$MAKEFILE")
nmake /f $MAKEFILE
}
function CopySource {

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
@@ -252,8 +250,6 @@ installPackages+=(libusb-1.0-0-dev)
# password management support for Qt Creator
installPackages+=(libsecret-1-dev)
installPackages+=(debian-archive-keyring)
# Keep zoneinfo up-to-date (COIN-1282)
installPackages+=(tzdata)
echo "Running update for apt"

View File

View File

View File

View File

View File

View File

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=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=8.10
sudo yum clean all
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
# 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'
# 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)
@@ -155,12 +157,10 @@ installPackages+=(perl-IPC-Cmd)
installPackages+=(libsecret-devel)
# For tst_license.pl with all the machines generating SBOM
installPackages+=(perl-JSON)
# Keep zoneinfo up-to-date (COIN-1282)
installPackages+=(tzdata)
sudo yum -y install "${installPackages[@]}"
sudo dnf -y module install nodejs:20
sudo dnf -y module install nodejs:16
# We shouldn't use yum to install virtualenv. The one found from package repo is not
# working, but we can use installed pip
@@ -184,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

View File

View File

View File

View File

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