mirror of
git://code.qt.io/qt/qt5.git
synced 2026-08-22 04:09:03 +08:00
Compare commits
35 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| bce71cf4ca | |||
| 9ea9720196 | |||
| 44b15983bf | |||
| 0538193fa5 | |||
| 0f7b2edf0f | |||
| c73ed0d8d5 | |||
| f9b93b1cfc | |||
| 71992859b7 | |||
| 5f4400aa72 | |||
| 84a8c53805 | |||
| ad96407ff2 | |||
| e89a2877ab | |||
| 6559cb21d8 | |||
| 4dc04de6cd | |||
| a905d91491 | |||
| 3cfcbbb4ed | |||
| a7762bff98 | |||
| bfcfb5be1c | |||
| 332c5790cd | |||
| 24348fe918 | |||
| 1b8b29a624 | |||
| 6b1a3ddb0b | |||
| 02761a0550 | |||
| a1f5df0d8b | |||
| 5425c4e6fe | |||
| 13aef4ed7b | |||
| b44116913e | |||
| 738bd44d38 | |||
| 3fc86fbac1 | |||
| d1e144e61b | |||
| 36eda6481a | |||
| c301370686 | |||
| 58e5ed9147 | |||
| a1989884a3 | |||
| 7e17a8b04b |
@@ -324,7 +324,7 @@ function(qt_ir_get_already_initialized_submodules prefix
|
||||
)
|
||||
|
||||
qt_ir_parse_git_config_file_contents("${prefix}"
|
||||
READ_GIT_CONFIG
|
||||
READ_GIT_CONFIG_LOCAL
|
||||
PARENT_REPO_BASE_GIT_PATH "${parent_repo_base_git_path}"
|
||||
WORKING_DIRECTORY "${working_directory}"
|
||||
)
|
||||
|
||||
@@ -1386,7 +1386,7 @@ function(qt_internal_foreach_repo_run)
|
||||
|
||||
set(color_supported FALSE)
|
||||
set(output_goes_where "")
|
||||
if(NOT tty_exit_CODE AND tty_name)
|
||||
if(NOT tty_exit_code AND tty_name)
|
||||
set(color_supported TRUE)
|
||||
set(output_goes_where "OUTPUT_FILE" "${tty_name}")
|
||||
endif()
|
||||
|
||||
@@ -16,6 +16,13 @@ instructions:
|
||||
variableName: CONFIGURE_ENV_PREFIX
|
||||
variableValue: "{{.Env.ENV_PREFIX}}"
|
||||
|
||||
# Re-fetch the qlitehtml repository in the Coin git mirror, otherwise the
|
||||
# RunCMake.InitRepository test might fail trying to checkout a newer sha1 than what is
|
||||
# available in the Coin git mirror.
|
||||
- type: UpdateRepo
|
||||
gitRemote: code.qt.io
|
||||
repos: [playground/qlitehtml.git]
|
||||
|
||||
- type: ExecuteCommand
|
||||
command: "{{.Env.CONFIGURE_ENV_PREFIX}} cmake {{.SourceDir}}/tests/manual/RunCMake"
|
||||
executeCommandArgumentSplitingBehavior: SplitAfterVariableSubstitution
|
||||
|
||||
@@ -367,7 +367,7 @@ Configurations:
|
||||
'VCPKG_TARGET_TRIPLET=x64-linux-qt',
|
||||
]
|
||||
-
|
||||
Id: 'ios-universal'
|
||||
Id: 'ios-device'
|
||||
Template: 'qtci-macos-26-arm-105'
|
||||
Target os: 'IOS_ANY'
|
||||
Target arch: 'arm64'
|
||||
@@ -376,7 +376,35 @@ Configurations:
|
||||
Platform dependency: 'macos-universal-on-arm64'
|
||||
Features: ['Packaging', 'Sccache', 'DebugAndRelease', 'DisableTests', 'UseConfigure', 'WarningsAreErrors', 'GenerateSBOM', 'VerifySBOM']
|
||||
Environment variables: [
|
||||
'TARGET_CONFIGURE_ARGS=-debug-and-release -nomake examples -platform macx-ios-clang',
|
||||
'TARGET_CONFIGURE_ARGS=-debug-and-release -nomake examples -platform macx-ios-clang -sdk iphoneos',
|
||||
'NON_QTBASE_TARGET_CMAKE_ARGS= -DQT_PROTOBUF_WELL_KNOWN_TYPES_PROTO_DIR=/usr/local/include -DFFMPEG_DIR={{.Env.FFMPEG_DIR_IOS}} -DQT_DEPLOY_FFMPEG=TRUE',
|
||||
]
|
||||
-
|
||||
Id: 'ios-arm64-simulator'
|
||||
Template: 'qtci-macos-26-arm-105'
|
||||
Target os: 'IOS_ANY'
|
||||
Target arch: 'arm64'
|
||||
Compiler: 'Clang'
|
||||
Target compiler: 'Clang'
|
||||
Platform dependency: 'macos-universal-on-arm64'
|
||||
Features: ['Packaging', 'Sccache', 'DebugAndRelease', 'DisableTests', 'UseConfigure', 'WarningsAreErrors', 'GenerateSBOM', 'VerifySBOM']
|
||||
Environment variables: [
|
||||
'TARGET_CONFIGURE_ARGS=-debug-and-release -nomake examples -platform macx-ios-clang -sdk iphonesimulator',
|
||||
'TARGET_CMAKE_ARGS=-DCMAKE_OSX_ARCHITECTURES="arm64"',
|
||||
'NON_QTBASE_TARGET_CMAKE_ARGS= -DQT_PROTOBUF_WELL_KNOWN_TYPES_PROTO_DIR=/usr/local/include -DFFMPEG_DIR={{.Env.FFMPEG_DIR_IOS}} -DQT_DEPLOY_FFMPEG=TRUE',
|
||||
]
|
||||
-
|
||||
Id: 'ios-x86_64-simulator'
|
||||
Template: 'qtci-macos-26-arm-105'
|
||||
Target os: 'IOS_ANY'
|
||||
Target arch: 'x86_64'
|
||||
Compiler: 'Clang'
|
||||
Target compiler: 'Clang'
|
||||
Platform dependency: 'macos-universal-on-arm64'
|
||||
Features: ['Packaging', 'Sccache', 'DebugAndRelease', 'DisableTests', 'UseConfigure', 'WarningsAreErrors', 'GenerateSBOM', 'VerifySBOM']
|
||||
Environment variables: [
|
||||
'TARGET_CONFIGURE_ARGS=-debug-and-release -nomake examples -platform macx-ios-clang -sdk iphonesimulator',
|
||||
'TARGET_CMAKE_ARGS=-DCMAKE_OSX_ARCHITECTURES="x86_64"',
|
||||
'NON_QTBASE_TARGET_CMAKE_ARGS= -DQT_PROTOBUF_WELL_KNOWN_TYPES_PROTO_DIR=/usr/local/include -DFFMPEG_DIR={{.Env.FFMPEG_DIR_IOS}} -DQT_DEPLOY_FFMPEG=TRUE',
|
||||
]
|
||||
-
|
||||
|
||||
@@ -12,7 +12,7 @@ Configurations:
|
||||
'TARGET_CONFIGURE_ARGS=-release -force-asserts -force-debug-info -developer-build -no-warnings-are-errors -make examples -qt-harfbuzz -device linux-imx7-g++ -device-option "CROSS_COMPILE={{.Env.QEMUARMV7_TOOLCHAIN_CROSS_COMPILE}}" -device-option "DISTRO_OPTS=hard-float boot2qt" -no-feature-forkfd_pidfd',
|
||||
'TARGET_CMAKE_ARGS=-DCMAKE_TOOLCHAIN_FILE={{.Env.QEMUARMV7_TOOLCHAIN_FILE}} -DQT_FORCE_BUILD_TOOLS=ON',
|
||||
'QT_YOCTO_ENVSETUP={{.Env.QEMUARMV7_TOOLCHAIN_ENVSETUP}}',
|
||||
"QT_CMAKE_DIR=/opt/cmake-3.30.5/bin",
|
||||
"QT_CMAKE_DIR=/opt/cmake-4.3.2/bin",
|
||||
'QT_SYSROOT_FOR_RUNNING_TESTS={{.Env.QEMUARMV7_TOOLCHAIN_SYSROOT}}',
|
||||
'GST_PLUGIN_SCANNER={{.Env.QEMUARMV7_TOOLCHAIN_SYSROOT}}/usr/libexec/gstreamer-1.0/gst-plugin-scanner',
|
||||
'QT_QUICK_BACKEND=software',
|
||||
@@ -31,7 +31,7 @@ Configurations:
|
||||
'TARGET_CONFIGURE_ARGS=-release -force-asserts -force-debug-info -developer-build -no-warnings-are-errors -nomake examples -qt-harfbuzz -device linux-generic-g++ -device-option "CROSS_COMPILE={{.Env.QEMUARM64_TOOLCHAIN_CROSS_COMPILE}}" -device-option "DISTRO_OPTS=boot2qt" -no-feature-forkfd_pidfd',
|
||||
'TARGET_CMAKE_ARGS=-DCMAKE_TOOLCHAIN_FILE={{.Env.QEMUARM64_TOOLCHAIN_FILE}} -DQT_FORCE_BUILD_TOOLS=ON',
|
||||
'QT_YOCTO_ENVSETUP={{.Env.QEMUARM64_TOOLCHAIN_ENVSETUP}}',
|
||||
"QT_CMAKE_DIR=/opt/cmake-3.30.5/bin",
|
||||
"QT_CMAKE_DIR=/opt/cmake-4.3.2/bin",
|
||||
'QT_SYSROOT_FOR_RUNNING_TESTS={{.Env.QEMUARM64_TOOLCHAIN_SYSROOT}}',
|
||||
'GST_PLUGIN_SCANNER={{.Env.QEMUARM64_TOOLCHAIN_SYSROOT}}/usr/libexec/gstreamer-1.0/gst-plugin-scanner',
|
||||
'QT_QUICK_BACKEND=software',
|
||||
@@ -50,7 +50,7 @@ Configurations:
|
||||
'TARGET_CONFIGURE_ARGS=-release -force-asserts -force-debug-info -developer-build -no-warnings-are-errors -nomake examples -qt-harfbuzz -device linux-generic-g++ -device-option "CROSS_COMPILE={{.Env.QEMUMIPS64_TOOLCHAIN_CROSS_COMPILE}}" -device-option "DISTRO_OPTS=boot2qt" -no-feature-forkfd_pidfd',
|
||||
'TARGET_CMAKE_ARGS=-DCMAKE_TOOLCHAIN_FILE={{.Env.QEMUMIPS64_TOOLCHAIN_FILE}} -DQT_FORCE_BUILD_TOOLS=ON',
|
||||
'QT_YOCTO_ENVSETUP={{.Env.QEMUMIPS64_TOOLCHAIN_ENVSETUP}}',
|
||||
"QT_CMAKE_DIR=/opt/cmake-3.30.5/bin",
|
||||
"QT_CMAKE_DIR=/opt/cmake-4.3.2/bin",
|
||||
'QT_SYSROOT_FOR_RUNNING_TESTS={{.Env.QEMUMIPS64_TOOLCHAIN_SYSROOT}}',
|
||||
'GST_PLUGIN_SCANNER={{.Env.QEMUMIPS64_TOOLCHAIN_SYSROOT}}/usr/libexec/gstreamer-1.0/gst-plugin-scanner',
|
||||
'QT_QUICK_BACKEND=software',
|
||||
|
||||
@@ -12,7 +12,7 @@ Configurations:
|
||||
Environment variables: [
|
||||
'TARGET_CONFIGURE_ARGS=-release -force-debug-info -developer-build -no-dbus -nomake examples',
|
||||
'TARGET_CMAKE_ARGS=-DCMAKE_TOOLCHAIN_FILE={{.Env.QNX_710}}/qnx-toolchain-x8664.cmake -DQT_GENERATE_WRAPPER_SCRIPTS_FOR_ALL_HOSTS=ON',
|
||||
'QT_CMAKE_DIR=/opt/cmake-3.30.5/bin',
|
||||
'QT_CMAKE_DIR=/opt/cmake-4.3.2/bin',
|
||||
'QNX_TEST_ENV=TMPDIR=/data/var/tmp HOME=/data/home/root FONTCONFIG_FILE=/data/var/etc/fontconfig/fonts.conf LD_LIBRARY_PATH={{.Env.QNX_QEMU_LD_LIBRARY_PATH}} QSG_RHI_BACKEND=software QT_QPA_PLATFORM=offscreen QTEST_ENVIRONMENT=ci',
|
||||
'NON_QTBASE_TARGET_CMAKE_ARGS=-DCMAKE_SYSTEM_VERSION=710 -DQT_PROTOBUF_WELL_KNOWN_TYPES_PROTO_DIR=/usr/local/include',
|
||||
'QNX_QEMU={{.Env.QNX_710_QEMU}}',
|
||||
@@ -63,7 +63,7 @@ Configurations:
|
||||
Environment variables: [
|
||||
'TARGET_CONFIGURE_ARGS=-release -force-debug-info -developer-build -no-dbus -nomake examples',
|
||||
'TARGET_CMAKE_ARGS=-DCMAKE_TOOLCHAIN_FILE={{.Env.QNX_800}}/qnx-toolchain-x8664.cmake -DQT_GENERATE_WRAPPER_SCRIPTS_FOR_ALL_HOSTS=ON',
|
||||
'QT_CMAKE_DIR=/opt/cmake-3.30.5/bin',
|
||||
'QT_CMAKE_DIR=/opt/cmake-4.3.2/bin',
|
||||
'QNX_TEST_ENV=TMPDIR=/data/var/tmp HOME=/data/home/root FONTCONFIG_FILE=/data/var/etc/fontconfig/fonts.conf LD_LIBRARY_PATH={{.Env.QNX_QEMU_LD_LIBRARY_PATH}} QSG_RHI_BACKEND=software QT_QPA_PLATFORM=offscreen QTEST_ENVIRONMENT=ci',
|
||||
'NON_QTBASE_TARGET_CMAKE_ARGS=-DCMAKE_SYSTEM_VERSION=802 -DQT_PROTOBUF_WELL_KNOWN_TYPES_PROTO_DIR=/usr/local/include',
|
||||
'QNX_QEMU={{.Env.QNX_800_QEMU}}',
|
||||
|
||||
@@ -10,7 +10,7 @@ Configurations:
|
||||
Platform dependency: 'ubuntu-22.04'
|
||||
Features: ['VMSize8', 'UseConfigure', 'DoNotRunTests', 'DoNotUploadTests']
|
||||
Environment variables: [
|
||||
'WIND_CC_SYSROOT=/opt/fsl_imx6_2_0_6_2_VSB',
|
||||
'WIND_CC_SYSROOT=/opt/fsl_imx6_2_0_6_3_VSB',
|
||||
'TARGET_CONFIGURE_ARGS=-release -force-debug-info -qpa offscreen -nomake examples',
|
||||
'TARGET_CMAKE_ARGS=-DBUILD_SHARED_LIBS=OFF -DWARNINGS_ARE_ERRORS=OFF -DCMAKE_TOOLCHAIN_FILE="{{.Env.WIND_CC_SYSROOT}}/mk/rtp.toolchain.cmake" -DFEATURE_vulkan=OFF -DQT_QMAKE_TARGET_MKSPEC=vxworks-clang -DQT_HOST_PATH=/home/qt/work/install -DCMAKE_AUTOGEN_VERBOSE=ON -DCMAKE_STAGING_PREFIX:PATH=/home/qt/work/install/target',
|
||||
'VCPKG_HOST_TRIPLET=x64-linux-qt',
|
||||
@@ -26,8 +26,8 @@ Configurations:
|
||||
Platform dependency: 'ubuntu-22.04'
|
||||
Features: ['VMSize8', 'UseConfigure', 'DoNotRunTests', 'DoNotUploadTests']
|
||||
Environment variables: [
|
||||
'WIND_CC_SYSROOT=/opt/nxp_imx8_1_0_7_0_VSB',
|
||||
'TARGET_CONFIGURE_ARGS=-release -force-debug-info -qpa offscreen -nomake examples',
|
||||
'WIND_CC_SYSROOT=/opt/nxp_imx8_1_0_7_1_VSB',
|
||||
'TARGET_CONFIGURE_ARGS=-release -qpa offscreen -nomake examples',
|
||||
'TARGET_CMAKE_ARGS=-DBUILD_SHARED_LIBS=OFF -DWARNINGS_ARE_ERRORS=OFF -DCMAKE_TOOLCHAIN_FILE="{{.Env.WIND_CC_SYSROOT}}/mk/rtp.toolchain.cmake" -DFEATURE_vulkan=OFF -DQT_QMAKE_TARGET_MKSPEC=vxworks-clang -DQT_HOST_PATH=/home/qt/work/install -DCMAKE_AUTOGEN_VERBOSE=ON -DCMAKE_STAGING_PREFIX:PATH=/home/qt/work/install/target'
|
||||
]
|
||||
-
|
||||
|
||||
@@ -8,10 +8,10 @@ Configurations:
|
||||
Compiler: 'Clang'
|
||||
Target compiler: 'Clang'
|
||||
Platform dependency: 'vxworks-imx6-buildtest'
|
||||
Features: ['VMSize8', 'UseConfigure', 'BuildTestsInTest', 'TestOnly']
|
||||
Features: ['VMSize8', 'UseConfigure', 'BuildTestsInTest', 'TestOnly', 'InsignificantTests']
|
||||
Environment variables: [
|
||||
'WIND_CC_SYSROOT=/opt/fsl_imx6_2_0_6_2_VSB',
|
||||
'VXWORKS_TEST_LIBS_PATH=/opt/fsl_imx6_2_0_6_2_VSB/usr/lib/common;/opt/fsl_imx6_2_0_6_2_VSB/usr/root/llvm/bin;/opt/fsl_imx6_2_0_6_2_VSB/usr/3pp/develop/usr/lib;/home/qt/work/install/target/lib',
|
||||
'WIND_CC_SYSROOT=/opt/fsl_imx6_2_0_6_3_VSB',
|
||||
'VXWORKS_TEST_LIBS_PATH=/opt/fsl_imx6_2_0_6_3_VSB/usr/lib/common;/opt/fsl_imx6_2_0_6_3_VSB/usr/root/llvm/bin;/opt/fsl_imx6_2_0_6_3_VSB/usr/3pp/develop/usr/lib;/home/qt/work/install/target/lib',
|
||||
'TARGET_CONFIGURE_ARGS=-release -force-debug-info -qpa offscreen -nomake examples',
|
||||
'TARGET_CMAKE_ARGS=-DBUILD_SHARED_LIBS=OFF -DWARNINGS_ARE_ERRORS=OFF -DCMAKE_TOOLCHAIN_FILE="{{.Env.WIND_CC_SYSROOT}}/mk/rtp.toolchain.cmake" -DFEATURE_vulkan=OFF -DQT_QMAKE_TARGET_MKSPEC=vxworks-clang -DQT_HOST_PATH=/home/qt/work/install -DCMAKE_AUTOGEN_VERBOSE=ON -DCMAKE_STAGING_PREFIX:PATH=/home/qt/work/install/target',
|
||||
'VCPKG_HOST_TRIPLET=x64-linux-qt',
|
||||
@@ -25,7 +25,7 @@ Configurations:
|
||||
Compiler: 'Clang'
|
||||
Target compiler: 'Clang'
|
||||
Platform dependency: 'vxworks-x86_64-buildtest'
|
||||
Features: ['VMSize8', 'UseConfigure', 'BuildTestsInTest', 'TestOnly']
|
||||
Features: ['VMSize16', 'UseConfigure', 'BuildTestsInTest', 'TestOnly', 'InsignificantTests']
|
||||
Environment variables: [
|
||||
'WIND_CC_SYSROOT=/opt/itl_generic_skylake_VSB',
|
||||
'VXWORKS_TEST_LIBS_PATH=/opt/itl_generic_skylake_VSB/usr/lib/common;/opt/itl_generic_skylake_VSB/usr/root/llvm/bin;/opt/itl_generic_skylake_VSB/usr/3pp/develop/usr/lib;/home/qt/work/install/target/lib',
|
||||
|
||||
@@ -0,0 +1,15 @@
|
||||
Version: 2
|
||||
Module only: True
|
||||
Include: [
|
||||
cmake_platforms.yaml: [
|
||||
"ubuntu-24.04-x64-developer-build"
|
||||
],
|
||||
cmake_platforms_target_harmonyos.yaml: [
|
||||
"harmonyos-23-arm64-on-linux-developer-build"
|
||||
]
|
||||
]
|
||||
Configurations: []
|
||||
Overrides:
|
||||
-
|
||||
Id: 'harmonyos-23-arm64-on-linux-developer-build'
|
||||
-Features: ['DoNotRunTests']
|
||||
@@ -0,0 +1,14 @@
|
||||
Version: 2
|
||||
Module only: True
|
||||
Include: [
|
||||
cmake_platforms.yaml: [
|
||||
'ubuntu-22.04'
|
||||
]
|
||||
]
|
||||
Configurations:
|
||||
-
|
||||
Id: 'ubuntu-22.04-Axivion'
|
||||
Template: 'qtci-linux-Ubuntu-22.04-x86_64-51'
|
||||
Compiler: 'GCC'
|
||||
Features: ['UseConfigure', 'VMSize16', 'RunAsPlatformDependency', 'PysideAxivion']
|
||||
Platform dependency: 'ubuntu-22.04'
|
||||
@@ -7,7 +7,7 @@ Include: [
|
||||
"ubuntu-22.04-developer-build-x11-tests",
|
||||
"ubuntu-24.04-x64",
|
||||
"windows-11_24H2-msvc2022-developer-build",
|
||||
"ios-universal",
|
||||
"ios-device",
|
||||
"documentation-warnings",
|
||||
],
|
||||
macos.yaml: [
|
||||
|
||||
@@ -45,7 +45,7 @@ Configurations:
|
||||
'TARGET_CONFIGURE_ARGS=-release -no-warnings-are-errors -nomake examples -qt-harfbuzz -device linux-generic-g++ -device-option "CROSS_COMPILE={{.Env.QEMUARM64_TOOLCHAIN_CROSS_COMPILE}}" -device-option "DISTRO_OPTS=boot2qt" -no-feature-forkfd_pidfd -qtlibinfix TestInfix',
|
||||
'TARGET_CMAKE_ARGS=-DCMAKE_TOOLCHAIN_FILE={{.Env.QEMUARM64_TOOLCHAIN_FILE}} -DQT_FORCE_BUILD_TOOLS=ON',
|
||||
'QT_YOCTO_ENVSETUP={{.Env.QEMUARM64_TOOLCHAIN_ENVSETUP}}',
|
||||
"QT_CMAKE_DIR=/opt/cmake-3.30.5/bin",
|
||||
"QT_CMAKE_DIR=/opt/cmake-4.3.2/bin",
|
||||
'QT_SYSROOT_FOR_RUNNING_TESTS={{.Env.QEMUARM64_TOOLCHAIN_SYSROOT}}',
|
||||
'GST_PLUGIN_SCANNER={{.Env.QEMUARM64_TOOLCHAIN_SYSROOT}}/usr/libexec/gstreamer-1.0/gst-plugin-scanner',
|
||||
'QT_QUICK_BACKEND=software',
|
||||
|
||||
@@ -11,13 +11,26 @@ source "${BASH_SOURCE%/*}/../unix/InstallFromCompressedFileFromURL.sh"
|
||||
# shellcheck source=../unix/SetEnvVar.sh
|
||||
source "${BASH_SOURCE%/*}/../unix/SetEnvVar.sh"
|
||||
|
||||
majorminorversion="3.30"
|
||||
version="3.30.5"
|
||||
PrimaryUrl="http://ci-files01-hki.ci.qt.io/input/cmake/cmake-$version-linux-x86_64.tar.gz"
|
||||
AltUrl="https://cmake.org/files/v$majorminorversion/cmake-$version-linux-x86_64.tar.gz"
|
||||
SHA1="61b339cac5f110d5ed2934f66a26c2e991945e01"
|
||||
majorminorversion="4.3"
|
||||
version="4.3.2"
|
||||
|
||||
uname_m="$(uname -m)"
|
||||
case "$uname_m" in
|
||||
x86_64|amd64)
|
||||
SHA1="736c0722ed8393b3eb74fd573f6c9c245770206a"
|
||||
arch="x86_64"
|
||||
;;
|
||||
arm64|aarch64)
|
||||
SHA1="a173eb910c808f561422feb45fe1fe57c3e346fa"
|
||||
arch="aarch64"
|
||||
;;
|
||||
*) fatal "Unknown architecture in uname: $uname_m" 43 ;;
|
||||
esac
|
||||
|
||||
PrimaryUrl="http://ci-files01-hki.ci.qt.io/input/cmake/cmake-$version-linux-$arch.tar.gz"
|
||||
AltUrl="https://cmake.org/files/v$majorminorversion/cmake-$version-linux-$arch.tar.gz"
|
||||
targetFolder="/opt/cmake-$version"
|
||||
appPrefix="cmake-$version-linux-x86_64"
|
||||
appPrefix="cmake-$version-linux-$arch"
|
||||
|
||||
InstallFromCompressedFileFromURL "$PrimaryUrl" "$AltUrl" "$SHA1" "$targetFolder" "$appPrefix"
|
||||
|
||||
|
||||
@@ -1,3 +1,4 @@
|
||||
diffutils
|
||||
make
|
||||
nasm
|
||||
yasm
|
||||
|
||||
@@ -1,4 +1,5 @@
|
||||
diffutils
|
||||
libva-devel
|
||||
make
|
||||
nasm
|
||||
yasm
|
||||
|
||||
@@ -1,3 +1,4 @@
|
||||
diffutils
|
||||
make
|
||||
nasm
|
||||
yasm
|
||||
|
||||
@@ -1,4 +1,5 @@
|
||||
diffutils
|
||||
libva-dev
|
||||
make
|
||||
nasm
|
||||
yasm
|
||||
|
||||
@@ -9,18 +9,105 @@ source "${BASH_SOURCE%/*}/../unix/DownloadURL.sh"
|
||||
# shellcheck source=../unix/SourceEnvVars.sh
|
||||
source "${BASH_SOURCE%/*}/../unix/SourceEnvVars.sh"
|
||||
|
||||
echo "Caching Gradle distribution and dependencies"
|
||||
gradleCacheFileName="gradle_9.3.1_linux_cache_v2.tar.gz"
|
||||
gradleCacheUrl="http://ci-files01-hki.ci.qt.io/input/gradle/$gradleCacheFileName"
|
||||
gradleCacheSha1="e88989d55f68e978442e567e4707a6093c829af6"
|
||||
gradleCacheFile="/tmp/$gradleCacheFileName"
|
||||
DownloadURL "$gradleCacheUrl" "$gradleCacheUrl" "$gradleCacheSha1" "$gradleCacheFile"
|
||||
mkdir -p "$HOME/.gradle"
|
||||
tar -xzf "$gradleCacheFile" -C "$HOME/.gradle" --strip-components=1
|
||||
rm "$gradleCacheFile"
|
||||
echo "Caching Gradle distributions and dependencies"
|
||||
|
||||
gradle_project_source="${BASH_SOURCE%/*}/../shared/gradle/project"
|
||||
cp -r "$gradle_project_source" /tmp/gradle_project
|
||||
cd /tmp/gradle_project
|
||||
chmod +x gradlew
|
||||
sh gradlew build
|
||||
gradleDistributionMirror="http://ci-files01-hki.ci.qt.io/input/gradle"
|
||||
gradleInitScript="init.d/nexus-mirror.gradle"
|
||||
|
||||
# Route every Gradle repository through the internal Nexus mirror.
|
||||
mkdir -p "$HOME/.gradle/init.d"
|
||||
cp "${BASH_SOURCE%/*}/../shared/gradle/$gradleInitScript" "$HOME/.gradle/$gradleInitScript"
|
||||
|
||||
# Returns the hash of the Gradle binary distribution for a given Gradle version.
|
||||
# Gradle calculates the hash as base36(md5(distributionUrl)).
|
||||
gradleDistributionHash () {
|
||||
version="$1"
|
||||
propertiesFile="$gradle_project_source/gradle/wrapper/gradle-wrapper.properties"
|
||||
|
||||
# 1. Read the project's distributionUrl.
|
||||
distributionUrl=$(grep '^distributionUrl=' "$propertiesFile")
|
||||
distributionUrl=${distributionUrl#distributionUrl=}
|
||||
# 2. Unescape the Java-properties (e.g. '\:').
|
||||
distributionUrl=${distributionUrl//\\:/:}
|
||||
# 3. Swap in the requested version while maintaining the distribution URL.
|
||||
distributionUrl=${distributionUrl/gradle-[0-9.]*-bin.zip/gradle-$version-bin.zip}
|
||||
|
||||
if command -v md5sum >/dev/null 2>&1; then
|
||||
md5Hex=$(printf '%s' "$distributionUrl" | md5sum | awk '{print $1}')
|
||||
else
|
||||
md5Hex=$(printf '%s' "$distributionUrl" | md5)
|
||||
fi
|
||||
|
||||
# Convert the md5 to base36: read it as a number, then repeatedly take the
|
||||
# next digit (number % 36) and divide by 36, prepending each digit's character.
|
||||
number=$(printf 'ibase=16; %s\n' "$(printf '%s' "$md5Hex" | tr 'a-f' 'A-F')" | bc)
|
||||
hash=""
|
||||
alphabet="0123456789abcdefghijklmnopqrstuvwxyz"
|
||||
while [ "$number" != "0" ]; do
|
||||
digit=$(printf '%s %% 36\n' "$number" | bc)
|
||||
number=$(printf '%s / 36\n' "$number" | bc)
|
||||
hash="${alphabet:$digit:1}$hash"
|
||||
done
|
||||
printf '%s' "$hash"
|
||||
}
|
||||
|
||||
# Seed a Gradle distribution binary into ~/.gradle from the internal mirror.
|
||||
seedGradleDistribution () {
|
||||
version="$1"
|
||||
sha="$2"
|
||||
|
||||
distributionDir="$HOME/.gradle/wrapper/dists/gradle-${version}-bin/$(gradleDistributionHash "$version")"
|
||||
if [ -e "$distributionDir/gradle-${version}-bin.zip.ok" ]; then
|
||||
return 0
|
||||
fi
|
||||
mkdir -p "$distributionDir"
|
||||
zip="$distributionDir/gradle-${version}-bin.zip"
|
||||
url="$gradleDistributionMirror/gradle-${version}-bin.zip"
|
||||
DownloadURL "$url" "$url" "$sha" "$zip"
|
||||
unzip -q -o "$zip" -d "$distributionDir"
|
||||
rm -f "$zip"
|
||||
touch "$distributionDir/gradle-${version}-bin.zip.ok"
|
||||
}
|
||||
|
||||
# Populate ~/.gradle/caches by priming the shared project for each Gradle and AGP profile.
|
||||
cacheGradleProfile () {
|
||||
echo "Caching Gradle profile $*"
|
||||
tmp="$(mktemp -d)"
|
||||
project="$tmp/project"
|
||||
cp -r "$gradle_project_source" "$project"
|
||||
|
||||
props="$project/gradle/wrapper/gradle-wrapper.properties"
|
||||
for kv in "$@"; do
|
||||
case "$kv" in
|
||||
gradle=*)
|
||||
sed "s#gradle-[0-9.]*-bin.zip#gradle-${kv#*=}-bin.zip#" "$props" > "$props.tmp"
|
||||
mv "$props.tmp" "$props"
|
||||
;;
|
||||
esac
|
||||
done
|
||||
|
||||
toml="$project/gradle/libs.versions.toml"
|
||||
for kv in "$@"; do
|
||||
case "$kv" in
|
||||
gradle=*) ;;
|
||||
*)
|
||||
key="${kv%%=*}"
|
||||
val="${kv#*=}"
|
||||
sed "/^\[versions\]/,/^\[/ s/^$key = .*/$key = \"$val\"/" "$toml" > "$toml.tmp"
|
||||
mv "$toml.tmp" "$toml"
|
||||
;;
|
||||
esac
|
||||
done
|
||||
|
||||
sh "$project/gradlew" --project-dir "$project" build
|
||||
rm -rf "$tmp"
|
||||
}
|
||||
|
||||
# Cache both the current and the previous versions to avoid issues during bumps.
|
||||
seedGradleDistribution 9.3.1 "b266d5ff6b90eada6dc3b20cb090e3731302e553a27c5d3e4df1f0d76beaff06"
|
||||
cacheGradleProfile gradle=9.3.1 agp=9.0.0
|
||||
seedGradleDistribution 9.5.1 "bafc141b619ad6350fd975fc903156dd5c151998cc8b058e8c1044ab5f7b031f"
|
||||
cacheGradleProfile gradle=9.5.1 agp=9.2.1
|
||||
|
||||
echo "Cached Gradle distributions and dependencies under $HOME/.gradle."
|
||||
|
||||
@@ -21,13 +21,12 @@ prefix="${2:-$default_prefix}"
|
||||
pkgconfig_path="$PKG_CONFIG_PATH"
|
||||
|
||||
install_ff_nvcodec_headers() {
|
||||
local nv_codec_version="11.1.5.3" # use 11.x.x.x to ensure compatibility with 470 nvidia drivers; might be upated to 12.0
|
||||
local nv_codec_url_public="https://github.com/FFmpeg/nv-codec-headers/archive/refs/tags/n$nv_codec_version.zip"
|
||||
local nv_codec_url_cached="http://ci-files01-hki.ci.qt.io/input/ffmpeg/nv-codec-headers/nv-codec-headers-$nv_codec_version.zip"
|
||||
local nv_codec_sha1="78715d521de102362e553dc92577bbe81905a321"
|
||||
#nv_codec_sha1="4f30539f8dd31945da4c3da32e66022f9ca59c08" // 12.0
|
||||
local nv_codec_version="12.0.16.1" # use 11.x.x.x to ensure compatibility with 520 nvidia drivers
|
||||
local nv_codec_url_public="https://github.com/FFmpeg/nv-codec-headers/releases/download/n12.0.16.1/nv-codec-headers-$nv_codec_version.tar.gz"
|
||||
local nv_codec_url_cached="http://ci-files01-hki.ci.qt.io/input/ffmpeg/nv-codec-headers/nv-codec-headers-$nv_codec_version.tar.gz"
|
||||
local nv_codec_sha1="df7239777af15af5d7e563d2af0deff874c3b770"
|
||||
local target_dir="$HOME"
|
||||
local nv_codec_dir="$target_dir/nv-codec-headers-n$nv_codec_version"
|
||||
local nv_codec_dir="$target_dir/nv-codec-headers-$nv_codec_version"
|
||||
|
||||
if [ ! -d "$nv_codec_dir" ]; then
|
||||
source "${BASH_SOURCE%/*}/../unix/InstallFromCompressedFileFromURL.sh"
|
||||
|
||||
@@ -43,9 +43,9 @@ if [ ! -d "$targetFolder" ]; then
|
||||
fi
|
||||
|
||||
# QNX SDP
|
||||
sourceFile="http://ci-files01-hki.ci.qt.io/input/qnx/qnx710-windows-linux-20240417.tar.xz"
|
||||
sourceFile="http://ci-files01-hki.ci.qt.io/input/qnx/qnx710-windows-linux-20260422.tar.xz"
|
||||
targetFile="qnx710.tar.xz"
|
||||
sha1="cd2d35004fb2798089e29d9e1226691426632da0"
|
||||
sha1="98b24df7e8c53a104aee76e769011396fa4bdafd"
|
||||
DownloadAndExtract "$sourceFile" "$sha1" "$targetFile" "$targetFolder"
|
||||
|
||||
sudo cp "$aarch64le_toolchain" "$targetPath"
|
||||
|
||||
+1
-1
@@ -13,7 +13,7 @@ PATH=__IFS_PATH__:/system/xbin:.
|
||||
var/share/zoneinfo=usr/share/zoneinfo
|
||||
|
||||
[uid=0 gid=0 dperms=755 type=dir] var/share/fonts
|
||||
var/etc/fontconfig/fonts.conf=etc/fontconfig/fonts.conf
|
||||
var/etc/fontconfig/fonts.conf=etc/fonts/fonts.conf
|
||||
var/share/fonts=usr/share/fonts
|
||||
|
||||
var/etc/hosts=local/misc_files/etc/hosts
|
||||
|
||||
+3
@@ -0,0 +1,3 @@
|
||||
# local/snippets/ifs_files.custom
|
||||
# Placeholder for local list of files to add to ifs
|
||||
/usr/libexec/sshd-session=usr/libexec/sshd-session
|
||||
+2
@@ -18,6 +18,8 @@ rm -rf /data/var/share/fonts/NotoSansCJK*
|
||||
rm -rf /data/var/share/fonts/NotoSansMonoCJK*
|
||||
echo "---> Create fontconfig cache"
|
||||
fc-cache &
|
||||
# For fc-match in QFont tests
|
||||
ln -Ps /system/lib/libfontconfig.so.17 /system/lib/libfontconfig.so.1
|
||||
|
||||
# Add default route so QNX knows where to send
|
||||
# requests for unknown network
|
||||
|
||||
+2
-2
@@ -21,7 +21,7 @@ lib/libGLESv2.so.1=usr/lib/libGLESv2.so.1
|
||||
lib/libEGL.so.1=usr/lib/libEGL.so.1
|
||||
lib/libz.so.2=usr/lib/libz.so.2
|
||||
lib/libxml2.so.2=usr/lib/libxml2.so.2
|
||||
lib/libfreetype.so.24=usr/lib/libfreetype.so.24
|
||||
lib/libfreetype.so.26=usr/lib/libfreetype.so.26
|
||||
lib/libbz2.so.1=usr/lib/libbz2.so.1
|
||||
lib/liblzma.so.5=usr/lib/liblzma.so.5
|
||||
lib/libbacktrace.so.1=usr/lib/libbacktrace.so.1
|
||||
@@ -54,7 +54,7 @@ lib/libmmrndclient.so.1=usr/lib/libmmrndclient.so.1
|
||||
lib/libscreen.so.1=usr/lib/libscreen.so.1
|
||||
|
||||
# for fontconfig
|
||||
lib/libfontconfig.so.1=usr/lib/libfontconfig.so.1
|
||||
lib/libfontconfig.so.17=usr/lib/libfontconfig.so.17
|
||||
xbin/fc-cache=bin/fc-cache
|
||||
xbin/fc-match=local/misc_files/fc-match
|
||||
|
||||
|
||||
@@ -13,60 +13,60 @@ source "${BASH_SOURCE%/*}/../unix/SetEnvVar.sh"
|
||||
|
||||
######### VXworks libs #########
|
||||
# Installs to /opt/vxworks
|
||||
PrimaryUrl="http://ci-files01-hki.ci.qt.io/input/vxworks/vxworks_libs_2503.tar.gz"
|
||||
PrimaryUrl="http://ci-files01-hki.ci.qt.io/input/vxworks/vxworks_libs_2603.tar.gz"
|
||||
AltUrl=""
|
||||
sha1="96db52d86c2138a1ca31212372f48838ec08013e"
|
||||
sha1="e9337894d4591e1d9e67640181c3d48fdb3d4a12"
|
||||
targetFolder="/opt"
|
||||
InstallFromCompressedFileFromURL "$PrimaryUrl" "$AltUrl" "$sha1" "$targetFolder" ""
|
||||
SetEnvVar "VXWORKS_HOME" "/opt/vxworks"
|
||||
SetEnvVar "VXWORKS_SSH" "WindRiver@172.31.1.10"
|
||||
|
||||
# IMX 6
|
||||
VXWORKS_BUILD_VER="16-04-2025"
|
||||
VXWORKS_BUILD_VER="12-05-2026_2"
|
||||
######### VXworks toolchain #########
|
||||
# Installs to /opt/fsl_imx6_2_0_6_2_VSB
|
||||
# Installs to /opt/fsl_imx6_2_0_6_3_VSB
|
||||
PrimaryUrl="http://ci-files01-hki.ci.qt.io/input/vxworks/vxworks_arm_vsb_${VXWORKS_BUILD_VER}.tar.gz"
|
||||
AltUrl=""
|
||||
sha1="88f0f139ac62e8c0a4c5477d880a1ff345826479"
|
||||
sha1="a1553f377ae84a722c8ad258fccb684f9198717c"
|
||||
targetFolder="/opt/"
|
||||
InstallFromCompressedFileFromURL "$PrimaryUrl" "$AltUrl" "$sha1" "$targetFolder" ""
|
||||
SetEnvVar "WIND_CC_SYSROOT" "/opt/fsl_imx6_2_0_6_2_VSB"
|
||||
SetEnvVar "WIND_CC_SYSROOT" "/opt/fsl_imx6_2_0_6_3_VSB"
|
||||
|
||||
######### VXworks VIP kernel #########
|
||||
# Installs to /opt/fsl_imx6_2_0_6_2_VIP_QEMU
|
||||
# Installs to /opt/fsl_imx6_2_0_6_3_VIP_QEMU
|
||||
PrimaryUrl="http://ci-files01-hki.ci.qt.io/input/vxworks/vxworks_arm_vip_${VXWORKS_BUILD_VER}.tar.gz"
|
||||
AltUrl=""
|
||||
sha1="96056c0f9b1234160db2d9038a9e6fc24a2bbbd7"
|
||||
sha1="487a056d389a764717142100fb408e65ea720f92"
|
||||
targetFolder="/opt/"
|
||||
InstallFromCompressedFileFromURL "$PrimaryUrl" "$AltUrl" "$sha1" "$targetFolder" ""
|
||||
|
||||
# IMX 8
|
||||
# Installs to /opt/nxp_imx8_1_0_6_3_VSB
|
||||
# Installs to /opt/nxp_imx8_1_0_7_1_VSB
|
||||
PrimaryUrl="http://ci-files01-hki.ci.qt.io/input/vxworks/vxworks_arm_imx8_vsb_${VXWORKS_BUILD_VER}.tar.gz"
|
||||
AltUrl=""
|
||||
sha1="cf6194b78bf08b894397fd5ce2a57abd25cf497b"
|
||||
sha1="b312f38a7ca670398c940c25d20ed2a26155160d"
|
||||
targetFolder="/opt/"
|
||||
InstallFromCompressedFileFromURL "$PrimaryUrl" "$AltUrl" "$sha1" "$targetFolder" ""
|
||||
|
||||
# Installs to /opt/itl_generic_skylake_VSB
|
||||
PrimaryUrl="http://ci-files01-hki.ci.qt.io/input/vxworks/vxworks_intel_vsb_${VXWORKS_BUILD_VER}.tar.gz"
|
||||
AltUrl=""
|
||||
sha1="4c75222364d3907db9fb1605cabe0c92616d9ec9"
|
||||
sha1="9fddd5aa0b9599113c22670fcc1221004978ee8a"
|
||||
targetFolder="/opt/"
|
||||
InstallFromCompressedFileFromURL "$PrimaryUrl" "$AltUrl" "$sha1" "$targetFolder" ""
|
||||
# Installs to /opt/itl_generic_skylake_VIP_QEMU
|
||||
PrimaryUrl="http://ci-files01-hki.ci.qt.io/input/vxworks/vxworks_intel_vip_${VXWORKS_BUILD_VER}.tar.gz"
|
||||
AltUrl=""
|
||||
sha1="c3af7da92832ea71201dcf1022d7404966291f5c"
|
||||
sha1="cb366addbea7a1fd34aa49b739dcc0b480350fce"
|
||||
targetFolder="/opt/"
|
||||
InstallFromCompressedFileFromURL "$PrimaryUrl" "$AltUrl" "$sha1" "$targetFolder" ""
|
||||
|
||||
######### VXworks fonts and certs #########
|
||||
# Installs to /opt/fsl_imx6_2_0_6_2_VSB
|
||||
# Installs to /opt/fsl_imx6_2_0_6_3_VSB
|
||||
PrimaryUrl="http://ci-files01-hki.ci.qt.io/input/vxworks/vxworks_misc.tar.gz"
|
||||
AltUrl=""
|
||||
sha1="1bc529b90b35b0b249f219e47d5798225a9b68d8"
|
||||
targetFolder="/opt/fsl_imx6_2_0_6_2_VSB/"
|
||||
targetFolder="/opt/fsl_imx6_2_0_6_3_VSB/"
|
||||
InstallFromCompressedFileFromURL "$PrimaryUrl" "$AltUrl" "$sha1" "$targetFolder" ""
|
||||
######### VXworks fonts and certs #########
|
||||
# Installs to /opt/itl_generic_skylake_VSB
|
||||
@@ -76,13 +76,6 @@ sha1="1bc529b90b35b0b249f219e47d5798225a9b68d8"
|
||||
targetFolder="/opt/itl_generic_skylake_VSB/"
|
||||
InstallFromCompressedFileFromURL "$PrimaryUrl" "$AltUrl" "$sha1" "$targetFolder" ""
|
||||
|
||||
# Setup NFS exports that are needed by VxWorks qemu
|
||||
sudo bash -c "echo '/home/qt/work 172.31.1.10/24(rw,sync,root_squash,no_subtree_check,anonuid=2001,anongid=100)' >> /etc/exports"
|
||||
sudo bash -c "echo '/opt/fsl_imx6_2_0_6_2_VSB 172.31.1.10/24(rw,sync,root_squash,no_subtree_check,anonuid=2001,anongid=100)' >> /etc/exports"
|
||||
sudo bash -c "echo '/opt/itl_generic_skylake_VSB 172.31.1.10/24(rw,sync,root_squash,no_subtree_check,anonuid=2001,anongid=100)' >> /etc/exports"
|
||||
|
||||
sudo exportfs -a
|
||||
|
||||
# Enable ipv4 routing from vxWorks to Qt DNS
|
||||
sudo sed -i s/#net.ipv4.ip_forward=1/net.ipv4.ip_forward=1/g /etc/sysctl.conf
|
||||
sudo iptables -I FORWARD 1 -j ACCEPT
|
||||
|
||||
@@ -2,57 +2,109 @@
|
||||
# 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
|
||||
|
||||
# Launch a single VxWorks QEMU emulator instance.
|
||||
#
|
||||
# Usage: vxworks_qemu_launcher.sh <arm|intel> [instance-id]
|
||||
#
|
||||
# Multiple instances are run in parallel to speed up the autotest run. Each
|
||||
# instance gets its own tap device, guest IP, MAC address, serial FIFO pair,
|
||||
# QEMU log and (for the TCG-based ARM emulator) a dedicated set of host CPU
|
||||
# cores. Instance 0 keeps the historical addresses so a single-instance run
|
||||
# behaves exactly as before.
|
||||
|
||||
[ $# -ge 1 ] || echo "Supply parameter which emulator to start <arm|intel> [instance-id]"
|
||||
TYPE=$1
|
||||
INSTANCE=${2:-0}
|
||||
|
||||
# Per-instance identifiers. Instance 0 == the original single-emulator layout.
|
||||
TAP="tap${INSTANCE}"
|
||||
GUEST_IP="172.31.1.$((10 + INSTANCE))"
|
||||
MAC=$(printf '52:54:00:12:34:%02x' "$INSTANCE")
|
||||
PIPE="/tmp/guest${INSTANCE}"
|
||||
QEMU_LOG_PATH="/home/qt/work/vxworks_qemu_log_${INSTANCE}.txt"
|
||||
|
||||
# Per-instance SSH target: same user as VXWORKS_SSH, but the instance's IP.
|
||||
if [[ "$VXWORKS_SSH" == *"@"* ]]; then
|
||||
SSH_TARGET="${VXWORKS_SSH%@*}@${GUEST_IP}"
|
||||
else
|
||||
SSH_TARGET="${GUEST_IP}"
|
||||
fi
|
||||
|
||||
# Host bridge and per-instance tap setup. Serialized across parallel launches
|
||||
# and made idempotent so concurrent instances don't race on the shared bridge.
|
||||
exec 9>"/tmp/vxworks_qemu_host_setup.lock"
|
||||
flock 9
|
||||
NFS_CONF_MARKER="# VxWorks QEMU NFS settings (added by vxworks_qemu_launcher.sh)"
|
||||
if ! grep -qF "$NFS_CONF_MARKER" /etc/nfs.conf; then
|
||||
# Configure NFS for UDP traffic
|
||||
sudo bash -c "echo -e '\n${NFS_CONF_MARKER}\n' >> /etc/nfs.conf"
|
||||
sudo bash -c "echo -e '[nfsd]\n' >> /etc/nfs.conf"
|
||||
sudo bash -c "echo -e 'udp=y\n' >> /etc/nfs.conf"
|
||||
sudo bash -c "echo -e 'tcp=n\n' >> /etc/nfs.conf"
|
||||
sudo bash -c "echo -e 'vers2=n\n' >> /etc/nfs.conf"
|
||||
sudo bash -c "echo -e 'vers3=y\n' >> /etc/nfs.conf"
|
||||
sudo bash -c "echo -e 'vers4=n\n' >> /etc/nfs.conf"
|
||||
# Setup NFS exports that are needed by VxWorks qemu
|
||||
sudo bash -c "echo '/home/qt/work 172.31.1.10/24(rw,sync,root_squash,no_subtree_check,anonuid=2001,anongid=100)' >> /etc/exports"
|
||||
sudo bash -c "echo '/opt/fsl_imx6_2_0_6_3_VSB 172.31.1.10/24(rw,sync,root_squash,no_subtree_check,anonuid=2001,anongid=100)' >> /etc/exports"
|
||||
sudo bash -c "echo '/opt/itl_generic_skylake_VSB 172.31.1.10/24(rw,sync,root_squash,no_subtree_check,anonuid=2001,anongid=100)' >> /etc/exports"
|
||||
# Restart NFS server
|
||||
sudo exportfs -a
|
||||
sudo systemctl restart nfs-server
|
||||
fi
|
||||
|
||||
# Setup bridge if not exist for VxWorks QEMU
|
||||
if ! ip link show br0 >/dev/null 2>&1; then
|
||||
sudo brctl addbr br0
|
||||
sudo brctl stp br0 off
|
||||
sudo ifconfig br0 172.31.1.1 netmask 255.255.255.0 promisc up
|
||||
sudo tunctl -u qt -t tap0
|
||||
sudo ifconfig tap0 promisc up
|
||||
sudo brctl addif br0 tap0
|
||||
fi
|
||||
if ! ip link show "${TAP}" >/dev/null 2>&1; then
|
||||
sudo tunctl -u qt -t "${TAP}"
|
||||
sudo ifconfig "${TAP}" promisc up
|
||||
sudo brctl addif br0 "${TAP}"
|
||||
fi
|
||||
exec 9>&-
|
||||
|
||||
[ $# -eq 1 ] || echo "Supply parameter which emulator to start <arm|intel>"
|
||||
TYPE=$1
|
||||
|
||||
QEMU_LOG_PATH="/home/qt/work/vxworks_qemu_log.txt"
|
||||
if [ "$TYPE" = "arm" ] || [ "$TYPE" = "" ]; then
|
||||
$VXWORKS_QEMU/bin/qemu-system-arm \
|
||||
-machine sabrelite \
|
||||
-smp 4 \
|
||||
-m 1G \
|
||||
-smp 2 \
|
||||
-m 2G \
|
||||
-nographic \
|
||||
-monitor none \
|
||||
-serial null \
|
||||
-serial pipe:/tmp/guest \
|
||||
-kernel /opt/fsl_imx6_2_0_6_2_VIP_QEMU/default/uVxWorks \
|
||||
-dtb /opt/fsl_imx6_2_0_6_2_VIP_QEMU/default/imx6q-sabrelite.dtb \
|
||||
-append "enet(0,0)host:vxWorks h=172.31.1.1 g=172.31.1.1 e=172.31.1.10 u=target pw=vxTarget s=/romfs/startup_script.txt" \
|
||||
-nic "tap,ifname=tap0,script=no" >"${QEMU_LOG_PATH}" 2>&1 &
|
||||
-serial pipe:${PIPE} \
|
||||
-kernel /opt/fsl_imx6_2_0_6_3_VIP_QEMU/default/uVxWorks \
|
||||
-dtb /opt/fsl_imx6_2_0_6_3_VIP_QEMU/default/imx6q-sabrelite.dtb \
|
||||
-append "enet(0,0)host:vxWorks h=172.31.1.1 g=172.31.1.1 e=${GUEST_IP} u=target pw=vxTarget s=/romfs/startup_script.txt" \
|
||||
-rtc base=localtime,clock=rt \
|
||||
-icount sleep=off \
|
||||
-nic "tap,ifname=${TAP},script=no,mac=${MAC}" >"${QEMU_LOG_PATH}" 2>&1 &
|
||||
elif [ "$TYPE" = "intel" ]; then
|
||||
$VXWORKS_QEMU/bin/qemu-system-x86_64 \
|
||||
-M q35 \
|
||||
-smp 8 \
|
||||
-m 16G \
|
||||
-smp 4 \
|
||||
-m 4G \
|
||||
-cpu "Skylake-Client" \
|
||||
-enable-kvm \
|
||||
-monitor none \
|
||||
-nographic \
|
||||
-serial null \
|
||||
-serial pipe:/tmp/guest \
|
||||
-serial pipe:${PIPE} \
|
||||
-kernel "/opt/itl_generic_skylake_VIP_QEMU/default/vxWorks" \
|
||||
-append "sysbootline:gei(0,0)host:vxWorks h=172.31.1.1 g=172.31.1.1 e=172.31.1.10 u=target pw=vxTarget s=/romfs/startup_script.txt" \
|
||||
-nic tap,ifname=tap0,script=no,downscript=no >"${QEMU_LOG_PATH}" 2>&1 &
|
||||
-append "sysbootline:gei(0,0)host:vxWorks h=172.31.1.1 g=172.31.1.1 e=${GUEST_IP} u=target pw=vxTarget s=/romfs/startup_script.txt" \
|
||||
-nic "tap,ifname=${TAP},script=no,downscript=no,mac=${MAC}" >"${QEMU_LOG_PATH}" 2>&1 &
|
||||
fi
|
||||
|
||||
for _ in $(seq 30)
|
||||
do
|
||||
status=$(ssh -o BatchMode=yes -o HostKeyAlgorithms=+ssh-rsa -o ConnectTimeout=1 "${VXWORKS_SSH}" echo emulator up) || true
|
||||
status=$(ssh -o BatchMode=yes -o HostKeyAlgorithms=+ssh-rsa -o ConnectTimeout=1 "${SSH_TARGET}" echo emulator up) || true
|
||||
if [[ $status == *"emulator up"* ]] ; then
|
||||
echo "VXWORKS QEMU SSH server up"
|
||||
echo "VXWORKS QEMU SSH server up (instance ${INSTANCE} @ ${GUEST_IP})"
|
||||
break
|
||||
else
|
||||
echo "Waiting VXWORKS QEMU SSH server"
|
||||
echo "Waiting VXWORKS QEMU SSH server (instance ${INSTANCE} @ ${GUEST_IP})"
|
||||
sleep 1
|
||||
fi
|
||||
done
|
||||
|
||||
@@ -11,11 +11,11 @@ source "${BASH_SOURCE%/*}/InstallAppFromCompressedFileFromURL.sh"
|
||||
# shellcheck source=../unix/SetEnvVar.sh
|
||||
source "${BASH_SOURCE%/*}/../unix/SetEnvVar.sh"
|
||||
|
||||
majorminorversion="3.30.5"
|
||||
version="3.30.5"
|
||||
majorminorversion="4.3"
|
||||
version="4.3.2"
|
||||
PrimaryUrl="http://ci-files01-hki.ci.qt.io/input/cmake/cmake-$version-macos-universal.tar.gz"
|
||||
AltUrl="https://cmake.org/files/v$majorminorversion/cmake-$version-macos-universal.tar.gz"
|
||||
SHA1="c81c2f7482a901c4a32a81034920c23c22233a0f"
|
||||
SHA1="e3b456c03d992239f9d83d933336768c7fc1ff54"
|
||||
appPrefix="cmake-$version-macos-universal"
|
||||
|
||||
InstallAppFromCompressedFileFromURL "$PrimaryUrl" "$AltUrl" "$SHA1" "$appPrefix"
|
||||
|
||||
@@ -1,2 +1,3 @@
|
||||
diffutils
|
||||
nasm
|
||||
yasm
|
||||
|
||||
@@ -9,18 +9,105 @@ source "${BASH_SOURCE%/*}/../unix/DownloadURL.sh"
|
||||
# shellcheck source=../unix/SourceEnvVars.sh
|
||||
source "${BASH_SOURCE%/*}/../unix/SourceEnvVars.sh"
|
||||
|
||||
echo "Caching Gradle distribution and dependencies"
|
||||
gradleCacheFileName="gradle_9.3.1_darwin_cache_v2.tar.gz"
|
||||
gradleCacheUrl="http://ci-files01-hki.ci.qt.io/input/gradle/$gradleCacheFileName"
|
||||
gradleCacheSha1="d4f93be293224e3d55779cf64252337fbb26b53b"
|
||||
gradleCacheFile="/tmp/$gradleCacheFileName"
|
||||
DownloadURL "$gradleCacheUrl" "$gradleCacheUrl" "$gradleCacheSha1" "$gradleCacheFile"
|
||||
mkdir -p "$HOME/.gradle"
|
||||
tar -xzf "$gradleCacheFile" -C "$HOME/.gradle" --strip-components=1
|
||||
rm "$gradleCacheFile"
|
||||
echo "Caching Gradle distributions and dependencies"
|
||||
|
||||
gradle_project_source="${BASH_SOURCE%/*}/../shared/gradle/project"
|
||||
cp -r "$gradle_project_source" /tmp/gradle_project
|
||||
cd /tmp/gradle_project
|
||||
chmod +x gradlew
|
||||
sh gradlew build
|
||||
gradleDistributionMirror="http://ci-files01-hki.ci.qt.io/input/gradle"
|
||||
gradleInitScript="init.d/nexus-mirror.gradle"
|
||||
|
||||
# Route every Gradle repository through the internal Nexus mirror.
|
||||
mkdir -p "$HOME/.gradle/init.d"
|
||||
cp "${BASH_SOURCE%/*}/../shared/gradle/$gradleInitScript" "$HOME/.gradle/$gradleInitScript"
|
||||
|
||||
# Returns the hash of the Gradle binary distribution for a given Gradle version.
|
||||
# Gradle calculates the hash as base36(md5(distributionUrl)).
|
||||
gradleDistributionHash () {
|
||||
version="$1"
|
||||
propertiesFile="$gradle_project_source/gradle/wrapper/gradle-wrapper.properties"
|
||||
|
||||
# 1. Read the project's distributionUrl.
|
||||
distributionUrl=$(grep '^distributionUrl=' "$propertiesFile")
|
||||
distributionUrl=${distributionUrl#distributionUrl=}
|
||||
# 2. Unescape the Java-properties (e.g. '\:').
|
||||
distributionUrl=${distributionUrl//\\:/:}
|
||||
# 3. Swap in the requested version while maintaining the distribution URL.
|
||||
distributionUrl=${distributionUrl/gradle-[0-9.]*-bin.zip/gradle-$version-bin.zip}
|
||||
|
||||
if command -v md5sum >/dev/null 2>&1; then
|
||||
md5Hex=$(printf '%s' "$distributionUrl" | md5sum | awk '{print $1}')
|
||||
else
|
||||
md5Hex=$(printf '%s' "$distributionUrl" | md5)
|
||||
fi
|
||||
|
||||
# Convert the md5 to base36: read it as a number, then repeatedly take the
|
||||
# next digit (number % 36) and divide by 36, prepending each digit's character.
|
||||
number=$(printf 'ibase=16; %s\n' "$(printf '%s' "$md5Hex" | tr 'a-f' 'A-F')" | bc)
|
||||
hash=""
|
||||
alphabet="0123456789abcdefghijklmnopqrstuvwxyz"
|
||||
while [ "$number" != "0" ]; do
|
||||
digit=$(printf '%s %% 36\n' "$number" | bc)
|
||||
number=$(printf '%s / 36\n' "$number" | bc)
|
||||
hash="${alphabet:$digit:1}$hash"
|
||||
done
|
||||
printf '%s' "$hash"
|
||||
}
|
||||
|
||||
# Seed a Gradle distribution binary into ~/.gradle from the internal mirror.
|
||||
seedGradleDistribution () {
|
||||
version="$1"
|
||||
sha="$2"
|
||||
|
||||
distributionDir="$HOME/.gradle/wrapper/dists/gradle-${version}-bin/$(gradleDistributionHash "$version")"
|
||||
if [ -e "$distributionDir/gradle-${version}-bin.zip.ok" ]; then
|
||||
return 0
|
||||
fi
|
||||
mkdir -p "$distributionDir"
|
||||
zip="$distributionDir/gradle-${version}-bin.zip"
|
||||
url="$gradleDistributionMirror/gradle-${version}-bin.zip"
|
||||
DownloadURL "$url" "$url" "$sha" "$zip"
|
||||
unzip -q -o "$zip" -d "$distributionDir"
|
||||
rm -f "$zip"
|
||||
touch "$distributionDir/gradle-${version}-bin.zip.ok"
|
||||
}
|
||||
|
||||
# Populate ~/.gradle/caches by priming the shared project for each Gradle and AGP profile.
|
||||
cacheGradleProfile () {
|
||||
echo "Caching Gradle profile $*"
|
||||
tmp="$(mktemp -d)"
|
||||
project="$tmp/project"
|
||||
cp -r "$gradle_project_source" "$project"
|
||||
|
||||
props="$project/gradle/wrapper/gradle-wrapper.properties"
|
||||
for kv in "$@"; do
|
||||
case "$kv" in
|
||||
gradle=*)
|
||||
sed "s#gradle-[0-9.]*-bin.zip#gradle-${kv#*=}-bin.zip#" "$props" > "$props.tmp"
|
||||
mv "$props.tmp" "$props"
|
||||
;;
|
||||
esac
|
||||
done
|
||||
|
||||
toml="$project/gradle/libs.versions.toml"
|
||||
for kv in "$@"; do
|
||||
case "$kv" in
|
||||
gradle=*) ;;
|
||||
*)
|
||||
key="${kv%%=*}"
|
||||
val="${kv#*=}"
|
||||
sed "/^\[versions\]/,/^\[/ s/^$key = .*/$key = \"$val\"/" "$toml" > "$toml.tmp"
|
||||
mv "$toml.tmp" "$toml"
|
||||
;;
|
||||
esac
|
||||
done
|
||||
|
||||
sh "$project/gradlew" --project-dir "$project" build
|
||||
rm -rf "$tmp"
|
||||
}
|
||||
|
||||
# Cache both the current and the previous versions to avoid issues during bumps.
|
||||
seedGradleDistribution 9.3.1 "b266d5ff6b90eada6dc3b20cb090e3731302e553a27c5d3e4df1f0d76beaff06"
|
||||
cacheGradleProfile gradle=9.3.1 agp=9.0.0
|
||||
seedGradleDistribution 9.5.1 "bafc141b619ad6350fd975fc903156dd5c151998cc8b058e8c1044ab5f7b031f"
|
||||
cacheGradleProfile gradle=9.5.1 agp=9.2.1
|
||||
|
||||
echo "Cached Gradle distributions and dependencies under $HOME/.gradle."
|
||||
|
||||
@@ -22,6 +22,12 @@ ffmpeg_config_options=$(get_ffmpeg_config_options "shared")
|
||||
default_prefix="/usr/local/$ffmpeg_name"
|
||||
prefix="${2:-$default_prefix}"
|
||||
|
||||
# Disable X11 linkage on macOS. FFmpeg auto-detect
|
||||
# mechanisms will pull it in as a dependency if found
|
||||
# on the host. If this happens, it makes the binaries
|
||||
# not loadable on macOS machines without libx11 installed.
|
||||
ffmpeg_config_options+=" --disable-libxcb --disable-xlib"
|
||||
|
||||
build_ffmpeg() {
|
||||
local arch="$1"
|
||||
local build_dir="$ffmpeg_source_dir/build/$arch"
|
||||
|
||||
@@ -0,0 +1,39 @@
|
||||
// Copyright (C) 2026 The Qt Company Ltd.
|
||||
// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
|
||||
|
||||
// Installed by Coin into $GRADLE_USER_HOME/init.d to route every gradle
|
||||
// invocation's repositories through the internal Nexus mirror.
|
||||
|
||||
def mirror = 'https://ci-passth-cache.ci.qt.io/repository/gradle-all/'
|
||||
|
||||
def addMirror = { repositories ->
|
||||
repositories.maven { mavenRepository ->
|
||||
mavenRepository.name = 'qt-nexus-mirror'
|
||||
mavenRepository.url = mirror
|
||||
}
|
||||
}
|
||||
|
||||
def enforceMirror = { repositories ->
|
||||
repositories.all { repository ->
|
||||
if (repository.name != 'qt-nexus-mirror')
|
||||
repositories.remove(repository)
|
||||
}
|
||||
addMirror(repositories)
|
||||
}
|
||||
|
||||
// Modern templates: replace the settings-level repositories with the mirror.
|
||||
settingsEvaluated { settings ->
|
||||
settings.pluginManagement.repositories.clear()
|
||||
addMirror(settings.pluginManagement.repositories)
|
||||
settings.dependencyResolutionManagement {
|
||||
repositoriesMode.set(RepositoriesMode.PREFER_PROJECT)
|
||||
repositories.clear()
|
||||
addMirror(repositories)
|
||||
}
|
||||
}
|
||||
|
||||
// Legacy templates: replace the buildscript and project repositories with the mirror.
|
||||
allprojects { project ->
|
||||
enforceMirror(project.buildscript.repositories)
|
||||
enforceMirror(project.repositories)
|
||||
}
|
||||
@@ -7,7 +7,9 @@ which use `--offline`.
|
||||
Caches dependencies for:
|
||||
- `com.android.application`: used by Qt test/example APK builds
|
||||
- `com.android.library`: used by Qt JAR builds
|
||||
- `android.dynamic.feature`: used by Feature Delivery tests
|
||||
- `org.jetbrains.kotlin.android`: used by some Qt modules
|
||||
- `org.qtproject.qt.gradleplugin`: used by Qt for Android Studio projects
|
||||
- AndroidX: used by app builds
|
||||
|
||||
These files should be updated each time Qt bumps the supported Android or
|
||||
|
||||
@@ -10,11 +10,14 @@ android {
|
||||
applicationId 'org.qtproject.qt.gradlecache.app'
|
||||
minSdk = 28
|
||||
}
|
||||
|
||||
dynamicFeatures = [':feature']
|
||||
}
|
||||
|
||||
dependencies {
|
||||
implementation libs.core
|
||||
implementation libs.appcompat
|
||||
implementation libs.material
|
||||
implementation libs.play.feature.delivery
|
||||
testImplementation libs.junit
|
||||
}
|
||||
|
||||
@@ -0,0 +1,4 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<resources>
|
||||
<string name="feature_title">Feature</string>
|
||||
</resources>
|
||||
@@ -1,4 +1,6 @@
|
||||
plugins {
|
||||
alias(libs.plugins.android.application) apply false
|
||||
alias(libs.plugins.android.library) apply false
|
||||
alias(libs.plugins.android.dynamic.feature) apply false
|
||||
alias(libs.plugins.qt.gradle.plugin) apply false
|
||||
}
|
||||
|
||||
@@ -0,0 +1,17 @@
|
||||
plugins {
|
||||
alias(libs.plugins.android.dynamic.feature)
|
||||
}
|
||||
|
||||
android {
|
||||
namespace = 'org.qtproject.qt.gradlecache.feature'
|
||||
compileSdk = 36
|
||||
|
||||
defaultConfig {
|
||||
minSdk = 28
|
||||
}
|
||||
}
|
||||
|
||||
dependencies {
|
||||
implementation project(':app')
|
||||
implementation libs.play.feature.delivery
|
||||
}
|
||||
@@ -0,0 +1,12 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
xmlns:dist="http://schemas.android.com/apk/distribution">
|
||||
<dist:module
|
||||
dist:instant="false"
|
||||
dist:title="@string/feature_title">
|
||||
<dist:delivery>
|
||||
<dist:on-demand />
|
||||
</dist:delivery>
|
||||
<dist:fusing dist:include="true" />
|
||||
</dist:module>
|
||||
</manifest>
|
||||
+5
@@ -0,0 +1,5 @@
|
||||
package org.qtproject.qt.gradlecache.feature
|
||||
|
||||
object Feature {
|
||||
fun hello(): String = "hello"
|
||||
}
|
||||
@@ -1,16 +1,21 @@
|
||||
[versions]
|
||||
agp = "9.0.0"
|
||||
agp = "9.2.1"
|
||||
core = "1.17.0"
|
||||
appcompat = "1.7.1"
|
||||
material = "1.13.0"
|
||||
junit = "4.13.2"
|
||||
play-feature-delivery = "2.1.0"
|
||||
qt-gradle-plugin = "1.4"
|
||||
|
||||
[libraries]
|
||||
core = { group = "androidx.core", name = "core", version.ref = "core" }
|
||||
appcompat = { group = "androidx.appcompat", name = "appcompat", version.ref = "appcompat" }
|
||||
material = { group = "com.google.android.material", name = "material", version.ref = "material" }
|
||||
junit = { group = "junit", name = "junit", version.ref = "junit" }
|
||||
play-feature-delivery = { module = "com.google.android.play:feature-delivery", version.ref = "play-feature-delivery" }
|
||||
|
||||
[plugins]
|
||||
android-application = { id = "com.android.application", version.ref = "agp" }
|
||||
android-library = { id = "com.android.library", version.ref = "agp" }
|
||||
android-dynamic-feature = { id = "com.android.dynamic-feature", version.ref = "agp" }
|
||||
qt-gradle-plugin = { id = "org.qtproject.qt.gradleplugin", version.ref = "qt-gradle-plugin" }
|
||||
|
||||
+1
-1
@@ -1,6 +1,6 @@
|
||||
distributionBase=GRADLE_USER_HOME
|
||||
distributionPath=wrapper/dists
|
||||
distributionUrl=https\://services.gradle.org/distributions/gradle-9.3.1-bin.zip
|
||||
distributionUrl=https\://services.gradle.org/distributions/gradle-9.5.1-bin.zip
|
||||
networkTimeout=10000
|
||||
validateDistributionUrl=true
|
||||
zipStoreBase=GRADLE_USER_HOME
|
||||
|
||||
@@ -14,4 +14,4 @@ dependencyResolutionManagement {
|
||||
}
|
||||
|
||||
rootProject.name = 'gradlecache'
|
||||
include ':app', ':lib'
|
||||
include ':app', ':lib', ':feature'
|
||||
|
||||
@@ -3,8 +3,8 @@
|
||||
# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
|
||||
|
||||
download_ffmpeg() {
|
||||
local version="${1:-"n7.1.3"}"
|
||||
local sha1="${2:-27051817deec88bed3b9652d49f9127d22268d83}"
|
||||
local version="${1:-"n8.1.2"}"
|
||||
local sha1="${2:-a7f4ce77209afdadca9f371db261e8d69903dc85}"
|
||||
|
||||
local ffmpeg_name="FFmpeg-$version"
|
||||
local target_dir="$HOME"
|
||||
@@ -12,7 +12,7 @@ download_ffmpeg() {
|
||||
|
||||
if [ ! -d "$ffmpeg_source_dir" ]; then
|
||||
local url_public="https://github.com/FFmpeg/FFmpeg/archive/refs/tags/$version.tar.gz"
|
||||
local url_cached="http://ci-files01-hki.ci.qt.io/input/ffmpeg/$version.tar.gz"
|
||||
local url_cached="http://ci-files01-hki.ci.qt.io/input/ffmpeg/FFmpeg-$version.tar.gz"
|
||||
local app_prefix=""
|
||||
|
||||
source "${BASH_SOURCE%/*}/../unix/InstallFromCompressedFileFromURL.sh"
|
||||
|
||||
@@ -22,7 +22,7 @@ targetDir="$HOME/grpc-$version"
|
||||
targetFile="$targetDir.zip"
|
||||
DownloadURL "$internalUrl" "$externalUrl" "$sha1" "$targetFile"
|
||||
unzip -q "$targetFile" -d "$HOME"
|
||||
sudo rm "$targetFile"
|
||||
rm "$targetFile"
|
||||
|
||||
# devtoolset is needed when running configuration
|
||||
if uname -a |grep -qv "Darwin"; then
|
||||
@@ -60,7 +60,7 @@ cmake "$targetDir" -G"Ninja Multi-Config" \
|
||||
-DgRPC_ZLIB_PROVIDER="package"
|
||||
ninja all
|
||||
|
||||
sudo env "PATH=$PATH" ninja install
|
||||
env "PATH=$PATH" ninja install
|
||||
# Refresh shared library cache if OS isn't macOS
|
||||
if uname -a |grep -qv "Darwin"; then
|
||||
sudo ldconfig
|
||||
@@ -69,5 +69,5 @@ fi
|
||||
SetEnvVar "gRPC_ROOT" "$installPrefix"
|
||||
SetEnvVar "absl_ROOT" "$installPrefix"
|
||||
|
||||
sudo rm -rf "$targetDir"
|
||||
sudo rm -rf "$buildDir"
|
||||
rm -rf "$targetDir"
|
||||
rm -rf "$buildDir"
|
||||
|
||||
@@ -3,22 +3,22 @@
|
||||
|
||||
. "$PSScriptRoot\helpers.ps1"
|
||||
|
||||
$majorminorversion = "3.30"
|
||||
$version = "3.30.5"
|
||||
$majorminorversion = "4.3"
|
||||
$version = "4.3.2"
|
||||
|
||||
$cpu_arch = Get-CpuArchitecture
|
||||
Write-Host "Installing CMake for architecture $cpu_arch"
|
||||
switch ($cpu_arch) {
|
||||
arm64 {
|
||||
$arch = "arm64"
|
||||
$sha1 = "408977a174476407bd660604f110a26ba41a6efd"
|
||||
$majorminorversion = "3.30"
|
||||
$version = "3.30.5"
|
||||
$sha1 = "71949e4637accf5a92f35d357dc861e6a8d645cf"
|
||||
$majorminorversion = "4.3"
|
||||
$version = "4.3.2"
|
||||
Break
|
||||
}
|
||||
x64 {
|
||||
$arch = "i386"
|
||||
$sha1 = "d0636735c2d13a4443662605cd80c708f265eacc"
|
||||
$sha1 = "abc3ae51ec5a11fb367a39ddfb7db0c9ea697a7b"
|
||||
}
|
||||
default {
|
||||
throw "Unknown architecture $cpu_arch"
|
||||
|
||||
@@ -1,3 +1,4 @@
|
||||
diffutils
|
||||
make
|
||||
nasm
|
||||
yasm
|
||||
|
||||
@@ -3,23 +3,109 @@
|
||||
|
||||
. "$PSScriptRoot\helpers.ps1"
|
||||
|
||||
Write-Host "Caching Gradle distribution and dependencies"
|
||||
$gradleCacheFileName = "gradle_9.3.1_windows_cache_v2.zip"
|
||||
$gradleCacheCachedUrl = "\\ci-files01-hki.ci.qt.io\provisioning\gradle\$gradleCacheFileName"
|
||||
$gradleCacheOfficialUrl = $gradleCacheCachedUrl
|
||||
$gradleCacheChecksum = "fcd653a1f4f30da9074a7aa7cfcad9219ed57d96"
|
||||
$gradleCacheZip = "C:\Windows\Temp\$gradleCacheFileName"
|
||||
Download $gradleCacheOfficialUrl $gradleCacheCachedUrl $gradleCacheZip
|
||||
Verify-Checksum $gradleCacheZip $gradleCacheChecksum
|
||||
New-Item -ItemType Directory -Force -Path "$env:USERPROFILE\.gradle"
|
||||
Extract-7Zip $gradleCacheZip "$env:USERPROFILE"
|
||||
Remove $gradleCacheZip
|
||||
Write-Host "Caching Gradle distributions and dependencies"
|
||||
|
||||
$gradleProjectSource = "$PSScriptRoot\..\shared\gradle\project"
|
||||
$gradleProjectTarget = "C:\Windows\Temp\gradle_project"
|
||||
Copy-Item -Recurse -Force $gradleProjectSource $gradleProjectTarget
|
||||
$env:ANDROID_SDK_ROOT = [Environment]::GetEnvironmentVariable("ANDROID_SDK_ROOT", "Machine")
|
||||
Push-Location $gradleProjectTarget
|
||||
cmd /c "gradlew.bat --no-daemon build"
|
||||
Pop-Location
|
||||
if ($LASTEXITCODE -ne 0) { throw "Gradle caching failed" }
|
||||
$gradleDistributionMirror = "\\ci-files01-hki.ci.qt.io\provisioning\gradle"
|
||||
$gradleInitScript = "init.d\nexus-mirror.gradle"
|
||||
|
||||
# Route every Gradle repository through the internal Nexus mirror.
|
||||
New-Item -ItemType Directory -Force -Path "$env:USERPROFILE\.gradle\init.d" | Out-Null
|
||||
Copy-Item -Force "$PSScriptRoot\..\shared\gradle\$gradleInitScript" "$env:USERPROFILE\.gradle\$gradleInitScript"
|
||||
|
||||
# Returns the hash of the Gradle binary distribution for a given Gradle version.
|
||||
# Gradle calculates the hash as base36(md5(distributionUrl)).
|
||||
function Get-GradleDistributionHash([string]$Version) {
|
||||
# 1. Read the project's distributionUrl.
|
||||
$distributionUrl = Get-Content "$gradleProjectSource\gradle\wrapper\gradle-wrapper.properties" |
|
||||
Where-Object { $_ -like 'distributionUrl=*' }
|
||||
$distributionUrl = $distributionUrl -replace '^distributionUrl=', ''
|
||||
# 2. Unescape the Java-properties (e.g. '\:').
|
||||
$distributionUrl = $distributionUrl -replace '\\:', ':'
|
||||
# 3. Swap in the requested version while maintaining the distribution URL.
|
||||
$distributionUrl = $distributionUrl -replace 'gradle-[0-9.]+-bin\.zip', "gradle-$Version-bin.zip"
|
||||
|
||||
# .NET BigInteger is little-endian two's complement, so reverse the md5 and
|
||||
# append a 0 byte to get the same positive value Gradle uses.
|
||||
$md5 = [System.Security.Cryptography.MD5]::Create().ComputeHash([Text.Encoding]::UTF8.GetBytes($distributionUrl))
|
||||
[array]::Reverse($md5)
|
||||
$number = [System.Numerics.BigInteger]::new([byte[]]($md5 + 0))
|
||||
|
||||
# Convert the md5 to base36: repeatedly take the next digit (number % 36) and
|
||||
# divide by 36, prepending each digit's character.
|
||||
$alphabet = "0123456789abcdefghijklmnopqrstuvwxyz"
|
||||
$hash = ""
|
||||
while ($number -gt 0) {
|
||||
$digit = [int]($number % 36)
|
||||
$hash = $alphabet[$digit] + $hash
|
||||
$number = $number / 36
|
||||
}
|
||||
return $hash
|
||||
}
|
||||
|
||||
# Seed a Gradle distribution binary into ~/.gradle from the internal mirror.
|
||||
function Seed-GradleDistribution([string]$Version, [string]$Sha256) {
|
||||
$distributionDir = "$env:USERPROFILE\.gradle\wrapper\dists\gradle-$Version-bin\$(Get-GradleDistributionHash $Version)"
|
||||
if (Test-Path "$distributionDir\gradle-$Version-bin.zip.ok") {
|
||||
return
|
||||
}
|
||||
New-Item -ItemType Directory -Force -Path $distributionDir | Out-Null
|
||||
$zip = "$distributionDir\gradle-$Version-bin.zip"
|
||||
$url = "$gradleDistributionMirror\gradle-$Version-bin.zip"
|
||||
Download $url $url $zip
|
||||
Verify-Checksum $zip $Sha256
|
||||
Extract-7Zip $zip $distributionDir
|
||||
Remove $zip
|
||||
New-Item -ItemType File -Force -Path "$distributionDir\gradle-$Version-bin.zip.ok" | Out-Null
|
||||
}
|
||||
|
||||
# Populate ~/.gradle/caches by priming the shared project for each Gradle and AGP profile.
|
||||
function Cache-GradleProfile([string[]]$VersionProfile) {
|
||||
Write-Host "Caching Gradle profile $($VersionProfile -join ' ')"
|
||||
$project = Join-Path $env:TEMP ([System.Guid]::NewGuid().ToString())
|
||||
Copy-Item -Recurse -Force $gradleProjectSource $project
|
||||
|
||||
$props = "$project\gradle\wrapper\gradle-wrapper.properties"
|
||||
foreach ($kv in $VersionProfile) {
|
||||
if ($kv -like "gradle=*") {
|
||||
$val = ($kv -split '=', 2)[1]
|
||||
(Get-Content $props) -replace "gradle-[0-9.]+-bin\.zip", "gradle-$val-bin.zip" | Set-Content $props
|
||||
}
|
||||
}
|
||||
|
||||
$toml = "$project\gradle\libs.versions.toml"
|
||||
foreach ($kv in $VersionProfile) {
|
||||
if ($kv -like "gradle=*") {
|
||||
continue
|
||||
}
|
||||
$key, $val = $kv -split '=', 2
|
||||
$inVersions = $false
|
||||
(Get-Content $toml) | ForEach-Object {
|
||||
if ($_ -match '^\[') {
|
||||
$inVersions = $_ -eq '[versions]'
|
||||
}
|
||||
if ($inVersions -and $_ -match "^$key = ") {
|
||||
"$key = `"$val`""
|
||||
} else {
|
||||
$_
|
||||
}
|
||||
} | Set-Content $toml
|
||||
}
|
||||
|
||||
$env:ANDROID_SDK_ROOT = [Environment]::GetEnvironmentVariable("ANDROID_SDK_ROOT", "Machine")
|
||||
Push-Location $project
|
||||
cmd /c "gradlew.bat --no-daemon build"
|
||||
Pop-Location
|
||||
if ($LASTEXITCODE -ne 0) {
|
||||
throw "Gradle caching failed"
|
||||
}
|
||||
Remove-Item -Recurse -Force $project
|
||||
}
|
||||
|
||||
# Cache both the current and the previous versions to avoid issues during bumps.
|
||||
Seed-GradleDistribution "9.3.1" "b266d5ff6b90eada6dc3b20cb090e3731302e553a27c5d3e4df1f0d76beaff06"
|
||||
Cache-GradleProfile "gradle=9.3.1", "agp=9.0.0"
|
||||
Seed-GradleDistribution "9.5.1" "bafc141b619ad6350fd975fc903156dd5c151998cc8b058e8c1044ab5f7b031f"
|
||||
Cache-GradleProfile "gradle=9.5.1", "agp=9.2.1"
|
||||
|
||||
Write-Host "Cached Gradle distributions and dependencies under $env:USERPROFILE\.gradle."
|
||||
|
||||
@@ -7,10 +7,10 @@
|
||||
# This script will install FFmpeg
|
||||
$msys = "C:\Utils\msys64\usr\bin\bash"
|
||||
|
||||
$version="n7.1.3"
|
||||
$version="n8.1.2"
|
||||
$url_public="https://github.com/FFmpeg/FFmpeg/archive/refs/tags/$version.tar.gz"
|
||||
$sha1="27051817deec88bed3b9652d49f9127d22268d83"
|
||||
$url_cached="http://ci-files01-hki.ci.qt.io/input/ffmpeg/$version.tar.gz"
|
||||
$sha1="a7f4ce77209afdadca9f371db261e8d69903dc85"
|
||||
$url_cached="http://ci-files01-hki.ci.qt.io/input/ffmpeg/FFmpeg-$version.tar.gz"
|
||||
$ffmpeg_name="FFmpeg-$version"
|
||||
|
||||
$download_location = "C:\Windows\Temp\$ffmpeg_name.tar.gz"
|
||||
@@ -173,6 +173,18 @@ function InstallMsvcFfmpeg {
|
||||
return $false
|
||||
}
|
||||
|
||||
# MSVC 2019 workaround: The SSA optimizer (code generation
|
||||
# "pass 2") gets stuck in an infinite loop on some translations
|
||||
# units, such as libavcodec/sanm.c, when compiling FFmpeg n8.1.2 and up.
|
||||
# This only affects the VS2019-based Windows 10 x86_64 image.
|
||||
# VS2022+ hosts build fine. Disabling that optimizer pass lets the
|
||||
# older toolchain finish. This workaround can be dropped once we no
|
||||
# longer build using MSVC 2019.
|
||||
if ($env:VisualStudioVersion -and [version]$env:VisualStudioVersion -lt [version]"17.0") {
|
||||
Write-Host "MSVC $env:VisualStudioVersion (< 2022) detected; adding -d2SSAOptimizer- to avoid build freeze on FFmpeg 8.x"
|
||||
$config += " --extra-cflags=-d2SSAOptimizer-"
|
||||
}
|
||||
|
||||
$result = InstallFfmpeg -config $config -buildSystem $buildSystem -msystem "MSYS" -toolchain "msvc" -ffmpegDirEnvVar $ffmpegDirEnvVar -shared $true
|
||||
|
||||
if ($result) {
|
||||
|
||||
@@ -3,16 +3,16 @@
|
||||
|
||||
. "$PSScriptRoot\helpers.ps1"
|
||||
|
||||
# This script will installs msys2
|
||||
# This script will install msys2
|
||||
|
||||
$version = "20240113"
|
||||
$prog = "msys2"
|
||||
$arch = "x86_64"
|
||||
$sha1 = "b46c08fd901da0fdba1dc30422a322766d7d03c6"
|
||||
$sha1_prebuilt = "29d16a81de4a570c41f92491e20b5554a1baab8f"
|
||||
$sha1_prebuilt = "9AC41CD8B71100BF30058F04790C1AF055BE4957"
|
||||
$folder = "msys64"
|
||||
|
||||
$package_prebuilt = $folder + "_" + $version + "_prebuilt_v2.7z"
|
||||
$package_prebuilt = $folder + "_" + $version + "_prebuilt_v3.7z"
|
||||
$package = $prog + "-base-" + $arch + "-" + $version + ".tar.xz"
|
||||
|
||||
$url_cache_prebuilt = "\\ci-files01-hki.ci.qt.io\provisioning\windows\$package_prebuilt"
|
||||
|
||||
@@ -25,8 +25,8 @@ function install() {
|
||||
|
||||
$zip = "c:\users\qt\downloads\libclang.7z"
|
||||
|
||||
$script:OfficialUrl = "https://download.qt.io/development_releases/prebuilt/libclang/qt/libclang-llvmorg-$libclang_version-windows-$toolchain`_$archVer.7z"
|
||||
$script:CachedUrl = "http://ci-files01-hki.ci.qt.io/input/libclang/qt/libclang-llvmorg-$libclang_version-windows-$toolchain`_$archVer.7z"
|
||||
$script:OfficialUrl = "https://download.qt.io/development_releases/prebuilt/libclang/qt/libclang-llvmorg-$libclang_version-windows-$toolchain$toolchainVersion`_$archVer.7z"
|
||||
$script:CachedUrl = "http://ci-files01-hki.ci.qt.io/input/libclang/qt/libclang-llvmorg-$libclang_version-windows-$toolchain$toolchainVersion`_$archVer.7z"
|
||||
|
||||
Download $OfficialUrl $CachedUrl $zip
|
||||
Verify-Checksum $zip $sha1
|
||||
@@ -36,6 +36,7 @@ function install() {
|
||||
}
|
||||
|
||||
$toolchainSuffix = ""
|
||||
$toolchainVersion = ""
|
||||
|
||||
if ( $toolchain -eq "vs2022" ) {
|
||||
if ( $archVer -eq "64" ) {
|
||||
@@ -63,13 +64,15 @@ if ( $toolchain -eq "mingw" ) {
|
||||
|
||||
if ( $toolchain -eq "llvm-mingw" ) {
|
||||
if ( $archVer -eq "64" ) {
|
||||
$sha1 = "3e917d002f363c225e5ee2b7d8999a3cabd8b467"
|
||||
$sha1 = "ced503f1bf9c389a6e93d3abb40bb694fb0ae42c"
|
||||
}
|
||||
else {
|
||||
$sha1 = ""
|
||||
}
|
||||
# Due to COIN-1137 forced to use a '_' instead of '-'
|
||||
$toolchainSuffix = "llvm_mingw"
|
||||
|
||||
$toolchainVersion = "-22.1.7"
|
||||
}
|
||||
|
||||
if ( $useArchInToolchainSuffix ) {
|
||||
|
||||
@@ -28,10 +28,10 @@ $folderName = "qnx710"
|
||||
$targetPath = "$targetFolder$folderName"
|
||||
|
||||
# QNX SDP
|
||||
$cachedUrl = "\\ci-files01-hki.ci.qt.io\provisioning\qnx\qnx710-windows-linux-20240417.tar.xz"
|
||||
$sourceFile = "http://ci-files01-hki.ci.qt.io/input/qnx/qnx710-windows-linux-20240417.tar.xz"
|
||||
$cachedUrl = "\\ci-files01-hki.ci.qt.io\provisioning\qnx\qnx710-windows-linux-20260422.tar.xz"
|
||||
$sourceFile = "http://ci-files01-hki.ci.qt.io/input/qnx/qnx710-windows-linux-20260422.tar.xz"
|
||||
$targetFile = "qnx710.tar.xz"
|
||||
$sha1 = "cd2d35004fb2798089e29d9e1226691426632da0"
|
||||
$sha1 = "98b24df7e8c53a104aee76e769011396fa4bdafd"
|
||||
DownloadAndExtract $sourceFile $sha1 $targetFile $targetFolder $cachedUrl
|
||||
|
||||
Copy-Item $aarch64le_toolchain $targetPath
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
#!/usr/bin/env bash
|
||||
# Copyright (C) 2022 The Qt Company Ltd.
|
||||
# Copyright (C) 2026 The Qt Company Ltd.
|
||||
# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
|
||||
|
||||
set -ex
|
||||
@@ -13,7 +13,7 @@ while sudo fuser /usr/libexec/packagekitd >/dev/null 2>&1; do
|
||||
done
|
||||
sudo yum -y remove PackageKit gnome-software
|
||||
|
||||
sudo subscription-manager config --rhsm.manage_repos=1
|
||||
sudo subscription-manager config --rhsm.manage_repos=0
|
||||
sudo subscription-manager refresh
|
||||
|
||||
# List available RHEL versions and bind with correct one
|
||||
@@ -21,10 +21,35 @@ sudo subscription-manager release --list
|
||||
sudo subscription-manager release --set=9.0
|
||||
sudo yum clean all
|
||||
|
||||
# sudo yum config-manager --enable 'rhceph-4-tools-for-rhel-8-x86_64-rpms'
|
||||
sudo yum config-manager --enable 'codeready-builder-for-rhel-9-x86_64-rpms'
|
||||
sudo yum config-manager --enable 'rhel-9-for-x86_64-baseos-rpms'
|
||||
sudo yum config-manager --enable 'rhel-9-for-x86_64-appstream-rpms'
|
||||
sudo tee "/etc/yum.repos.d/local.repo" > /dev/null <<EOC
|
||||
[rhel-9-for-x86_64-baseos-rpms]
|
||||
metadata_expire = 86400
|
||||
baseurl = http://repo-clones-rhel9.ci.qt.io/rhel-9-for-x86_64-baseos-rpms
|
||||
ui_repoid_vars = releasever basearch
|
||||
name = Qt Red Hat Enterprise Linux 9 Base OS (RPMs)
|
||||
gpgkey = file:///etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-release
|
||||
enabled = 1
|
||||
gpgcheck = 1
|
||||
|
||||
[rhel-9-for-x86_64-appstream-rpms]
|
||||
metadata_expire = 86400
|
||||
baseurl = http://repo-clones-rhel9.ci.qt.io/rhel-9-for-x86_64-appstream-rpms
|
||||
ui_repoid_vars = releasever basearch
|
||||
name = Qt Red Hat Enterprise Linux 9 Appstream (RPMs)
|
||||
gpgkey = file:///etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-release
|
||||
enabled = 1
|
||||
gpgcheck = 1
|
||||
|
||||
[codeready-builder-for-rhel-9-x86_64-rpms]
|
||||
metadata_expire = 86400
|
||||
baseurl = http://repo-clones-rhel9.ci.qt.io/codeready-builder-for-rhel-9-x86_64-rpms
|
||||
ui_repoid_vars = releasever basearch
|
||||
name = Qt Red Hat Enterprise Linux Codeready Builder (RPMs)
|
||||
gpgkey = file:///etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-release
|
||||
enabled = 1
|
||||
gpgcheck = 1
|
||||
EOC
|
||||
|
||||
# Epel is required for 'double-conversion-devel', 'libsqlite3x' and 'p7zip'
|
||||
sudo dnf install -y https://dl.fedoraproject.org/pub/epel/epel-release-latest-9.noarch.rpm
|
||||
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
#!/usr/bin/env bash
|
||||
# Copyright (C) 2023 The Qt Company Ltd.
|
||||
# Copyright (C) 2026 The Qt Company Ltd.
|
||||
# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
|
||||
|
||||
set -ex
|
||||
@@ -14,7 +14,7 @@ while sudo fuser /usr/libexec/packagekitd >/dev/null 2>&1; do
|
||||
done
|
||||
sudo yum -y remove PackageKit gnome-software
|
||||
|
||||
sudo subscription-manager config --rhsm.manage_repos=1
|
||||
sudo subscription-manager config --rhsm.manage_repos=0
|
||||
sudo subscription-manager refresh
|
||||
|
||||
# List available RHEL versions and bind with correct one
|
||||
@@ -22,10 +22,35 @@ sudo subscription-manager release --list
|
||||
sudo subscription-manager release --set=9.2
|
||||
sudo yum clean all
|
||||
|
||||
# sudo yum config-manager --enable 'rhceph-4-tools-for-rhel-8-x86_64-rpms'
|
||||
sudo yum config-manager --enable 'codeready-builder-for-rhel-9-x86_64-rpms'
|
||||
sudo yum config-manager --enable 'rhel-9-for-x86_64-baseos-rpms'
|
||||
sudo yum config-manager --enable 'rhel-9-for-x86_64-appstream-rpms'
|
||||
sudo tee "/etc/yum.repos.d/local.repo" > /dev/null <<EOC
|
||||
[rhel-9-for-x86_64-baseos-rpms]
|
||||
metadata_expire = 86400
|
||||
baseurl = http://repo-clones-rhel9.ci.qt.io/rhel-9-for-x86_64-baseos-rpms
|
||||
ui_repoid_vars = releasever basearch
|
||||
name = Qt Red Hat Enterprise Linux 9 Base OS (RPMs)
|
||||
gpgkey = file:///etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-release
|
||||
enabled = 1
|
||||
gpgcheck = 1
|
||||
|
||||
[rhel-9-for-x86_64-appstream-rpms]
|
||||
metadata_expire = 86400
|
||||
baseurl = http://repo-clones-rhel9.ci.qt.io/rhel-9-for-x86_64-appstream-rpms
|
||||
ui_repoid_vars = releasever basearch
|
||||
name = Qt Red Hat Enterprise Linux 9 Appstream (RPMs)
|
||||
gpgkey = file:///etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-release
|
||||
enabled = 1
|
||||
gpgcheck = 1
|
||||
|
||||
[codeready-builder-for-rhel-9-x86_64-rpms]
|
||||
metadata_expire = 86400
|
||||
baseurl = http://repo-clones-rhel9.ci.qt.io/codeready-builder-for-rhel-9-x86_64-rpms
|
||||
ui_repoid_vars = releasever basearch
|
||||
name = Qt Red Hat Enterprise Linux Codeready Builder (RPMs)
|
||||
gpgkey = file:///etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-release
|
||||
enabled = 1
|
||||
gpgcheck = 1
|
||||
EOC
|
||||
|
||||
# Epel is required for 'double-conversion-devel', 'libsqlite3x' and 'p7zip'
|
||||
sudo dnf install -y https://dl.fedoraproject.org/pub/epel/epel-release-latest-9.noarch.rpm
|
||||
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
#!/usr/bin/env bash
|
||||
# Copyright (C) 2023 The Qt Company Ltd.
|
||||
# Copyright (C) 2026 The Qt Company Ltd.
|
||||
# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
|
||||
|
||||
set -ex
|
||||
@@ -14,7 +14,7 @@ while sudo fuser /usr/libexec/packagekitd >/dev/null 2>&1; do
|
||||
done
|
||||
sudo yum -y remove PackageKit gnome-software
|
||||
|
||||
sudo subscription-manager config --rhsm.manage_repos=1
|
||||
sudo subscription-manager config --rhsm.manage_repos=0
|
||||
sudo subscription-manager refresh
|
||||
|
||||
# List available RHEL versions and bind with correct one
|
||||
@@ -22,10 +22,35 @@ sudo subscription-manager release --list
|
||||
sudo subscription-manager release --set=9.4
|
||||
sudo yum clean all
|
||||
|
||||
# sudo yum config-manager --enable 'rhceph-4-tools-for-rhel-8-x86_64-rpms'
|
||||
sudo yum config-manager --enable 'codeready-builder-for-rhel-9-x86_64-rpms'
|
||||
sudo yum config-manager --enable 'rhel-9-for-x86_64-baseos-rpms'
|
||||
sudo yum config-manager --enable 'rhel-9-for-x86_64-appstream-rpms'
|
||||
sudo tee "/etc/yum.repos.d/local.repo" > /dev/null <<EOC
|
||||
[rhel-9-for-x86_64-baseos-rpms]
|
||||
metadata_expire = 86400
|
||||
baseurl = http://repo-clones-rhel9.ci.qt.io/9.4/rhel-9-for-x86_64-baseos-rpms
|
||||
ui_repoid_vars = releasever basearch
|
||||
name = Qt Red Hat Enterprise Linux 9 Base OS (RPMs)
|
||||
gpgkey = file:///etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-release
|
||||
enabled = 1
|
||||
gpgcheck = 1
|
||||
|
||||
[rhel-9-for-x86_64-appstream-rpms]
|
||||
metadata_expire = 86400
|
||||
baseurl = http://repo-clones-rhel9.ci.qt.io/9.4/rhel-9-for-x86_64-appstream-rpms
|
||||
ui_repoid_vars = releasever basearch
|
||||
name = Qt Red Hat Enterprise Linux 9 Appstream (RPMs)
|
||||
gpgkey = file:///etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-release
|
||||
enabled = 1
|
||||
gpgcheck = 1
|
||||
|
||||
[codeready-builder-for-rhel-9-x86_64-rpms]
|
||||
metadata_expire = 86400
|
||||
baseurl = http://repo-clones-rhel9.ci.qt.io/9.4/codeready-builder-for-rhel-9-x86_64-rpms
|
||||
ui_repoid_vars = releasever basearch
|
||||
name = Qt Red Hat Enterprise Linux Codeready Builder (RPMs)
|
||||
gpgkey = file:///etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-release
|
||||
enabled = 1
|
||||
gpgcheck = 1
|
||||
EOC
|
||||
|
||||
# Epel is required for 'double-conversion-devel', 'libsqlite3x' and 'p7zip'
|
||||
sudo dnf install -y https://dl.fedoraproject.org/pub/epel/epel-release-latest-9.noarch.rpm
|
||||
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
#!/usr/bin/env bash
|
||||
# Copyright (C) 2023 The Qt Company Ltd.
|
||||
# Copyright (C) 2026 The Qt Company Ltd.
|
||||
# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
|
||||
|
||||
set -ex
|
||||
@@ -14,7 +14,7 @@ while sudo fuser /usr/libexec/packagekitd >/dev/null 2>&1; do
|
||||
done
|
||||
sudo yum -y remove PackageKit gnome-software
|
||||
|
||||
sudo subscription-manager config --rhsm.manage_repos=1
|
||||
sudo subscription-manager config --rhsm.manage_repos=0
|
||||
sudo subscription-manager refresh
|
||||
|
||||
# List available RHEL versions and bind with correct one
|
||||
@@ -22,10 +22,35 @@ sudo subscription-manager release --list
|
||||
sudo subscription-manager release --set=9.6
|
||||
sudo yum clean all
|
||||
|
||||
# sudo yum config-manager --enable 'rhceph-4-tools-for-rhel-8-x86_64-rpms'
|
||||
sudo yum config-manager --enable 'codeready-builder-for-rhel-9-x86_64-rpms'
|
||||
sudo yum config-manager --enable 'rhel-9-for-x86_64-baseos-rpms'
|
||||
sudo yum config-manager --enable 'rhel-9-for-x86_64-appstream-rpms'
|
||||
sudo tee "/etc/yum.repos.d/local.repo" > /dev/null <<EOC
|
||||
[rhel-9-for-x86_64-baseos-rpms]
|
||||
metadata_expire = 86400
|
||||
baseurl = http://repo-clones-rhel9.ci.qt.io/9.6/rhel-9-for-x86_64-baseos-rpms
|
||||
ui_repoid_vars = releasever basearch
|
||||
name = Qt Red Hat Enterprise Linux 9 Base OS (RPMs)
|
||||
gpgkey = file:///etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-release
|
||||
enabled = 1
|
||||
gpgcheck = 1
|
||||
|
||||
[rhel-9-for-x86_64-appstream-rpms]
|
||||
metadata_expire = 86400
|
||||
baseurl = http://repo-clones-rhel9.ci.qt.io/9.6/rhel-9-for-x86_64-appstream-rpms
|
||||
ui_repoid_vars = releasever basearch
|
||||
name = Qt Red Hat Enterprise Linux 9 Appstream (RPMs)
|
||||
gpgkey = file:///etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-release
|
||||
enabled = 1
|
||||
gpgcheck = 1
|
||||
|
||||
[codeready-builder-for-rhel-9-x86_64-rpms]
|
||||
metadata_expire = 86400
|
||||
baseurl = http://repo-clones-rhel9.ci.qt.io/9.6/codeready-builder-for-rhel-9-x86_64-rpms
|
||||
ui_repoid_vars = releasever basearch
|
||||
name = Qt Red Hat Enterprise Linux Codeready Builder (RPMs)
|
||||
gpgkey = file:///etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-release
|
||||
enabled = 1
|
||||
gpgcheck = 1
|
||||
EOC
|
||||
|
||||
# Epel is required for 'double-conversion-devel', 'libsqlite3x' and 'p7zip'
|
||||
sudo dnf install -y https://dl.fedoraproject.org/pub/epel/epel-release-latest-9.noarch.rpm
|
||||
|
||||
|
||||
@@ -1,8 +1,8 @@
|
||||
#!/usr/bin/env bash
|
||||
#Copyright (C) 2023 The Qt Company Ltd
|
||||
#Copyright (C) 2026 The Qt Company Ltd
|
||||
#SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
|
||||
set -ex
|
||||
|
||||
BASEDIR=$(dirname "$0")
|
||||
# shellcheck source=../common/unix/libclang-dyn.sh
|
||||
"$BASEDIR/../common/unix/libclang-dyn.sh"
|
||||
"$BASEDIR/../common/unix/libclang-dyn.sh" "-snld20"
|
||||
|
||||
@@ -5,4 +5,4 @@ set -ex
|
||||
|
||||
BASEDIR=$(dirname "$0")
|
||||
# shellcheck source=../common/unix/libclang.sh
|
||||
"$BASEDIR/../common/unix/libclang.sh"
|
||||
"$BASEDIR/../common/unix/libclang.sh" "-snld20"
|
||||
|
||||
@@ -23,7 +23,7 @@ echo "Installing custom ICU $icuVersion $sha1 packages on RHEL to $icuLocation"
|
||||
|
||||
targetFile=$(mktemp)
|
||||
DownloadURL "$baseBinaryPackageURL" "$baseBinaryPackageExternalURL" "$sha1" "$targetFile"
|
||||
sudo 7z x -y -o/usr/lib64 "$targetFile"
|
||||
sudo 7z x -snld20 -y -o/usr/lib64 "$targetFile"
|
||||
sudo rm "$targetFile"
|
||||
|
||||
echo "Installing custom ICU devel packages on RHEL"
|
||||
@@ -32,7 +32,7 @@ tempDir=$(mktemp -d)
|
||||
|
||||
targetFile=$(mktemp)
|
||||
DownloadURL "$develPackageURL" "$develPackageExternalURL" "$sha1Dev" "$targetFile"
|
||||
7z x -y -o"$tempDir" "$targetFile"
|
||||
7z x -snld20 -y -o"$tempDir" "$targetFile"
|
||||
|
||||
sudo cp -a "$tempDir"/lib/* /usr/lib64
|
||||
sudo cp -a "$tempDir"/* /usr/
|
||||
|
||||
@@ -0,0 +1,7 @@
|
||||
#!/bin/bash
|
||||
#Copyright (C) 2023 The Qt Company Ltd
|
||||
#SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
|
||||
|
||||
BASEDIR=$(dirname "$0")
|
||||
"$BASEDIR/../common/linux/cmake_linux.sh"
|
||||
|
||||
@@ -1 +0,0 @@
|
||||
. "$PSScriptRoot\..\common\windows\disable-clean-manager.ps1"
|
||||
@@ -1,4 +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
|
||||
|
||||
. "$PSScriptRoot\..\common\windows\drivers_versions.ps1"
|
||||
@@ -1 +0,0 @@
|
||||
. "$PSScriptRoot\..\common\windows\install-sevenzip.ps1"
|
||||
@@ -1 +0,0 @@
|
||||
. "$PSScriptRoot\..\common\windows\allow-remote-desktop-access.ps1"
|
||||
@@ -1,9 +0,0 @@
|
||||
# Windows 'Notifications & actions'
|
||||
# Disable 'Get notifications from apps and other senders'
|
||||
reg.exe ADD "HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\PushNotifications" /V ToastEnabled /T REG_dWORD /D 0 /F
|
||||
|
||||
# Disable 'Show me the Windows welcome experience after udpates and occasionally when I sign in to highlight what's new and suggested'
|
||||
reg.exe ADD "HKEY_CURRENT_USER\SOFTWARE\Microsoft\Windows\CurrentVersion\ContentDeliveryManager" /V SubscribedContent-310093Enabled /T REG_dWORD /D 0 /F
|
||||
|
||||
# Disable 'Get tips, tricks and suggestions as you use Windows'
|
||||
reg.exe ADD "HKEY_CURRENT_USER\SOFTWARE\Microsoft\Windows\CurrentVersion\ContentDeliveryManager" /V SubscribedContent-338389Enabled /T REG_dWORD /D 0 /F
|
||||
@@ -1 +0,0 @@
|
||||
. "$PSScriptRoot\..\common\windows\disable-windows-delivery-optimization.ps1"
|
||||
@@ -1,5 +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
|
||||
|
||||
# QTQAINFRA-6761
|
||||
. "$PSScriptRoot\..\common\windows\disable-windows-mdns.ps1"
|
||||
@@ -1,7 +0,0 @@
|
||||
# Disable Connected User Experiences and Telemetry service
|
||||
# The Connected User Experiences and Telemetry service enables features that support in-application and connected user experiences.
|
||||
# Additionally, this service manages the event driven collection and transmission of diagnostic and usage information
|
||||
# (used to improve the experience and quality of the Windows Platform) when the diagnostics and usage privacy option settings are enabled under Feedback and Diagnostics.
|
||||
reg.exe ADD "HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Windows\Data Collection" /V AllowTelemetry /T REG_dWORD /D 0 /F
|
||||
stop-service diagtrack
|
||||
set-service diagtrack -startuptype disabled
|
||||
@@ -1,2 +0,0 @@
|
||||
# Allow SMB client guest logons to SMB server.
|
||||
reg.exe ADD "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\LanmanWorkstation\Parameters" /V AllowInsecureGuestAuth /T REG_dWORD /D 1 /F
|
||||
@@ -1 +0,0 @@
|
||||
. "$PSScriptRoot\..\common\windows\install_telegraf.ps1"
|
||||
@@ -1,2 +0,0 @@
|
||||
. "$PSScriptRoot\..\common\windows\change-language-settings.ps1"
|
||||
|
||||
@@ -1 +0,0 @@
|
||||
. "$PSScriptRoot\..\common\windows\disable-autoreboot.ps1"
|
||||
@@ -1 +0,0 @@
|
||||
. "$PSScriptRoot\..\common\windows\win10-enable-devmode.ps1"
|
||||
@@ -1,13 +0,0 @@
|
||||
# Copyright (C) 2017 The Qt Company Ltd.
|
||||
# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
|
||||
|
||||
# Visual Studios are pre-provisioned to tier1 images
|
||||
|
||||
# MSVC 2015 Update 3
|
||||
Write-Output "Visual Studio 2015 = Version 14.0.25421.3 Update 3" >> ~\versions.txt
|
||||
|
||||
# MSVC 2017
|
||||
Write-Output "Visual Studio 2017 = Version 15.1 (26403.7)" >> ~\versions.txt
|
||||
|
||||
# MSVC 2017 Build Tools
|
||||
Write-Output "Visual Studio 2017 Build Tools = Version 15.1 (26403.7)" >> ~\versions.txt
|
||||
@@ -1 +0,0 @@
|
||||
. "$PSScriptRoot\..\common\windows\wsearch-off.ps1"
|
||||
@@ -1,2 +0,0 @@
|
||||
. "$PSScriptRoot\..\common\windows\longpath.ps1"
|
||||
|
||||
@@ -1 +0,0 @@
|
||||
. "$PSScriptRoot\..\common\windows\mesa_llvmpipe.ps1"
|
||||
@@ -1 +0,0 @@
|
||||
. "$PSScriptRoot\..\common\windows\ninja.ps1"
|
||||
@@ -1 +0,0 @@
|
||||
. "$PSScriptRoot\..\common\windows\install-git.ps1"
|
||||
@@ -1 +0,0 @@
|
||||
. "$PSScriptRoot\..\common\windows\install-jdk.ps1"
|
||||
@@ -1,8 +0,0 @@
|
||||
# Parameters:
|
||||
# - Arch 32/64
|
||||
# - installer sha1
|
||||
# - install target dir
|
||||
# - version
|
||||
# - Optional true/false if set as default with PYTHON3/PIP3_PATH variables, default false
|
||||
|
||||
. "$PSScriptRoot\..\common\windows\python3.ps1" 32 "cd9744b142eca832f9534390676e6cfb84bf655d" "C:\Python36" "3.6.2" $true
|
||||
@@ -1 +0,0 @@
|
||||
. "$PSScriptRoot\..\common\windows\install-dependencywalker.ps1"
|
||||
@@ -1 +0,0 @@
|
||||
. "$PSScriptRoot\..\common\windows\install-openssh.ps1"
|
||||
@@ -1 +0,0 @@
|
||||
. "$PSScriptRoot\..\common\windows\install-ruby.ps1"
|
||||
@@ -1 +0,0 @@
|
||||
. "$PSScriptRoot\..\common\windows\install-strawberry-perl.ps1"
|
||||
@@ -1 +0,0 @@
|
||||
. "$PSScriptRoot\..\common\windows\openssl.ps1"
|
||||
@@ -1 +0,0 @@
|
||||
. "$PSScriptRoot\..\common\windows\postgresql.ps1"
|
||||
@@ -1 +0,0 @@
|
||||
. "$PSScriptRoot\..\common\windows\vulkansdk.ps1"
|
||||
@@ -1 +0,0 @@
|
||||
. "$PSScriptRoot\..\common\windows\conan.ps1"
|
||||
@@ -1 +0,0 @@
|
||||
. "$PSScriptRoot\..\common\windows\install-sccache.ps1"
|
||||
@@ -1 +0,0 @@
|
||||
. "$PSScriptRoot\..\common\windows\mqtt_broker.ps1"
|
||||
@@ -1 +0,0 @@
|
||||
. "$PSScriptRoot\..\common\windows\winrtrunner.ps1"
|
||||
@@ -1,2 +0,0 @@
|
||||
. "$PSScriptRoot\..\common\windows\install-gnuwin32.ps1"
|
||||
|
||||
@@ -1 +0,0 @@
|
||||
. "$PSScriptRoot\..\common\windows\jom.ps1"
|
||||
@@ -1 +0,0 @@
|
||||
. "$PSScriptRoot\..\common\windows\cmake.ps1"
|
||||
@@ -1 +0,0 @@
|
||||
. "$PSScriptRoot\..\common\windows\win10sdk.ps1"
|
||||
@@ -1 +0,0 @@
|
||||
. "$PSScriptRoot\..\common\windows\disable-quickedit.ps1"
|
||||
@@ -1 +0,0 @@
|
||||
. "$PSScriptRoot\..\common\windows\exceutequeueditems.ps1"
|
||||
@@ -1 +0,0 @@
|
||||
. "$PSScriptRoot\..\common\windows\libusb.ps1"
|
||||
@@ -1 +0,0 @@
|
||||
. "$PSScriptRoot\..\common\windows\mysql.ps1"
|
||||
@@ -1,14 +0,0 @@
|
||||
# Copyright (C) 2017 The Qt Company Ltd.
|
||||
# Copyright (C) 2017 Pelagicore AG
|
||||
# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
|
||||
|
||||
. "$PSScriptRoot\..\common\windows\helpers.ps1"
|
||||
|
||||
# Signing tools are needed to sign offline installers when releasing
|
||||
|
||||
$url = "http://ci-files01-hki.ci.qt.io/input/semisecure/sign/sign.zip"
|
||||
$destination = "C:\Windows\temp\sign.zip"
|
||||
|
||||
Download $url $url $destination
|
||||
Extract-7Zip "$destination" "C:\Utils"
|
||||
Remove "$destination"
|
||||
@@ -1,3 +0,0 @@
|
||||
. "$PSScriptRoot\..\common\windows\vclibs_debug.ps1"
|
||||
|
||||
Install-VCLibsDebug X86
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user