diff options
Diffstat (limited to 'coin/provisioning')
182 files changed, 2263 insertions, 261 deletions
diff --git a/coin/provisioning/common/linux/android/gradle_project/app/build.gradle b/coin/provisioning/common/linux/android/gradle_project/app/build.gradle index 745c08f8..7f6b66ac 100644 --- a/coin/provisioning/common/linux/android/gradle_project/app/build.gradle +++ b/coin/provisioning/common/linux/android/gradle_project/app/build.gradle @@ -8,7 +8,7 @@ android { defaultConfig { applicationId "com.example.gradle_project" - minSdk 23 + minSdk 28 targetSdk 34 versionCode 1 versionName "1.0" @@ -21,6 +21,7 @@ android { } dependencies { + implementation libs.core implementation libs.appcompat implementation libs.material } diff --git a/coin/provisioning/common/linux/android/gradle_project/gradle/libs.versions.toml b/coin/provisioning/common/linux/android/gradle_project/gradle/libs.versions.toml index 65bc49af..85d2f8de 100644 --- a/coin/provisioning/common/linux/android/gradle_project/gradle/libs.versions.toml +++ b/coin/provisioning/common/linux/android/gradle_project/gradle/libs.versions.toml @@ -1,10 +1,12 @@ [versions] -agp = "7.4.1" +agp = "8.4.0" +core = "1.13.1" appcompat = "1.6.1" material = "1.11.0" constraintlayout = "2.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" } constraintlayout = { group = "androidx.constraintlayout", name = "constraintlayout", version.ref = "constraintlayout" } diff --git a/coin/provisioning/common/linux/android_linux.sh b/coin/provisioning/common/linux/android_linux.sh index 587eb027..7fb7bf08 100755 --- a/coin/provisioning/common/linux/android_linux.sh +++ b/coin/provisioning/common/linux/android_linux.sh @@ -39,9 +39,9 @@ android14SystemZipSha="ede80c6901e8fad1895c97a86542b8e072bb1ee5" android14SystemPath="$basePath/$android14SystemZipName" # Android Automotive max SDK level image -sdkApiLevelAutomotiveMax="android-33" +sdkApiLevelAutomotiveMax="android-34" androidAutomotiveMaxUrl="$basePath/${sdkApiLevelAutomotiveMax}_automotive.tar.gz" -androidAutomotiveMaxSha="b020a938ec46af2510047284406e9bed608cad03" +androidAutomotiveMaxSha="2cc5dae4fd0bdefb188a3b84019d0d1e65501519" # Android Automotive min SDK level image sdkApiLevelAutomotiveMin="android-29" androidAutomotiveMinUrl="$basePath/${sdkApiLevelAutomotiveMin}_automotive.tar.gz" @@ -125,7 +125,7 @@ SetEnvVar "ANDROID_NDK_HOST" "linux-x86_64" SetEnvVar "ANDROID_API_VERSION" "$sdkApiLevel" # shellcheck disable=SC2129 -cat <<EOB >>~/versions.txt +cat >>~/versions.txt <<EOB Android SDK tools = $toolsVersion Android SDK Build Tools = $sdkBuildToolsVersion Android SDK API level = $sdkApiLevel @@ -147,7 +147,7 @@ echo "Unzipping the Android Emulator to '$sdkTargetFolder'" sudo unzip -o -q "$emulatorTargetFile" -d "$sdkTargetFolder" rm "$emulatorTargetFile" -echo "y" | ./sdkmanager --install "system-images;android-26;google_apis;x86" \ +echo "y" | ./sdkmanager --install "system-images;android-28;google_apis;x86" \ | eval "$sdkmanager_no_progress_bar_cmd" echo "Extract stored Android 14 Beta $android14SystemZipName" @@ -158,8 +158,8 @@ sudo tar -xzf "/tmp/$android14SystemZipName" -C "$sdkTargetFolder/system-images" echo "Checking the contents of Android SDK again..." ls -l "$sdkTargetFolder" -echo "no" | ./avdmanager create avd -n emulator_x86_api_26 -c 2048M -f \ - -k "system-images;android-26;google_apis;x86" +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_34 -c 2048M -f \ -k "system-images;android-34;google_apis;x86_64" @@ -168,7 +168,7 @@ echo "Install maximum supported SDK level image for Android Automotive $sdkApiLe DownloadURL "$androidAutomotiveMaxUrl" "$androidAutomotiveMaxUrl" "$androidAutomotiveMaxSha" \ "/tmp/${sdkApiLevelAutomotiveMax}_automotive.tar.gz" sudo tar -xzf "/tmp/${sdkApiLevelAutomotiveMax}_automotive.tar.gz" -C "$sdkTargetFolder/system-images" -echo "no" | ./avdmanager create avd -n automotive_emulator_x86_64_api_33 -c 2048M -f \ +echo "no" | ./avdmanager create avd -n automotive_emulator_x86_64_api_34 -c 2048M -f \ -k "system-images;${sdkApiLevelAutomotiveMax};android-automotive;x86_64" echo "Install minimum supported SDK level image for Android Automotive $sdkApiLevelAutomotiveMin" @@ -193,7 +193,7 @@ cp -r "${scripts_dir_name}/android/gradle_project" /tmp/gradle_project cd /tmp/gradle_project # Get Gradle files from qtbase qtbaseGradleUrl="https://code.qt.io/cgit/qt/qtbase.git/plain/src/3rdparty/gradle" -commit_sha="0d91cc866f2799d56911bcdadabebb137eafcea8" +commit_sha="f22e9795d9a32fc4e9f4d6f2a70c2f831028342b" curl "$qtbaseGradleUrl/gradle.properties?h=$commit_sha" > gradle.properties curl "$qtbaseGradleUrl/gradlew?h=$commit_sha" > gradlew curl "$qtbaseGradleUrl/gradlew.bat?h=$commit_sha" > gradlew.bat diff --git a/coin/provisioning/common/linux/fix-bwrap-apparmor.sh b/coin/provisioning/common/linux/fix-bwrap-apparmor.sh new file mode 100644 index 00000000..4c8b68f9 --- /dev/null +++ b/coin/provisioning/common/linux/fix-bwrap-apparmor.sh @@ -0,0 +1,21 @@ +#!/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 + +# See https://ubuntu.com/blog/ubuntu-23-10-restricted-unprivileged-user-namespaces +# and https://bugs.launchpad.net/ubuntu/+source/apparmor/+bug/2046844/comments/89 +sudo bash -c 'cat > /etc/apparmor.d/bwrap' << EOF +# This profile allows everything and only exists to give the +# application a name instead of having the label "unconfined" + +abi <abi/4.0>, +include <tunables/global> + +profile bwrap /usr/bin/bwrap flags=(unconfined) { + userns, + + # Site-specific additions and overrides. See local/README for details. + include if exists <local/bwrap> +} +EOF + diff --git a/coin/provisioning/common/linux/install-patchelf.sh b/coin/provisioning/common/linux/install-patchelf.sh new file mode 100755 index 00000000..6600795c --- /dev/null +++ b/coin/provisioning/common/linux/install-patchelf.sh @@ -0,0 +1,26 @@ +#!/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 + + +source "${BASH_SOURCE%/*}/../unix/InstallFromCompressedFileFromURL.sh" +patchelf_version="0.18.0" + +url_cached="http://ci-files01-hki.ci.qt.io/input/patchelf/$patchelf_version.tar.gz" +url_public="https://github.com/NixOS/patchelf/archive/refs/tags/$patchelf_version.tar.gz" +sha1="7eb974172de73b7b452ee376237ad78601603c45" + +target_source_dir="$HOME/patchelf-$patchelf_version" + +if [ ! -d "$target_source_dir" ]; then + InstallFromCompressedFileFromURL "$url_cached" "$url_public" "$sha1" "$HOME" "" +fi + +pushd "$target_source_dir" + +./bootstrap.sh +./configure +make +sudo make install + +popd diff --git a/coin/provisioning/common/linux/qnx_710.sh b/coin/provisioning/common/linux/qnx_710.sh index 7afefb42..41d2d103 100755 --- a/coin/provisioning/common/linux/qnx_710.sh +++ b/coin/provisioning/common/linux/qnx_710.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-20220405.tar.xz" +sourceFile="http://ci-files01-hki.ci.qt.io/input/qnx/qnx710-windows-linux-20240417.tar.xz" targetFile="qnx710.tar.xz" -sha1="134af2e0f75d7b7c516f824fafee265b89e51d48" +sha1="cd2d35004fb2798089e29d9e1226691426632da0" DownloadAndExtract "$sourceFile" "$sha1" "$targetFile" "$targetFolder" sudo cp "$aarch64le_toolchain" "$targetPath" diff --git a/coin/provisioning/common/linux/qnx_800.sh b/coin/provisioning/common/linux/qnx_800.sh new file mode 100755 index 00000000..52545d41 --- /dev/null +++ b/coin/provisioning/common/linux/qnx_800.sh @@ -0,0 +1,85 @@ +#!/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 installs QNX 8. + +set -ex + +# shellcheck source=../unix/DownloadURL.sh +source "${BASH_SOURCE%/*}/../unix/DownloadURL.sh" +# shellcheck source=../unix/SetEnvVar.sh +source "${BASH_SOURCE%/*}/../unix/SetEnvVar.sh" + +DownloadAndExtract () { + url=$1 + sha=$2 + file=$3 + folder=$4 + + DownloadURL "$url" "$url" "$sha" "$file" + sudo tar -C "$folder" -Jxf "$file" + + rm -rf "$file" +} + +aarch64le_toolchain="${BASH_SOURCE%/*}/../shared/cmake_toolchain_files/qnx-toolchain-aarch64le.cmake" +armv7le_toolchain="${BASH_SOURCE%/*}/../shared/cmake_toolchain_files/qnx-toolchain-armv7le.cmake" +x8664_toolchain="${BASH_SOURCE%/*}/../shared/cmake_toolchain_files/qnx-toolchain-x8664.cmake" +QNX_qemu_bld_files_dir="${BASH_SOURCE%/*}/qnx_qemu_build_files/" + +targetFolder="/opt/" +folderName="qnx800" +targetPath="$targetFolder$folderName" +qemuTargetPath="$HOME/QNX" +qemuIpAddress="172.31.1.10" +export qemuNetwork="172.31.1.1" +qemuSSHuser="root" +qemuSSHurl="$qemuSSHuser@$qemuIpAddress" +qemuLDpath="/proc/boot:/system/lib:/system/lib/dll:/home/qt/work/install/target/lib" + +if [ ! -d "$targetFolder" ]; then + mkdir -p "$targetFolder" +fi + +# QNX SDP +sourceFile="http://ci-files01-hki.ci.qt.io/input/qnx/qnx800-linux-20240510.tar.xz" +targetFile="qnx800.tar.xz" +sha1="93245a5bc11b88563328f0763573942fd25b5e18" +DownloadAndExtract "$sourceFile" "$sha1" "$targetFile" "$targetFolder" + +sudo cp "$aarch64le_toolchain" "$targetPath" +sudo cp "$armv7le_toolchain" "$targetPath" +sudo cp "$x8664_toolchain" "$targetPath" +cp -R "$QNX_qemu_bld_files_dir" "$qemuTargetPath" +# fc-match tool is missing from QNX SDP and tst_qfont requires it to work corretly +# Download code-only package from https://www.iana.org/time-zones and follow README +# to build tools for QNX x86_64. If need to build new tool create new qnx_qemu_utils +# package which contains it and update required info below +sourceFile="http://ci-files01-hki.ci.qt.io/input/qnx/qnx_qemu_utils_20211208.tar.xz" +targetFile="qnx_qemu_utils.tar.xz" +targetFolder="$qemuTargetPath/local/misc_files" +sha1="7653f5d50f61f1591d7785c3ec261228ecc9dd22" + +mkdir -p "$targetFolder" + +DownloadAndExtract "$sourceFile" "$sha1" "$targetFile" "$targetFolder" + +# Add ssl certificates. Expects Ubuntu 22.04 LTS with ca-certificates package installed +cp -R /usr/share/ca-certificates "$targetFolder" +mkdir -p "$targetFolder/etc/ssl/certs" +cp -PR /etc/ssl/certs/* "$targetFolder/etc/ssl/certs" + +sudo chown -R qt:users "$targetPath" + +# Verify that we have last files in tars +if [ ! -f "$targetPath/qnxsdp-env.sh" ] || [ ! -f "$targetPath/qnx-toolchain-x8664.cmake" ] +then + echo "QNX toolchain installation failed!" + exit 1 +fi + +# Set env variables +SetEnvVar "QNX_800" "$targetPath" + +echo "QNX SDP = 8.0.0" >> ~/versions.txt diff --git a/coin/provisioning/common/linux/qnx_qemu_build_files/local/snippets/system_files.custom b/coin/provisioning/common/linux/qnx_qemu_build_files/local/snippets/system_files.custom index da00c4e9..37cbd96d 100644 --- a/coin/provisioning/common/linux/qnx_qemu_build_files/local/snippets/system_files.custom +++ b/coin/provisioning/common/linux/qnx_qemu_build_files/local/snippets/system_files.custom @@ -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.23=usr/lib/libfreetype.so.23 +lib/libfreetype.so.24=usr/lib/libfreetype.so.24 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 diff --git a/coin/provisioning/common/macos/disable_spotlight.sh b/coin/provisioning/common/macos/disable_spotlight.sh index a404d3e7..b4907ca0 100755 --- a/coin/provisioning/common/macos/disable_spotlight.sh +++ b/coin/provisioning/common/macos/disable_spotlight.sh @@ -2,10 +2,29 @@ # 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 -# Disable spotlight and and stop indexing -sudo mdutil -a -i off -sudo mdutil -a -i off / -# Disable spotlight indexing /Volumes -sudo mdutil -i off /Volumes -# Erase spotlight index -sudo mdutil -E / +disableSpotlight() { + # Disable spotlight and and stop indexing + sudo mdutil -a -i off + sudo mdutil -a -i off / + # Disable spotlight indexing /Volumes + sudo mdutil -i off /Volumes + # Erase spotlight index + sudo mdutil -E / +} + +# Disabling spotlight tends to be flaky, add some retry +for i in $(seq 1 5) +do + disableSpotlight + res=$? + if [[ $res -eq 0 ]] + then + echo "Spotlight disabled" + break + else + echo "Failed to disable spotlight, $i retry..." + sleep 2 + fi +done + +exit $res diff --git a/coin/provisioning/common/macos/python3.sh b/coin/provisioning/common/macos/python3.sh index 925a4925..1a8809d6 100755 --- a/coin/provisioning/common/macos/python3.sh +++ b/coin/provisioning/common/macos/python3.sh @@ -12,25 +12,23 @@ source "${BASH_SOURCE%/*}/../unix/SetEnvVar.sh" # shellcheck source=./pip.sh source "${BASH_SOURCE%/*}/pip.sh" -PrimaryUrl="http://ci-files01-hki.ci.qt.io/input/mac/python-3.9.6-macos11.pkg" -AltUrl="https://www.python.org/ftp/python/3.9.6/python-3.9.6-macos11.pkg" -SHA1="2af5277c2e197719eb4b820430dee5d89e2577b6" +PrimaryUrl="http://ci-files01-hki.ci.qt.io/input/mac/python-3.11.9-macos11.pkg" +AltUrl="https://www.python.org/ftp/python/3.11.9/python-3.11.9-macos11.pkg" +SHA1="d156e22e4f8902c0ebdf466a3a01832e0f0a85d8" DestDir="/" InstallPKGFromURL "$PrimaryUrl" "$AltUrl" "$SHA1" "$DestDir" -InstallPip python3.9 - echo "Configure pip" -/Library/Frameworks/Python.framework/Versions/3.9/bin/pip config --user set global.index https://ci-files01-hki.ci.qt.io/input/python_module_cache -/Library/Frameworks/Python.framework/Versions/3.9/bin/pip config --user set global.extra-index-url https://pypi.org/simple/ +/Library/Frameworks/Python.framework/Versions/3.11/bin/pip3 config --user set global.index https://ci-files01-hki.ci.qt.io/input/python_module_cache +/Library/Frameworks/Python.framework/Versions/3.11/bin/pip3 config --user set global.extra-index-url https://pypi.org/simple/ -/Library/Frameworks/Python.framework/Versions/3.9/bin/pip3 install virtualenv wheel html5lib +/Library/Frameworks/Python.framework/Versions/3.11/bin/pip3 install virtualenv wheel html5lib -SetEnvVar "PYTHON3_PATH" "/Library/Frameworks/Python.framework/Versions/3.9/bin" -SetEnvVar "PIP3_PATH" "/Library/Frameworks/Python.framework/Versions/3.9/bin" +SetEnvVar "PYTHON3_PATH" "/Library/Frameworks/Python.framework/Versions/3.11/bin" +SetEnvVar "PIP3_PATH" "/Library/Frameworks/Python.framework/Versions/3.11/bin" # Install Python certificates. Required at least for emsdk installation -open /Applications/Python\ 3.9/Install\ Certificates.command +open /Applications/Python\ 3.11/Install\ Certificates.command -echo "python3 = 3.9.6" >> ~/versions.txt +echo "python3 = 3.11.9" >> ~/versions.txt diff --git a/coin/provisioning/common/shared/fix_ffmpeg_dependencies.sh b/coin/provisioning/common/shared/fix_ffmpeg_dependencies.sh new file mode 100755 index 00000000..54d566a1 --- /dev/null +++ b/coin/provisioning/common/shared/fix_ffmpeg_dependencies.sh @@ -0,0 +1,50 @@ +#!/usr/bin/env bash +# Copyright (C) 2024 The Qt Company Ltd. +# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only + +set -x + +lib_dir="$1/lib" +additional_suffix="${2:-}" +set_rpath="${3:-yes}" + +if uname -a |grep -q "Darwin"; then + readelf() { + /usr/local/opt/binutils/bin/readelf "$@" + } +fi + +ffmpeg_libs=("avcodec" "avdevice" "avfilter" "avformat" "avutil" "swresample" "swscale") + +for lib_name in "${ffmpeg_libs[@]}"; do + lib_path="$lib_dir/lib$lib_name.so" + pkg_config_file_path="$lib_dir/pkgconfig/lib$lib_name.pc" + + if [ ! -f "$lib_path" ]; then + echo "FFmpeg lib $lib_path hasn't been found" + exit 1 + fi + + if [ ! -f "$pkg_config_file_path" ]; then + echo "FFmpeg pc file $pkg_config_file_path hasn't been found" + exit 1 + fi + + while read -r line; do + if [[ $line =~ .*\[(lib((ssl|crypto|va|va-x11|va-drm)(_3)?\.so(\.[0-9]+)*))\].* ]]; then + stub_name="libQt6FFmpegStub-${BASH_REMATCH[2]}" + if [[ ${BASH_REMATCH[4]} == "_3" ]]; then + stub_name="${stub_name/_3/}" # Remove "_3" from stub_name + fi + if [[ -n "$additional_suffix" ]]; then + stub_name="${stub_name%%.*}${additional_suffix}.${stub_name#*.}" # Add additional_suffix + fi + patchelf --replace-needed "${BASH_REMATCH[1]}" "${stub_name}" $lib_path + fi + done <<< "$(readelf -d $lib_path | grep '(NEEDED)' )" + + sed -i.bak -E '/^Libs.private:/s/ -l(va|va-x11|va-drm|ssl|crypto)/ -lQt6FFmpegStub-\1/g;' $pkg_config_file_path && rm -f ${pkg_config_file_path}.bak + if [[ "$set_rpath" == "yes" ]]; then + patchelf --set-rpath '$ORIGIN' $lib_path + fi +done diff --git a/coin/provisioning/common/unix/install-conan.sh b/coin/provisioning/common/unix/install-conan.sh index 8fc83090..e48a5bdd 100755 --- a/coin/provisioning/common/unix/install-conan.sh +++ b/coin/provisioning/common/unix/install-conan.sh @@ -9,9 +9,10 @@ source "${BASH_SOURCE%/*}/../unix/SetEnvVar.sh" # Note! Python3 is required for Conan installation os="$1" +params="$2" # Install Conan to Python user install directory (typically ~./local/) -pip3 install conan --user +pip3 install conan --user $params SetEnvVar "CONAN_REVISIONS_ENABLED" "1" SetEnvVar "CONAN_V2_MODE" "1" diff --git a/coin/provisioning/common/unix/install-ffmpeg-android.sh b/coin/provisioning/common/unix/install-ffmpeg-android.sh index 05d0b681..0bb15586 100755 --- a/coin/provisioning/common/unix/install-ffmpeg-android.sh +++ b/coin/provisioning/common/unix/install-ffmpeg-android.sh @@ -2,7 +2,7 @@ # Copyright (C) 2022 The Qt Company Ltd. # SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only -# This script will build and install FFmpeg static libs +# This script will build and install FFmpeg shared libs set -ex os="$1" @@ -30,28 +30,36 @@ build_ffmpeg_android() { target_arch=$1 target_dir=$2 + shared="${3:-no}" sudo mkdir -p "$target_dir" openssl_include="$OPENSSL_ANDROID_HOME_DEFAULT/include" openssl_libs="" + libs_prefix="" if [ "$target_arch" == "x86_64" ]; then target_toolchain_arch="x86_64-linux-android" target_arch=x86_64 target_cpu=x86-64 openssl_libs="$OPENSSL_ANDROID_HOME_DEFAULT/x86_64" + libs_prefix="_x86_64" elif [ "$target_arch" == "x86" ]; then target_toolchain_arch="i686-linux-android" target_arch=x86 target_cpu=i686 openssl_libs="$OPENSSL_ANDROID_HOME_DEFAULT/x86" + libs_prefix="_x86" elif [ "$target_arch" == "arm64" ]; then target_toolchain_arch="aarch64-linux-android" target_arch=aarch64 target_cpu=armv8-a openssl_libs="$OPENSSL_ANDROID_HOME_DEFAULT/arm64-v8a" + libs_prefix="_arm64-v8a" fi + ln -s "${openssl_libs}/libcrypto_3.so" "${openssl_libs}/libcrypto.so" + ln -s "${openssl_libs}/libssl_3.so" "${openssl_libs}/libssl.so" + api_version=24 ndk_root=$ANDROID_NDK_ROOT_DEFAULT @@ -71,6 +79,9 @@ build_ffmpeg_android() { ffmpeg_config_options=$(cat "${BASH_SOURCE%/*}/../shared/ffmpeg_config_options.txt") 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" + if [[ "$shared" == "yes" ]]; then + ffmpeg_config_options+=" --enable-shared --disable-static" + fi 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}" ffmpeg_config_options+=" --extra-cflags=-I${openssl_include} --extra-ldflags=-L${openssl_libs}" @@ -83,6 +94,15 @@ build_ffmpeg_android() { sudo "$ffmpeg_source_dir/configure" $ffmpeg_config_options --prefix="$target_dir" sudo make install -j4 + + rm -f "${openssl_libs}/libcrypto.so" + rm -f "${openssl_libs}/libssl.so" + + if [[ "$shared" == "yes" ]]; then + fix_dependencies="${BASH_SOURCE%/*}/../shared/fix_ffmpeg_dependencies.sh" + sudo "${fix_dependencies}" "${target_dir}" "${libs_prefix}" "no" + fi + popd } @@ -103,4 +123,4 @@ elif [ "$os" == "android-arm64" ]; then SetEnvVar "FFMPEG_DIR_ANDROID_ARM64" "$target_dir" fi -build_ffmpeg_android "$target_arch" "$target_dir" +build_ffmpeg_android "$target_arch" "$target_dir" "yes" diff --git a/coin/provisioning/common/unix/install-ffmpeg.sh b/coin/provisioning/common/unix/install-ffmpeg.sh index 94d032ed..c782a126 100755 --- a/coin/provisioning/common/unix/install-ffmpeg.sh +++ b/coin/provisioning/common/unix/install-ffmpeg.sh @@ -71,11 +71,26 @@ build_ffmpeg() { } if [ "$os" == "linux" ]; then + build_type="$2" + install_ff_nvcodec_headers ffmpeg_config_options+=" --enable-openssl" + + if [ "$build_type" != "static" ]; then + ffmpeg_config_options+=" --enable-shared --disable-static" + fi + build_ffmpeg - sudo mv "$ffmpeg_source_dir/build/installed/usr/local/$ffmpeg_name" "/usr/local" + + output_dir="$ffmpeg_source_dir/build/installed/usr/local/$ffmpeg_name" + + if [ "$build_type" != "static" ]; then + fix_dependencies="${BASH_SOURCE%/*}/../shared/fix_ffmpeg_dependencies.sh" + "$fix_dependencies" "$output_dir" + fi + + sudo mv "$output_dir" "/usr/local" SetEnvVar "FFMPEG_DIR" "/usr/local/$ffmpeg_name" elif [ "$os" == "macos" ] || [ "$os" == "macos-universal" ]; then @@ -111,3 +126,5 @@ elif [ "$os" == "macos" ] || [ "$os" == "macos-universal" ]; then SetEnvVar "FFMPEG_DIR" "/usr/local/$ffmpeg_name" fi + + diff --git a/coin/provisioning/common/unix/install_protobuf.sh b/coin/provisioning/common/unix/install_protobuf.sh index 7ace4eae..110d8b9c 100755 --- a/coin/provisioning/common/unix/install_protobuf.sh +++ b/coin/provisioning/common/unix/install_protobuf.sh @@ -31,6 +31,36 @@ DownloadURL "$internalUrl" "$externalUrl" "$sha1" "$targetFile" unzip "$targetFile" -d "$HOME" sudo rm "$targetFile" +cd $targetDir + +if uname -a |grep -q "Ubuntu"; then + echo 'diff --git a/cmake/conformance.cmake b/cmake/conformance.cmake +index d6c435ac3..d6fb3a7df 100644 +--- a/cmake/conformance.cmake ++++ b/cmake/conformance.cmake +@@ -24,6 +24,8 @@ add_executable(conformance_test_runner + ${protobuf_SOURCE_DIR}/conformance/conformance.pb.cc + ${protobuf_SOURCE_DIR}/conformance/conformance_test.cc + ${protobuf_SOURCE_DIR}/conformance/conformance_test_runner.cc ++ ${protobuf_SOURCE_DIR}/conformance/conformance_test_main.cc ++ ${protobuf_SOURCE_DIR}/conformance/text_format_conformance_suite.cc + ${protobuf_SOURCE_DIR}/conformance/third_party/jsoncpp/json.h + ${protobuf_SOURCE_DIR}/conformance/third_party/jsoncpp/jsoncpp.cpp + ${protobuf_SOURCE_DIR}/src/google/protobuf/test_messages_proto2.pb.cc +@@ -36,6 +38,10 @@ add_executable(conformance_cpp + ${protobuf_SOURCE_DIR}/src/google/protobuf/test_messages_proto2.pb.cc + ${protobuf_SOURCE_DIR}/src/google/protobuf/test_messages_proto3.pb.cc + ) ++install(TARGETS conformance_test_runner ++ RUNTIME DESTINATION COMPONENT conformance ++ LIBRARY DESTINATION COMPONENT conformance ++ ARCHIVE DESTINATION COMPONENT conformance) + + target_include_directories( + conformance_test_runner' | patch -p1 + extraCMakeArgs=("-Dprotobuf_BUILD_CONFORMANCE=ON") +fi + # devtoolset is needed when running configuration if uname -a |grep -qv "Darwin"; then export PATH="/opt/rh/devtoolset-7/root/usr/bin:$PATH" diff --git a/coin/provisioning/common/windows/cmake.ps1 b/coin/provisioning/common/windows/cmake.ps1 index d2ed4cc8..af1e2872 100644 --- a/coin/provisioning/common/windows/cmake.ps1 +++ b/coin/provisioning/common/windows/cmake.ps1 @@ -6,18 +6,40 @@ $majorminorversion = "3.27" $version = "3.27.7" -$zip = Get-DownloadLocation ("cmake-" + $version + "-windows-i386.zip") -$officialurl = "https://cmake.org/files/v" + $majorminorversion + "/cmake-" + $version + "-windows-i386.zip" -$cachedurl = "\\ci-files01-hki.ci.qt.io\provisioning\cmake\cmake-" + $version + "-windows-i386.zip" +$cpu_arch = Get-CpuArchitecture +Write-Host "Installing CMake for architecture $cpu_arch" +switch ($cpu_arch) { + arm64 { + $arch = "arm64" + $sha1 = "52ee08671dcb478c5ec6e862f41717f65047c598" + $majorminorversion = "3.29" + $version = "3.29.2" + Break + } + x64 { + $arch = "i386" + $sha1 = "b6147215a5f9cd1138b012265229fbf2224d02c6" + } + default { + throw "Unknown architecture $cpu_arch" + } +} + +$filename = "cmake-" + $version + "-windows-" + $arch +$filename_zip = $filename + ".zip" + +$zip = Get-DownloadLocation ($filename_zip) +$officialurl = "https://cmake.org/files/v" + $majorminorversion + "/" + $filename_zip +$cachedurl = "https://ci-files01-hki.ci.qt.io/input/cmake/" + $filename_zip Write-Host "Removing old cmake" Remove "C:\CMake" Download $officialurl $cachedurl $zip -Verify-Checksum $zip "b6147215a5f9cd1138b012265229fbf2224d02c6" +Verify-Checksum $zip $sha1 Extract-7Zip $zip C: -$defaultinstallfolder = "C:\cmake-" + $version + "-windows-i386" +$defaultinstallfolder = "C:\" + $filename Rename-Item $defaultinstallfolder C:\CMake Add-Path "C:\CMake\bin" diff --git a/coin/provisioning/common/windows/disable-windows-module-installer.ps1 b/coin/provisioning/common/windows/disable-windows-module-installer.ps1 index c7f85ff7..2d829b04 100644 --- a/coin/provisioning/common/windows/disable-windows-module-installer.ps1 +++ b/coin/provisioning/common/windows/disable-windows-module-installer.ps1 @@ -1,4 +1,6 @@ +. "$PSScriptRoot\helpers.ps1" + # Disable Windows Module Installer (Trusted Installer). # Trusted Installe enables installation, modification, and removal of Windows updates and optional components. # If this service is disabled, install or uninstall of Windows updates might fail for this computer. -sc.exe config TrustedInstaller start=disabled +Run-Executable "sc.exe" "config TrustedInstaller start=disabled" diff --git a/coin/provisioning/common/windows/exceutequeueditems.ps1 b/coin/provisioning/common/windows/exceutequeueditems.ps1 index 28ed007f..0d6a7267 100644 --- a/coin/provisioning/common/windows/exceutequeueditems.ps1 +++ b/coin/provisioning/common/windows/exceutequeueditems.ps1 @@ -2,8 +2,29 @@ # SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only . "$PSScriptRoot\helpers.ps1" -Start-Process -NoNewWindow -FilePath "C:\WINDOWS\Microsoft.NET\Framework\v4.0.30319\ngen.exe" -ArgumentList ExecuteQueuedItems -Wait +function ngen() { + Param ( + [ValidateSet("Framework","Framework64","FrameworkArm64")][string]$framework + ) + Start-Process -NoNewWindow -FilePath "C:\WINDOWS\Microsoft.NET\$framework\v4.0.30319\ngen.exe" -ArgumentList ExecuteQueuedItems -Wait +} -if( (is64bitWinHost) -eq 1 ) { - Start-Process -NoNewWindow -FilePath "C:\WINDOWS\Microsoft.NET\Framework64\v4.0.30319\ngen.exe" -ArgumentList ExecuteQueuedItems -Wait +$cpu_arch = Get-CpuArchitecture +switch ($cpu_arch) { + arm64 { + ngen("FrameworkArm64") + Break + } + x64 { + ngen("Framework") + ngen("Framework64") + Break + } + x86 { + ngen("Framework") + Break + } + default { + throw "Unknown architecture $cpu_arch" + } } diff --git a/coin/provisioning/common/windows/git_usr_bin_to_path.ps1 b/coin/provisioning/common/windows/git_usr_bin_to_path.ps1 deleted file mode 100644 index 14333bd7..00000000 --- a/coin/provisioning/common/windows/git_usr_bin_to_path.ps1 +++ /dev/null @@ -1,6 +0,0 @@ -$existingPath = [System.Environment]::GetEnvironmentVariable("PATH", [System.EnvironmentVariableTarget]::Machine) -if ($existingPath -notlike "*C:\Program Files\Git\usr\bin*") { - $newPath = $existingPath + ";C:\Program Files\Git\usr\bin" - [System.Environment]::SetEnvironmentVariable("PATH", $newPath, [System.EnvironmentVariableTarget]::Machine) - Write-Host "Added C:\Program Files\Git\usr\bin to PATH." -} diff --git a/coin/provisioning/common/windows/helpers.ps1 b/coin/provisioning/common/windows/helpers.ps1 index 9fbf27aa..ad01c499 100644 --- a/coin/provisioning/common/windows/helpers.ps1 +++ b/coin/provisioning/common/windows/helpers.ps1 @@ -297,13 +297,52 @@ function DeleteSchedulerTask { SCHTASKS /DELETE /TN "Microsoft\Windows\$Task" /F } -function GetVSPath { +function GetVsProperty { Param ( - [string]$VSWhere = "C:\Program Files (x86)\Microsoft Visual Studio\Installer\vswhere.exe", - [string]$Component = "Microsoft.VisualStudio.Component.VC.Tools.x86.x64" + [string]$Component = 'Microsoft.VisualStudio.Component.VC.CoreIde', + [string]$Property, + [switch]$Latest ) - return (& $VSWhere -nologo -latest -products * -requires $Component -property installationPath) + $vsWhereProcessInfo = New-Object System.Diagnostics.ProcessStartInfo + $vsWhereProcessInfo.FileName = "${Env:ProgramFiles(x86)}\Microsoft Visual Studio\Installer\vswhere.exe" + $vsWhereProcessInfo.RedirectStandardError = $true + $vsWhereProcessInfo.RedirectStandardOutput = $true + $vsWhereProcessInfo.UseShellExecute = $false + + # -sort: sorts the instances from newest version and last installed to oldest + $vsWhereProcessInfo.Arguments = " -nologo -sort -products * -requires $Component -property $Property" + if ($Latest) { + # -latest: return only the newest version and last installed + $vsWhereProcessInfo.Arguments += ' -latest' + } + + $vsWhereProcess = New-Object System.Diagnostics.Process + $vsWhereProcess.StartInfo = $vsWhereProcessInfo + + $vsWhereProcess.Start() | Out-Null + $vsWhereProcess.WaitForExit() + + $standardOutput = $vsWhereProcess.StandardOutput.ReadToEnd() + if ([string]::IsNullOrEmpty($standardOutput)) { + throw "vswhere could not find property '$Property'" + } + + $exitCode = $vsWhereProcess.ExitCode + if ($exitCode -ne 0) { + $standardError = $vsWhereProcess.StandardError.ReadToEnd() + throw "vswhere failed with exit code $exitCode ($standardError)" + } + + return $standardOutput.Split([Environment]::NewLine, [StringSplitOptions]::RemoveEmptyEntries) | Select-Object -Last 1 +} + +function GetVsInstallationPath { + Param ( + [switch]$Latest + ) + + return GetVsProperty -Property 'installationPath' @PSBoundParameters } function EnterVSDevShell { @@ -312,13 +351,11 @@ function EnterVSDevShell { [string]$Arch = "amd64" ) - $vsWere = "C:\Program Files (x86)\Microsoft Visual Studio\Installer\vswhere.exe" - $vcComponent = "Microsoft.VisualStudio.Component.VC.CoreIde" # We pick the oldest build tools we can find and use that to be compatible with it and any newer version: # If MSVC has an ABI break this will stop working, and yet another build must be added. - $VSPath = (& $vsWere -nologo -products * -requires $vcComponent -sort -format value -property installationPath | Select-Object -Last 1) + $VSPath = GetVsInstallationPath - Write-Host "Enter VisualStudio developer shell (-host_arch=$HostArch -arch=$Arch)" + Write-Host "Enter VisualStudio developer shell (-host_arch=$HostArch -arch=$Arch -VsInstallPath='$VSPath')" try { Import-Module "$VSPath\Common7\Tools\Microsoft.VisualStudio.DevShell.dll" Enter-VsDevShell -VsInstallPath $VSPath -DevCmdArguments "-host_arch=$HostArch -arch=$Arch -no_logo" diff --git a/coin/provisioning/common/windows/install-dependencywalker.ps1 b/coin/provisioning/common/windows/install-dependencywalker.ps1 index abaa4d79..3d541f4f 100644 --- a/coin/provisioning/common/windows/install-dependencywalker.ps1 +++ b/coin/provisioning/common/windows/install-dependencywalker.ps1 @@ -6,12 +6,28 @@ # This script will install Dependency Walker 2.2.6000 $version = "2.2.6000" -if (Is64BitWinHost) { - $arch = "_x64" - $sha1 = "4831D2A8376D64110FF9CD18799FE6C69509D3EA" -} else { - $arch = "_x86" - $sha1 = "bfec714057e8449b0246051be99ba46a7760bab9" +$cpu_arch = Get-CpuArchitecture +switch ($cpu_arch) { + x64 { + $arch = "_x64" + $sha1 = "4831D2A8376D64110FF9CD18799FE6C69509D3EA" + $nuitka_arch = "x86_64" + } + arm64 { + # There is no ARM64 version of Dependency Walker + # just use the x64 version + $arch = "_x64" + $sha1 = "4831D2A8376D64110FF9CD18799FE6C69509D3EA" + $nuitka_arch = "arm64" + } + x86 { + $arch = "_x86" + $sha1 = "bfec714057e8449b0246051be99ba46a7760bab9" + $nuitka_arch = "x86" + } + default { + throw "Unknown architecture $cpu_arch" + } } $url_cache = "\\ci-files01-hki.ci.qt.io\provisioning\windows\depends22" + $arch + ".zip" $url_official = "http://www.dependencywalker.com/depends22" + $arch + ".zip" @@ -28,7 +44,7 @@ Extract-7Zip $dependsPackage $TARGETDIR # Copy the content also into the cache location of nuitka # This makes it usable without the need to download it again -Copy-Item -Path $TARGETDIR -Destination "$env:LOCALAPPDATA\Nuitka\Nuitka\Cache\downloads\depends\x86_64" -Recurse +Copy-Item -Path $TARGETDIR -Destination "$env:LOCALAPPDATA\Nuitka\Nuitka\Cache\downloads\depends\$nuitka_arch" -Recurse Write-Host "Cleaning $dependsPackage.." Remove "$dependsPackage" diff --git a/coin/provisioning/common/windows/install-ffmpeg.ps1 b/coin/provisioning/common/windows/install-ffmpeg.ps1 index b806f58d..bca82822 100644 --- a/coin/provisioning/common/windows/install-ffmpeg.ps1 +++ b/coin/provisioning/common/windows/install-ffmpeg.ps1 @@ -22,12 +22,16 @@ Verify-Checksum $download_location $sha1 Extract-7Zip $download_location $unzip_location Remove $download_location -$config = Get-Content "$PSScriptRoot\..\shared\ffmpeg_config_options.txt" -Write-Host "FFmpeg configuration $config" +function GetFfmpegDefaultConfiguration { + $defaultConfiguration = Get-Content "$PSScriptRoot\..\shared\ffmpeg_config_options.txt" + Write-Host "FFmpeg default configuration: $defaultConfiguration" + return $defaultConfiguration +} function InstallFfmpeg { Param ( + [string]$config, [string]$buildSystem, [string]$msystem, [string]$additionalPath, @@ -36,19 +40,25 @@ function InstallFfmpeg { [bool]$shared ) - Write-Host "Configure and compile ffmpeg for $buildSystem" + Write-Host "Configure and compile FFmpeg for $buildSystem with configuration: $config" $oldPath = $env:PATH - if ($additionalPath) { $env:PATH = "$additionalPath;$env:PATH" } + if ($additionalPath) { + $env:PATH = "$additionalPath;$env:PATH" + } $env:MSYS2_PATH_TYPE = "inherit" $env:MSYSTEM = $msystem $cmd = "cd /c/$ffmpeg_name" $cmd += " && mkdir -p build/$buildSystem && cd build/$buildSystem" $cmd += " && ../../configure --prefix=installed $config" - if ($toolchain) { $cmd += " --toolchain=$toolchain" } - if ($shared) { $cmd += " --enable-shared --disable-static" } + if ($toolchain) { + $cmd += " --toolchain=$toolchain" + } + if ($shared) { + $cmd += " --enable-shared --disable-static" + } $cmd += " && make install -j" Write-Host "MSYS cmd:" @@ -58,7 +68,7 @@ function InstallFfmpeg { $env:PATH = $oldPath if ($buildResult.ExitCode) { - Write-Host "Failed to build ffmpeg for $buildSystem" + Write-Host "Failed to build FFmpeg for $buildSystem" return $false } @@ -67,8 +77,9 @@ function InstallFfmpeg { } function InstallMingwFfmpeg { + $config = GetFfmpegDefaultConfiguration $mingwPath = [System.Environment]::GetEnvironmentVariable("MINGW_PATH", [System.EnvironmentVariableTarget]::Machine) - return InstallFfmpeg -buildSystem "mingw" -msystem "MINGW" -additionalPath "$mingwPath\bin" -ffmpegDirEnvVar "FFMPEG_DIR_MINGW" -shared $true + return InstallFfmpeg -config $config -buildSystem "mingw" -msystem "MINGW" -additionalPath "$mingwPath\bin" -ffmpegDirEnvVar "FFMPEG_DIR_MINGW" -shared $true } @@ -81,7 +92,7 @@ function InstallMsvcFfmpeg { $buildSystem = "msvc" $ffmpegDirEnvVar = "FFMPEG_DIR_MSVC" - $config = Get-Content "$PSScriptRoot\..\shared\ffmpeg_config_options.txt" + $config = GetFfmpegDefaultConfiguration if ($isArm64) { $arch = "arm64" @@ -95,7 +106,7 @@ function InstallMsvcFfmpeg { return $false } - $result = InstallFfmpeg -buildSystem $buildSystem -msystem "MSYS" -toolchain "msvc" -ffmpegDirEnvVar $ffmpegDirEnvVar -shared $true + $result = InstallFfmpeg -config $config -buildSystem $buildSystem -msystem "MSYS" -toolchain "msvc" -ffmpegDirEnvVar $ffmpegDirEnvVar -shared $true if ($result) { # As ffmpeg build system creates lib*.a file we have to rename them to *.lib files to be recognized by WIN32 @@ -118,11 +129,12 @@ function InstallMsvcFfmpeg { function InstallLlvmMingwFfmpeg { - return InstallFfmpeg -buildSystem "llvm-mingw" -msystem "CLANG64" -ffmpegDirEnvVar "FFMPEG_DIR_LLVM_MINGW" -additionalPath "C:\llvm-mingw\bin" -shared $true + $config = GetFfmpegDefaultConfiguration + return InstallFfmpeg -config $config -buildSystem "llvm-mingw" -msystem "CLANG64" -ffmpegDirEnvVar "FFMPEG_DIR_LLVM_MINGW" -additionalPath "C:\llvm-mingw\bin" -shared $true } function InstallAndroidArmv7 { - + $shared=$true $target_toolchain_arch="armv7a-linux-androideabi" $target_arch="armv7-a" $target_cpu="armv7-a" @@ -144,14 +156,49 @@ function InstallAndroidArmv7 { $openssl_path = [System.Environment]::GetEnvironmentVariable("OPENSSL_ANDROID_HOME_DEFAULT", [System.EnvironmentVariableTarget]::Machine) $openssl_path = $openssl_path.Replace("\", "/") - $config = Get-Content "$PSScriptRoot\..\shared\ffmpeg_config_options.txt" + 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" $config += " --arch=$target_arch --cpu=${target_cpu} --sysroot=${sysroot} --sysinclude=${sysroot}/usr/include/" $config += " --cc=${cc} --cxx=${cxx} --ar=${ar} --ranlib=${ranlib}" $config += " --extra-cflags=-I$envOPENSSL_ANDROID_HOME_DEFAULT/include --extra-ldflags=-L$env:OPENSSL_ANDROID_HOME_DEFAULT/armeabi-v7a" $config += " --extra-cflags=-I${openssl_path}/include --extra-ldflags=-L${openssl_path}/armeabi-v7a" + $config += " --strip=$strip" + + + $result= InstallFfmpeg -config $config -buildSystem "android-arm" -msystem "ANDROID_CLANG" -ffmpegDirEnvVar "FFMPEG_DIR_ANDROID_ARMV7" -shared $shared + + Remove-Item -Path ${openssl_path}/armeabi-v7a/libcrypto.so + Remove-Item -Path ${openssl_path}/armeabi-v7a/libssl.so - return InstallFfmpeg -buildSystem "android-arm" -msystem "ANDROID_CLANG" -ffmpegDirEnvVar "FFMPEG_DIR_ANDROID_ARMV7" + if (-not $shared) { + return $result + } + + # For Shared ffmpeg we need to change dependencies to stubs + Start-Process -NoNewWindow -Wait -PassThru -ErrorAction Stop -FilePath $msys -ArgumentList ("-lc", "`"pacman -Sy --noconfirm binutils`"") + Start-Process -NoNewWindow -Wait -PassThru -ErrorAction Stop -FilePath $msys -ArgumentList ("-lc", "`"pacman -Sy --noconfirm autoconf`"") + Start-Process -NoNewWindow -Wait -PassThru -ErrorAction Stop -FilePath $msys -ArgumentList ("-lc", "`"pacman -Sy --noconfirm automake`"") + Start-Process -NoNewWindow -Wait -PassThru -ErrorAction Stop -FilePath $msys -ArgumentList ("-lc", "`"pacman -Sy --noconfirm libtool`"") + + $patchelf_sha1 = "7EB974172DE73B7B452EE376237AD78601603C45" + $patchelf_sources = "https://ci-files01-hki.intra.qt.io/input/android/patchelf/0.18.0.tar.gz" + $patchelf_download_location = "C:\Windows\Temp\0.18.0.tar.gz" + + Invoke-WebRequest -UseBasicParsing $patchelf_sources -OutFile $patchelf_download_location + Verify-Checksum $patchelf_download_location $patchelf_sha1 + Extract-tar_gz $patchelf_download_location $unzip_location + Remove $patchelf_download_location + + Start-Process -NoNewWindow -Wait -PassThru -ErrorAction Stop -FilePath $msys -ArgumentList ("-lc", "`"cd C:/patchelf-0.18.0 && ./bootstrap.sh && ./configure && make install`"") + + $command = "${PSScriptRoot}/../shared/fix_ffmpeg_dependencies.sh C:/${ffmpeg_name}/build/android-arm/installed/ _armeabi-v7a no" + $command = $command.Replace("\", "/") + Start-Process -NoNewWindow -Wait -PassThru -ErrorAction Stop -FilePath $msys -ArgumentList ("-lc", "`"$command`"") + + return $result } $mingwRes = InstallMingwFfmpeg diff --git a/coin/provisioning/common/windows/install-notepad++.ps1 b/coin/provisioning/common/windows/install-notepad++.ps1 index f0648d41..17e86d27 100644 --- a/coin/provisioning/common/windows/install-notepad++.ps1 +++ b/coin/provisioning/common/windows/install-notepad++.ps1 @@ -5,16 +5,33 @@ # This script will install Notepad++ -$version = "7.3" -if (Is64BitWinHost) { - $arch = ".x64" - $sha1 = "E7306DF1D6E81801FB4BE0868610DB70E979B0AA" -} else { - $arch = "" - $sha1 = "d4c403675a21cc381f640b92e596bae3ef958dc6" +$version = "8.6.5" + +$cpu_arch = Get-CpuArchitecture +switch ($cpu_arch) { + arm64 { + $arch = ".arm64" + $sha1 = "eecb8a6b6ed3cb1e467d227b8b7751283c35434e" + Break + } + x64 { + $arch = ".x64" + $sha1 = "a0bf3fb15015bc1fbcb819d9a9c61f4762f4a10f" + Break + } + x86 { + $arch = "" + $sha1 = "ba940c6b526da1ce127f43b835b4d8c9d5c4b59c" + Break + } + default { + throw "Unknown architecture $cpu_arch" + } } -$url_cache = "\\ci-files01-hki.ci.qt.io\provisioning\windows\npp." + $version + ".Installer" + $arch + ".exe" -$url_official = "https://notepad-plus-plus.org/repository/7.x/" + $version + "/npp." + $version + ".Installer" + $arch + ".exe" + +$filename_exe = "npp." + $version + ".Installer" + $arch + ".exe" +$url_cache = "https://ci-files01-hki.ci.qt.io/input/windows/" + $filename_exe +$url_official = "https://github.com/notepad-plus-plus/notepad-plus-plus/releases/download/v" + $version + "/" + $filename_exe $nppPackage = "C:\Windows\Temp\npp-$version.exe" Download $url_official $url_cache $nppPackage diff --git a/coin/provisioning/common/windows/install-openssh.ps1 b/coin/provisioning/common/windows/install-openssh.ps1 index d31270e0..1f746b14 100644 --- a/coin/provisioning/common/windows/install-openssh.ps1 +++ b/coin/provisioning/common/windows/install-openssh.ps1 @@ -7,19 +7,31 @@ $version = "v9.2.2.0p1-Beta" $temp = "$env:tmp" -if (Is64BitWinHost) { - $zipPackage = "OpenSSH-Win64" - $url_cache = "http://ci-files01-hki.ci.qt.io/input/windows/" + $zipPackage + ".zip" - $url_official = "https://github.com/PowerShell/Win32-OpenSSH/releases/download/" + $version + "/" + $zipPackage - $sha1 = "D3EA57408C0D3CF83167DF39639FED5397358B79" -} else { - $zipPackage = "OpenSSH-Win32" - $url_cache = "http://ci-files01-hki.ci.qt.io/input/windows/openssh/" + $version + "/" + $zipPackage + ".zip" - $url_official = "https://github.com/PowerShell/Win32-OpenSSH/releases/download/" + $version + "/" + $zipPackage - $sha1 = "4642C62F72C108C411E27CE282A863791B63329B" +$cpu_arch = Get-CpuArchitecture +switch ($cpu_arch) { + arm64 { + $zipPackage = "OpenSSH-ARM64" + $sha1 = "ca3e8f44a550b7ae71c8e122acd4ed905d66feb0" + Break + } + x64 { + $zipPackage = "OpenSSH-Win64" + $sha1 = "1397d40d789ae0911b3cc818b9dcd9321fed529b" + Break + } + x86 { + $zipPackage = "OpenSSH-Win32" + $sha1 = "4642C62F72C108C411E27CE282A863791B63329B" + Break + } + default { + throw "Unknown architecture $cpu_arch" + } } Write-Host "Fetching $zipPackage $version..." +$url_cache = "http://ci-files01-hki.ci.qt.io/input/windows/openssh/" + $version + "/" + $zipPackage + ".zip" +$url_official = "https://github.com/PowerShell/Win32-OpenSSH/releases/download/" + $version + "/" + $zipPackage + ".zip" Download $url_official $url_cache "$temp\$zipPackage" Verify-Checksum "$temp\$zipPackage" $sha1 diff --git a/coin/provisioning/common/windows/install-sevenzip.ps1 b/coin/provisioning/common/windows/install-sevenzip.ps1 index a0d44390..47a34e2b 100644 --- a/coin/provisioning/common/windows/install-sevenzip.ps1 +++ b/coin/provisioning/common/windows/install-sevenzip.ps1 @@ -8,12 +8,26 @@ $version = "23.01" $nonDottedVersion = "2301" -if (Is64BitWinHost) { - $arch = "-x64" - $sha1 = "7DF28D340D7084647921CC25A8C2068BB192BDBB" -} else { - $arch = "" - $sha1 = "D5D00E6EA8B8E68CE7A704FD478DC950E543C25C" +$cpu_arch = Get-CpuArchitecture +switch ($cpu_arch) { + arm64 { + $arch = "-arm64" + $sha1 = "be65c2ea6119c04945c66b13413892f2bb03d9a7" + Break + } + x64 { + $arch = "-x64" + $sha1 = "7DF28D340D7084647921CC25A8C2068BB192BDBB" + Break + } + x86 { + $arch = "" + $sha1 = "D5D00E6EA8B8E68CE7A704FD478DC950E543C25C" + Break + } + default { + throw "Unknown architecture $cpu_arch" + } } $url_cache = "https://ci-files01-hki.ci.qt.io/input/windows/7z" + $nonDottedVersion + $arch + ".exe" diff --git a/coin/provisioning/common/windows/install_telegraf.ps1 b/coin/provisioning/common/windows/install_telegraf.ps1 index d7d339ed..3090a25e 100644 --- a/coin/provisioning/common/windows/install_telegraf.ps1 +++ b/coin/provisioning/common/windows/install_telegraf.ps1 @@ -7,28 +7,53 @@ # Install a specific version of Telegraf # https://github.com/influxdata/telegraf/releases -$version = "1.12.6" - -if (Is64BitWinHost) { - $arch = "amd64" - $sha256 = "5d025d85070e8c180c443580afa8a27421a7bbcf14b5044894e9f3298d0ce97a" -} else { - $arch = "i386" - $sha256 = "5178a0bdaab448c2ef965b0e36f835849cea731ccd87c4a4527f0f05fbbdf271" +$version = "1.12.6" # TODO: ARM is not supported in this version +$has_telegraf_ver = $false + +$cpu_arch = Get-CpuArchitecture +switch ($cpu_arch) { + arm64 { + $arch = "arm64" + $sha256 = "5925642aad9a35886b172050203287cf33078313f543021781885ed94d9cbcff" + $version = "1.29.4" # TODO: ARM needs this, update this to all + $has_telegraf_ver = $true + Break + } + x64 { + $arch = "amd64" + $sha256 = "5d025d85070e8c180c443580afa8a27421a7bbcf14b5044894e9f3298d0ce97a" + Break + } + x86 { + $arch = "i386" + $sha256 = "5178a0bdaab448c2ef965b0e36f835849cea731ccd87c4a4527f0f05fbbdf271" + Break + } + default { + throw "Unknown architecture $cpu_arch" + } } -$filename = "telegraf-" + $version + "_windows_" + $arch + ".zip" +$telegraf_ver = "telegraf-" + $version +$filename_zip = $telegraf_ver + "_windows_" + $arch + ".zip" -$url_cache = "http://ci-files01-hki.ci.qt.io/input/telegraf/" + $filename -$url_official = "https://dl.influxdata.com/telegraf/releases/" + $filename -$tempfile = "C:\Windows\Temp\" + $filename +$url_cache = "http://ci-files01-hki.ci.qt.io/input/telegraf/" + $filename_zip +$url_official = "https://dl.influxdata.com/telegraf/releases/" + $filename_zip +$tempfile = "C:\Windows\Temp\" + $filename_zip Write-Host "Fetching Telegraf $version..." Download $url_official $url_cache $tempfile Verify-Checksum $tempfile $sha256 sha256 Write-Host "Installing telegraf.exe under C:\Utils\telegraf" -Extract-7Zip $tempfile C:\Utils "telegraf" + +if ($has_telegraf_ver -eq $true) { + Extract-7Zip $tempfile C:\Utils + Rename-Item "C:\Utils\$telegraf_ver" "C:\Utils\telegraf" +} else { + Extract-7Zip $tempfile C:\Utils "telegraf" +} + Copy-Item "$PSScriptRoot\..\..\common\windows\telegraf-coin.conf" C:\telegraf-coin.conf . "$PSScriptRoot\telegraf_password.ps1" diff --git a/coin/provisioning/common/windows/mimersql.ps1 b/coin/provisioning/common/windows/mimersql.ps1 index b5e041d0..d7535c81 100644 --- a/coin/provisioning/common/windows/mimersql.ps1 +++ b/coin/provisioning/common/windows/mimersql.ps1 @@ -16,7 +16,7 @@ $mimer_dir="c:\MimerSQL" Download $url_official $url_cache $mimersqlPackage Verify-Checksum $mimersqlPackage $sha1 -Run-Executable "$mimersqlPackage" "/install InstallFolder=$mimer_dir /passive" +Run-Executable "$mimersqlPackage" "/install InstallFolder=$mimer_dir /passive ExcludeDbVisualizer=1 ExcludeJava=1 ExcludeServer=1 ExcludeDocumentation=1 ExcludeReplication=1" Set-EnvironmentVariable "MIMERSQL_DEV_ROOT" "$mimer_dir\dev" diff --git a/coin/provisioning/common/windows/ninja.ps1 b/coin/provisioning/common/windows/ninja.ps1 index d5557d82..956e7835 100644 --- a/coin/provisioning/common/windows/ninja.ps1 +++ b/coin/provisioning/common/windows/ninja.ps1 @@ -1,17 +1,43 @@ . "$PSScriptRoot\helpers.ps1" -$zip = Get-DownloadLocation "ninja-1.10.2-win-x86.zip" - -Download http://master.qt.io/development_releases/prebuilt/ninja/v1.10.2/ninja-win-x86.zip \\ci-files01-hki.ci.qt.io\provisioning\ninja\ninja-1.10.2-win-really-x86.zip $zip -Verify-Checksum $zip "1a22ee9269df8ed69c4600d7ee4ccd8841bb99ca" +$cpu_arch = Get-CpuArchitecture +switch ($cpu_arch) { + arm64 { + $arch = "arm64" + $version = "1.12.0" + $longPathFixed = $true # fixed https://github.com/ninja-build/ninja/pull/2225 in 1.12.0 + $zip = Get-DownloadLocation "ninja-$version-win-$arch.zip" + $internalUrl = "https://ci-files01-hki.ci.qt.io/input/ninja/v$version/ninja-win$arch.zip" + $externalUrl = "https://github.com/ninja-build/ninja/releases/download/v$version/ninja-win$arch.zip" + $sha1 = "51bf1bac149ae1e3d1572fa9fa87d6431dbddc8b" + Break + } + x64 { + $arch = "amd64" + $version = "1.10.2" + $longPathFixed = $false + $zip = Get-DownloadLocation "ninja-$version-win-x86.zip" + # TODO: Fix this QTQAINFRA-6296 + $internalUrl = "http://master.qt.io/development_releases/prebuilt/ninja/v$version/ninja-win-x86.zip" + $externalUrl = "\\ci-files01-hki.ci.qt.io\provisioning\ninja\ninja-$version-win-really-x86.zip" + $sha1 = "1a22ee9269df8ed69c4600d7ee4ccd8841bb99ca" + Break + } + default { + throw "Unknown architecture $cpu_arch" + } +} +Download $internalUrl $externalUrl $zip +Verify-Checksum $zip $sha1 Extract-7Zip $zip C:\Utils\Ninja Remove "$zip" Add-Path "C:\Utils\Ninja" -Write-Output "Ninja = 1.10.2" >> ~/versions.txt +Write-Output "Ninja ($arch) = $version" >> ~/versions.txt +if ( -Not $longPathFixed ) { $manifest = @" <?xml version="1.0" encoding="UTF-8" standalone="yes"?> @@ -33,3 +59,5 @@ Invoke-MtCommand "C:\Program Files (x86)\Microsoft Visual Studio\2019\Profession } else { Invoke-MtCommand "C:\Program Files (x86)\Microsoft Visual Studio\2022\Professional\VC\Auxiliary\Build\vcvarsall.bat" amd64 $manifest "C:\Utils\Ninja\ninja.exe" } + +} diff --git a/coin/provisioning/common/windows/nodejs.ps1 b/coin/provisioning/common/windows/nodejs.ps1 index 5e9b8a0c..3dc6ffe5 100644 --- a/coin/provisioning/common/windows/nodejs.ps1 +++ b/coin/provisioning/common/windows/nodejs.ps1 @@ -7,12 +7,27 @@ # Needed by QtWebengine $version = "20.7.0" -if (Is64BitWinHost) { - $arch = "x64" - $sha256 = "b3e5cbf8e247c75f9ddd235d49cfe40f25dde65bdd0eec4cefbca2805d80376b" -} else { - $arch = "x86" - $sha256 = "d6a3c63a5ae71374c144a33c418ab96be497b08df0e9f51861a78127db03aeb5" +$cpu_arch = Get-CpuArchitecture +switch ($cpu_arch) { + arm64 { + $arch = "arm64" + $sha256 = "ab4b990c2c1d4a55d565813e7a2f71669dc4d1005faa47185d30bde4416975ab" + $version = "20.12.2" # TODO: ARM starts with newer, LTS + Break + } + x64 { + $arch = "x64" + $sha256 = "b3e5cbf8e247c75f9ddd235d49cfe40f25dde65bdd0eec4cefbca2805d80376b" + Break + } + x86 { + $arch = "x86" + $sha256 = "d6a3c63a5ae71374c144a33c418ab96be497b08df0e9f51861a78127db03aeb5" + Break + } + default { + throw "Unknown architecture $cpu_arch" + } } $package = "C:\Windows\temp\nodejs-$version.7z" diff --git a/coin/provisioning/common/windows/openssl-arm64.ps1 b/coin/provisioning/common/windows/openssl-arm64.ps1 index 2a3de12d..16627039 100644 --- a/coin/provisioning/common/windows/openssl-arm64.ps1 +++ b/coin/provisioning/common/windows/openssl-arm64.ps1 @@ -35,10 +35,29 @@ Verify-Checksum $zip_package $sha1 Extract-7Zip $zip_package C:\ Remove $zip_package -Set-EnvironmentVariable "OPENSSL_ROOT_DIR_x64_arm64" "$installFolder" -Set-EnvironmentVariable "OPENSSL_CONF_x64_arm64" "$installFolder\bin\openssl.cfg" -Set-EnvironmentVariable "OPENSSL_INCLUDE_x64_arm64" "$installFolder\include" -Set-EnvironmentVariable "OPENSSL_LIB_x64_arm64" "$installFolder\lib" +$cpu_arch = Get-CpuArchitecture +switch ($cpu_arch) { + arm64 { + # For native arm64 + Set-EnvironmentVariable "OPENSSL_ROOT_DIR_arm64" "$installFolder" + Set-EnvironmentVariable "OPENSSL_CONF_arm64" "$installFolder\bin\openssl.cfg" + Set-EnvironmentVariable "OPENSSL_INCLUDE_arm64" "$installFolder\include" + Set-EnvironmentVariable "OPENSSL_LIB_arm64" "$installFolder\lib" + Break + } + x64 { + # For cross-compiling x64_arm64 + Set-EnvironmentVariable "OPENSSL_ROOT_DIR_x64_arm64" "$installFolder" + Set-EnvironmentVariable "OPENSSL_CONF_x64_arm64" "$installFolder\bin\openssl.cfg" + Set-EnvironmentVariable "OPENSSL_INCLUDE_x64_arm64" "$installFolder\include" + Set-EnvironmentVariable "OPENSSL_LIB_x64_arm64" "$installFolder\lib" + } + default { + throw "Unknown architecture $cpu_arch" + } +} + +Prepend-Path "$installFolder\bin" # Store version information to ~/versions.txt, which is used to print version information to provision log. Write-Output "OpenSSL ARM= $version" >> ~/versions.txt diff --git a/coin/provisioning/common/windows/python.ps1 b/coin/provisioning/common/windows/python.ps1 deleted file mode 100644 index d403a834..00000000 --- a/coin/provisioning/common/windows/python.ps1 +++ /dev/null @@ -1,87 +0,0 @@ -# Copyright (C) 2020 The Qt Company Ltd. -# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only - -# This script installs Python $version. -# Python is required for building Qt 5 from source. -param( - [Int32]$archVer=32, - [string]$targetDir="C:\Python27" -) -. "$PSScriptRoot\helpers.ps1" - -$version = "2.7.13" -if ( $archVer -eq 64 ) { - $arch = ".amd64" - $sha1 = "d9113142bae8829365c595735e1ad1f9f5e2894c" -} else { - $arch = "" - $sha1 = "7e3b54236dbdbea8fe2458db501176578a4d59c0" -} -$package = "C:\Windows\temp\python-$version.msi" -$externalUrl = "https://www.python.org/ftp/python/$version/python-$version" + $arch + ".msi" -$internalUrl = "\\ci-files01-hki.ci.qt.io\provisioning\windows\python-$version" + $arch + ".msi" - -Write-Host "Fetching from URL..." -Download $externalUrl $internalUrl $package -Verify-Checksum $package $sha1 - -# Python installation is flaky, but seems to pass with second run if error occurs. -$stop = $false -[int]$retry = "0" -do { - try { - # /levx = e:'All error messages' v:'Verbose' x:'Extra debugging info' - Run-Executable "msiexec" "/passive /i $package /levx C:\Windows\Temp\Python_log.log TARGETDIR=$targetDir ALLUSERS=1" - $stop = $true - } - catch { - Get-Content C:\Windows\Temp\Python_log.log -Tail 50 - if ($retry -gt 2) { - Write-Host "Python installation failed!" - throw - } - else { - Write-Host "Couldn't install python, retrying in 30 seconds" - Start-Sleep -s 30 - $retry = $retry + 1 - } - } -} -while ($stop -ne $true) - -# We need to change allowZip64 from 'False' to 'True' to be able to create ZIP files that use the ZIP64 extensions when the zipfile is larger than 2 GB -Write-Host "Changing allowZip64 value to 'True'..." -(Get-Content $targetDir\lib\zipfile.py) | ForEach-Object { $_ -replace "allowZip64=False", "allowZip64=True" } | Set-Content $targetDir\lib\zipfile.py -Remove "$package" - -# When installing 32 bit python to 64 bit host, we want to keep only default python in path -# For cross-compilation we export some helper env variable -if (($archVer -eq 32) -And (Is64BitWinHost)) { - Set-EnvironmentVariable "PYTHON2_32_PATH" "$targetDir" - Set-EnvironmentVariable "PIP2_32_PATH" "$targetDir\Scripts" -} else { - Add-Path "$targetDir;$targetDir\Scripts" -} - - -Run-Executable "$targetDir\python.exe" "-m ensurepip" - -Write-Host "Upgrade pip to the latest version available." -Run-Executable "$targetDir\python.exe" "-m pip install --upgrade pip" - -Write-Host "Configure pip" -Run-Executable "$targetDir\python.exe" "-m pip config --user set global.index https://ci-files01-hki.ci.qt.io/input/python_module_cache" -Run-Executable "$targetDir\python.exe" "-m pip config --user set global.extra-index-url https://pypi.org/simple/" - -# Install python virtual env -if (IsProxyEnabled) { - $proxy = Get-Proxy - Write-Host "Using proxy ($proxy) with pip" - $pip_args = "--proxy=$proxy" -} -Run-Executable "$targetDir\Scripts\pip.exe" "$pip_args install virtualenv" - -# Install PyPDF2 for QSR documentation -Run-Executable "$targetDir\Scripts\pip.exe" "$pip_args install PyPDF2" - -Write-Output "Python-$archVer = $version" >> ~/versions.txt diff --git a/coin/provisioning/common/windows/python3.ps1 b/coin/provisioning/common/windows/python3.ps1 index a714da16..46f75d7c 100644 --- a/coin/provisioning/common/windows/python3.ps1 +++ b/coin/provisioning/common/windows/python3.ps1 @@ -16,13 +16,26 @@ param( $package = "C:\Windows\temp\python-$version.exe" # check bit version -if ( $archVer -eq 64 ) { - Write-Host "Installing 64 bit Python" - $externalUrl = "https://www.python.org/ftp/python/$version/python-$version-amd64.exe" - $internalUrl = "http://ci-files01-hki.ci.qt.io/input/windows/python-$version-amd64.exe" -} else { - $externalUrl = "https://www.python.org/ftp/python/$version/python-$version.exe" - $internalUrl = "http://ci-files01-hki.ci.qt.io/input/windows/python-$version.exe" +$cpu_arch = Get-CpuArchitecture +Write-Host "Installing $cpu_arch Python" +switch ($cpu_arch) { + arm64 { + $externalUrl = "https://www.python.org/ftp/python/$version/python-$version-arm64.exe" + $internalUrl = "http://ci-files01-hki.ci.qt.io/input/windows/python-$version-arm64.exe" + Break + } + x64 { + if ($archVer -eq "64") { + $externalUrl = "https://www.python.org/ftp/python/$version/python-$version-amd64.exe" + $internalUrl = "http://ci-files01-hki.ci.qt.io/input/windows/python-$version-amd64.exe" + } else { + $externalUrl = "https://www.python.org/ftp/python/$version/python-$version.exe" + $internalUrl = "http://ci-files01-hki.ci.qt.io/input/windows/python-$version.exe" + } + } + default { + throw "Unknown architecture $cpu_arch" + } } Write-Host "Fetching from URL..." diff --git a/coin/provisioning/common/windows/qnx710.ps1 b/coin/provisioning/common/windows/qnx710.ps1 index 3c8f2257..c720619c 100644 --- a/coin/provisioning/common/windows/qnx710.ps1 +++ b/coin/provisioning/common/windows/qnx710.ps1 @@ -28,10 +28,10 @@ $folderName = "qnx710" $targetPath = "$targetFolder$folderName" # QNX SDP -$cachedUrl = "\\ci-files01-hki.ci.qt.io\provisioning\qnx\qnx710-windows-linux-20220405.tar.xz" -$sourceFile = "http://ci-files01-hki.ci.qt.io/input/qnx/qnx710-windows-linux-20220405.tar.xz" +$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" $targetFile = "qnx710.tar.xz" -$sha1 = "134af2e0f75d7b7c516f824fafee265b89e51d48" +$sha1 = "cd2d35004fb2798089e29d9e1226691426632da0" DownloadAndExtract $sourceFile $sha1 $targetFile $targetFolder $cachedUrl Copy-Item $aarch64le_toolchain $targetPath diff --git a/coin/provisioning/qtci-linux-Debian-11.6-aarch64/02-apt.sh b/coin/provisioning/qtci-linux-Debian-11.6-aarch64/02-apt.sh index b7919fe1..2ce4aef9 100755 --- a/coin/provisioning/qtci-linux-Debian-11.6-aarch64/02-apt.sh +++ b/coin/provisioning/qtci-linux-Debian-11.6-aarch64/02-apt.sh @@ -78,6 +78,12 @@ installPackages+=(libasound2-dev) installPackages+=(libgstreamer1.0-dev) installPackages+=(libgstreamer-plugins-base1.0-dev) installPackages+=(libgstreamer-plugins-bad1.0-dev) +installPackages+=(gstreamer1.0-libav) +installPackages+=(gstreamer1.0-plugins-base) +installPackages+=(gstreamer1.0-plugins-good) +installPackages+=(gstreamer1.0-plugins-bad) +installPackages+=(gstreamer1.0-plugins-rtp) +installPackages+=(gstreamer1.0-plugins-ugly) installPackages+=(libgstreamer-gl1.0-0) installPackages+=(gir1.2-gst-plugins-base-1.0) installPackages+=(gir1.2-gst-plugins-bad-1.0) diff --git a/coin/provisioning/qtci-linux-RHEL-8.2-x86_64/05-install-patchelf.sh b/coin/provisioning/qtci-linux-RHEL-8.2-x86_64/05-install-patchelf.sh new file mode 100755 index 00000000..14813160 --- /dev/null +++ b/coin/provisioning/qtci-linux-RHEL-8.2-x86_64/05-install-patchelf.sh @@ -0,0 +1,5 @@ +#!/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 + +source "${BASH_SOURCE%/*}/../common/linux/install-patchelf.sh" diff --git a/coin/provisioning/qtci-linux-RHEL-8.4-x86_64/05-install-patchelf.sh b/coin/provisioning/qtci-linux-RHEL-8.4-x86_64/05-install-patchelf.sh new file mode 100755 index 00000000..14813160 --- /dev/null +++ b/coin/provisioning/qtci-linux-RHEL-8.4-x86_64/05-install-patchelf.sh @@ -0,0 +1,5 @@ +#!/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 + +source "${BASH_SOURCE%/*}/../common/linux/install-patchelf.sh" diff --git a/coin/provisioning/qtci-linux-RHEL-8.6-x86_64/05-install-patchelf.sh b/coin/provisioning/qtci-linux-RHEL-8.6-x86_64/05-install-patchelf.sh new file mode 100755 index 00000000..14813160 --- /dev/null +++ b/coin/provisioning/qtci-linux-RHEL-8.6-x86_64/05-install-patchelf.sh @@ -0,0 +1,5 @@ +#!/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 + +source "${BASH_SOURCE%/*}/../common/linux/install-patchelf.sh" diff --git a/coin/provisioning/qtci-linux-RHEL-8.8-x86_64/04-install-packages.sh b/coin/provisioning/qtci-linux-RHEL-8.8-x86_64/04-install-packages.sh index b0eaebb0..d1d600da 100755 --- a/coin/provisioning/qtci-linux-RHEL-8.8-x86_64/04-install-packages.sh +++ b/coin/provisioning/qtci-linux-RHEL-8.8-x86_64/04-install-packages.sh @@ -87,7 +87,7 @@ installPackages+=(python3-html5lib) installPackages+=(libatomic) installPackages+=(mesa-libgbm-devel-21.3.4-1.el8.x86_64) # For Android builds -installPackages+=(java-11-openjdk-devel-11.0.19.0.7) +installPackages+=(java-17-openjdk-devel-17.0.9.0.9) # For receiving shasum installPackages+=(perl-Digest-SHA) # INTEGRITY requirements diff --git a/coin/provisioning/qtci-linux-RHEL-8.8-x86_64/05-install-patchelf.sh b/coin/provisioning/qtci-linux-RHEL-8.8-x86_64/05-install-patchelf.sh new file mode 100755 index 00000000..14813160 --- /dev/null +++ b/coin/provisioning/qtci-linux-RHEL-8.8-x86_64/05-install-patchelf.sh @@ -0,0 +1,5 @@ +#!/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 + +source "${BASH_SOURCE%/*}/../common/linux/install-patchelf.sh" diff --git a/coin/provisioning/qtci-linux-RHEL-8.8-x86_64/90-install-ffmpeg.sh b/coin/provisioning/qtci-linux-RHEL-8.8-x86_64/90-install-ffmpeg.sh index 06e28f34..18d46d7e 100755 --- a/coin/provisioning/qtci-linux-RHEL-8.8-x86_64/90-install-ffmpeg.sh +++ b/coin/provisioning/qtci-linux-RHEL-8.8-x86_64/90-install-ffmpeg.sh @@ -2,6 +2,7 @@ #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 -source "${BASH_SOURCE%/*}/../common/unix/install-ffmpeg.sh" "linux" +# TODO: investigate why the FFmpeg plugin can't find shared FFmpeg on rhel-8.8 +source "${BASH_SOURCE%/*}/../common/unix/install-ffmpeg.sh" "linux" "static" source "${BASH_SOURCE%/*}/../common/unix/install-ffmpeg-android.sh" "android-x86_64" source "${BASH_SOURCE%/*}/../common/unix/install-ffmpeg-android.sh" "android-x86" diff --git a/coin/provisioning/qtci-linux-RHEL-9.0-x86_64/04-install-packages.sh b/coin/provisioning/qtci-linux-RHEL-9.0-x86_64/04-install-packages.sh index c843bbd0..79c3476a 100755 --- a/coin/provisioning/qtci-linux-RHEL-9.0-x86_64/04-install-packages.sh +++ b/coin/provisioning/qtci-linux-RHEL-9.0-x86_64/04-install-packages.sh @@ -80,7 +80,7 @@ installPackages+=(python3-html5lib) installPackages+=(mesa-libgbm-devel-21.3.4-2.el9) installPackages+=(libstdc++-static) # For Android builds -installPackages+=(java-11-openjdk-devel-11.0.19.0.7) +installPackages+=(java-17-openjdk-devel-17.0.9.0.9) # For receiving shasum installPackages+=(perl-Digest-SHA) # INTEGRITY requirements diff --git a/coin/provisioning/qtci-linux-RHEL-9.0-x86_64/05-install-patchelf.sh b/coin/provisioning/qtci-linux-RHEL-9.0-x86_64/05-install-patchelf.sh new file mode 100755 index 00000000..14813160 --- /dev/null +++ b/coin/provisioning/qtci-linux-RHEL-9.0-x86_64/05-install-patchelf.sh @@ -0,0 +1,5 @@ +#!/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 + +source "${BASH_SOURCE%/*}/../common/linux/install-patchelf.sh" diff --git a/coin/provisioning/qtci-linux-RHEL-9.2-x86_64/02-install-xcb_util_cursor.sh b/coin/provisioning/qtci-linux-RHEL-9.2-x86_64/02-install-xcb_util_cursor.sh new file mode 100755 index 00000000..353297db --- /dev/null +++ b/coin/provisioning/qtci-linux-RHEL-9.2-x86_64/02-install-xcb_util_cursor.sh @@ -0,0 +1,10 @@ +#!/usr/bin/env bash +# Copyright (C) 2024 The Qt Company Ltd. +# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only + +set -ex + +# Install xcb-util-cursor* libraries before updating repos. In updated repos these libraries are no longer available. +# QTQAINFRA-6325 +sudo yum -y install xcb-util-cursor +sudo yum -y install xcb-util-cursor-devel diff --git a/coin/provisioning/qtci-linux-RHEL-9.2-x86_64/04-install-packages.sh b/coin/provisioning/qtci-linux-RHEL-9.2-x86_64/04-install-packages.sh index dda345ac..279d66a5 100755 --- a/coin/provisioning/qtci-linux-RHEL-9.2-x86_64/04-install-packages.sh +++ b/coin/provisioning/qtci-linux-RHEL-9.2-x86_64/04-install-packages.sh @@ -93,7 +93,7 @@ installPackages+=(python3-html5lib) installPackages+=(libstdc++-static) installPackages+=(mesa-libgbm-devel-21.3.4-2.el9.x86_64) # For Android builds -installPackages+=(java-11-openjdk-devel) +installPackages+=(java-17-openjdk-devel-17.0.9.0.9) # For receiving shasum installPackages+=(perl-Digest-SHA) # INTEGRITY requirements diff --git a/coin/provisioning/qtci-linux-RHEL-9.2-x86_64/05-install-patchelf.sh b/coin/provisioning/qtci-linux-RHEL-9.2-x86_64/05-install-patchelf.sh new file mode 100755 index 00000000..14813160 --- /dev/null +++ b/coin/provisioning/qtci-linux-RHEL-9.2-x86_64/05-install-patchelf.sh @@ -0,0 +1,5 @@ +#!/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 + +source "${BASH_SOURCE%/*}/../common/linux/install-patchelf.sh" diff --git a/coin/provisioning/qtci-linux-SLES-15_SP4-x86_64/90-install-ffmpeg.sh b/coin/provisioning/qtci-linux-SLES-15_SP4-x86_64/90-install-ffmpeg.sh index 61da9b7b..27ff04dc 100755 --- a/coin/provisioning/qtci-linux-SLES-15_SP4-x86_64/90-install-ffmpeg.sh +++ b/coin/provisioning/qtci-linux-SLES-15_SP4-x86_64/90-install-ffmpeg.sh @@ -1,3 +1,3 @@ #!/usr/bin/env bash -source "${BASH_SOURCE%/*}/../common/unix/install-ffmpeg.sh" "linux" +source "${BASH_SOURCE%/*}/../common/unix/install-ffmpeg.sh" "linux" "static" diff --git a/coin/provisioning/qtci-linux-SLES-15_SP5-x86_64/90-install-ffmpeg.sh b/coin/provisioning/qtci-linux-SLES-15_SP5-x86_64/90-install-ffmpeg.sh index 2a0d7258..cd65475b 100644 --- a/coin/provisioning/qtci-linux-SLES-15_SP5-x86_64/90-install-ffmpeg.sh +++ b/coin/provisioning/qtci-linux-SLES-15_SP5-x86_64/90-install-ffmpeg.sh @@ -2,4 +2,4 @@ # 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 -source "${BASH_SOURCE%/*}/../common/unix/install-ffmpeg.sh" "linux" +source "${BASH_SOURCE%/*}/../common/unix/install-ffmpeg.sh" "linux" "static" diff --git a/coin/provisioning/qtci-linux-Ubuntu-18.04-x86_64/02-apt.sh b/coin/provisioning/qtci-linux-Ubuntu-18.04-x86_64/02-apt.sh index d0c1a9fc..e0bec3e5 100755 --- a/coin/provisioning/qtci-linux-Ubuntu-18.04-x86_64/02-apt.sh +++ b/coin/provisioning/qtci-linux-Ubuntu-18.04-x86_64/02-apt.sh @@ -80,6 +80,12 @@ installPackages+=(libgstreamer1.0-dev) installPackages+=(libgstreamer-plugins-base1.0-dev) installPackages+=(libgstreamer-plugins-good1.0-dev) installPackages+=(libgstreamer-plugins-bad1.0-dev) +installPackages+=(gstreamer1.0-libav) +installPackages+=(gstreamer1.0-plugins-base) +installPackages+=(gstreamer1.0-plugins-good) +installPackages+=(gstreamer1.0-plugins-bad) +installPackages+=(gstreamer1.0-plugins-rtp) +installPackages+=(gstreamer1.0-plugins-ugly) installPackages+=(yasm) installPackages+=(libva-dev) # for QtMultimedia streaming tests @@ -91,6 +97,7 @@ installPackages+=(g++-multilib) # python3 development package installPackages+=(python3-dev) installPackages+=(python3-pip) +installPackages+=(python3-venv) installPackages+=(virtualenv) installPackages+=(python3-wheel) # python2 development package @@ -161,6 +168,8 @@ installPackages+=(ruby) installPackages+=(libxslt1-dev) installPackages+=(libxml2-dev) installPackages+=(libhyphen-dev) +# Fix dependencies in shared ffmpeg libs +installPackages+=(patchelf) echo "Running update for apt" waitLoop diff --git a/coin/provisioning/qtci-linux-Ubuntu-20.04-x86_64/02-apt.sh b/coin/provisioning/qtci-linux-Ubuntu-20.04-x86_64/02-apt.sh index 148a6357..fad3dd41 100755 --- a/coin/provisioning/qtci-linux-Ubuntu-20.04-x86_64/02-apt.sh +++ b/coin/provisioning/qtci-linux-Ubuntu-20.04-x86_64/02-apt.sh @@ -96,6 +96,12 @@ installPackages+=(libgstreamer1.0-dev) installPackages+=(libgstreamer-plugins-base1.0-dev) installPackages+=(libgstreamer-plugins-good1.0-dev) installPackages+=(libgstreamer-plugins-bad1.0-dev) +installPackages+=(gstreamer1.0-libav) +installPackages+=(gstreamer1.0-plugins-base) +installPackages+=(gstreamer1.0-plugins-good) +installPackages+=(gstreamer1.0-plugins-bad) +installPackages+=(gstreamer1.0-plugins-rtp) +installPackages+=(gstreamer1.0-plugins-ugly) installPackages+=(libgstreamer-gl1.0-0) installPackages+=(gir1.2-gst-plugins-base-1.0) installPackages+=(gir1.2-gst-plugins-bad-1.0) @@ -110,6 +116,7 @@ installPackages+=(g++-multilib) # python3 development package installPackages+=(python3-dev) installPackages+=(python3-pip) +installPackages+=(python3-venv) installPackages+=(virtualenv) installPackages+=(python3-wheel) # python2 development package @@ -210,6 +217,8 @@ sudo dpkg --add-architecture i386 installPackages+=(nfs-kernel-server) installPackages+=(net-tools) installPackages+=(bridge-utils) +# Fix dependencies in shared ffmpeg libs +installPackages+=(patchelf) echo "Running update for apt" waitLoop diff --git a/coin/provisioning/qtci-linux-Ubuntu-20.04-x86_64/04-yocto.sh b/coin/provisioning/qtci-linux-Ubuntu-20.04-x86_64/04-yocto.sh index 26430c71..a764dc7e 100755 --- a/coin/provisioning/qtci-linux-Ubuntu-20.04-x86_64/04-yocto.sh +++ b/coin/provisioning/qtci-linux-Ubuntu-20.04-x86_64/04-yocto.sh @@ -113,8 +113,9 @@ sudo sh -c "grep ^qt /etc/group >> $yoctoLocationARM64/sysroots/$sysrootARM64/et # Fix mdns to support both docker and network tests # See also https://bugreports.qt.io/browse/QTBUG-106013 -sudo sh -c "sed -i '/^hosts:/s/.*/hosts: files myhostname mdns_minimal [NOTFOUND=return] dns mdns4/' $yoctoLocationARMv7/sysroots/$sysrootARMv7/etc/nsswitch.conf" -sudo sh -c "sed -i '/^hosts:/s/.*/hosts: files myhostname mdns_minimal [NOTFOUND=return] dns mdns4/' $yoctoLocationARM64/sysroots/$sysrootARM64/etc/nsswitch.conf" +sudo sed -i '/^hosts:/s/.*/hosts: files myhostname mdns_minimal [NOTFOUND=return] mdns4 dns/' \ + $yoctoLocationARMv7/sysroots/$sysrootARMv7/etc/nsswitch.conf \ + $yoctoLocationARM64/sysroots/$sysrootARM64/etc/nsswitch.conf # Install qemu binfmt for 32bit and 64bit arm architectures sudo update-binfmts --package qemu-arm --install arm $yoctoLocationARMv7/sysroots/x86_64-pokysdk-linux/usr/bin/qemu-arm \ diff --git a/coin/provisioning/qtci-linux-Ubuntu-22.04-aarch64/02-apt.sh b/coin/provisioning/qtci-linux-Ubuntu-22.04-aarch64/02-apt.sh index b04190ae..c3a94a5a 100755 --- a/coin/provisioning/qtci-linux-Ubuntu-22.04-aarch64/02-apt.sh +++ b/coin/provisioning/qtci-linux-Ubuntu-22.04-aarch64/02-apt.sh @@ -44,6 +44,12 @@ installPackages+=(p7zip-full) # Packages needed for RTA and Squish installPackages+=(default-jdk) installPackages+=(gcc) +installPackages+=(curl) +installPackages+=(libicu-dev) +installPackages+=(python3-dev) +installPackages+=(python3-pip) +installPackages+=(python3-venv) +installPackages+=(virtualenv) echo "Running update for apt" waitLoop diff --git a/coin/provisioning/qtci-linux-Ubuntu-22.04-x86_64/02-apt.sh b/coin/provisioning/qtci-linux-Ubuntu-22.04-x86_64/02-apt.sh index bd689a41..22bb3e50 100755 --- a/coin/provisioning/qtci-linux-Ubuntu-22.04-x86_64/02-apt.sh +++ b/coin/provisioning/qtci-linux-Ubuntu-22.04-x86_64/02-apt.sh @@ -98,6 +98,12 @@ installPackages+=(libgstreamer-plugins-base1.0-dev) installPackages+=(libgstreamer-plugins-good1.0-dev) installPackages+=(libgstreamer-plugins-bad1.0-dev) installPackages+=(libgstreamer-gl1.0-0) +installPackages+=(gstreamer1.0-libav) +installPackages+=(gstreamer1.0-plugins-base) +installPackages+=(gstreamer1.0-plugins-good) +installPackages+=(gstreamer1.0-plugins-bad) +installPackages+=(gstreamer1.0-plugins-rtp) +installPackages+=(gstreamer1.0-plugins-ugly) installPackages+=(gir1.2-gst-plugins-base-1.0) installPackages+=(gir1.2-gst-plugins-bad-1.0) installPackages+=(yasm) @@ -111,6 +117,7 @@ installPackages+=(g++-multilib) # python3 development package installPackages+=(python3-dev) installPackages+=(python3-pip) +installPackages+=(python3-venv) installPackages+=(virtualenv) installPackages+=(python3-wheel) installPackages+=(python-is-python3) @@ -133,8 +140,8 @@ installPackages+=(libicu-dev) installPackages+=(zlib1g-dev) installPackages+=(zlib1g) installPackages+=(openjdk-8-jdk) -#Java 11 for Android -installPackages+=(openjdk-11-jdk) +#Java 17 for Android, needed by RTA +installPackages+=(openjdk-17-jdk) installPackages+=(libgtk-3-dev) installPackages+=(ninja-build) installPackages+=(libssl-dev) @@ -226,6 +233,8 @@ installPackages+=(uml-utilities) # used for reading vcpkg packages version, from vcpkg.json installPackages+=(jq) +installPackages+=(patchelf) + echo "Running update for apt" waitLoop sudo apt-get update diff --git a/coin/provisioning/qtci-linux-Ubuntu-22.04-x86_64/04-yocto.sh b/coin/provisioning/qtci-linux-Ubuntu-22.04-x86_64/04-yocto.sh index 26430c71..a764dc7e 100755 --- a/coin/provisioning/qtci-linux-Ubuntu-22.04-x86_64/04-yocto.sh +++ b/coin/provisioning/qtci-linux-Ubuntu-22.04-x86_64/04-yocto.sh @@ -113,8 +113,9 @@ sudo sh -c "grep ^qt /etc/group >> $yoctoLocationARM64/sysroots/$sysrootARM64/et # Fix mdns to support both docker and network tests # See also https://bugreports.qt.io/browse/QTBUG-106013 -sudo sh -c "sed -i '/^hosts:/s/.*/hosts: files myhostname mdns_minimal [NOTFOUND=return] dns mdns4/' $yoctoLocationARMv7/sysroots/$sysrootARMv7/etc/nsswitch.conf" -sudo sh -c "sed -i '/^hosts:/s/.*/hosts: files myhostname mdns_minimal [NOTFOUND=return] dns mdns4/' $yoctoLocationARM64/sysroots/$sysrootARM64/etc/nsswitch.conf" +sudo sed -i '/^hosts:/s/.*/hosts: files myhostname mdns_minimal [NOTFOUND=return] mdns4 dns/' \ + $yoctoLocationARMv7/sysroots/$sysrootARMv7/etc/nsswitch.conf \ + $yoctoLocationARM64/sysroots/$sysrootARM64/etc/nsswitch.conf # Install qemu binfmt for 32bit and 64bit arm architectures sudo update-binfmts --package qemu-arm --install arm $yoctoLocationARMv7/sysroots/x86_64-pokysdk-linux/usr/bin/qemu-arm \ diff --git a/coin/provisioning/qtci-linux-Ubuntu-22.04-x86_64/70-qnx800.sh b/coin/provisioning/qtci-linux-Ubuntu-22.04-x86_64/70-qnx800.sh new file mode 100755 index 00000000..45d9e43e --- /dev/null +++ b/coin/provisioning/qtci-linux-Ubuntu-22.04-x86_64/70-qnx800.sh @@ -0,0 +1,9 @@ +#!/usr/bin/env bash +# Copyright (C) 2024 The Qt Company Ltd. +# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only + +set -ex + +# shellcheck source=../common/linux/qnx_800.sh +source "${BASH_SOURCE%/*}/../common/linux/qnx_800.sh" + diff --git a/coin/provisioning/qtci-linux-Ubuntu-24.04-aarch64/01-systemsetup.sh b/coin/provisioning/qtci-linux-Ubuntu-24.04-aarch64/01-systemsetup.sh new file mode 100644 index 00000000..98744822 --- /dev/null +++ b/coin/provisioning/qtci-linux-Ubuntu-24.04-aarch64/01-systemsetup.sh @@ -0,0 +1,43 @@ +#!/usr/bin/env bash +# Copyright (C) 2017 The Qt Company Ltd. +# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only + +# This script modifies system settings for automated use + +set -ex + +# shellcheck source=../common/unix/check_and_set_proxy.sh +source "${BASH_SOURCE%/*}/../common/unix/check_and_set_proxy.sh" + +NTS_IP=10.212.2.216 + +echo "Set timezone to UTC." +sudo timedatectl set-timezone Etc/UTC +echo "Timeout for blanking the screen (0 = never)" +gsettings set org.gnome.desktop.session idle-delay 0 +echo "Prevents screen lock when screesaver goes active." +gsettings set org.gnome.desktop.screensaver lock-enabled false +echo "Set grub timeout to 0" +sudo sed -i 's|GRUB_TIMEOUT=10|GRUB_TIMEOUT=0|g' /etc/default/grub +sudo update-grub + +# https://bugs.launchpad.net/ubuntu/+source/systemd/+bug/1624320 +# Checking if Ubuntu 20.04 works without this +#echo "Setting up workaround for Ubuntu systemd resolve bug" +#sudo rm -f /etc/resolv.conf +#sudo ln -s /run/systemd/resolve/resolv.conf /etc/resolv.conf + +# remove hostname to get unique based on IP address +sudo rm /etc/hostname + +echo "Set Network Test Server address to $NTS_IP in /etc/hosts" +echo "$NTS_IP qt-test-server qt-test-server.qt-test-net" | sudo tee -a /etc/hosts + +echo 'LC_ALL=en_US.UTF8' | sudo tee /etc/default/locale + +if [ "$http_proxy" != "" ]; then + echo "Acquire::http::Proxy \"$proxy\";" | sudo tee -a /etc/apt/apt.conf +fi + +# This script diverts qtlogging.ini file so we don't get debugging related auto-test failures. +sudo dpkg-divert --divert /etc/xdg/QtProject/qtlogging.ini.foo --rename /etc/xdg/QtProject/qtlogging.ini diff --git a/coin/provisioning/qtci-linux-Ubuntu-24.04-aarch64/02-apt.sh b/coin/provisioning/qtci-linux-Ubuntu-24.04-aarch64/02-apt.sh new file mode 100644 index 00000000..dfe7aa9b --- /dev/null +++ b/coin/provisioning/qtci-linux-Ubuntu-24.04-aarch64/02-apt.sh @@ -0,0 +1,247 @@ +#!/usr/bin/env bash +# Copyright (C) 2022 The Qt Company Ltd. +# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only + +# Install required packages with APT + +# shellcheck source=../common/linux/apt_wait_loop.sh +source "${BASH_SOURCE%/*}/../common/linux/apt_wait_loop.sh" + +echo "Disabling auto update" +sudo sed -i 's/APT::Periodic::Update-Package-Lists "1";/APT::Periodic::Update-Package-Lists "0";/' /etc/apt/apt.conf.d/10periodic +for service in apt-daily.timer apt-daily-upgrade.timer apt-daily.service apt-daily-upgrade.service; do + sudo systemctl stop $service + sudo systemctl disable $service +done + +function set_internal_repo { + + # Stop fetching the dep-11 metadata, since our mirrors do not handle them well + sudo mv /etc/apt/apt.conf.d/50appstream{,.disabled} + + sudo tee "/etc/apt/sources.list.d/ubuntu.list" > /dev/null <<-EOC + deb [arch=aarch64] http://repo-clones.ci.qt.io/apt-mirror/mirror/ubuntu/ noble main restricted universe multiverse + deb [arch=aarch64] http://repo-clones.ci.qt.io/apt-mirror/mirror/ubuntu/ noble-updates main restricted universe multiverse + deb [arch=aarch64] http://repo-clones.ci.qt.io/apt-mirror/mirror/ubuntu/ noble-backports main restricted universe + deb [arch=aarch64] http://repo-clones.ci.qt.io/apt-mirror/mirror/ubuntu/ noble-security main restricted universe multiverse +EOC +} + +#(ping -c 3 repo-clones.ci.qt.io && set_internal_repo) || echo "Internal package repository not found. Using public repositories." +echo "Internal package repository not loading Translation en package (QTQAINFRA-6297). Using public repositories." + +# Make sure needed ca-certificates are available +sudo apt-get install --reinstall ca-certificates + +# Git is not needed by builds themselves, but is nice to have +# immediately as one starts debugging +installPackages+=(git) +# 7zip is a needed decompressing tool +installPackages+=(p7zip-full) +# To be able to mount yocto-cache during builds +installPackages+=(nfs-common) +# libssl-dev provides headers for OpenSSL +installPackages+=(libssl-dev) +# Needed libraries for X11 support accordingly to https://wiki.qt.io/Building_Qt_5_from_Git +installPackages+=("^libxcb.*") +installPackages+=(libxkbcommon-dev) +installPackages+=(libxkbcommon-x11-dev) +installPackages+=(libx11-xcb-dev) +installPackages+=(libglu1-mesa-dev) +installPackages+=(libxrender-dev) +installPackages+=(libxi-dev) +# Enable linking to system dbus +installPackages+=(libdbus-1-dev) +# Needed libraries for WebEngine +installPackages+=(udev) +installPackages+=(libudev-dev) +installPackages+=(libdrm-dev) +installPackages+=(libegl1-mesa-dev) +installPackages+=(libfontconfig1-dev) +installPackages+=(libgbm-dev) +installPackages+=(liblcms2-dev) +installPackages+=(libpci-dev) +installPackages+=(libre2-dev) +installPackages+=(libsnappy-dev) +installPackages+=(libva-dev) +installPackages+=(libvpx-dev) +installPackages+=(libxkbfile-dev) +installPackages+=(libxshmfence-dev) +installPackages+=(libxss-dev) +# installPackages+=(nodejs) too old +installPackages+=(python3-html5lib) + +# Common event loop handling +installPackages+=(libglib2.0-dev) +# MySQL support +installPackages+=(libmysqlclient-dev) +# PostgreSQL support +installPackages+=(libpq-dev) +# SQLite support +installPackages+=(libsqlite3-dev) +# ODBC support +installPackages+=(unixodbc-dev) +# Support for FreeType font engine +installPackages+=(libfreetype6-dev) +# Enable the usage of system jpeg libraries +installPackages+=(libjpeg-dev) +# Enable support for printer driver +installPackages+=(libcups2-dev) +# Enable support for printer test +installPackages+=(cups-pdf) +# Install libraries needed for QtMultimedia to be able to support all plugins +installPackages+=(libasound2-dev) +installPackages+=(libgstreamer1.0-dev) +installPackages+=(libgstreamer-plugins-base1.0-dev) +installPackages+=(libgstreamer-plugins-good1.0-dev) +installPackages+=(libgstreamer-plugins-bad1.0-dev) +installPackages+=(gstreamer1.0-libav) +installPackages+=(gstreamer1.0-plugins-base) +installPackages+=(gstreamer1.0-plugins-good) +installPackages+=(gstreamer1.0-plugins-bad) +installPackages+=(gstreamer1.0-plugins-rtp) +installPackages+=(gstreamer1.0-plugins-ugly) +installPackages+=(libgstreamer-gl1.0-0) +installPackages+=(gir1.2-gst-plugins-base-1.0) +installPackages+=(gir1.2-gst-plugins-bad-1.0) +installPackages+=(yasm) +installPackages+=(libva-dev) +# for QtMultimedia streaming tests +installPackages+=(vlc-bin) +installPackages+=(vlc-plugin-base) +# for tst_qfloat16format, see also QTQAINFRA-6390 +installPackages+=(locales-all) + +# Support for cross-building to x86 (needed by WebEngine boot2qt builds) +#installPackages+=(g++-multilib) +installPackages+=(g++-multilib-powerpc-linux-gnu) +installPackages+=(gcc-14) +installPackages+=(g++-14) + +# python3 development package +installPackages+=(python3-dev) +installPackages+=(python3-pip) +installPackages+=(python3-venv) +installPackages+=(virtualenv) +installPackages+=(python3-wheel) +installPackages+=(python-is-python3) + +# Automates interactive applications (Needed by RTA to automate configure testing) +installPackages+=(expect) +installPackages+=(mesa-common-dev) + +# TODO: Ubuntu 24.04 Replacement +#installPackages+=(libgl1-mesa-glx) +installPackages+=(libglx-mesa0) + +installPackages+=(libgl1-mesa-dev) +installPackages+=(libegl1-mesa-dev) +installPackages+=(libegl1) +installPackages+=(libegl-mesa0) +installPackages+=(libegl-dev) +installPackages+=(libglvnd-dev) +installPackages+=(libgles2-mesa-dev) +installPackages+=(curl) +installPackages+=(libcurl4-openssl-dev) +installPackages+=(libicu-dev) +installPackages+=(zlib1g-dev) +installPackages+=(zlib1g) +installPackages+=(openjdk-8-jdk) +#Java 11 for Android +installPackages+=(openjdk-11-jdk) +installPackages+=(libgtk-3-dev) +installPackages+=(ninja-build) +installPackages+=(libssl-dev) +installPackages+=(libxcursor-dev) +installPackages+=(libxcomposite-dev) +installPackages+=(libxdamage-dev) +installPackages+=(libxrandr-dev) +installPackages+=(libfontconfig1-dev) +installPackages+=(libsrtp2-dev) +installPackages+=(libwebp-dev) +installPackages+=(libjsoncpp-dev) +installPackages+=(libopus-dev) +installPackages+=(libminizip-dev) +installPackages+=(libavutil-dev) +installPackages+=(libavformat-dev) +installPackages+=(libavcodec-dev) +installPackages+=(libevent-dev) +installPackages+=(bison) +installPackages+=(flex) +installPackages+=(gperf) +installPackages+=(libasound2-dev) +installPackages+=(libpulse-dev) +installPackages+=(libxtst-dev) +installPackages+=(libnspr4-dev) +installPackages+=(libnss3-dev) +installPackages+=(libnss3) +installPackages+=(libopenal-dev) +installPackages+=(libbluetooth-dev) +# Needed for qtspeech +installPackages+=(libspeechd-dev) +#Pypdf for PDF reading in RTA tests +installPackages+=(python3-pypdf2) +# Needed for b2qt +installPackages+=(git-lfs) +installPackages+=(chrpath) +installPackages+=(gawk) +installPackages+=(texinfo) +# Needed for Poppler test in QtWebEngine +installPackages+=(libpoppler-cpp-dev) +# Needed for QtCore +installPackages+=(libdouble-conversion-dev) +installPackages+=(libpcre2-dev) +# Needed for testlib selftests +installPackages+=(valgrind) +# Needed for qtgampepad +installPackages+=(libsdl2-2.0) +installPackages+=(libsdl2-dev) +# Needed for qtwebkit +installPackages+=(ruby) +installPackages+=(libxslt1-dev) +installPackages+=(libxml2-dev) +installPackages+=(libhyphen-dev) +# For remote access +installPackages+=(ssh) +# For bitbake +installPackages+=(diffstat) +installPackages+=(binfmt-support) +installPackages+=(zstd) +installPackages+=(lz4) +# Vulkan is needed for examples +installPackages+=(libvulkan-dev) +# Needed for qtdltlogging +installPackages+=(libdlt-dev) +# For QNX +installPackages+=(nfs-kernel-server) +installPackages+=(net-tools) +installPackages+=(bridge-utils) +# For Debian packaging +installPackages+=(sbuild) +installPackages+=(ubuntu-dev-tools) +# cifs-utils, for mounting smb drive +installPackages+=(keyutils) +installPackages+=(cifs-utils) +# VxWorks QEMU network setup (tunctl) +installPackages+=(uml-utilities) +# used for reading vcpkg packages version, from vcpkg.json +installPackages+=(jq) +# For building +installPackages+=(cmake) + +echo "Running update for apt" +waitLoop +sudo apt-get update +echo "Installing packages" +waitLoop +sudo DEBIAN_FRONTEND=noninteractive apt-get -q -y -o DPkg::Lock::Timeout=300 install "${installPackages[@]}" + +# Configure pip +pip config --user set global.index https://ci-files01-hki.ci.qt.io/input/python_module_cache +pip config --user set global.extra-index-url https://pypi.org/simple/ + +source "${BASH_SOURCE%/*}/../common/unix/SetEnvVar.sh" +# SetEnvVar "PATH" "/usr/lib/nodejs-mozilla/bin:\$PATH" + +OpenSSLVersion="$(openssl version |cut -b 9-14)" +echo "System's OpenSSL = $OpenSSLVersion" >> ~/versions.txt diff --git a/coin/provisioning/qtci-linux-Ubuntu-24.04-aarch64/02-disable-notifications.sh b/coin/provisioning/qtci-linux-Ubuntu-24.04-aarch64/02-disable-notifications.sh new file mode 100644 index 00000000..1b9ed6c9 --- /dev/null +++ b/coin/provisioning/qtci-linux-Ubuntu-24.04-aarch64/02-disable-notifications.sh @@ -0,0 +1,6 @@ +#!/usr/bin/env bash +#Copyright (C) 2023 The Qt Company Ltd +#SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only + +# shellcheck source=../common/linux/disable-notifications.sh +source "${BASH_SOURCE%/*}/../common/linux/disable-notifications.sh" diff --git a/coin/provisioning/qtci-linux-Ubuntu-24.04-aarch64/02-disable-ntp.sh b/coin/provisioning/qtci-linux-Ubuntu-24.04-aarch64/02-disable-ntp.sh new file mode 100644 index 00000000..1995aa14 --- /dev/null +++ b/coin/provisioning/qtci-linux-Ubuntu-24.04-aarch64/02-disable-ntp.sh @@ -0,0 +1,6 @@ +#!/usr/bin/env bash +#Copyright (C) 2023 The Qt Company Ltd +#SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only + +# shellcheck source=../common/linux/disable-ntp_linux.sh +source "${BASH_SOURCE%/*}/../common/linux/disable-ntp_linux.sh" diff --git a/coin/provisioning/qtci-linux-Ubuntu-24.04-aarch64/02-remove-apport.sh b/coin/provisioning/qtci-linux-Ubuntu-24.04-aarch64/02-remove-apport.sh new file mode 100644 index 00000000..879f3ffb --- /dev/null +++ b/coin/provisioning/qtci-linux-Ubuntu-24.04-aarch64/02-remove-apport.sh @@ -0,0 +1,6 @@ +#!/usr/bin/env bash +#Copyright (C) 2023 The Qt Company Ltd +#SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only + +# shellcheck source=../common/linux/remove-apport.sh +source "${BASH_SOURCE%/*}/../common/linux/remove-apport.sh" diff --git a/coin/provisioning/qtci-linux-Ubuntu-24.04-aarch64/02-remove-update_notifier.sh b/coin/provisioning/qtci-linux-Ubuntu-24.04-aarch64/02-remove-update_notifier.sh new file mode 100644 index 00000000..f4a5119f --- /dev/null +++ b/coin/provisioning/qtci-linux-Ubuntu-24.04-aarch64/02-remove-update_notifier.sh @@ -0,0 +1,6 @@ +#!/usr/bin/env bash +#Copyright (C) 2023 The Qt Company Ltd +#SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only + +# shellcheck source=../common/linux/remove-update_notifier.sh +source "${BASH_SOURCE%/*}/../common/linux/remove-update_notifier.sh" diff --git a/coin/provisioning/qtci-linux-Ubuntu-24.04-aarch64/03-fix-bwrap-apparmor.sh b/coin/provisioning/qtci-linux-Ubuntu-24.04-aarch64/03-fix-bwrap-apparmor.sh new file mode 100644 index 00000000..e155338a --- /dev/null +++ b/coin/provisioning/qtci-linux-Ubuntu-24.04-aarch64/03-fix-bwrap-apparmor.sh @@ -0,0 +1,6 @@ +#!/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 + +# shellcheck source=../common/linux/fix-bwrap-apparmor.sh +source "${BASH_SOURCE%/*}/../common/linux/fix-bwrap-apparmor.sh" diff --git a/coin/provisioning/qtci-linux-Ubuntu-24.04-aarch64/99-cleanup.sh b/coin/provisioning/qtci-linux-Ubuntu-24.04-aarch64/99-cleanup.sh new file mode 100644 index 00000000..4d6e16ea --- /dev/null +++ b/coin/provisioning/qtci-linux-Ubuntu-24.04-aarch64/99-cleanup.sh @@ -0,0 +1,7 @@ +#!/usr/bin/env bash +# Copyright (C) 2022 The Qt Company Ltd. +# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only + +set -ex + +"$(dirname "$0")"/../common/linux/cleanup_cache.sh diff --git a/coin/provisioning/qtci-linux-Ubuntu-24.04-aarch64/99-version.sh b/coin/provisioning/qtci-linux-Ubuntu-24.04-aarch64/99-version.sh new file mode 100644 index 00000000..31821f6b --- /dev/null +++ b/coin/provisioning/qtci-linux-Ubuntu-24.04-aarch64/99-version.sh @@ -0,0 +1,6 @@ +#!/bin/bash +#Copyright (C) 2023 The Qt Company Ltd +#SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only + +BASEDIR=$(dirname "$0") +"$BASEDIR/../common/linux/ubuntu-version.sh" diff --git a/coin/provisioning/qtci-linux-Ubuntu-24.04-x86_64/01-disable-updates.sh b/coin/provisioning/qtci-linux-Ubuntu-24.04-x86_64/01-disable-updates.sh new file mode 100644 index 00000000..4c9adc5f --- /dev/null +++ b/coin/provisioning/qtci-linux-Ubuntu-24.04-x86_64/01-disable-updates.sh @@ -0,0 +1,9 @@ +#!/usr/bin/env bash +# Copyright (C) 2023 The Qt Company Ltd. +# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only + +set -ex + +# Disalbe updates +echo "Disabling auto-upgrades" +sudo sed -i 's/"1"/"0"/g' /etc/apt/apt.conf.d/20auto-upgrades diff --git a/coin/provisioning/qtci-linux-Ubuntu-24.04-x86_64/01-disable_net_lso.sh b/coin/provisioning/qtci-linux-Ubuntu-24.04-x86_64/01-disable_net_lso.sh new file mode 100644 index 00000000..81e7d137 --- /dev/null +++ b/coin/provisioning/qtci-linux-Ubuntu-24.04-x86_64/01-disable_net_lso.sh @@ -0,0 +1,6 @@ +#!/bin/sh +#Copyright (C) 2023 The Qt Company Ltd +#SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only + +echo "ethtool -K \${DEVICE_IFACE} tso off" | sudo tee -a /etc/NetworkManager/dispatcher.d/pre-up.d/net_tso_off +sudo chmod +x /etc/NetworkManager/dispatcher.d/pre-up.d/net_tso_off diff --git a/coin/provisioning/qtci-linux-Ubuntu-24.04-x86_64/01-install_telegraf.sh b/coin/provisioning/qtci-linux-Ubuntu-24.04-x86_64/01-install_telegraf.sh new file mode 100644 index 00000000..729f9003 --- /dev/null +++ b/coin/provisioning/qtci-linux-Ubuntu-24.04-x86_64/01-install_telegraf.sh @@ -0,0 +1,3 @@ +#!/bin/sh + +"$(dirname "$0")"/../common/unix/telegraf_install.sh diff --git a/coin/provisioning/qtci-linux-Ubuntu-24.04-x86_64/01-set-ulimit.sh b/coin/provisioning/qtci-linux-Ubuntu-24.04-x86_64/01-set-ulimit.sh new file mode 100644 index 00000000..e951e82a --- /dev/null +++ b/coin/provisioning/qtci-linux-Ubuntu-24.04-x86_64/01-set-ulimit.sh @@ -0,0 +1,8 @@ +#!/usr/bin/env bash +#Copyright (C) 2023 The Qt Company Ltd +#SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only + +set -ex + +BASEDIR=$(dirname "$0") +"$BASEDIR/../common/linux/set_ulimit.sh" diff --git a/coin/provisioning/qtci-linux-Ubuntu-24.04-x86_64/01-systemsetup.sh b/coin/provisioning/qtci-linux-Ubuntu-24.04-x86_64/01-systemsetup.sh new file mode 100644 index 00000000..98744822 --- /dev/null +++ b/coin/provisioning/qtci-linux-Ubuntu-24.04-x86_64/01-systemsetup.sh @@ -0,0 +1,43 @@ +#!/usr/bin/env bash +# Copyright (C) 2017 The Qt Company Ltd. +# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only + +# This script modifies system settings for automated use + +set -ex + +# shellcheck source=../common/unix/check_and_set_proxy.sh +source "${BASH_SOURCE%/*}/../common/unix/check_and_set_proxy.sh" + +NTS_IP=10.212.2.216 + +echo "Set timezone to UTC." +sudo timedatectl set-timezone Etc/UTC +echo "Timeout for blanking the screen (0 = never)" +gsettings set org.gnome.desktop.session idle-delay 0 +echo "Prevents screen lock when screesaver goes active." +gsettings set org.gnome.desktop.screensaver lock-enabled false +echo "Set grub timeout to 0" +sudo sed -i 's|GRUB_TIMEOUT=10|GRUB_TIMEOUT=0|g' /etc/default/grub +sudo update-grub + +# https://bugs.launchpad.net/ubuntu/+source/systemd/+bug/1624320 +# Checking if Ubuntu 20.04 works without this +#echo "Setting up workaround for Ubuntu systemd resolve bug" +#sudo rm -f /etc/resolv.conf +#sudo ln -s /run/systemd/resolve/resolv.conf /etc/resolv.conf + +# remove hostname to get unique based on IP address +sudo rm /etc/hostname + +echo "Set Network Test Server address to $NTS_IP in /etc/hosts" +echo "$NTS_IP qt-test-server qt-test-server.qt-test-net" | sudo tee -a /etc/hosts + +echo 'LC_ALL=en_US.UTF8' | sudo tee /etc/default/locale + +if [ "$http_proxy" != "" ]; then + echo "Acquire::http::Proxy \"$proxy\";" | sudo tee -a /etc/apt/apt.conf +fi + +# This script diverts qtlogging.ini file so we don't get debugging related auto-test failures. +sudo dpkg-divert --divert /etc/xdg/QtProject/qtlogging.ini.foo --rename /etc/xdg/QtProject/qtlogging.ini diff --git a/coin/provisioning/qtci-linux-Ubuntu-24.04-x86_64/02-apt.sh b/coin/provisioning/qtci-linux-Ubuntu-24.04-x86_64/02-apt.sh new file mode 100644 index 00000000..a8c5894b --- /dev/null +++ b/coin/provisioning/qtci-linux-Ubuntu-24.04-x86_64/02-apt.sh @@ -0,0 +1,258 @@ +#!/usr/bin/env bash +# Copyright (C) 2022 The Qt Company Ltd. +# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only + +# Install required packages with APT + +# shellcheck source=../common/linux/apt_wait_loop.sh +source "${BASH_SOURCE%/*}/../common/linux/apt_wait_loop.sh" + +echo "Disabling auto update" +sudo sed -i 's/APT::Periodic::Update-Package-Lists "1";/APT::Periodic::Update-Package-Lists "0";/' /etc/apt/apt.conf.d/10periodic +for service in apt-daily.timer apt-daily-upgrade.timer apt-daily.service apt-daily-upgrade.service; do + sudo systemctl stop $service + sudo systemctl disable $service +done + +function set_internal_repo { + + # Stop fetching the dep-11 metadata, since our mirrors do not handle them well + sudo mv /etc/apt/apt.conf.d/50appstream{,.disabled} + + sudo tee "/etc/apt/sources.list.d/ubuntu.list" > /dev/null <<-EOC + deb [arch=amd64] http://repo-clones.ci.qt.io/apt-mirror/mirror/ubuntu/ noble main restricted universe multiverse + deb [arch=amd64] http://repo-clones.ci.qt.io/apt-mirror/mirror/ubuntu/ noble-updates main restricted universe multiverse + deb [arch=amd64] http://repo-clones.ci.qt.io/apt-mirror/mirror/ubuntu/ noble-backports main restricted universe + deb [arch=amd64] http://repo-clones.ci.qt.io/apt-mirror/mirror/ubuntu/ noble-security main restricted universe multiverse + deb [arch=i386] http://repo-clones.ci.qt.io/apt-mirror/mirror/ubuntu/ noble main restricted + deb [arch=i386] http://repo-clones.ci.qt.io/apt-mirror/mirror/ubuntu/ noble-updates main restricted + deb [arch=i386] http://repo-clones.ci.qt.io/apt-mirror/mirror/ubuntu/ noble universe +EOC +} + +#(ping -c 3 repo-clones.ci.qt.io && set_internal_repo) || echo "Internal package repository not found. Using public repositories." +echo "Internal package repository not loading Translation en package (QTQAINFRA-6297). Using public repositories." + +# Make sure needed ca-certificates are available +sudo apt-get install --reinstall ca-certificates + +# Git is not needed by builds themselves, but is nice to have +# immediately as one starts debugging +installPackages+=(git) +# 7zip is a needed decompressing tool +installPackages+=(p7zip-full) +# To be able to mount yocto-cache during builds +installPackages+=(nfs-common) +# libssl-dev provides headers for OpenSSL +installPackages+=(libssl-dev) +# Needed libraries for X11 support accordingly to https://wiki.qt.io/Building_Qt_5_from_Git +installPackages+=("^libxcb.*") +installPackages+=(libxkbcommon-dev) +installPackages+=(libxkbcommon-x11-dev) +installPackages+=(libx11-xcb-dev) +installPackages+=(libglu1-mesa-dev) +installPackages+=(libxrender-dev) +installPackages+=(libxi-dev) +# Enable linking to system dbus +installPackages+=(libdbus-1-dev) +# Needed libraries for WebEngine +installPackages+=(udev) +installPackages+=(libudev-dev) +installPackages+=(libdrm-dev) +installPackages+=(libegl1-mesa-dev) +installPackages+=(libfontconfig1-dev) +installPackages+=(libgbm-dev) +installPackages+=(liblcms2-dev) +installPackages+=(libpci-dev) +installPackages+=(libre2-dev) +installPackages+=(libsnappy-dev) +installPackages+=(libva-dev) +installPackages+=(libvpx-dev) +installPackages+=(libxkbfile-dev) +installPackages+=(libxshmfence-dev) +installPackages+=(libxss-dev) +# installPackages+=(nodejs) too old +installPackages+=(python3-html5lib) + +# Common event loop handling +installPackages+=(libglib2.0-dev) +# MySQL support +installPackages+=(libmysqlclient-dev) +# PostgreSQL support +installPackages+=(libpq-dev) +# SQLite support +installPackages+=(libsqlite3-dev) +# ODBC support +installPackages+=(unixodbc-dev) +# Support for FreeType font engine +installPackages+=(libfreetype6-dev) +# Enable the usage of system jpeg libraries +installPackages+=(libjpeg-dev) +# Enable support for printer driver +installPackages+=(libcups2-dev) +# Enable support for printer test +installPackages+=(cups-pdf) +# Install libraries needed for QtMultimedia to be able to support all plugins +installPackages+=(libasound2-dev) +installPackages+=(libgstreamer1.0-dev) +installPackages+=(libgstreamer-plugins-base1.0-dev) +installPackages+=(libgstreamer-plugins-good1.0-dev) +installPackages+=(libgstreamer-plugins-bad1.0-dev) +installPackages+=(libgstreamer-gl1.0-0) +installPackages+=(gir1.2-gst-plugins-base-1.0) +installPackages+=(gir1.2-gst-plugins-bad-1.0) +installPackages+=(yasm) +installPackages+=(libva-dev) +# for QtMultimedia streaming tests +installPackages+=(vlc-bin) +installPackages+=(vlc-plugin-base) +# for tst_qfloat16format, see also QTQAINFRA-6390 +installPackages+=(locales-all) + +# Support for cross-building to x86 (needed by WebEngine boot2qt builds) +installPackages+=(g++-multilib) +# python3 development package +installPackages+=(python3-dev) +installPackages+=(python3-pip) +installPackages+=(python3-venv) +installPackages+=(virtualenv) +installPackages+=(python3-wheel) +installPackages+=(python-is-python3) +# TODO: Ubuntu 24.04 Removal - not available +# python2 development package +#installPackages+=(python2-dev) + +# Automates interactive applications (Needed by RTA to automate configure testing) +installPackages+=(expect) +installPackages+=(mesa-common-dev) + +# TODO: Ubuntu 24.04 Replacement +#installPackages+=(libgl1-mesa-glx) +installPackages+=(libglx-mesa0) + +installPackages+=(libgl1-mesa-dev) +installPackages+=(libegl1-mesa-dev) +installPackages+=(libegl1) +installPackages+=(libegl-mesa0) +installPackages+=(libegl-dev) +installPackages+=(libglvnd-dev) +installPackages+=(libgles2-mesa-dev) +installPackages+=(curl) +installPackages+=(libcurl4-openssl-dev) +installPackages+=(libicu-dev) +installPackages+=(zlib1g-dev) +installPackages+=(zlib1g) +installPackages+=(openjdk-8-jdk) +#Java 17 for Android, needed by RTA +installPackages+=(openjdk-17-jdk) +installPackages+=(libgtk-3-dev) +installPackages+=(ninja-build) +installPackages+=(libssl-dev) +installPackages+=(libxcursor-dev) +installPackages+=(libxcomposite-dev) +installPackages+=(libxdamage-dev) +installPackages+=(libxrandr-dev) +installPackages+=(libfontconfig1-dev) +installPackages+=(libsrtp2-dev) +installPackages+=(libwebp-dev) +installPackages+=(libjsoncpp-dev) +installPackages+=(libopus-dev) +installPackages+=(libminizip-dev) +installPackages+=(libavutil-dev) +installPackages+=(libavformat-dev) +installPackages+=(libavcodec-dev) +installPackages+=(libevent-dev) +installPackages+=(bison) +installPackages+=(flex) +installPackages+=(gperf) +installPackages+=(libasound2-dev) +installPackages+=(libpulse-dev) +installPackages+=(libxtst-dev) +installPackages+=(libnspr4-dev) +installPackages+=(libnss3-dev) +installPackages+=(libnss3) +installPackages+=(libopenal-dev) +installPackages+=(libbluetooth-dev) +#VirtualBox for RTA +installPackages+=(virtualbox) +installPackages+=(dkms) +# Needed for qtspeech +installPackages+=(libspeechd-dev) +#Pypdf for PDF reading in RTA tests +installPackages+=(python3-pypdf2) +# Needed for b2qt +installPackages+=(git-lfs) +installPackages+=(chrpath) +installPackages+=(gawk) +installPackages+=(texinfo) +# Needed for Poppler test in QtWebEngine +installPackages+=(libpoppler-cpp-dev) +# Needed for QtCore +installPackages+=(libdouble-conversion-dev) +installPackages+=(libpcre2-dev) +# Needed for testlib selftests +installPackages+=(valgrind) +# Needed for qtgampepad +installPackages+=(libsdl2-2.0) +installPackages+=(libsdl2-dev) +# Needed for qtwebkit +installPackages+=(ruby) +installPackages+=(libxslt1-dev) +installPackages+=(libxml2-dev) +installPackages+=(libhyphen-dev) +# For remote access +installPackages+=(ssh) +# For bitbake +installPackages+=(diffstat) +installPackages+=(binfmt-support) +installPackages+=(zstd) +installPackages+=(lz4) +# Vulkan is needed for examples +installPackages+=(libvulkan-dev) +# Needed for qtdltlogging +installPackages+=(libdlt-dev) +# For integrity +installPackages+=(libc6:i386) +# TODO: Ubuntu 24.04 Removal - not available +#installPackages+=(libncurses5:i386) + +installPackages+=(libstdc++6:i386) +installPackages+=(libx11-6:i386) +installPackages+=(lib32z1) +installPackages+=(linux-libc-dev:i386) +installPackages+=(libxcursor1:i386) +installPackages+=(libc6-dev-i386) +sudo dpkg --add-architecture i386 +# For QNX +installPackages+=(nfs-kernel-server) +installPackages+=(net-tools) +installPackages+=(bridge-utils) +# For Debian packaging +installPackages+=(sbuild) +installPackages+=(ubuntu-dev-tools) +# cifs-utils, for mounting smb drive +installPackages+=(keyutils) +installPackages+=(cifs-utils) +# VxWorks QEMU network setup (tunctl) +installPackages+=(uml-utilities) +# used for reading vcpkg packages version, from vcpkg.json +installPackages+=(jq) + +installPackages+=(patchelf) + +echo "Running update for apt" +waitLoop +sudo apt-get update +echo "Installing packages" +waitLoop +sudo DEBIAN_FRONTEND=noninteractive apt-get -q -y -o DPkg::Lock::Timeout=300 install "${installPackages[@]}" + +# Configure pip +pip config --user set global.index https://ci-files01-hki.ci.qt.io/input/python_module_cache +pip config --user set global.extra-index-url https://pypi.org/simple/ + +source "${BASH_SOURCE%/*}/../common/unix/SetEnvVar.sh" +# SetEnvVar "PATH" "/usr/lib/nodejs-mozilla/bin:\$PATH" + +OpenSSLVersion="$(openssl version |cut -b 9-14)" +echo "System's OpenSSL = $OpenSSLVersion" >> ~/versions.txt diff --git a/coin/provisioning/qtci-linux-Ubuntu-24.04-x86_64/02-disable-notifications.sh b/coin/provisioning/qtci-linux-Ubuntu-24.04-x86_64/02-disable-notifications.sh new file mode 100644 index 00000000..1b9ed6c9 --- /dev/null +++ b/coin/provisioning/qtci-linux-Ubuntu-24.04-x86_64/02-disable-notifications.sh @@ -0,0 +1,6 @@ +#!/usr/bin/env bash +#Copyright (C) 2023 The Qt Company Ltd +#SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only + +# shellcheck source=../common/linux/disable-notifications.sh +source "${BASH_SOURCE%/*}/../common/linux/disable-notifications.sh" diff --git a/coin/provisioning/qtci-linux-Ubuntu-24.04-x86_64/02-disable-ntp.sh b/coin/provisioning/qtci-linux-Ubuntu-24.04-x86_64/02-disable-ntp.sh new file mode 100644 index 00000000..1995aa14 --- /dev/null +++ b/coin/provisioning/qtci-linux-Ubuntu-24.04-x86_64/02-disable-ntp.sh @@ -0,0 +1,6 @@ +#!/usr/bin/env bash +#Copyright (C) 2023 The Qt Company Ltd +#SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only + +# shellcheck source=../common/linux/disable-ntp_linux.sh +source "${BASH_SOURCE%/*}/../common/linux/disable-ntp_linux.sh" diff --git a/coin/provisioning/qtci-linux-Ubuntu-24.04-x86_64/02-remove-apport.sh b/coin/provisioning/qtci-linux-Ubuntu-24.04-x86_64/02-remove-apport.sh new file mode 100644 index 00000000..879f3ffb --- /dev/null +++ b/coin/provisioning/qtci-linux-Ubuntu-24.04-x86_64/02-remove-apport.sh @@ -0,0 +1,6 @@ +#!/usr/bin/env bash +#Copyright (C) 2023 The Qt Company Ltd +#SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only + +# shellcheck source=../common/linux/remove-apport.sh +source "${BASH_SOURCE%/*}/../common/linux/remove-apport.sh" diff --git a/coin/provisioning/qtci-linux-Ubuntu-24.04-x86_64/02-remove-update_notifier.sh b/coin/provisioning/qtci-linux-Ubuntu-24.04-x86_64/02-remove-update_notifier.sh new file mode 100644 index 00000000..f4a5119f --- /dev/null +++ b/coin/provisioning/qtci-linux-Ubuntu-24.04-x86_64/02-remove-update_notifier.sh @@ -0,0 +1,6 @@ +#!/usr/bin/env bash +#Copyright (C) 2023 The Qt Company Ltd +#SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only + +# shellcheck source=../common/linux/remove-update_notifier.sh +source "${BASH_SOURCE%/*}/../common/linux/remove-update_notifier.sh" diff --git a/coin/provisioning/qtci-linux-Ubuntu-24.04-x86_64/03-install-nodejs.sh b/coin/provisioning/qtci-linux-Ubuntu-24.04-x86_64/03-install-nodejs.sh new file mode 100644 index 00000000..07121a36 --- /dev/null +++ b/coin/provisioning/qtci-linux-Ubuntu-24.04-x86_64/03-install-nodejs.sh @@ -0,0 +1,6 @@ +#!/usr/bin/env bash +# Copyright (C) 2023 The Qt Company Ltd. +# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only + +# shellcheck source=../common/linux/install-nodejs.sh +source "${BASH_SOURCE%/*}/../common/linux/install-nodejs.sh" diff --git a/coin/provisioning/qtci-linux-Ubuntu-24.04-x86_64/03-mount-vcpkg-cache-drive.sh b/coin/provisioning/qtci-linux-Ubuntu-24.04-x86_64/03-mount-vcpkg-cache-drive.sh new file mode 100644 index 00000000..ed49b3a5 --- /dev/null +++ b/coin/provisioning/qtci-linux-Ubuntu-24.04-x86_64/03-mount-vcpkg-cache-drive.sh @@ -0,0 +1,8 @@ +#!/usr/bin/env bash +# Copyright (C) 2023 The Qt Company Ltd. +# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only + +set -ex + +# shellcheck source=../common/linux/mount-vcpkg-cache-drive.sh +source "${BASH_SOURCE%/*}/../common/linux/mount-vcpkg-cache-drive.sh" diff --git a/coin/provisioning/qtci-linux-Ubuntu-24.04-x86_64/03-qemu.sh b/coin/provisioning/qtci-linux-Ubuntu-24.04-x86_64/03-qemu.sh new file mode 100644 index 00000000..5ed06f29 --- /dev/null +++ b/coin/provisioning/qtci-linux-Ubuntu-24.04-x86_64/03-qemu.sh @@ -0,0 +1,19 @@ +#!/usr/bin/env bash +# Copyright (C) 2021 The Qt Company Ltd. +# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only + +set -ex + +# shellcheck source=../common/unix/SetEnvVar.sh +source "${BASH_SOURCE%/*}/../common/unix/SetEnvVar.sh" + +# First test using QFont fails if fonts-noto-cjk is installed. This happens because +# running fontcache for that font takes > 5 mins when run on QEMU. Running fc-cache +# doesn't help since host version creates cache for a wrong architecture and running +# armv7 fc-cache segfaults on QEMU. +sudo DEBIAN_FRONTEND=noninteractive apt-get -y remove fonts-noto-cjk + +# Disable QtWayland window decorations, as they cause flakiness when used inside qemu (QTBUG-66173) +qemu_env="QT_WAYLAND_DISABLE_WINDOWDECORATION=1" + +SetEnvVar "QEMU_SET_ENV" "\"${qemu_env}\"" diff --git a/coin/provisioning/qtci-linux-Ubuntu-24.04-x86_64/04-libclang-v100-dyn.sh b/coin/provisioning/qtci-linux-Ubuntu-24.04-x86_64/04-libclang-v100-dyn.sh new file mode 100644 index 00000000..85c261ee --- /dev/null +++ b/coin/provisioning/qtci-linux-Ubuntu-24.04-x86_64/04-libclang-v100-dyn.sh @@ -0,0 +1,6 @@ +#!/usr/bin/env bash +#Copyright (C) 2023 The Qt Company Ltd +#SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only + +BASEDIR=$(dirname "$0") +"$BASEDIR/../common/unix/libclang-v100-dyn.sh" diff --git a/coin/provisioning/qtci-linux-Ubuntu-24.04-x86_64/04-libclang.sh b/coin/provisioning/qtci-linux-Ubuntu-24.04-x86_64/04-libclang.sh new file mode 100644 index 00000000..fac8d4e7 --- /dev/null +++ b/coin/provisioning/qtci-linux-Ubuntu-24.04-x86_64/04-libclang.sh @@ -0,0 +1,6 @@ +#!/usr/bin/env bash +#Copyright (C) 2023 The Qt Company Ltd +#SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only + +BASEDIR=$(dirname "$0") +"$BASEDIR/../common/unix/libclang.sh" diff --git a/coin/provisioning/qtci-linux-Ubuntu-24.04-x86_64/04-yocto.sh b/coin/provisioning/qtci-linux-Ubuntu-24.04-x86_64/04-yocto.sh new file mode 100644 index 00000000..26430c71 --- /dev/null +++ b/coin/provisioning/qtci-linux-Ubuntu-24.04-x86_64/04-yocto.sh @@ -0,0 +1,125 @@ +#!/usr/bin/env bash +# Copyright (C) 2021 The Qt Company Ltd. +# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only + +# This script installs the Yocto toolchain + +set -ex + +# shellcheck source=../common/unix/DownloadURL.sh +source "${BASH_SOURCE%/*}/../common/unix/DownloadURL.sh" +# shellcheck source=../common/unix/SetEnvVar.sh +source "${BASH_SOURCE%/*}/../common/unix/SetEnvVar.sh" + +primaryBaseUrlPath="http://ci-files01-hki.ci.qt.io/input/boot2qt/gatesgarth" +altBaseUrlPath="http://download.qt.io/development_releases/prebuilt/boot2qt/gatesgarth" + +echo "Installing Yocto toolchain for 32-bit b2qt ARMV7..." + +versionARM="3.2" +package="b2qt-x86_64-meta-toolchain-b2qt-ci-sdk-qemuarm-a9d5156a.sh" +PrimaryUrl="$primaryBaseUrlPath/$package" +AltUrl="$altBaseUrlPath/$package" +SHA1="f9f7d51656067a1cc9d7ab92ddcddb219886ab22" +yoctoInstaller="/tmp/yocto-toolchain-ARMv7.sh" +yoctoLocationARMv7="/opt/b2qt/$versionARM" +sysrootARMv7="armv7vet2hf-neon-poky-linux-gnueabi" +crosscompileARMv7="sysroots/x86_64-pokysdk-linux/usr/bin/arm-poky-linux-gnueabi/arm-poky-linux-gnueabi-" +envSetupARMv7="environment-setup-$sysrootARMv7" +toolchainFileARMv7="sysroots/x86_64-pokysdk-linux/usr/share/cmake/OEToolchainConfig.cmake" + +DownloadURL "$PrimaryUrl" "$AltUrl" "$SHA1" "$yoctoInstaller" +chmod +x "$yoctoInstaller" + +/bin/bash "$yoctoInstaller" -y -d "$yoctoLocationARMv7" +rm -rf "$yoctoInstaller" + +echo "Installing Yocto toolchain for 64-bit b2qt ARM64..." + +versionARM64="3.2" +package="b2qt-x86_64-meta-toolchain-b2qt-ci-sdk-qemuarm64-a9d5156a.sh" +PrimaryUrl="$primaryBaseUrlPath/$package" +AltUrl="$altBaseUrlPath/$package" +SHA1="f490cbcc4e0d5a87f4e07607a71013aeeabce94a" +yoctoInstaller="/tmp/yocto-toolchain-ARM64.sh" +yoctoLocationARM64="/opt/b2qt/$versionARM64" +sysrootARM64="cortexa57-poky-linux" +crosscompileARM64="sysroots/x86_64-pokysdk-linux/usr/bin/aarch64-poky-linux/aarch64-poky-linux-" +envSetupARM64="environment-setup-$sysrootARM64" +toolchainFileARM64="sysroots/x86_64-pokysdk-linux/usr/share/cmake/OEToolchainConfig.cmake" + +DownloadURL "$PrimaryUrl" "$AltUrl" "$SHA1" "$yoctoInstaller" +chmod +x "$yoctoInstaller" + +/bin/bash "$yoctoInstaller" -y -d "$yoctoLocationARM64" +rm -rf "$yoctoInstaller" + +echo "Installing Yocto toolchain for 64-bit b2qt MIPS64..." + +versionMIPS64="3.2" +package="b2qt-x86_64-meta-toolchain-b2qt-ci-sdk-qemumips64-a9d5156a.sh" +PrimaryUrl="$primaryBaseUrlPath/$package" +AltUrl="$altBaseUrlPath/$package" +SHA1="5d3a8bb4384de273937286d275d1dab36f969951" +yoctoInstaller="/tmp/yocto-toolchain-mips64.sh" +yoctoLocationMIPS64="/opt/b2qt/$versionMIPS64" +sysrootMIPS64="mips64r2-poky-linux" +crosscompileMIPS64="sysroots/x86_64-pokysdk-linux/usr/bin/mips64-poky-linux/mips64-poky-linux-" +envSetupMIPS64="environment-setup-$sysrootMIPS64" +toolchainFileMIPS64="sysroots/x86_64-pokysdk-linux/usr/share/cmake/OEToolchainConfig.cmake" + +DownloadURL "$PrimaryUrl" "$AltUrl" "$SHA1" "$yoctoInstaller" +chmod +x "$yoctoInstaller" + +/bin/bash "$yoctoInstaller" -y -d "$yoctoLocationMIPS64" +rm -rf "$yoctoInstaller" + + + +if [ -e "$yoctoLocationARMv7/sysroots/$sysrootARMv7" ] && [ -e "$yoctoLocationARMv7/${crosscompileARMv7}g++" ] && \ + [ -e "$yoctoLocationARMv7/$envSetupARMv7" ] && [ -e "$yoctoLocationARMv7/$toolchainFileARMv7" ] && \ + [ -e "$yoctoLocationARM64/sysroots/$sysrootARM64" ] && [ -e "$yoctoLocationARM64/${crosscompileARM64}g++" ] && \ + [ -e "$yoctoLocationARM64/$envSetupARM64" ] && [ -e "$yoctoLocationARM64/$toolchainFileARM64" ] && \ + [ -e "$yoctoLocationMIPS64/sysroots/$sysrootMIPS64" ] && [ -e "$yoctoLocationMIPS64/${crosscompileMIPS64}g++" ] && \ + [ -e "$yoctoLocationMIPS64/$envSetupMIPS64" ] && [ -e "$yoctoLocationMIPS64/$toolchainFileMIPS64" ]; then + SetEnvVar "QEMUARMV7_TOOLCHAIN_SYSROOT" "$yoctoLocationARMv7/sysroots/$sysrootARMv7" + SetEnvVar "QEMUARMV7_TOOLCHAIN_CROSS_COMPILE" "$yoctoLocationARMv7/$crosscompileARMv7" + SetEnvVar "QEMUARMV7_TOOLCHAIN_ENVSETUP" "$yoctoLocationARMv7/$envSetupARMv7" + SetEnvVar "QEMUARMV7_TOOLCHAIN_FILE" "$yoctoLocationARMv7/$toolchainFileARMv7" + SetEnvVar "QEMUARM64_TOOLCHAIN_SYSROOT" "$yoctoLocationARM64/sysroots/$sysrootARM64" + SetEnvVar "QEMUARM64_TOOLCHAIN_CROSS_COMPILE" "$yoctoLocationARM64/$crosscompileARM64" + SetEnvVar "QEMUARM64_TOOLCHAIN_ENVSETUP" "$yoctoLocationARM64/$envSetupARM64" + SetEnvVar "QEMUARM64_TOOLCHAIN_FILE" "$yoctoLocationARM64/$toolchainFileARM64" + SetEnvVar "QEMUMIPS64_TOOLCHAIN_SYSROOT" "$yoctoLocationMIPS64/sysroots/$sysrootMIPS64" + SetEnvVar "QEMUMIPS64_TOOLCHAIN_CROSS_COMPILE" "$yoctoLocationMIPS64/$crosscompileMIPS64" + SetEnvVar "QEMUMIPS64_TOOLCHAIN_ENVSETUP" "$yoctoLocationMIPS64/$envSetupMIPS64" + SetEnvVar "QEMUMIPS64_TOOLCHAIN_FILE" "$yoctoLocationMIPS64/$toolchainFileMIPS64" +else + echo "Error! Couldn't find installation paths for Yocto toolchain. Aborting provisioning." 1>&2 + exit 1 +fi + +cat << EOB >> ~/versions.txt +Yocto ARMv7 toolchain = $versionARM +Yocto ARM64 toolchain = $versionARM64 +Yocto MIPS64 toolchain = $versionMIPS64 +EOB + +# List qt user in qemu toolchain sysroots +sudo sh -c "grep ^qt /etc/passwd >> $yoctoLocationARMv7/sysroots/$sysrootARMv7/etc/passwd" +sudo sh -c "grep ^qt /etc/group >> $yoctoLocationARMv7/sysroots/$sysrootARMv7/etc/group" +sudo sh -c "grep ^qt /etc/passwd >> $yoctoLocationARM64/sysroots/$sysrootARM64/etc/passwd" +sudo sh -c "grep ^qt /etc/group >> $yoctoLocationARM64/sysroots/$sysrootARM64/etc/group" + +# Fix mdns to support both docker and network tests +# See also https://bugreports.qt.io/browse/QTBUG-106013 +sudo sh -c "sed -i '/^hosts:/s/.*/hosts: files myhostname mdns_minimal [NOTFOUND=return] dns mdns4/' $yoctoLocationARMv7/sysroots/$sysrootARMv7/etc/nsswitch.conf" +sudo sh -c "sed -i '/^hosts:/s/.*/hosts: files myhostname mdns_minimal [NOTFOUND=return] dns mdns4/' $yoctoLocationARM64/sysroots/$sysrootARM64/etc/nsswitch.conf" + +# Install qemu binfmt for 32bit and 64bit arm architectures +sudo update-binfmts --package qemu-arm --install arm $yoctoLocationARMv7/sysroots/x86_64-pokysdk-linux/usr/bin/qemu-arm \ +--magic "\x7f\x45\x4c\x46\x01\x01\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02\x00\x28\x00" \ +--mask "\xff\xff\xff\xff\xff\xff\xff\x00\xff\xff\xff\xff\xff\xff\xff\xff\xfe\xff\xff\xff" +sudo update-binfmts --package qemu-aarch64 --install aarch64 $yoctoLocationARM64/sysroots/x86_64-pokysdk-linux/usr/bin/qemu-aarch64 \ +--magic "\x7f\x45\x4c\x46\x02\x01\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02\x00\xb7\x00" \ +--mask "\xff\xff\xff\xff\xff\xff\xff\x00\xff\xff\xff\xff\xff\xff\xff\xff\xfe\xff\xff\xff" diff --git a/coin/provisioning/qtci-linux-Ubuntu-24.04-x86_64/08-integrity.sh b/coin/provisioning/qtci-linux-Ubuntu-24.04-x86_64/08-integrity.sh new file mode 100644 index 00000000..0e8dbb39 --- /dev/null +++ b/coin/provisioning/qtci-linux-Ubuntu-24.04-x86_64/08-integrity.sh @@ -0,0 +1,8 @@ +#!/usr/bin/env bash +# Copyright (C) 2017 The Qt Company Ltd. +# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only + +set -ex + +# shellcheck source=../common/linux/integrity.sh +source "${BASH_SOURCE%/*}/../common/linux/integrity.sh" diff --git a/coin/provisioning/qtci-linux-Ubuntu-24.04-x86_64/20-sccache.sh b/coin/provisioning/qtci-linux-Ubuntu-24.04-x86_64/20-sccache.sh new file mode 100644 index 00000000..b371d947 --- /dev/null +++ b/coin/provisioning/qtci-linux-Ubuntu-24.04-x86_64/20-sccache.sh @@ -0,0 +1,3 @@ +#!/usr/bin/env bash + +source "${BASH_SOURCE%/*}/../common/linux/sccache.sh" diff --git a/coin/provisioning/qtci-linux-Ubuntu-24.04-x86_64/22-mqtt_broker.sh b/coin/provisioning/qtci-linux-Ubuntu-24.04-x86_64/22-mqtt_broker.sh new file mode 100644 index 00000000..b0791cb1 --- /dev/null +++ b/coin/provisioning/qtci-linux-Ubuntu-24.04-x86_64/22-mqtt_broker.sh @@ -0,0 +1,8 @@ +#!/usr/bin/env bash +# Copyright (C) 2018 The Qt Company Ltd. +# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only + +set -ex + +# shellcheck source=../common/unix/mqtt_broker.sh +source "${BASH_SOURCE%/*}/../common/unix/mqtt_broker.sh" diff --git a/coin/provisioning/qtci-linux-Ubuntu-24.04-x86_64/30-fbx.sh b/coin/provisioning/qtci-linux-Ubuntu-24.04-x86_64/30-fbx.sh new file mode 100644 index 00000000..16a9bda8 --- /dev/null +++ b/coin/provisioning/qtci-linux-Ubuntu-24.04-x86_64/30-fbx.sh @@ -0,0 +1,8 @@ +#!/usr/bin/env bash +#Copyright (C) 2023 The Qt Company Ltd +#SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only + +set -ex + +BASEDIR=$(dirname "$0") +"$BASEDIR/../common/linux/fbx_linux.sh" diff --git a/coin/provisioning/qtci-linux-Ubuntu-24.04-x86_64/30-install-conan.sh b/coin/provisioning/qtci-linux-Ubuntu-24.04-x86_64/30-install-conan.sh new file mode 100644 index 00000000..d24cb242 --- /dev/null +++ b/coin/provisioning/qtci-linux-Ubuntu-24.04-x86_64/30-install-conan.sh @@ -0,0 +1,8 @@ +#!/usr/bin/env bash +#Copyright (C) 2023 The Qt Company Ltd +#SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only + +set -ex + +BASEDIR=$(dirname "$0") +"$BASEDIR/../common/unix/install-conan.sh" "linux" "--break-system-packages" diff --git a/coin/provisioning/qtci-linux-Ubuntu-24.04-x86_64/30-install_icu.sh b/coin/provisioning/qtci-linux-Ubuntu-24.04-x86_64/30-install_icu.sh new file mode 100644 index 00000000..260dc55a --- /dev/null +++ b/coin/provisioning/qtci-linux-Ubuntu-24.04-x86_64/30-install_icu.sh @@ -0,0 +1,48 @@ +#!/usr/bin/env bash +# Copyright (C) 2023 The Qt Company Ltd. +# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only + +# shellcheck source=../common/unix/DownloadURL.sh +source "${BASH_SOURCE%/*}/../common/unix/DownloadURL.sh" + +set -ex + +# This script will install ICU + +icuVersion="73.2" +icuLocationLib="/opt/icu/lib64" +icuLocationInclude="/opt/icu/include" +sha1="5699987afcceb0390e52fb860bb3b4ab8b39cabe" +baseBinaryPackageURL="http://ci-files01-hki.ci.qt.io/input/icu/$icuVersion/icu-linux-g++-Ubuntu22.04-x64.7z" +baseBinaryPackageExternalURL="http://master.qt.io/development_releases/prebuilt/icu/prebuilt/$icuVersion/icu-linux-g++-Ubuntu22.04-x64.7z" + +sha1Dev="6b9da2fa5fd88db88e9957ee5e3cf9dbcd08fe6b" +develPackageURL="http://ci-files01-hki.ci.qt.io/input/icu/$icuVersion/icu-linux-g++-Ubuntu22.04-x64-devel.7z" +develPackageExternalURL="http://master.qt.io/development_releases/prebuilt/icu/prebuilt/$icuVersion/icu-linux-g++-Ubuntu22.04-x64-devel.7z" + +echo "Installing custom ICU $icuVersion $sha1 packages on CentOS to $icuLocationLib" + +targetFile=$(mktemp) +sudo mkdir -p "$icuLocationLib" +sudo mkdir -p "$icuLocationInclude" +DownloadURL "$baseBinaryPackageURL" "$baseBinaryPackageExternalURL" "$sha1" "$targetFile" +sudo 7z x -y -o$icuLocationLib "$targetFile" +sudo rm "$targetFile" + +echo "Installing custom ICU devel packages on CentOS" + +tempDir=$(mktemp -d) + +targetFile=$(mktemp) +DownloadURL "$develPackageURL" "$develPackageExternalURL" "$sha1Dev" "$targetFile" +7z x -y -o"$tempDir" "$targetFile" + +sudo cp -a "$tempDir"/lib/* "$icuLocationLib" +sudo cp -a "$tempDir"/* /opt/icu/ + +sudo rm "$targetFile" +sudo rm -fr "$tempDir" + +sudo /sbin/ldconfig + +echo "ICU = $icuVersion" >> ~/versions.txt diff --git a/coin/provisioning/qtci-linux-Ubuntu-24.04-x86_64/35-install-breakpad.sh b/coin/provisioning/qtci-linux-Ubuntu-24.04-x86_64/35-install-breakpad.sh new file mode 100644 index 00000000..8a9dde56 --- /dev/null +++ b/coin/provisioning/qtci-linux-Ubuntu-24.04-x86_64/35-install-breakpad.sh @@ -0,0 +1,8 @@ +#!/usr/bin/env bash +#Copyright (C) 2023 The Qt Company Ltd +#SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only + +set -ex + +# shellcheck source=../common/unix/install-breakpad.sh +source "${BASH_SOURCE%/*}/../common/unix/install-breakpad.sh" diff --git a/coin/provisioning/qtci-linux-Ubuntu-24.04-x86_64/40-android_linux.sh b/coin/provisioning/qtci-linux-Ubuntu-24.04-x86_64/40-android_linux.sh new file mode 100644 index 00000000..2526bc6d --- /dev/null +++ b/coin/provisioning/qtci-linux-Ubuntu-24.04-x86_64/40-android_linux.sh @@ -0,0 +1,8 @@ +#!/bin/bash +# Copyright (C) 2017 The Qt Company Ltd. +# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only + +set -ex + +# shellcheck source=../common/linux/android_linux.sh +source "${BASH_SOURCE%/*}/../common/linux/android_linux.sh" diff --git a/coin/provisioning/qtci-linux-Ubuntu-24.04-x86_64/40-install-cmake.sh b/coin/provisioning/qtci-linux-Ubuntu-24.04-x86_64/40-install-cmake.sh new file mode 100644 index 00000000..a418e4c5 --- /dev/null +++ b/coin/provisioning/qtci-linux-Ubuntu-24.04-x86_64/40-install-cmake.sh @@ -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" + diff --git a/coin/provisioning/qtci-linux-Ubuntu-24.04-x86_64/41-install-vcpkg.sh b/coin/provisioning/qtci-linux-Ubuntu-24.04-x86_64/41-install-vcpkg.sh new file mode 100644 index 00000000..aa88364d --- /dev/null +++ b/coin/provisioning/qtci-linux-Ubuntu-24.04-x86_64/41-install-vcpkg.sh @@ -0,0 +1,6 @@ +#!/usr/bin/env bash + +set -ex + +BASEDIR=$(dirname "$0") +"$BASEDIR/../common/linux/install-vcpkg.sh" diff --git a/coin/provisioning/qtci-linux-Ubuntu-24.04-x86_64/42-install-vcpkg-ports.sh b/coin/provisioning/qtci-linux-Ubuntu-24.04-x86_64/42-install-vcpkg-ports.sh new file mode 100644 index 00000000..71a46f9a --- /dev/null +++ b/coin/provisioning/qtci-linux-Ubuntu-24.04-x86_64/42-install-vcpkg-ports.sh @@ -0,0 +1,6 @@ +#!/usr/bin/env bash + +set -ex + +BASEDIR=$(dirname "$0") +"$BASEDIR/../common/linux/install-vcpkg-ports.sh" diff --git a/coin/provisioning/qtci-linux-Ubuntu-24.04-x86_64/45-install-cpdb.sh b/coin/provisioning/qtci-linux-Ubuntu-24.04-x86_64/45-install-cpdb.sh new file mode 100644 index 00000000..40497ee0 --- /dev/null +++ b/coin/provisioning/qtci-linux-Ubuntu-24.04-x86_64/45-install-cpdb.sh @@ -0,0 +1,13 @@ +#!/usr/bin/env bash +# Copyright (C) 2023 The Qt Company Ltd. +# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only + +# This script install cpdb from sources. +# Requires GCC and Perl to be in PATH. +set -ex + +# Install the dependencies +sudo apt install -y make autoconf autopoint libglib2.0-dev libdbus-1-dev libtool + +BASEDIR=$(dirname "$0") +"$BASEDIR/../common/linux/install-cpdb.sh" diff --git a/coin/provisioning/qtci-linux-Ubuntu-24.04-x86_64/50-openssl_for_android_linux.sh b/coin/provisioning/qtci-linux-Ubuntu-24.04-x86_64/50-openssl_for_android_linux.sh new file mode 100644 index 00000000..fd1151d9 --- /dev/null +++ b/coin/provisioning/qtci-linux-Ubuntu-24.04-x86_64/50-openssl_for_android_linux.sh @@ -0,0 +1,8 @@ +#!/bin/bash +# Copyright (C) 2021 The Qt Company Ltd. +# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only + +set -ex + +# shellcheck source=../common/unix/openssl_for_android.sh +source "${BASH_SOURCE%/*}/../common/unix/openssl_for_android.sh" diff --git a/coin/provisioning/qtci-linux-Ubuntu-24.04-x86_64/60-install_protobuf.sh b/coin/provisioning/qtci-linux-Ubuntu-24.04-x86_64/60-install_protobuf.sh new file mode 100644 index 00000000..3e2b8921 --- /dev/null +++ b/coin/provisioning/qtci-linux-Ubuntu-24.04-x86_64/60-install_protobuf.sh @@ -0,0 +1,9 @@ +#!/usr/bin/env bash +# Copyright (C) 2018 The Qt Company Ltd. +# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only + +set -ex + +# shellcheck source=../common/unix/install_protobuf.sh +source "${BASH_SOURCE%/*}/../common/unix/install_protobuf.sh" + diff --git a/coin/provisioning/qtci-linux-Ubuntu-24.04-x86_64/61-install_grpc.sh b/coin/provisioning/qtci-linux-Ubuntu-24.04-x86_64/61-install_grpc.sh new file mode 100644 index 00000000..ecd6a51f --- /dev/null +++ b/coin/provisioning/qtci-linux-Ubuntu-24.04-x86_64/61-install_grpc.sh @@ -0,0 +1,9 @@ +#!/usr/bin/env bash +# Copyright (C) 2022 The Qt Company Ltd. +# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only + +set -ex + +# shellcheck source=../common/unix/install_grpc.sh +source "${BASH_SOURCE%/*}/../common/unix/install_grpc.sh" + diff --git a/coin/provisioning/qtci-linux-Ubuntu-24.04-x86_64/70-install_QemuGA.sh b/coin/provisioning/qtci-linux-Ubuntu-24.04-x86_64/70-install_QemuGA.sh new file mode 100644 index 00000000..9a80fc0b --- /dev/null +++ b/coin/provisioning/qtci-linux-Ubuntu-24.04-x86_64/70-install_QemuGA.sh @@ -0,0 +1,10 @@ +#!/usr/bin/env bash +# Copyright (C) 2020 The Qt Company Ltd. +# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only + +# This script installs QEMU Guest Agent + +set -ex + +sudo apt -y install qemu-guest-agent +sudo systemctl start qemu-guest-agent diff --git a/coin/provisioning/qtci-linux-Ubuntu-24.04-x86_64/70-qnx710.sh b/coin/provisioning/qtci-linux-Ubuntu-24.04-x86_64/70-qnx710.sh new file mode 100644 index 00000000..08eeb57b --- /dev/null +++ b/coin/provisioning/qtci-linux-Ubuntu-24.04-x86_64/70-qnx710.sh @@ -0,0 +1,13 @@ +#!/usr/bin/env bash +# Copyright (C) 2021 The Qt Company Ltd. +# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only + +set -ex + +# shellcheck source=../common/linux/qnx_710.sh +source "${BASH_SOURCE%/*}/../common/linux/qnx_710.sh" + +# setup NFS +sudo bash -c "echo '/home/qt/work ${qemuNetwork}/24(rw,sync,root_squash,no_subtree_check,anonuid=1000,anongid=1000)' >> /etc/exports" +sudo exportfs -a +sudo systemctl restart nfs-kernel-server diff --git a/coin/provisioning/qtci-linux-Ubuntu-24.04-x86_64/70-vxworks.sh b/coin/provisioning/qtci-linux-Ubuntu-24.04-x86_64/70-vxworks.sh new file mode 100644 index 00000000..3bb48d11 --- /dev/null +++ b/coin/provisioning/qtci-linux-Ubuntu-24.04-x86_64/70-vxworks.sh @@ -0,0 +1,8 @@ +#!/usr/bin/env bash +# Copyright (C) 2021 The Qt Company Ltd. +# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only + +set -ex + +# shellcheck source=../common/linux/vx_works.sh +source "${BASH_SOURCE%/*}/../common/linux/vx_works.sh" diff --git a/coin/provisioning/qtci-linux-Ubuntu-24.04-x86_64/80-docker.sh b/coin/provisioning/qtci-linux-Ubuntu-24.04-x86_64/80-docker.sh new file mode 100644 index 00000000..049e61f6 --- /dev/null +++ b/coin/provisioning/qtci-linux-Ubuntu-24.04-x86_64/80-docker.sh @@ -0,0 +1,59 @@ +#!/usr/bin/env bash +# Copyright (C) 2023 The Qt Company Ltd. +# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only + +set -e + +PROVISIONING_DIR="$(dirname "$0")/../" +# shellcheck source=../common/unix/common.sourced.sh +source "$PROVISIONING_DIR"/common/unix/common.sourced.sh +# shellcheck source=../common/unix/DownloadURL.sh +source "$PROVISIONING_DIR"/common/unix/DownloadURL.sh + +localRepo=http://ci-files01-hki.ci.qt.io/input/docker +# upstreamRepo=https://download.docker.com/linux/ubuntu/dists/bionic/pool/stable/amd64 +#upstreamRepo=https://download.docker.com/linux/ubuntu/dists/jammy/pool/stable/amd64 +upstreamRepo=https://download.docker.com/linux/ubuntu/dists/noble/pool/stable/amd64 +echo ' + 57c62933ad2dc07a3a79efd5b464ea84fa80c773 containerd.io_1.6.31-1_amd64.deb + cbcd536345e052b9221a0240caa451e1b687a05e docker-ce_26.1.0-1~ubuntu.24.04~noble_amd64.deb + 6f0989763692b88b748444174e70b6069c781533 docker-ce-cli_26.1.0-1~ubuntu.24.04~noble_amd64.deb +' \ + | xargs -n2 | while read -r sha f +do + DownloadURL "$localRepo/$f" "$upstreamRepo/$f" "$sha" +done + +sudo apt-get -y install ./containerd.io_*.deb ./docker-ce_*.deb ./docker-ce-cli_*.deb +rm -f ./containerd.io_*.deb ./docker-ce_*.deb ./docker-ce-cli_*.deb + +sudo usermod -a -G docker "$USER" +sudo docker --version + +# Download and install the docker-compose extension from https://github.com/docker/compose/releases +f=docker-compose-$(uname -s)-$(uname -m) +DownloadURL \ + "$localRepo/$f-1.24.1" \ + "https://github.com/docker/compose/releases/download/1.24.1/$f" \ + cfb3439956216b1248308141f7193776fcf4b9c9b49cbbe2fb07885678e2bb8a +sudo install -m 755 ./docker-compose* /usr/local/bin/docker-compose +sudo docker-compose --version +rm ./docker-compose* + +# Install Avahi to discover Docker containers in the test network +sudo apt-get install avahi-daemon -y + +# Add registry mirror for docker images +sudo tee -a /etc/docker/daemon.json <<"EOF" +{ + "registry-mirrors": ["http://repo-clones.ci.qt.io:5000"] +} +EOF + +echo "Restart Docker" +sudo systemctl daemon-reload +sudo systemctl restart docker + +# Start testserver provisioning +sudo "$(readlink -f "$(dirname "${BASH_SOURCE[0]}")")/../common/shared/testserver/docker_testserver.sh" + diff --git a/coin/provisioning/qtci-linux-Ubuntu-24.04-x86_64/81-fix_mdns_docker_resolution.sh b/coin/provisioning/qtci-linux-Ubuntu-24.04-x86_64/81-fix_mdns_docker_resolution.sh new file mode 100644 index 00000000..30fe71ca --- /dev/null +++ b/coin/provisioning/qtci-linux-Ubuntu-24.04-x86_64/81-fix_mdns_docker_resolution.sh @@ -0,0 +1,15 @@ +#!/usr/bin/env bash +# Copyright (C) 2021 The Qt Company Ltd. +# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only + +# The new version of libnss-mdns resolver library automatically rejects all +# hostnames with more than two labels (i.e. subdomains deep), for example +# vsftpd.test-net.qt.local is automatically rejected. The changes here fix +# this, see also https://github.com/lathiat/nss-mdns#etcmdnsallow + +cat <<EOT | sudo tee /etc/mdns.allow +.local. +.local +EOT + +sudo sed -i '/^hosts:/s/.*/hosts: files mdns_minimal [NOTFOUND=return] mdns4 dns/' /etc/nsswitch.conf diff --git a/coin/provisioning/qtci-linux-Ubuntu-24.04-x86_64/85-qdoc_qtattributionsscanner.sh b/coin/provisioning/qtci-linux-Ubuntu-24.04-x86_64/85-qdoc_qtattributionsscanner.sh new file mode 100644 index 00000000..fd2a3afd --- /dev/null +++ b/coin/provisioning/qtci-linux-Ubuntu-24.04-x86_64/85-qdoc_qtattributionsscanner.sh @@ -0,0 +1,33 @@ +#!/usr/bin/env bash +# Copyright (C) 2022 The Qt Company Ltd. +# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only + +# Provisions qdoc and qtattributionsscanner binaries; these are used for +# documentation testing without the need for a dependency to qttools. + +set -e + +# shellcheck source=../common/unix/check_and_set_proxy.sh +"${BASH_SOURCE%/*}/../common/unix/check_and_set_proxy.sh" +# shellcheck source=../common/unix/DownloadURL.sh +source "${BASH_SOURCE%/*}/../common/unix/DownloadURL.sh" +version="68bdc5764da2d4e442181b408751b6572f36fa74" +sha1="dac76e8f6cb69990661e7d814bea6f32fea29bf4" +url="https://download.qt.io/development_releases/prebuilt/qdoc/qt/qdoc-qtattributionsscanner_${version//\./}-based-linux-Ubuntu22.04-gcc11.4-x86_64.7z" +url_cached="http://ci-files01-hki.ci.qt.io/input/qdoc/qt/qdoc-qtattributionsscanner_${version//\./}-based-linux-Ubuntu22.04-gcc11.4-x86_64.7z" + +zip="/tmp/qdoc-qtattributionsscanner.7z" +destination="/opt/qt-doctools" + +sudo mkdir -p "$destination" +sudo chmod 755 "$destination" +DownloadURL "$url_cached" "$url" "$sha1" "$zip" +if command -v 7zr &> /dev/null; then + sudo 7zr x "$zip" "-o$destination/" +else + sudo 7z x "$zip" "-o$destination/" +fi +sudo chown -R qt:users "$destination" +rm -rf "$zip" + +echo -e "qdoc = $version\nqtattributionsscanner = $version" >> ~/versions.txt diff --git a/coin/provisioning/qtci-linux-Ubuntu-24.04-x86_64/90-bootstrap-autostart.sh b/coin/provisioning/qtci-linux-Ubuntu-24.04-x86_64/90-bootstrap-autostart.sh new file mode 100644 index 00000000..1ff43850 --- /dev/null +++ b/coin/provisioning/qtci-linux-Ubuntu-24.04-x86_64/90-bootstrap-autostart.sh @@ -0,0 +1,3 @@ +#!/usr/bin/env bash + +source "${BASH_SOURCE%/*}/../common/linux/bootstrap-autostart.sh" diff --git a/coin/provisioning/qtci-linux-Ubuntu-24.04-x86_64/90-install-ffmpeg.sh b/coin/provisioning/qtci-linux-Ubuntu-24.04-x86_64/90-install-ffmpeg.sh new file mode 100644 index 00000000..61da9b7b --- /dev/null +++ b/coin/provisioning/qtci-linux-Ubuntu-24.04-x86_64/90-install-ffmpeg.sh @@ -0,0 +1,3 @@ +#!/usr/bin/env bash + +source "${BASH_SOURCE%/*}/../common/unix/install-ffmpeg.sh" "linux" diff --git a/coin/provisioning/qtci-linux-Ubuntu-24.04-x86_64/90-mimer.sh b/coin/provisioning/qtci-linux-Ubuntu-24.04-x86_64/90-mimer.sh new file mode 100644 index 00000000..f06ca1c8 --- /dev/null +++ b/coin/provisioning/qtci-linux-Ubuntu-24.04-x86_64/90-mimer.sh @@ -0,0 +1,8 @@ +#!/usr/bin/env bash +# Copyright (C) 2022 The Qt Company Ltd. +# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only + +set -ex + +BASEDIR=$(dirname "$0") +"$BASEDIR/../common/linux/mimersql.sh" "openssl-3" "deb" diff --git a/coin/provisioning/qtci-linux-Ubuntu-24.04-x86_64/90-squish.sh b/coin/provisioning/qtci-linux-Ubuntu-24.04-x86_64/90-squish.sh new file mode 100644 index 00000000..f803ccc1 --- /dev/null +++ b/coin/provisioning/qtci-linux-Ubuntu-24.04-x86_64/90-squish.sh @@ -0,0 +1,6 @@ +#!/usr/bin/env bash +#Copyright (C) 2023 The Qt Company Ltd +#SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only +BASEDIR=$(dirname "$0") +"$BASEDIR/../common/unix/squishInstall.sh" + diff --git a/coin/provisioning/qtci-linux-Ubuntu-24.04-x86_64/91-squish-coco.sh b/coin/provisioning/qtci-linux-Ubuntu-24.04-x86_64/91-squish-coco.sh new file mode 100644 index 00000000..e42a5373 --- /dev/null +++ b/coin/provisioning/qtci-linux-Ubuntu-24.04-x86_64/91-squish-coco.sh @@ -0,0 +1,6 @@ +#!/bin/bash +#Copyright (C) 2023 The Qt Company Ltd +#SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only + +# shellcheck source=../common/linux/squish-coco.sh +source "${BASH_SOURCE%/*}/../common/linux/squish-coco.sh" diff --git a/coin/provisioning/qtci-linux-Ubuntu-24.04-x86_64/92-sbuild.sh b/coin/provisioning/qtci-linux-Ubuntu-24.04-x86_64/92-sbuild.sh new file mode 100644 index 00000000..d538d783 --- /dev/null +++ b/coin/provisioning/qtci-linux-Ubuntu-24.04-x86_64/92-sbuild.sh @@ -0,0 +1,57 @@ +#!/usr/bin/env bash +# Copyright (C) 2021 The Qt Company Ltd. +# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only + +# Setups sbuild environment + +tee ~/.sbuildrc << EOF +############################################################################## +# PACKAGE BUILD RELATED (additionally produce _source.changes) +############################################################################## +# -d +\$distribution = 'stable'; +# -A +\$build_arch_all = 1; +# -s +\$build_source = 1; +# -v +\$verbose = 1; +# parallel build +\$ENV{'DEB_BUILD_OPTIONS'} = 'parallel=8'; +############################################################################## +# POST-BUILD RELATED (turn off functionality by setting variables to 0) +############################################################################## +\$run_lintian = 1; +\$lintian_opts = ['-i', '-I']; +\$run_piuparts = 0; +\$piuparts_opts = ['--schroot', 'stable-amd64-sbuild', '--no-eatmydata']; +\$run_autopkgtest = 0; +\$autopkgtest_root_args = ''; +\$autopkgtest_opts = [ '--', 'schroot', '%r-%a-sbuild' ]; + +############################################################################## +# PERL MAGIC +############################################################################## +1; +EOF + +# Add user group +sudo sbuild-adduser "$LOGNAME" +newgrp sbuild + +# Create chroot +sudo sbuild-createchroot --include=eatmydata,ccache,gnupg,ca-certificates stable /srv/chroot/stable-amd64 + +# For ubuntu 24.04 +echo "Create chroot for Ubuntu Noble" +## ccache can't be found with Jammy (TODO: but now we have Noble - this should be tested) +sudo sbuild-createchroot --include=eatmydata,gnupg,ca-certificates noble /srv/chroot/noble-amd64 http://archive.ubuntu.com/ubuntu/ +echo "Done creating chroot for Ubuntu Noble" + +# Update chroot. +sudo sbuild-update -udcar stable + + + + + diff --git a/coin/provisioning/qtci-linux-Ubuntu-24.04-x86_64/93-axivion-bauhaus-suite.sh b/coin/provisioning/qtci-linux-Ubuntu-24.04-x86_64/93-axivion-bauhaus-suite.sh new file mode 100644 index 00000000..8cecbbc3 --- /dev/null +++ b/coin/provisioning/qtci-linux-Ubuntu-24.04-x86_64/93-axivion-bauhaus-suite.sh @@ -0,0 +1,6 @@ +#!/bin/bash +#Copyright (C) 2023 The Qt Company Ltd +#SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only + +# shellcheck source=../common/linux/axivion-bauhaus-suite.sh +source "${BASH_SOURCE%/*}/../common/linux/axivion-bauhaus-suite.sh" diff --git a/coin/provisioning/qtci-linux-Ubuntu-24.04-x86_64/93-download-files-for-sbuild.sh b/coin/provisioning/qtci-linux-Ubuntu-24.04-x86_64/93-download-files-for-sbuild.sh new file mode 100644 index 00000000..f2192a4f --- /dev/null +++ b/coin/provisioning/qtci-linux-Ubuntu-24.04-x86_64/93-download-files-for-sbuild.sh @@ -0,0 +1,17 @@ +#!/usr/bin/env bash +# Copyright (C) 2023 The Qt Company Ltd. +# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only + +# Get required deb files for sbuild to build qt debian packages for Ubuntu jammy +mkdir -p /home/qt/debian_packages +cd /home/qt/debian_packages || exit +# Backported cmake 3.24 +wget https://ci-files01-hki.intra.qt.io/input/debian/cmake/amd64-jammy/cmake-3.24-deb.tar.gz +tar xzf cmake-3.24-deb.tar.gz +rm -rf cmake-3.24-deb.tar.gz +# TODO: Adapt this from jammy to noble Ubuntu 24.04: +# get rest of ready made Ubuntu jammy arm debian packages +# so that sbuild can find those + +#wget http://ci-files01-hki.ci.qt.io/input/debian/icu/amd64-jammy/libicu-56.1-qt_56.1-1_amd64.deb +#wget http://ci-files01-hki.ci.qt.io/input/debian/icu/amd64-jammy/libicu-56.1-qt-dev_56.1-1_amd64.deb diff --git a/coin/provisioning/qtci-linux-Ubuntu-24.04-x86_64/93-lcov.sh b/coin/provisioning/qtci-linux-Ubuntu-24.04-x86_64/93-lcov.sh new file mode 100644 index 00000000..de4a74d5 --- /dev/null +++ b/coin/provisioning/qtci-linux-Ubuntu-24.04-x86_64/93-lcov.sh @@ -0,0 +1,9 @@ +#!/usr/bin/env bash +# Copyright (C) 2024 The Qt Company Ltd. +# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only + +# Install lcov 2.0 from 24.04/noble numbat + +echo "Installing lcov" +wget https://ci-files01-hki.ci.qt.io/input/lcov/lcov_2.0-4ubuntu1_all.deb +sudo DEBIAN_FRONTEND=noninteractive apt-get -q -y -o DPkg::Lock::Timeout=300 install -f ./lcov_2.0-4ubuntu1_all.deb diff --git a/coin/provisioning/qtci-linux-Ubuntu-24.04-x86_64/99-cleanup.sh b/coin/provisioning/qtci-linux-Ubuntu-24.04-x86_64/99-cleanup.sh new file mode 100644 index 00000000..4d6e16ea --- /dev/null +++ b/coin/provisioning/qtci-linux-Ubuntu-24.04-x86_64/99-cleanup.sh @@ -0,0 +1,7 @@ +#!/usr/bin/env bash +# Copyright (C) 2022 The Qt Company Ltd. +# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only + +set -ex + +"$(dirname "$0")"/../common/linux/cleanup_cache.sh diff --git a/coin/provisioning/qtci-linux-Ubuntu-24.04-x86_64/99-enable_test_stacktraces.sh b/coin/provisioning/qtci-linux-Ubuntu-24.04-x86_64/99-enable_test_stacktraces.sh new file mode 100644 index 00000000..600b7850 --- /dev/null +++ b/coin/provisioning/qtci-linux-Ubuntu-24.04-x86_64/99-enable_test_stacktraces.sh @@ -0,0 +1,8 @@ +#!/usr/bin/env bash +#Copyright (C) 2023 The Qt Company Ltd +#SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only + +set -ex + +BASEDIR=$(dirname "$0") +"$BASEDIR"/../common/linux/enable_test_stacktraces.sh diff --git a/coin/provisioning/qtci-linux-Ubuntu-24.04-x86_64/99-version.sh b/coin/provisioning/qtci-linux-Ubuntu-24.04-x86_64/99-version.sh new file mode 100644 index 00000000..31821f6b --- /dev/null +++ b/coin/provisioning/qtci-linux-Ubuntu-24.04-x86_64/99-version.sh @@ -0,0 +1,6 @@ +#!/bin/bash +#Copyright (C) 2023 The Qt Company Ltd +#SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only + +BASEDIR=$(dirname "$0") +"$BASEDIR/../common/linux/ubuntu-version.sh" diff --git a/coin/provisioning/qtci-macos-12-arm/01-set_tcc_permissions.sh b/coin/provisioning/qtci-macos-12-arm/01-set_tcc_permissions.sh new file mode 100755 index 00000000..da38f582 --- /dev/null +++ b/coin/provisioning/qtci-macos-12-arm/01-set_tcc_permissions.sh @@ -0,0 +1,6 @@ +#!/usr/bin/env bash +# Copyright (C) 2024 The Qt Company Ltd. +# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only + +set -ex +source "${BASH_SOURCE%/*}/../common/macos/set_tcc_permissions.sh" diff --git a/coin/provisioning/qtci-macos-12-x86_64/27-binutils.sh b/coin/provisioning/qtci-macos-12-x86_64/27-binutils.sh new file mode 100755 index 00000000..04d3c5bf --- /dev/null +++ b/coin/provisioning/qtci-macos-12-x86_64/27-binutils.sh @@ -0,0 +1,10 @@ +#!/usr/bin/env bash +#Copyright (C) 2024 The Qt Company Ltd +#SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only + +set -ex + +# binutlis is installed with an error: The formula built, but is not symlinked into /usr/local +# To avoid stopping the configuration due to this problem, "|| true" is added. +brew install binutils || true + diff --git a/coin/provisioning/qtci-macos-12-x86_64/28-patchelf.sh b/coin/provisioning/qtci-macos-12-x86_64/28-patchelf.sh new file mode 100755 index 00000000..0710f483 --- /dev/null +++ b/coin/provisioning/qtci-macos-12-x86_64/28-patchelf.sh @@ -0,0 +1,8 @@ +#!/usr/bin/env bash +#Copyright (C) 2024 The Qt Company Ltd +#SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only + +set -ex + +brew install patchelf + diff --git a/coin/provisioning/qtci-macos-13-arm/01-set_tcc_permissions.sh b/coin/provisioning/qtci-macos-13-arm/01-set_tcc_permissions.sh new file mode 100755 index 00000000..da38f582 --- /dev/null +++ b/coin/provisioning/qtci-macos-13-arm/01-set_tcc_permissions.sh @@ -0,0 +1,6 @@ +#!/usr/bin/env bash +# Copyright (C) 2024 The Qt Company Ltd. +# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only + +set -ex +source "${BASH_SOURCE%/*}/../common/macos/set_tcc_permissions.sh" diff --git a/coin/provisioning/qtci-macos-13-x86_64/27-binutils.sh b/coin/provisioning/qtci-macos-13-x86_64/27-binutils.sh new file mode 100755 index 00000000..04d3c5bf --- /dev/null +++ b/coin/provisioning/qtci-macos-13-x86_64/27-binutils.sh @@ -0,0 +1,10 @@ +#!/usr/bin/env bash +#Copyright (C) 2024 The Qt Company Ltd +#SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only + +set -ex + +# binutlis is installed with an error: The formula built, but is not symlinked into /usr/local +# To avoid stopping the configuration due to this problem, "|| true" is added. +brew install binutils || true + diff --git a/coin/provisioning/qtci-macos-13-x86_64/28-patchelf.sh b/coin/provisioning/qtci-macos-13-x86_64/28-patchelf.sh new file mode 100755 index 00000000..0710f483 --- /dev/null +++ b/coin/provisioning/qtci-macos-13-x86_64/28-patchelf.sh @@ -0,0 +1,8 @@ +#!/usr/bin/env bash +#Copyright (C) 2024 The Qt Company Ltd +#SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only + +set -ex + +brew install patchelf + diff --git a/coin/provisioning/qtci-macos-14-arm/36-install_grpc.sh b/coin/provisioning/qtci-macos-14-arm/36-install_grpc.sh index ecd6a51f..d2860845 100755 --- a/coin/provisioning/qtci-macos-14-arm/36-install_grpc.sh +++ b/coin/provisioning/qtci-macos-14-arm/36-install_grpc.sh @@ -5,5 +5,6 @@ set -ex # shellcheck source=../common/unix/install_grpc.sh -source "${BASH_SOURCE%/*}/../common/unix/install_grpc.sh" +# Temporarily disabled due to OpenSSL linking errors +#source "${BASH_SOURCE%/*}/../common/unix/install_grpc.sh" diff --git a/coin/provisioning/qtci-windows-10-x86/02-python.ps1 b/coin/provisioning/qtci-windows-10-x86/02-python.ps1 deleted file mode 100644 index 19e64a94..00000000 --- a/coin/provisioning/qtci-windows-10-x86/02-python.ps1 +++ /dev/null @@ -1 +0,0 @@ -. "$PSScriptRoot\..\common\windows\python.ps1" 32 diff --git a/coin/provisioning/qtci-windows-10-x86_64/02-python-32bit.ps1 b/coin/provisioning/qtci-windows-10-x86_64/02-python-32bit.ps1 deleted file mode 100644 index bd2d52c3..00000000 --- a/coin/provisioning/qtci-windows-10-x86_64/02-python-32bit.ps1 +++ /dev/null @@ -1 +0,0 @@ -. "$PSScriptRoot\..\common\windows\python.ps1" 32 "C:\Python27_32" diff --git a/coin/provisioning/qtci-windows-10-x86_64/02-python.ps1 b/coin/provisioning/qtci-windows-10-x86_64/02-python.ps1 deleted file mode 100644 index e2e9be9c..00000000 --- a/coin/provisioning/qtci-windows-10-x86_64/02-python.ps1 +++ /dev/null @@ -1 +0,0 @@ -. "$PSScriptRoot\..\common\windows\python.ps1" 64 diff --git a/coin/provisioning/qtci-windows-10_21H2-x86_64/02-python-32bit.ps1 b/coin/provisioning/qtci-windows-10_21H2-x86_64/02-python-32bit.ps1 deleted file mode 100644 index bd2d52c3..00000000 --- a/coin/provisioning/qtci-windows-10_21H2-x86_64/02-python-32bit.ps1 +++ /dev/null @@ -1 +0,0 @@ -. "$PSScriptRoot\..\common\windows\python.ps1" 32 "C:\Python27_32" diff --git a/coin/provisioning/qtci-windows-10_21H2-x86_64/02-python.ps1 b/coin/provisioning/qtci-windows-10_21H2-x86_64/02-python.ps1 deleted file mode 100644 index e2e9be9c..00000000 --- a/coin/provisioning/qtci-windows-10_21H2-x86_64/02-python.ps1 +++ /dev/null @@ -1 +0,0 @@ -. "$PSScriptRoot\..\common\windows\python.ps1" 64 diff --git a/coin/provisioning/qtci-windows-10_22H2-x86_64/02-python-32bit.ps1 b/coin/provisioning/qtci-windows-10_22H2-x86_64/02-python-32bit.ps1 deleted file mode 100644 index bd2d52c3..00000000 --- a/coin/provisioning/qtci-windows-10_22H2-x86_64/02-python-32bit.ps1 +++ /dev/null @@ -1 +0,0 @@ -. "$PSScriptRoot\..\common\windows\python.ps1" 32 "C:\Python27_32" diff --git a/coin/provisioning/qtci-windows-10_22H2-x86_64/02-python.ps1 b/coin/provisioning/qtci-windows-10_22H2-x86_64/02-python.ps1 deleted file mode 100644 index e2e9be9c..00000000 --- a/coin/provisioning/qtci-windows-10_22H2-x86_64/02-python.ps1 +++ /dev/null @@ -1 +0,0 @@ -. "$PSScriptRoot\..\common\windows\python.ps1" 64 diff --git a/coin/provisioning/qtci-windows-10_22H2-x86_64/98-git_usr_bin_to_path.ps1 b/coin/provisioning/qtci-windows-10_22H2-x86_64/98-git_usr_bin_to_path.ps1 deleted file mode 100644 index b3a976d3..00000000 --- a/coin/provisioning/qtci-windows-10_22H2-x86_64/98-git_usr_bin_to_path.ps1 +++ /dev/null @@ -1 +0,0 @@ -. "$PSScriptRoot\..\common\windows\git_usr_bin_to_path.ps1" diff --git a/coin/provisioning/qtci-windows-11_21H2-x86_64/02-python-32bit.ps1 b/coin/provisioning/qtci-windows-11_21H2-x86_64/02-python-32bit.ps1 deleted file mode 100644 index bd2d52c3..00000000 --- a/coin/provisioning/qtci-windows-11_21H2-x86_64/02-python-32bit.ps1 +++ /dev/null @@ -1 +0,0 @@ -. "$PSScriptRoot\..\common\windows\python.ps1" 32 "C:\Python27_32" diff --git a/coin/provisioning/qtci-windows-11_21H2-x86_64/02-python.ps1 b/coin/provisioning/qtci-windows-11_21H2-x86_64/02-python.ps1 deleted file mode 100644 index e2e9be9c..00000000 --- a/coin/provisioning/qtci-windows-11_21H2-x86_64/02-python.ps1 +++ /dev/null @@ -1 +0,0 @@ -. "$PSScriptRoot\..\common\windows\python.ps1" 64 diff --git a/coin/provisioning/qtci-windows-11_22H2-aarch64/00-disable-netadapterlso.ps1 b/coin/provisioning/qtci-windows-11_22H2-aarch64/00-disable-netadapterlso.ps1 new file mode 100644 index 00000000..d20f1402 --- /dev/null +++ b/coin/provisioning/qtci-windows-11_22H2-aarch64/00-disable-netadapterlso.ps1 @@ -0,0 +1 @@ +. "$PSScriptRoot\..\common\windows\disable-netadapterlso.ps1" diff --git a/coin/provisioning/qtci-windows-11_22H2-aarch64/00-install-sevenzip.ps1 b/coin/provisioning/qtci-windows-11_22H2-aarch64/00-install-sevenzip.ps1 new file mode 100644 index 00000000..a9044256 --- /dev/null +++ b/coin/provisioning/qtci-windows-11_22H2-aarch64/00-install-sevenzip.ps1 @@ -0,0 +1 @@ +. "$PSScriptRoot\..\common\windows\install-sevenzip.ps1" diff --git a/coin/provisioning/qtci-windows-11_22H2-aarch64/01-allow-remote-desktop-access.ps1 b/coin/provisioning/qtci-windows-11_22H2-aarch64/01-allow-remote-desktop-access.ps1 new file mode 100644 index 00000000..af05e838 --- /dev/null +++ b/coin/provisioning/qtci-windows-11_22H2-aarch64/01-allow-remote-desktop-access.ps1 @@ -0,0 +1 @@ +. "$PSScriptRoot\..\common\windows\allow-remote-desktop-access.ps1" diff --git a/coin/provisioning/qtci-windows-11_22H2-aarch64/01-change-resolution.ps1 b/coin/provisioning/qtci-windows-11_22H2-aarch64/01-change-resolution.ps1 new file mode 100644 index 00000000..c1e73a62 --- /dev/null +++ b/coin/provisioning/qtci-windows-11_22H2-aarch64/01-change-resolution.ps1 @@ -0,0 +1,28 @@ +$x_value = "1280" +$y_value = "800" + +Function ChangeResolution { + Param ( + [string]$driver + ) + + $path = "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\GraphicsDrivers\Configuration" + + reg.exe ADD "$path\$driver\00\" /V PrimSurfSize.cx /T REG_dWORD /D $x_value /F + reg.exe ADD "$path\$driver\00\" /V PrimSurfSize.cy /T REG_dWORD /D $y_value /F + reg.exe ADD "$path\$driver\00\00" /V DwmClipBox.bottom /T REG_dWORD /D $y_value /F + reg.exe ADD "$path\$driver\00\00" /V DwmClipBox.right /T REG_dWORD /D $x_value /F + reg.exe ADD "$path\$driver\00\00" /V PrimSurfSize.cx /T REG_dWORD /D $x_value /F + reg.exe ADD "$path\$driver\00\00" /V PrimSurfSize.cy /T REG_dWORD /D $y_value /F + reg.exe ADD "$path\$driver\00\00" /V ActiveSize.cy /T REG_dWORD /D $y_value /F + reg.exe ADD "$path\$driver\00\00" /V ActiveSize.cx /T REG_dWORD /D $x_value /F + +} + +Write-Host "Changing the resolution to ${x_value}x${y_value}" +ChangeResolution "MSBDD_NOEDID_1234_1111_00000000_00020000_0^E3701873EC28AFCFF631E725354CDC2D" +ChangeResolution "MSBDD_NOEDID_15AD_0405_00000000_000F0000_0^C13AE38966E73205F75BFACA84EB83A5" +ChangeResolution "MSBDD_RHT12340_2A_07DE_3A_1234_1111_00000000_00020000_0^EC6E4468E7627A114F1F86EA72F3C134" +ChangeResolution "MSBDD_RHT12340_2A_07DE_3D_1234_1111_00000000_00010000_0^4189234F4C5A30C0FE2E08AED7E5F516" +ChangeResolution "MSBDD_RHT12340_2A_07DE_3D_1234_1111_00000000_00020000_0^0E45B5CD7061674FC90A8064A6FE81F4" +ChangeResolution "MSNILNOEDID_1414_008D_FFFFFFFF_FFFFFFFF_0^030B4FCE00727AC1593E5B6FD18648D6" diff --git a/coin/provisioning/qtci-windows-11_22H2-aarch64/01-disable-notifications.ps1 b/coin/provisioning/qtci-windows-11_22H2-aarch64/01-disable-notifications.ps1 new file mode 100644 index 00000000..ada20147 --- /dev/null +++ b/coin/provisioning/qtci-windows-11_22H2-aarch64/01-disable-notifications.ps1 @@ -0,0 +1,9 @@ +# 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 diff --git a/coin/provisioning/qtci-windows-11_22H2-aarch64/01-disable-runtimebroker.ps1 b/coin/provisioning/qtci-windows-11_22H2-aarch64/01-disable-runtimebroker.ps1 new file mode 100644 index 00000000..8ae8190d --- /dev/null +++ b/coin/provisioning/qtci-windows-11_22H2-aarch64/01-disable-runtimebroker.ps1 @@ -0,0 +1,4 @@ +# Disable RunTime Broker +# The RunTime Broker is a Windows system process, which helps to manage app permissions on your pc between Windows apps and ensures apps are behaving themselves. +# Coordinates execution of background work for WinRT application. If this service is stopped or disabled, then background work might not be triggered. +reg.exe ADD "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\TimeBrokerSvc" /V Start /T REG_dWORD /D 4 /F diff --git a/coin/provisioning/qtci-windows-11_22H2-aarch64/01-disable-windows-telemetry.ps1 b/coin/provisioning/qtci-windows-11_22H2-aarch64/01-disable-windows-telemetry.ps1 new file mode 100644 index 00000000..3f5a75f4 --- /dev/null +++ b/coin/provisioning/qtci-windows-11_22H2-aarch64/01-disable-windows-telemetry.ps1 @@ -0,0 +1,7 @@ +# 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 diff --git a/coin/provisioning/qtci-windows-11_22H2-aarch64/01-enable-guest-logon.ps1 b/coin/provisioning/qtci-windows-11_22H2-aarch64/01-enable-guest-logon.ps1 new file mode 100644 index 00000000..3cf989d3 --- /dev/null +++ b/coin/provisioning/qtci-windows-11_22H2-aarch64/01-enable-guest-logon.ps1 @@ -0,0 +1,2 @@ +# 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 diff --git a/coin/provisioning/qtci-windows-11_22H2-aarch64/01-install_telegraf.ps1 b/coin/provisioning/qtci-windows-11_22H2-aarch64/01-install_telegraf.ps1 new file mode 100644 index 00000000..77fa8cbf --- /dev/null +++ b/coin/provisioning/qtci-windows-11_22H2-aarch64/01-install_telegraf.ps1 @@ -0,0 +1 @@ +. "$PSScriptRoot\..\common\windows\install_telegraf.ps1" diff --git a/coin/provisioning/qtci-windows-11_22H2-aarch64/01-set-proxy.ps1 b/coin/provisioning/qtci-windows-11_22H2-aarch64/01-set-proxy.ps1 new file mode 100644 index 00000000..13b1ec60 --- /dev/null +++ b/coin/provisioning/qtci-windows-11_22H2-aarch64/01-set-proxy.ps1 @@ -0,0 +1 @@ +. "$PSScriptRoot\..\common\windows\set-proxy.ps1" diff --git a/coin/provisioning/qtci-windows-11_22H2-aarch64/02-disable-autoreboot.ps1 b/coin/provisioning/qtci-windows-11_22H2-aarch64/02-disable-autoreboot.ps1 new file mode 100644 index 00000000..73430b76 --- /dev/null +++ b/coin/provisioning/qtci-windows-11_22H2-aarch64/02-disable-autoreboot.ps1 @@ -0,0 +1 @@ +. "$PSScriptRoot\..\common\windows\disable-autoreboot.ps1" diff --git a/coin/provisioning/qtci-windows-11_22H2-aarch64/02-disable-sleep.ps1 b/coin/provisioning/qtci-windows-11_22H2-aarch64/02-disable-sleep.ps1 new file mode 100644 index 00000000..5bf811ef --- /dev/null +++ b/coin/provisioning/qtci-windows-11_22H2-aarch64/02-disable-sleep.ps1 @@ -0,0 +1 @@ +. "$PSScriptRoot\..\common\windows\disable-sleep.ps1" diff --git a/coin/provisioning/qtci-windows-11_22H2-aarch64/03-nodejs.ps1 b/coin/provisioning/qtci-windows-11_22H2-aarch64/03-nodejs.ps1 new file mode 100644 index 00000000..6032e945 --- /dev/null +++ b/coin/provisioning/qtci-windows-11_22H2-aarch64/03-nodejs.ps1 @@ -0,0 +1 @@ +. "$PSScriptRoot\..\common\windows\nodejs.ps1" diff --git a/coin/provisioning/qtci-windows-11_22H2-aarch64/05-enable-devmode.ps1 b/coin/provisioning/qtci-windows-11_22H2-aarch64/05-enable-devmode.ps1 new file mode 100644 index 00000000..01e6f8b0 --- /dev/null +++ b/coin/provisioning/qtci-windows-11_22H2-aarch64/05-enable-devmode.ps1 @@ -0,0 +1 @@ +. "$PSScriptRoot\..\common\windows\win10-enable-devmode.ps1" diff --git a/coin/provisioning/qtci-windows-11_22H2-aarch64/05-wsearch-off.ps1 b/coin/provisioning/qtci-windows-11_22H2-aarch64/05-wsearch-off.ps1 new file mode 100644 index 00000000..eed6b734 --- /dev/null +++ b/coin/provisioning/qtci-windows-11_22H2-aarch64/05-wsearch-off.ps1 @@ -0,0 +1 @@ +. "$PSScriptRoot\..\common\windows\wsearch-off.ps1" diff --git a/coin/provisioning/qtci-windows-11_22H2-aarch64/06-longpath.ps1 b/coin/provisioning/qtci-windows-11_22H2-aarch64/06-longpath.ps1 new file mode 100644 index 00000000..6561d57b --- /dev/null +++ b/coin/provisioning/qtci-windows-11_22H2-aarch64/06-longpath.ps1 @@ -0,0 +1,2 @@ +. "$PSScriptRoot\..\common\windows\longpath.ps1" + diff --git a/coin/provisioning/qtci-windows-11_22H2-aarch64/06-mesa_llvmpipe.ps1 b/coin/provisioning/qtci-windows-11_22H2-aarch64/06-mesa_llvmpipe.ps1 new file mode 100644 index 00000000..1b1a07e9 --- /dev/null +++ b/coin/provisioning/qtci-windows-11_22H2-aarch64/06-mesa_llvmpipe.ps1 @@ -0,0 +1 @@ +. "$PSScriptRoot\..\common\windows\mesa_llvmpipe.ps1" diff --git a/coin/provisioning/qtci-windows-11_22H2-aarch64/06-ninja.ps1 b/coin/provisioning/qtci-windows-11_22H2-aarch64/06-ninja.ps1 new file mode 100644 index 00000000..ba571a1e --- /dev/null +++ b/coin/provisioning/qtci-windows-11_22H2-aarch64/06-ninja.ps1 @@ -0,0 +1 @@ +. "$PSScriptRoot\..\common\windows\ninja.ps1" diff --git a/coin/provisioning/qtci-windows-11_22H2-aarch64/08-install-git.ps1 b/coin/provisioning/qtci-windows-11_22H2-aarch64/08-install-git.ps1 new file mode 100644 index 00000000..38106de7 --- /dev/null +++ b/coin/provisioning/qtci-windows-11_22H2-aarch64/08-install-git.ps1 @@ -0,0 +1 @@ +. "$PSScriptRoot\..\common\windows\install-git.ps1" diff --git a/coin/provisioning/qtci-windows-11_22H2-aarch64/08-python3.ps1 b/coin/provisioning/qtci-windows-11_22H2-aarch64/08-python3.ps1 new file mode 100644 index 00000000..74cb6997 --- /dev/null +++ b/coin/provisioning/qtci-windows-11_22H2-aarch64/08-python3.ps1 @@ -0,0 +1,9 @@ +# Parameters: +# - Arch 32/64 +# - installer sha1 +# - install target dir +# - version +# - Optional true/false if set as default with PYTHON3/PIP3_PATH variables, default false + +# Downloading https://www.python.org/ftp/python/3.11.9/python-3.11.9-arm64.exe +. "$PSScriptRoot\..\common\windows\python3.ps1" 64 "9e0487af5f0472978b7b6d4f4d3d8fd56865ff97" "C:\Python311_64" "3.11.9" $true diff --git a/coin/provisioning/qtci-windows-11_22H2-aarch64/09-install-dependencywalker.ps1 b/coin/provisioning/qtci-windows-11_22H2-aarch64/09-install-dependencywalker.ps1 new file mode 100644 index 00000000..331de489 --- /dev/null +++ b/coin/provisioning/qtci-windows-11_22H2-aarch64/09-install-dependencywalker.ps1 @@ -0,0 +1 @@ +. "$PSScriptRoot\..\common\windows\install-dependencywalker.ps1" diff --git a/coin/provisioning/qtci-windows-11_22H2-aarch64/09-install-openssh.ps1 b/coin/provisioning/qtci-windows-11_22H2-aarch64/09-install-openssh.ps1 new file mode 100644 index 00000000..9de844da --- /dev/null +++ b/coin/provisioning/qtci-windows-11_22H2-aarch64/09-install-openssh.ps1 @@ -0,0 +1 @@ +. "$PSScriptRoot\..\common\windows\install-openssh.ps1" diff --git a/coin/provisioning/qtci-windows-11_22H2-aarch64/09-install-sed.ps1 b/coin/provisioning/qtci-windows-11_22H2-aarch64/09-install-sed.ps1 new file mode 100644 index 00000000..b3c8fded --- /dev/null +++ b/coin/provisioning/qtci-windows-11_22H2-aarch64/09-install-sed.ps1 @@ -0,0 +1 @@ +. "$PSScriptRoot\..\common\windows\install-sed.ps1" diff --git a/coin/provisioning/qtci-windows-11_22H2-aarch64/09-openssl-arm64.ps1 b/coin/provisioning/qtci-windows-11_22H2-aarch64/09-openssl-arm64.ps1 new file mode 100644 index 00000000..c1bbf271 --- /dev/null +++ b/coin/provisioning/qtci-windows-11_22H2-aarch64/09-openssl-arm64.ps1 @@ -0,0 +1 @@ +. "$PSScriptRoot\..\common\windows\openssl-arm64.ps1" diff --git a/coin/provisioning/qtci-windows-11_22H2-aarch64/09-openssl.ps1 b/coin/provisioning/qtci-windows-11_22H2-aarch64/09-openssl.ps1 new file mode 100644 index 00000000..db3013e0 --- /dev/null +++ b/coin/provisioning/qtci-windows-11_22H2-aarch64/09-openssl.ps1 @@ -0,0 +1,4 @@ +# Windows ARM has own common script +# - "$PSScriptRoot\..\common\windows\openssl-arm64.ps1" +# - need to check should these be combined or excluded +#. "$PSScriptRoot\..\common\windows\openssl.ps1" diff --git a/coin/provisioning/qtci-windows-11_22H2-aarch64/09-set-network-test-server.ps1 b/coin/provisioning/qtci-windows-11_22H2-aarch64/09-set-network-test-server.ps1 new file mode 100644 index 00000000..7918fabf --- /dev/null +++ b/coin/provisioning/qtci-windows-11_22H2-aarch64/09-set-network-test-server.ps1 @@ -0,0 +1 @@ +. "$PSScriptRoot\..\common\windows\set-network-test-server.ps1" diff --git a/coin/provisioning/qtci-windows-11_22H2-aarch64/09-vulkansdk.ps1 b/coin/provisioning/qtci-windows-11_22H2-aarch64/09-vulkansdk.ps1 new file mode 100644 index 00000000..54a3d563 --- /dev/null +++ b/coin/provisioning/qtci-windows-11_22H2-aarch64/09-vulkansdk.ps1 @@ -0,0 +1 @@ +. "$PSScriptRoot\..\common\windows\vulkansdk.ps1" diff --git a/coin/provisioning/qtci-windows-11_22H2-aarch64/22-mqtt_broker.ps1 b/coin/provisioning/qtci-windows-11_22H2-aarch64/22-mqtt_broker.ps1 new file mode 100644 index 00000000..71deb0d4 --- /dev/null +++ b/coin/provisioning/qtci-windows-11_22H2-aarch64/22-mqtt_broker.ps1 @@ -0,0 +1 @@ +. "$PSScriptRoot\..\common\windows\mqtt_broker.ps1" diff --git a/coin/provisioning/qtci-windows-11_22H2-aarch64/23-winrtrunner.ps1 b/coin/provisioning/qtci-windows-11_22H2-aarch64/23-winrtrunner.ps1 new file mode 100644 index 00000000..078f862e --- /dev/null +++ b/coin/provisioning/qtci-windows-11_22H2-aarch64/23-winrtrunner.ps1 @@ -0,0 +1 @@ +. "$PSScriptRoot\..\common\windows\winrtrunner.ps1" diff --git a/coin/provisioning/qtci-windows-11_22H2-aarch64/25-llvm-mingw.ps1 b/coin/provisioning/qtci-windows-11_22H2-aarch64/25-llvm-mingw.ps1 new file mode 100644 index 00000000..9ce91521 --- /dev/null +++ b/coin/provisioning/qtci-windows-11_22H2-aarch64/25-llvm-mingw.ps1 @@ -0,0 +1,20 @@ +# 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 + +. "$PSScriptRoot\..\common\windows\helpers.ps1" + +# This script installs LLVM-Mingw by mstorsjo +# https://github.com/mstorsjo/llvm-mingw/releases/tag/20240320 + +$zip = Get-DownloadLocation "llvm-mingw-20240320-ucrt-aarch64.zip" +$url_cache = "http://ci-files01-hki.ci.qt.io/input/windows/llvm-mingw-20240320-ucrt-aarch64.zip" +$url_official = "https://github.com/mstorsjo/llvm-mingw/releases/download/20240320/llvm-mingw-20240320-ucrt-aarch64.zip" + +Download $url_official $url_cache $zip +Verify-Checksum $zip "1ea4870551a6aaf0d51332be1ea10ce776ee3b42" +Extract-7Zip $zip C:\ + +Rename-Item C:\llvm-mingw-20240320-ucrt-aarch64 C:\llvm-mingw + +Write-Output "llvm-mingw = 18.1.2" >> ~/versions.txt +Remove-Item -Path $zip diff --git a/coin/provisioning/qtci-windows-11_22H2-aarch64/29-libusb.ps1 b/coin/provisioning/qtci-windows-11_22H2-aarch64/29-libusb.ps1 new file mode 100644 index 00000000..6035912d --- /dev/null +++ b/coin/provisioning/qtci-windows-11_22H2-aarch64/29-libusb.ps1 @@ -0,0 +1,3 @@ + + +. "$PSScriptRoot\..\common\windows\libusb.ps1" diff --git a/coin/provisioning/qtci-windows-11_22H2-aarch64/35-install-breakpad.ps1 b/coin/provisioning/qtci-windows-11_22H2-aarch64/35-install-breakpad.ps1 new file mode 100644 index 00000000..9360a326 --- /dev/null +++ b/coin/provisioning/qtci-windows-11_22H2-aarch64/35-install-breakpad.ps1 @@ -0,0 +1 @@ +. "$PSScriptRoot\..\common\windows\install-breakpad.ps1" diff --git a/coin/provisioning/qtci-windows-11_22H2-aarch64/36-install-gnuwin32.ps1 b/coin/provisioning/qtci-windows-11_22H2-aarch64/36-install-gnuwin32.ps1 new file mode 100644 index 00000000..0e2abbac --- /dev/null +++ b/coin/provisioning/qtci-windows-11_22H2-aarch64/36-install-gnuwin32.ps1 @@ -0,0 +1,2 @@ +. "$PSScriptRoot\..\common\windows\install-gnuwin32.ps1" + diff --git a/coin/provisioning/qtci-windows-11_22H2-aarch64/60-jom.ps1 b/coin/provisioning/qtci-windows-11_22H2-aarch64/60-jom.ps1 new file mode 100644 index 00000000..b246ce25 --- /dev/null +++ b/coin/provisioning/qtci-windows-11_22H2-aarch64/60-jom.ps1 @@ -0,0 +1 @@ +. "$PSScriptRoot\..\common\windows\jom.ps1" diff --git a/coin/provisioning/qtci-windows-11_22H2-aarch64/70-cmake.ps1 b/coin/provisioning/qtci-windows-11_22H2-aarch64/70-cmake.ps1 new file mode 100644 index 00000000..73dc7bc2 --- /dev/null +++ b/coin/provisioning/qtci-windows-11_22H2-aarch64/70-cmake.ps1 @@ -0,0 +1 @@ +. "$PSScriptRoot\..\common\windows\cmake.ps1" diff --git a/coin/provisioning/qtci-windows-11_22H2-aarch64/85-disable_quickedit_powershell.ps1 b/coin/provisioning/qtci-windows-11_22H2-aarch64/85-disable_quickedit_powershell.ps1 new file mode 100644 index 00000000..547e15a8 --- /dev/null +++ b/coin/provisioning/qtci-windows-11_22H2-aarch64/85-disable_quickedit_powershell.ps1 @@ -0,0 +1 @@ +. "$PSScriptRoot\..\common\windows\disable-quickedit.ps1" diff --git a/coin/provisioning/qtci-windows-11_22H2-aarch64/90-3dstudio_3rdparty.ps1 b/coin/provisioning/qtci-windows-11_22H2-aarch64/90-3dstudio_3rdparty.ps1 new file mode 100644 index 00000000..114f52f9 --- /dev/null +++ b/coin/provisioning/qtci-windows-11_22H2-aarch64/90-3dstudio_3rdparty.ps1 @@ -0,0 +1 @@ +. "$PSScriptRoot\..\common\windows\3dstudio_3rdparty.ps1" diff --git a/coin/provisioning/qtci-windows-11_22H2-aarch64/90-install-notepad++.ps1 b/coin/provisioning/qtci-windows-11_22H2-aarch64/90-install-notepad++.ps1 new file mode 100644 index 00000000..455d92bf --- /dev/null +++ b/coin/provisioning/qtci-windows-11_22H2-aarch64/90-install-notepad++.ps1 @@ -0,0 +1 @@ +. "$PSScriptRoot\..\common\windows\install-notepad++.ps1" diff --git a/coin/provisioning/qtci-windows-11_22H2-aarch64/90-install-stm32cubeprogrammer.ps1 b/coin/provisioning/qtci-windows-11_22H2-aarch64/90-install-stm32cubeprogrammer.ps1 new file mode 100644 index 00000000..25c2bb42 --- /dev/null +++ b/coin/provisioning/qtci-windows-11_22H2-aarch64/90-install-stm32cubeprogrammer.ps1 @@ -0,0 +1 @@ +. "$PSScriptRoot\..\common\windows\install-stm32cubeprogrammer.ps1" diff --git a/coin/provisioning/qtci-windows-11_22H2-aarch64/90-libusb.ps1 b/coin/provisioning/qtci-windows-11_22H2-aarch64/90-libusb.ps1 new file mode 100644 index 00000000..29a1cfa4 --- /dev/null +++ b/coin/provisioning/qtci-windows-11_22H2-aarch64/90-libusb.ps1 @@ -0,0 +1 @@ +. "$PSScriptRoot\..\common\windows\libusb.ps1" diff --git a/coin/provisioning/qtci-windows-11_22H2-aarch64/90-python-modules.ps1 b/coin/provisioning/qtci-windows-11_22H2-aarch64/90-python-modules.ps1 new file mode 100644 index 00000000..adf9e30b --- /dev/null +++ b/coin/provisioning/qtci-windows-11_22H2-aarch64/90-python-modules.ps1 @@ -0,0 +1,5 @@ +. "$PSScriptRoot\..\common\windows\helpers.ps1" + +# Needed by packaging scripts +$scriptsPath = [System.Environment]::GetEnvironmentVariable('PIP3_PATH', [System.EnvironmentVariableTarget]::Machine) +Run-Executable "$scriptsPath\pip3.exe" "install bs4" diff --git a/coin/provisioning/qtci-windows-11_22H2-aarch64/96-disable-windows-module-installer.ps1 b/coin/provisioning/qtci-windows-11_22H2-aarch64/96-disable-windows-module-installer.ps1 new file mode 100644 index 00000000..fb8ec541 --- /dev/null +++ b/coin/provisioning/qtci-windows-11_22H2-aarch64/96-disable-windows-module-installer.ps1 @@ -0,0 +1 @@ +. "$PSScriptRoot\..\common\windows\disable-windows-module-installer.ps1" diff --git a/coin/provisioning/qtci-windows-11_22H2-aarch64/98-unset-proxy.ps1 b/coin/provisioning/qtci-windows-11_22H2-aarch64/98-unset-proxy.ps1 new file mode 100644 index 00000000..0c25a0fb --- /dev/null +++ b/coin/provisioning/qtci-windows-11_22H2-aarch64/98-unset-proxy.ps1 @@ -0,0 +1 @@ +. "$PSScriptRoot\..\common\windows\unset-proxy.ps1" diff --git a/coin/provisioning/qtci-windows-11_22H2-aarch64/99-share-test-folders.ps1 b/coin/provisioning/qtci-windows-11_22H2-aarch64/99-share-test-folders.ps1 new file mode 100644 index 00000000..576fcfdc --- /dev/null +++ b/coin/provisioning/qtci-windows-11_22H2-aarch64/99-share-test-folders.ps1 @@ -0,0 +1 @@ +. "$PSScriptRoot\..\common\windows\share-test-folders.ps1" diff --git a/coin/provisioning/qtci-windows-11_22H2-aarch64/99-version.ps1 b/coin/provisioning/qtci-windows-11_22H2-aarch64/99-version.ps1 new file mode 100644 index 00000000..36e498bc --- /dev/null +++ b/coin/provisioning/qtci-windows-11_22H2-aarch64/99-version.ps1 @@ -0,0 +1 @@ +. "$PSScriptRoot\..\common\windows\version.ps1" diff --git a/coin/provisioning/qtci-windows-11_22H2-x86_64/02-python-32bit.ps1 b/coin/provisioning/qtci-windows-11_22H2-x86_64/02-python-32bit.ps1 deleted file mode 100644 index bd2d52c3..00000000 --- a/coin/provisioning/qtci-windows-11_22H2-x86_64/02-python-32bit.ps1 +++ /dev/null @@ -1 +0,0 @@ -. "$PSScriptRoot\..\common\windows\python.ps1" 32 "C:\Python27_32" diff --git a/coin/provisioning/qtci-windows-11_22H2-x86_64/02-python.ps1 b/coin/provisioning/qtci-windows-11_22H2-x86_64/02-python.ps1 deleted file mode 100644 index e2e9be9c..00000000 --- a/coin/provisioning/qtci-windows-11_22H2-x86_64/02-python.ps1 +++ /dev/null @@ -1 +0,0 @@ -. "$PSScriptRoot\..\common\windows\python.ps1" 64 diff --git a/coin/provisioning/qtci-windows-11_22H2-x86_64/98-git_usr_bin_to_path.ps1 b/coin/provisioning/qtci-windows-11_22H2-x86_64/98-git_usr_bin_to_path.ps1 deleted file mode 100644 index b3a976d3..00000000 --- a/coin/provisioning/qtci-windows-11_22H2-x86_64/98-git_usr_bin_to_path.ps1 +++ /dev/null @@ -1 +0,0 @@ -. "$PSScriptRoot\..\common\windows\git_usr_bin_to_path.ps1" diff --git a/coin/provisioning/qtci-windows-11_23H2-x86_64/02-python-32bit.ps1 b/coin/provisioning/qtci-windows-11_23H2-x86_64/02-python-32bit.ps1 deleted file mode 100644 index bd2d52c3..00000000 --- a/coin/provisioning/qtci-windows-11_23H2-x86_64/02-python-32bit.ps1 +++ /dev/null @@ -1 +0,0 @@ -. "$PSScriptRoot\..\common\windows\python.ps1" 32 "C:\Python27_32" diff --git a/coin/provisioning/qtci-windows-11_23H2-x86_64/02-python.ps1 b/coin/provisioning/qtci-windows-11_23H2-x86_64/02-python.ps1 deleted file mode 100644 index e2e9be9c..00000000 --- a/coin/provisioning/qtci-windows-11_23H2-x86_64/02-python.ps1 +++ /dev/null @@ -1 +0,0 @@ -. "$PSScriptRoot\..\common\windows\python.ps1" 64 diff --git a/coin/provisioning/qtci-windows-11_23H2-x86_64/40-qnx710.ps1 b/coin/provisioning/qtci-windows-11_23H2-x86_64/40-qnx710.ps1 new file mode 100644 index 00000000..826cc5b2 --- /dev/null +++ b/coin/provisioning/qtci-windows-11_23H2-x86_64/40-qnx710.ps1 @@ -0,0 +1 @@ +. "$PSScriptRoot\..\common\windows\qnx710.ps1" diff --git a/coin/provisioning/qtci-windows-11_23H2-x86_64/98-git_usr_bin_to_path.ps1 b/coin/provisioning/qtci-windows-11_23H2-x86_64/98-git_usr_bin_to_path.ps1 deleted file mode 100644 index b3a976d3..00000000 --- a/coin/provisioning/qtci-windows-11_23H2-x86_64/98-git_usr_bin_to_path.ps1 +++ /dev/null @@ -1 +0,0 @@ -. "$PSScriptRoot\..\common\windows\git_usr_bin_to_path.ps1" diff --git a/coin/provisioning/qtci-windows-8.1-x86_64/07-python2.ps1 b/coin/provisioning/qtci-windows-8.1-x86_64/07-python2.ps1 deleted file mode 100644 index e2e9be9c..00000000 --- a/coin/provisioning/qtci-windows-8.1-x86_64/07-python2.ps1 +++ /dev/null @@ -1 +0,0 @@ -. "$PSScriptRoot\..\common\windows\python.ps1" 64 |