diff options
Diffstat (limited to 'coin/provisioning')
130 files changed, 1121 insertions, 265 deletions
diff --git a/coin/provisioning/common/linux/android_linux.sh b/coin/provisioning/common/linux/android_linux.sh index fc1a10a4..98961077 100755 --- a/coin/provisioning/common/linux/android_linux.sh +++ b/coin/provisioning/common/linux/android_linux.sh @@ -147,9 +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-23;google_apis;x86" \ - | eval "$sdkmanager_no_progress_bar_cmd" -echo "y" | ./sdkmanager --install "system-images;android-33;google_apis;x86_64" \ +echo "y" | ./sdkmanager --install "system-images;android-28;google_apis;x86" \ | eval "$sdkmanager_no_progress_bar_cmd" echo "Extract stored Android 14 Beta $android14SystemZipName" @@ -160,11 +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_23 -c 2048M -f \ - -k "system-images;android-23;google_apis;x86" - -echo "no" | ./avdmanager create avd -n emulator_x86_64_api_33 -c 2048M -f \ - -k "system-images;android-33;google_apis;x86_64" +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" @@ -199,12 +194,12 @@ 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" -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 +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 mkdir -p gradle/wrapper -curl "$qtbaseGradleUrl"/gradle/wrapper/gradle-wrapper.jar\?h\=$commit_sha > gradle/wrapper/gradle-wrapper.jar -curl "$qtbaseGradleUrl"/gradle/wrapper/gradle-wrapper.properties\?h\=$commit_sha > gradle/wrapper/gradle-wrapper.properties +curl "$qtbaseGradleUrl/gradle/wrapper/gradle-wrapper.jar?h=$commit_sha" > gradle/wrapper/gradle-wrapper.jar +curl "$qtbaseGradleUrl/gradle/wrapper/gradle-wrapper.properties?h=$commit_sha" > gradle/wrapper/gradle-wrapper.properties # Run Gradle chmod +x gradlew ANDROID_SDK_ROOT="$sdkTargetFolder" sh gradlew build diff --git a/coin/provisioning/common/linux/axivion-bauhaus-suite.sh b/coin/provisioning/common/linux/axivion-bauhaus-suite.sh index 1fad17fe..ab4ce5ef 100755 --- a/coin/provisioning/common/linux/axivion-bauhaus-suite.sh +++ b/coin/provisioning/common/linux/axivion-bauhaus-suite.sh @@ -27,10 +27,10 @@ DownloadAndExtract () { sourceFile="http://ci-files01-hki.ci.qt.io/input/axivion/bauhaus-suite-7_7_4-x86_64-gnu_linux.tar.gz" targetFile="bauhaus-suite-7_7_4-x86_64-gnu_linux.tar.gz" sha1="df17ac0521864a7f1c0b5b3bfded1817cbf47bae" -cd $HOME +cd "$HOME" DownloadAndExtract "$sourceFile" "$sha1" "$targetFile" "$HOME" -mkdir $HOME/.bauhaus +mkdir "$HOME/.bauhaus" cd "$HOME/.bauhaus" wget http://ci-files01-hki.ci.qt.io/input/axivion/Qt_Evaluation_QSR_INTERN_20250118.key cd "$HOME" diff --git a/coin/provisioning/common/linux/enable_test_stacktraces.sh b/coin/provisioning/common/linux/enable_test_stacktraces.sh index ee9d4d23..7b5871db 100755 --- a/coin/provisioning/common/linux/enable_test_stacktraces.sh +++ b/coin/provisioning/common/linux/enable_test_stacktraces.sh @@ -8,6 +8,7 @@ PROVISIONING_DIR="$(dirname "$0")/../.." +# shellcheck source=../unix/common.sourced.sh source "$PROVISIONING_DIR/common/unix/common.sourced.sh" @@ -21,8 +22,7 @@ then fi # Verify that yama.ptrace_scope = 0, if it's supported by the kernel. -ptrace_scope_value=`sudo sysctl kernel.yama.ptrace_scope 2>/dev/null \ - | sed -E 's/.*([0-9])$/\1/'` +ptrace_scope_value=$(sudo sysctl kernel.yama.ptrace_scope 2>/dev/null | sed -E 's/.*([0-9])$/\1/') if [ -n "$ptrace_scope_value" ] && [ "$ptrace_scope_value" != 0 ] then fatal "kernel.yama.ptrace_scope = $ptrace_scope_value \ diff --git a/coin/provisioning/common/linux/install-vcpkg-ports-android.sh b/coin/provisioning/common/linux/install-vcpkg-ports-android.sh index 5aafc012..4733e9aa 100755 --- a/coin/provisioning/common/linux/install-vcpkg-ports-android.sh +++ b/coin/provisioning/common/linux/install-vcpkg-ports-android.sh @@ -7,16 +7,16 @@ echo "Installing vcpkg android ports" pushd "${BASH_SOURCE%/*}/vcpkg" || exit cp "${BASH_SOURCE%/*}/../shared/vcpkg-configuration.json" . -$VCPKG_ROOT/vcpkg install --triplet x86-android-qt --x-install-root x86-android-qt-tmp --debug -$VCPKG_ROOT/vcpkg install --triplet x86_64-android-qt --x-install-root x86_64-android-qt-tmp --debug +"$VCPKG_ROOT/vcpkg" install --triplet x86-android-qt --x-install-root x86-android-qt-tmp --debug +"$VCPKG_ROOT/vcpkg" install --triplet x86_64-android-qt --x-install-root x86_64-android-qt-tmp --debug -mkdir -p $VCPKG_ROOT/installed -cp -R x86-android-qt-tmp/* $VCPKG_ROOT/installed/ -cp -R x86_64-android-qt-tmp/* $VCPKG_ROOT/installed/ +mkdir -p "$VCPKG_ROOT/installed" +cp -R x86-android-qt-tmp/* "$VCPKG_ROOT/installed/" +cp -R x86_64-android-qt-tmp/* "$VCPKG_ROOT/installed/" versions=$(jq -r '.overrides[] | "vcpkg \(.name) for android = \(.version)"' vcpkg.json) versions="${versions//vcpkg/\\nvcpkg}" -echo $versions >> ~/versions.txt +echo "$versions" >> ~/versions.txt rm -rf x86-android-qt-tmp rm -rf x86_64-android-qt-tmp diff --git a/coin/provisioning/common/linux/install-vcpkg-ports.sh b/coin/provisioning/common/linux/install-vcpkg-ports.sh index 853f4131..90257841 100755 --- a/coin/provisioning/common/linux/install-vcpkg-ports.sh +++ b/coin/provisioning/common/linux/install-vcpkg-ports.sh @@ -7,14 +7,14 @@ echo "Installing vcpkg ports" pushd "${BASH_SOURCE%/*}/vcpkg" || exit cp "${BASH_SOURCE%/*}/../shared/vcpkg-configuration.json" . -$VCPKG_ROOT/vcpkg install --triplet x64-linux-qt --x-install-root x64-linux-qt-tmp --debug +"$VCPKG_ROOT/vcpkg" install --triplet x64-linux-qt --x-install-root x64-linux-qt-tmp --debug mkdir -p "$VCPKG_ROOT/installed" -cp -R x64-linux-qt-tmp/* $VCPKG_ROOT/installed/ +cp -R x64-linux-qt-tmp/* "$VCPKG_ROOT/installed/" versions=$(jq -r '.overrides[] | "vcpkg \(.name) = \(.version)"' vcpkg.json) versions="${versions//vcpkg/\\nvcpkg}" -echo $versions >> ~/versions.txt +echo "$versions" >> ~/versions.txt rm -rf x64-linux-qt-tmp diff --git a/coin/provisioning/common/linux/install-vcpkg.sh b/coin/provisioning/common/linux/install-vcpkg.sh index 70b069ae..80917beb 100755 --- a/coin/provisioning/common/linux/install-vcpkg.sh +++ b/coin/provisioning/common/linux/install-vcpkg.sh @@ -28,11 +28,11 @@ vcpkgToolSourceFolder="$HOME/vcpkg-tool-$vcpkgToolReleaseTag" vcpkgToolBuildFolder="$HOME/vcpkg-tool-$vcpkgToolReleaseTag/build" InstallFromCompressedFileFromURL "$vcpkgToolCacheUrl" "$vcpkgToolOfficialUrl" "$vcpkgToolSHA1" "$HOME" "" -cmake -S $vcpkgToolSourceFolder -B $vcpkgToolBuildFolder -GNinja -DCMAKE_BUILD_TYPE=Release -DBUILD_TESTING=OFF -DVCPKG_DEVELOPMENT_WARNINGS=OFF -cmake --build $vcpkgToolBuildFolder --parallel +cmake -S "$vcpkgToolSourceFolder" -B "$vcpkgToolBuildFolder" -GNinja -DCMAKE_BUILD_TYPE=Release -DBUILD_TESTING=OFF -DVCPKG_DEVELOPMENT_WARNINGS=OFF +cmake --build "$vcpkgToolBuildFolder" --parallel -cp $vcpkgToolBuildFolder/vcpkg $vcpkgRoot/ -rm -rf $vcpkgToolSourceFolder +cp "$vcpkgToolBuildFolder/vcpkg" "$vcpkgRoot/" +rm -rf "$vcpkgToolSourceFolder" if [ ! -f "$vcpkgRoot/vcpkg" ] then 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/fix_relative_dependencies.sh b/coin/provisioning/common/macos/fix_relative_dependencies.sh index 930fc110..e67a00c4 100755 --- a/coin/provisioning/common/macos/fix_relative_dependencies.sh +++ b/coin/provisioning/common/macos/fix_relative_dependencies.sh @@ -12,13 +12,13 @@ dir_length=${#dir} dylib_regex="^$dir/.*\.dylib$" find "$dir" -type f -name '*.dylib' | while read -r library_path; do - install_name=$(otool -D "$library_path" | sed -n '2p' | egrep "$dylib_regex" ) + install_name=$(otool -D "$library_path" | sed -n '2p' | grep -E "$dylib_regex" ) if [ -n "$install_name" ]; then fixed_install_name="@rpath${install_name:dir_length}" install_name_tool -id "$fixed_install_name" "$library_path" fi - otool -L "$library_path" | awk '/\t/ {print $1}' | egrep "$dylib_regex" | while read -r dependency_path; do + otool -L "$library_path" | awk '/\t/ {print $1}' | grep -E "$dylib_regex" | while read -r dependency_path; do fixed_dependency_path="@loader_path${dependency_path:dir_length}" install_name_tool -change "$dependency_path" "$fixed_dependency_path" "$library_path" done diff --git a/coin/provisioning/common/unix/DownloadURL.sh b/coin/provisioning/common/unix/DownloadURL.sh index c1c27cbb..455d65d3 100755 --- a/coin/provisioning/common/unix/DownloadURL.sh +++ b/coin/provisioning/common/unix/DownloadURL.sh @@ -50,7 +50,7 @@ VerifyHash () { *) echo "FATAL! Unknown hash length: $hashLength" 1>&2 ;; esac | cut -d ' ' -f 1` - if [ -z $hash ] || [ ! "$expectedHash" = "$hash" ] + if [ -z "$hash" ] || [ ! "$expectedHash" = "$hash" ] then echo "FAIL! wrong file hash: $file $hash" 1>&2 return 1 diff --git a/coin/provisioning/common/unix/install-ffmpeg-ios.sh b/coin/provisioning/common/unix/install-ffmpeg-ios.sh index d3d59849..e2a401a5 100755 --- a/coin/provisioning/common/unix/install-ffmpeg-ios.sh +++ b/coin/provisioning/common/unix/install-ffmpeg-ios.sh @@ -22,7 +22,7 @@ prefix="/usr/local/ios/ffmpeg" if [ ! -d "$ffmpeg_source_dir" ]; then - InstallFromCompressedFileFromURL "$url_cached" "$url_public" "$sha1" "$target_dir" "$app_prefix" + InstallFromCompressedFileFromURL "$url_cached" "$url_public" "$sha1" "$target_dir" fi ffmpeg_config_options=$(cat "${BASH_SOURCE%/*}/../shared/ffmpeg_config_options.txt") @@ -44,7 +44,8 @@ build_ffmpeg_ios() { sudo mkdir -p "$build_dir" pushd "$build_dir" - sudo $ffmpeg_source_dir/configure $ffmpeg_config_options \ + # shellcheck disable=SC2086 + sudo "$ffmpeg_source_dir/configure" $ffmpeg_config_options \ --sysroot="$(xcrun --sdk "$target_sdk" --show-sdk-path)" \ --enable-cross-compile \ --enable-optimizations \ diff --git a/coin/provisioning/common/unix/install-ffmpeg.sh b/coin/provisioning/common/unix/install-ffmpeg.sh index 11495b6b..94d032ed 100755 --- a/coin/provisioning/common/unix/install-ffmpeg.sh +++ b/coin/provisioning/common/unix/install-ffmpeg.sh @@ -86,7 +86,7 @@ elif [ "$os" == "macos" ] || [ "$os" == "macos-universal" ]; then fix_relative_dependencies="${BASH_SOURCE%/*}/../macos/fix_relative_dependencies.sh" xcode_major_version=$(xcodebuild -version | awk 'NR==1 {split($2, a, "."); print a[1]}') - if [ $xcode_major_version -ge 15 ]; then + if [ "$xcode_major_version" -ge 15 ]; then # fix the error: duplicate symbol '_av_ac3_parse_header' ffmpeg_config_options+=" --extra-ldflags=-Wl,-ld_classic" fi diff --git a/coin/provisioning/common/unix/install-openssl.sh b/coin/provisioning/common/unix/install-openssl.sh index d9b44784..3b3353fb 100755 --- a/coin/provisioning/common/unix/install-openssl.sh +++ b/coin/provisioning/common/unix/install-openssl.sh @@ -25,16 +25,20 @@ cd "$opensslSource" pwd if [[ "$os" == "linux" ]]; then - ./Configure --prefix="$opensslHome" shared enable-ec_nistp_64_gcc_128 linux-x86_64 "-Wa,--noexecstack" + if [ $(uname -m) = aarch64 ]; then + arch=$(uname -m) + else + arch="x86_64" + fi + ./Configure --prefix="$opensslHome" shared enable-ec_nistp_64_gcc_128 "linux-$arch" "-Wa,--noexecstack" make && make install_sw install_ssldirs SetEnvVar "OPENSSL_HOME" "$opensslHome" SetEnvVar "PATH" "\"$opensslHome/bin:\$PATH\"" - if uname -a |grep -q "Ubuntu"; then - echo "export LD_LIBRARY_PATH=$opensslHome/lib64:$LD_LIBRARY_PATH" >> ~/.bash_profile + if uname -a |grep -q "Debian"; then + SetEnvVar "LD_LIBRARY_PATH" "\"$opensslHome/lib:$LD_LIBRARY_PATH\"" else - echo "export LD_LIBRARY_PATH=$opensslHome/lib64:$LD_LIBRARY_PATH" >> ~/.bashrc + SetEnvVar "LD_LIBRARY_PATH" "\"$opensslHome/lib64:$LD_LIBRARY_PATH\"" fi - elif [ "$os" == "macos" ] || [ "$os" == "macos-universal" ]; then # Below target location has been hard coded into Coin. # QTQAINFRA-1195 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/unix/libclang-v100-dyn.sh b/coin/provisioning/common/unix/libclang-v100-dyn.sh index f73903c7..14194f55 100755 --- a/coin/provisioning/common/unix/libclang-v100-dyn.sh +++ b/coin/provisioning/common/unix/libclang-v100-dyn.sh @@ -48,5 +48,5 @@ sudo mv /usr/local/libclang "$destination" rm -rf $zip -echo "export LLVM_DYNAMIC_LIBS_100=$destination" >> ~/.bash_profile +SetEnvVar "LLVM_DYNAMIC_LIBS_100" "$destination" echo "libClang for QtForPython= $version" >> ~/versions.txt diff --git a/coin/provisioning/common/unix/libclang.sh b/coin/provisioning/common/unix/libclang.sh index 9a442d2e..5f75d7e4 100755 --- a/coin/provisioning/common/unix/libclang.sh +++ b/coin/provisioning/common/unix/libclang.sh @@ -62,5 +62,5 @@ sudo mv /usr/local/libclang "$destination" rm -rf $zip -echo "export LLVM_INSTALL_DIR=$destination" >> ~/.bash_profile +SetEnvVar "LLVM_INSTALL_DIR" "$destination" echo "libClang = $version" >> ~/versions.txt diff --git a/coin/provisioning/common/unix/squishInstall.sh b/coin/provisioning/common/unix/squishInstall.sh index c5f5004b..0195d84a 100755 --- a/coin/provisioning/common/unix/squishInstall.sh +++ b/coin/provisioning/common/unix/squishInstall.sh @@ -36,16 +36,12 @@ sudo mkdir "$testSuiteLocal" # Check which platform if uname -a |grep -q Darwin; then usersGroup="staff" - squishLicenseDir="/Users/qt" elif uname -a |grep -q "el7"; then usersGroup="qt" - squishLicenseDir="/root" elif uname -a |grep -q "Ubuntu"; then usersGroup="users" - squishLicenseDir="/home/qt" else usersGroup="users" - squishLicenseDir="/root" fi targetFileMount="$mountFolder"/"$compressedFolder" 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/helpers.ps1 b/coin/provisioning/common/windows/helpers.ps1 index 8f29d121..9fbf27aa 100644 --- a/coin/provisioning/common/windows/helpers.ps1 +++ b/coin/provisioning/common/windows/helpers.ps1 @@ -196,6 +196,28 @@ function Is64BitWinHost return [environment]::Is64BitOperatingSystem } +enum CpuArch { + x64 + x86 + arm64 + unknown +} + +function Get-CpuArchitecture +{ + # Possible values are "AMD64", "IA64", "ARM64", and "x86" + $arch = [System.Environment]::GetEnvironmentVariable('PROCESSOR_ARCHITECTURE', 'Machine') + if ($arch -eq "AMD64") { + return [CpuArch]::x64 + } elseif ($arch -eq "x86") { + return [CpuArch]::x86 + } elseif ($arch -eq "ARM64") { + return [CpuArch]::arm64 + } + + return [CpuArch]::unknown +} + function IsProxyEnabled { return (Get-ItemProperty -Path 'HKCU:\Software\Microsoft\Windows\CurrentVersion\Internet Settings').proxyEnable } @@ -285,10 +307,10 @@ function GetVSPath { } function EnterVSDevShell { - # Add cl to path if it is not already there. - if (Get-Command cl.exe -ErrorAction SilentlyContinue) { - return $true - } + Param ( + [string]$HostArch = "amd64", + [string]$Arch = "amd64" + ) $vsWere = "C:\Program Files (x86)\Microsoft Visual Studio\Installer\vswhere.exe" $vcComponent = "Microsoft.VisualStudio.Component.VC.CoreIde" @@ -296,10 +318,10 @@ function EnterVSDevShell { # 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) - Write-Host "Enter VisualStudio developer shell" + Write-Host "Enter VisualStudio developer shell (-host_arch=$HostArch -arch=$Arch)" try { Import-Module "$VSPath\Common7\Tools\Microsoft.VisualStudio.DevShell.dll" - Enter-VsDevShell -VsInstallPath $VSPath -DevCmdArguments "-arch=x64 -no_logo" + Enter-VsDevShell -VsInstallPath $VSPath -DevCmdArguments "-host_arch=$HostArch -arch=$Arch -no_logo" } catch { Write-Host "Failed to enter VisualStudio DevShell" return $false diff --git a/coin/provisioning/common/windows/install-ffmpeg.ps1 b/coin/provisioning/common/windows/install-ffmpeg.ps1 index 2ac93e7d..f8ad9f15 100644 --- a/coin/provisioning/common/windows/install-ffmpeg.ps1 +++ b/coin/provisioning/common/windows/install-ffmpeg.ps1 @@ -25,7 +25,6 @@ Remove $download_location $config = Get-Content "$PSScriptRoot\..\shared\ffmpeg_config_options.txt" Write-Host "FFmpeg configuration $config" - function InstallFfmpeg { Param ( [string]$buildSystem, @@ -73,12 +72,29 @@ function InstallMingwFfmpeg { function InstallMsvcFfmpeg { - $result = EnterVSDevShell + Param ( + [bool]$isArm64 + ) + + $arch = "amd64" + $buildSystem = "msvc" + $ffmpegDirEnvVar = "FFMPEG_DIR_MSVC" + + $config = Get-Content "$PSScriptRoot\..\shared\ffmpeg_config_options.txt" + + if ($isArm64) { + $arch = "arm64" + $buildSystem += "-arm64" + $ffmpegDirEnvVar += "_ARM64" + $config += " --enable-cross-compile --arch=arm64 --disable-asm" + } + + $result = EnterVSDevShell -Arch $arch if (-Not $result) { return $false } - $result = InstallFfmpeg -buildSystem "msvc" -msystem "MSYS" -toolchain "msvc" -ffmpegDirEnvVar "FFMPEG_DIR_MSVC" -shared $true + $result = InstallFfmpeg -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 @@ -138,14 +154,16 @@ function InstallAndroidArmv7 { } $mingwRes = InstallMingwFfmpeg -$msvcRes = InstallMsvcFfmpeg $llvmMingwRes = InstallLlvmMingwFfmpeg $androidArmV7Res = InstallAndroidArmv7 +$msvcRes = InstallMsvcFfmpeg -isArm64 $false +$msvcArm64Res = InstallMsvcFfmpeg -isArm64 $true Write-Host "Ffmpeg installation results:" Write-Host " mingw:" $(if ($mingwRes) { "OK" } else { "FAIL" }) Write-Host " msvc:" $(if ($msvcRes) { "OK" } else { "FAIL" }) +Write-Host " msvc-arm64:" $(if ($msvcArm64Res) { "OK" } else { "FAIL" }) Write-Host " llvm-mingw:" $(if ($llvmMingwRes) { "OK" } else { "FAIL" }) Write-Host " android-armv7:" $(if ($androidArmV7Res) { "OK" } else { "FAIL" }) -exit $(if ($mingwRes -and $msvcRes -and $llvmMingwRes -and $androidArmV7Res) { 0 } else { 1 }) +exit $(if ($mingwRes -and $msvcRes -and $msvcArm64Res -and $llvmMingwRes -and $androidArmV7Res) { 0 } else { 1 }) 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/mysql.ps1 b/coin/provisioning/common/windows/mysql.ps1 index 82037166..10a8b633 100644 --- a/coin/provisioning/common/windows/mysql.ps1 +++ b/coin/provisioning/common/windows/mysql.ps1 @@ -6,16 +6,12 @@ # This script installs MySQL $version. # Both x86 and x64 versions needed when x86 integrations are done on x64 machine -$version = "6.1.11" +$version = "8.0.36" $installFolder = "C:\Utils" -$officialUrl = "https://downloads.mysql.com/archives/get/p/19/file/mysql-connector-c-${version}-winx64.zip" -$officialUrlDebug = "https://downloads.mysql.com/archives/get/p/19/file/mysql-connector-${version}-winx64-debug.zip" -$cacheURl = "http://ci-files01-hki.ci.qt.io/input/windows/mysql-connector-c-${version}-winx64.zip" -$cacheURlDebug = "http://ci-files01-hki.ci.qt.io/input/windows/mysql-connector-c-${version}-winx64-debug.zip" -$sha = "93e22a1ba3944a6c8e01d3ea04c1bfb005b238f9" -$shaDebug = "d54088a9182e2f03b4d6f44c327e341eeab16367" -$zip = Get-DownloadLocation ("mysql-connector-c-" + $version + "-winx64.zip") -$zipDebug = Get-DownloadLocation ("mysql-connector-c-" + $version + "-winx64-debug.zip") +$officialUrl = "https://dev.mysql.com/get/Downloads/MySQL-8.0/mysql-${version}-winx64.zip" +$cacheURl = "http://ci-files01-hki.ci.qt.io/input/windows/mysql-${version}-winx64.zip" +$sha = "e5003569386006ccde9000c98e28e28073c1433d" +$zip = Get-DownloadLocation ("mysql-" + $version + "-winx64.zip") function Install { param( @@ -32,11 +28,10 @@ function Install { } Install $officialUrl $cacheURl $zip $sha -Install $officialUrlDebug $cacheURlDebug $zipDebug $shaDebug # Can't set MySQL_ROOT & MySQL_LIBRARY_DIR variables. Those will enable mysql in every windows target. # Let's use ENV_MySQL_* and use it in platform_configs -Set-EnvironmentVariable "ENV_MySQL_ROOT" "${installFolder}\mysql-connector-c-${version}-winx64" -Set-EnvironmentVariable "ENV_MySQL_LIBRARY_DIR" "${installFolder}\mysql-connector-c-${version}-winx64\lib\vs14" +Set-EnvironmentVariable "ENV_MySQL_ROOT" "${installFolder}\mysql-${version}-winx64" +Set-EnvironmentVariable "ENV_MySQL_LIBRARY_DIR" "${installFolder}\mysql-${version}-winx64\lib" Write-Output "MySQL = $version" >> ~/versions.txt 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/09-openssl.sh b/coin/provisioning/qtci-linux-Debian-11.6-aarch64/09-openssl.sh new file mode 100644 index 00000000..3a65360e --- /dev/null +++ b/coin/provisioning/qtci-linux-Debian-11.6-aarch64/09-openssl.sh @@ -0,0 +1,7 @@ +#!/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 + +"$(dirname "$0")/../common/unix/install-openssl.sh" "linux" diff --git a/coin/provisioning/qtci-linux-Debian-11.6-aarch64/92-sbuild.sh b/coin/provisioning/qtci-linux-Debian-11.6-aarch64/92-sbuild.sh index 82ca4884..8991bcca 100755 --- a/coin/provisioning/qtci-linux-Debian-11.6-aarch64/92-sbuild.sh +++ b/coin/provisioning/qtci-linux-Debian-11.6-aarch64/92-sbuild.sh @@ -2,6 +2,8 @@ # 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 + # Setups sbuild environment tee ~/.sbuildrc << EOF @@ -44,8 +46,8 @@ sudo sbuild-createchroot --include=eatmydata,ccache,gnupg,ca-certificates stable echo "Create chroot for Ubuntu Jammy" # First we need update the deboostrap scripts -mkdir -p $HOME/deboot -cd $HOME/deboot +mkdir -p "$HOME"/deboot +cd "$HOME"/deboot # Orig url http://ftp.fi.debian.org/debian/pool/main/d/debootstrap/debootstrap_1.0.134~bpo12+1.tar.gz # we have to update the debootstrap so that sbuild-createroot will recognize jammy code name wget http://ci-files01-hki.ci.qt.io/input/debian/debootstrap/debootstrap_1.0.134~bpo12+1.tar.gz @@ -53,7 +55,7 @@ tar xzvf debootstrap_1.0.134~bpo12+1.tar.gz cd debootstrap sudo make install cd -rm -rf $HOME/deboot +rm -rf "$HOME"/deboot sudo sbuild-createchroot --include=gnupg,ca-certificates jammy /srv/chroot/jammy-arm64 http://ports.ubuntu.com/ubuntu-ports/ echo "Done creating chroot for Ubuntu Jammy" 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-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.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-Ubuntu-18.04-x86_64/02-apt.sh b/coin/provisioning/qtci-linux-Ubuntu-18.04-x86_64/02-apt.sh index d0c1a9fc..5fed6690 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 @@ -91,6 +91,7 @@ installPackages+=(g++-multilib) # python3 development package installPackages+=(python3-dev) installPackages+=(python3-pip) +installPackages+=(python3-venv) installPackages+=(virtualenv) installPackages+=(python3-wheel) # python2 development package 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..72d32e8f 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 @@ -110,6 +110,7 @@ installPackages+=(g++-multilib) # python3 development package installPackages+=(python3-dev) installPackages+=(python3-pip) +installPackages+=(python3-venv) installPackages+=(virtualenv) installPackages+=(python3-wheel) # python2 development package 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/01-disable-notifications.sh b/coin/provisioning/qtci-linux-Ubuntu-22.04-aarch64/01-disable-notifications.sh new file mode 100755 index 00000000..1b9ed6c9 --- /dev/null +++ b/coin/provisioning/qtci-linux-Ubuntu-22.04-aarch64/01-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-22.04-aarch64/01-disable-ntp.sh b/coin/provisioning/qtci-linux-Ubuntu-22.04-aarch64/01-disable-ntp.sh new file mode 100755 index 00000000..1995aa14 --- /dev/null +++ b/coin/provisioning/qtci-linux-Ubuntu-22.04-aarch64/01-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-22.04-aarch64/01-disable_auto_suspend.sh b/coin/provisioning/qtci-linux-Ubuntu-22.04-aarch64/01-disable_auto_suspend.sh new file mode 100755 index 00000000..8ad69bfa --- /dev/null +++ b/coin/provisioning/qtci-linux-Ubuntu-22.04-aarch64/01-disable_auto_suspend.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 + +sudo systemctl mask sleep.target suspend.target hibernate.target hybrid-sleep.target + diff --git a/coin/provisioning/qtci-linux-Ubuntu-22.04-aarch64/01-remove-apport.sh b/coin/provisioning/qtci-linux-Ubuntu-22.04-aarch64/01-remove-apport.sh new file mode 100755 index 00000000..879f3ffb --- /dev/null +++ b/coin/provisioning/qtci-linux-Ubuntu-22.04-aarch64/01-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-22.04-aarch64/01-remove-update_notifier.sh b/coin/provisioning/qtci-linux-Ubuntu-22.04-aarch64/01-remove-update_notifier.sh new file mode 100755 index 00000000..f4a5119f --- /dev/null +++ b/coin/provisioning/qtci-linux-Ubuntu-22.04-aarch64/01-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-22.04-aarch64/01-systemsetup.sh b/coin/provisioning/qtci-linux-Ubuntu-22.04-aarch64/01-systemsetup.sh new file mode 100755 index 00000000..98744822 --- /dev/null +++ b/coin/provisioning/qtci-linux-Ubuntu-22.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-22.04-aarch64/02-apt.sh b/coin/provisioning/qtci-linux-Ubuntu-22.04-aarch64/02-apt.sh new file mode 100755 index 00000000..b04190ae --- /dev/null +++ b/coin/provisioning/qtci-linux-Ubuntu-22.04-aarch64/02-apt.sh @@ -0,0 +1,60 @@ +#!/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" > /dev/null <<-EOC + deb [arch=aarch64] http://repo-clones.ci.qt.io/apt-mirror/mirror/ubuntu/ jammy main restricted universe multiverse + deb [arch=aarch64 http://repo-clones.ci.qt.io/apt-mirror/mirror/ubuntu/ jammy-updates main restricted universe multiverse + deb [arch=aarch64] http://repo-clones.ci.qt.io/apt-mirror/mirror/ubuntu/ jammy-backports main restricted universe + deb [arch=aarch64] http://repo-clones.ci.qt.io/apt-mirror/mirror/ubuntu/ jammy-security main restricted universe multiverse +EOC +} + +#repo-clones not set up for aarch64 yet +#(ping -c 3 repo-clones.ci.qt.io && set_internal_repo) || echo "Internal package repository not found. Using public repositories." + +# Make sure needed ca-certificates are available +sudo apt-get install --reinstall ca-certificates + +## Tools +# 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) + +# Packages needed for RTA and Squish +installPackages+=(default-jdk) +installPackages+=(gcc) + +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[@]}" + +source "${BASH_SOURCE%/*}/../common/unix/SetEnvVar.sh" +# SetEnvVar "PATH" "/usr/lib/nodejs-mozilla/bin:\$PATH" + +OpenSSLVersion="$(openssl version |cut -b 9-14)" +echo "OpenSSL = $OpenSSLVersion" >> ~/versions.txt + diff --git a/coin/provisioning/qtci-linux-Ubuntu-22.04-aarch64/99-cleanup.sh b/coin/provisioning/qtci-linux-Ubuntu-22.04-aarch64/99-cleanup.sh new file mode 100755 index 00000000..4d6e16ea --- /dev/null +++ b/coin/provisioning/qtci-linux-Ubuntu-22.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-22.04-aarch64/99-version.sh b/coin/provisioning/qtci-linux-Ubuntu-22.04-aarch64/99-version.sh new file mode 100755 index 00000000..31821f6b --- /dev/null +++ b/coin/provisioning/qtci-linux-Ubuntu-22.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-22.04-x86_64/02-apt.sh b/coin/provisioning/qtci-linux-Ubuntu-22.04-x86_64/02-apt.sh index bd689a41..9a9a5ef2 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 @@ -111,6 +111,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) 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..6c4b86a4 --- /dev/null +++ b/coin/provisioning/qtci-linux-Ubuntu-24.04-aarch64/02-apt.sh @@ -0,0 +1,236 @@ +#!/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+=(libgstreamer-gl1.0-0) +installPackages+=(gir1.2-gst-plugins-base-1.0) +installPackages+=(gir1.2-gst-plugins-bad-1.0) +installPackages+=(yasm) +installPackages+=(libva-dev) +# for QtMultimedia streaming tests +installPackages+=(vlc-bin) +installPackages+=(vlc-plugin-base) + +# Support for cross-building to x86 (needed by WebEngine boot2qt builds) +#installPackages+=(g++-multilib) +installPackages+=(g++-multilib-powerpc-linux-gnu) + +# python3 development package +installPackages+=(python3-dev) +installPackages+=(python3-pip) +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/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-macos-11-arm/24-pyenv.sh b/coin/provisioning/qtci-macos-11-arm/24-pyenv.sh index 52a6ebd1..3a7a8f77 100755 --- a/coin/provisioning/qtci-macos-11-arm/24-pyenv.sh +++ b/coin/provisioning/qtci-macos-11-arm/24-pyenv.sh @@ -42,7 +42,7 @@ # This script installs python3 -# shellcheck source=../unix/SetEnvVar.sh +# shellcheck source=../common/unix/SetEnvVar.sh source "${BASH_SOURCE%/*}/../common/unix/SetEnvVar.sh" # Try with default diff --git a/coin/provisioning/qtci-macos-11-arm/35-openssl.sh b/coin/provisioning/qtci-macos-11-arm/35-openssl.sh index c67c0aaf..c86788db 100755 --- a/coin/provisioning/qtci-macos-11-arm/35-openssl.sh +++ b/coin/provisioning/qtci-macos-11-arm/35-openssl.sh @@ -5,5 +5,5 @@ set -ex # shellcheck source=../common/unix/install-openssl.sh -source "${BASH_SOURCE%/*}/../common/unix/install-openssl.sh" "macos" +source "${BASH_SOURCE%/*}/../common/unix/install-openssl.sh" "macos-universal" diff --git a/coin/provisioning/qtci-macos-12-arm/24-pyenv.sh b/coin/provisioning/qtci-macos-12-arm/24-pyenv.sh index 52a6ebd1..3a7a8f77 100755 --- a/coin/provisioning/qtci-macos-12-arm/24-pyenv.sh +++ b/coin/provisioning/qtci-macos-12-arm/24-pyenv.sh @@ -42,7 +42,7 @@ # This script installs python3 -# shellcheck source=../unix/SetEnvVar.sh +# shellcheck source=../common/unix/SetEnvVar.sh source "${BASH_SOURCE%/*}/../common/unix/SetEnvVar.sh" # Try with default diff --git a/coin/provisioning/qtci-macos-12-arm/35-openssl.sh b/coin/provisioning/qtci-macos-12-arm/35-openssl.sh index c67c0aaf..c86788db 100755 --- a/coin/provisioning/qtci-macos-12-arm/35-openssl.sh +++ b/coin/provisioning/qtci-macos-12-arm/35-openssl.sh @@ -5,5 +5,5 @@ set -ex # shellcheck source=../common/unix/install-openssl.sh -source "${BASH_SOURCE%/*}/../common/unix/install-openssl.sh" "macos" +source "${BASH_SOURCE%/*}/../common/unix/install-openssl.sh" "macos-universal" diff --git a/coin/provisioning/qtci-macos-13-arm/24-pyenv.sh b/coin/provisioning/qtci-macos-13-arm/24-pyenv.sh index 52a6ebd1..3a7a8f77 100755 --- a/coin/provisioning/qtci-macos-13-arm/24-pyenv.sh +++ b/coin/provisioning/qtci-macos-13-arm/24-pyenv.sh @@ -42,7 +42,7 @@ # This script installs python3 -# shellcheck source=../unix/SetEnvVar.sh +# shellcheck source=../common/unix/SetEnvVar.sh source "${BASH_SOURCE%/*}/../common/unix/SetEnvVar.sh" # Try with default diff --git a/coin/provisioning/qtci-macos-13-arm/35-openssl.sh b/coin/provisioning/qtci-macos-13-arm/35-openssl.sh index c67c0aaf..c86788db 100755 --- a/coin/provisioning/qtci-macos-13-arm/35-openssl.sh +++ b/coin/provisioning/qtci-macos-13-arm/35-openssl.sh @@ -5,5 +5,5 @@ set -ex # shellcheck source=../common/unix/install-openssl.sh -source "${BASH_SOURCE%/*}/../common/unix/install-openssl.sh" "macos" +source "${BASH_SOURCE%/*}/../common/unix/install-openssl.sh" "macos-universal" diff --git a/coin/provisioning/qtci-macos-14-arm/24-pyenv.sh b/coin/provisioning/qtci-macos-14-arm/24-pyenv.sh index 52a6ebd1..3a7a8f77 100755 --- a/coin/provisioning/qtci-macos-14-arm/24-pyenv.sh +++ b/coin/provisioning/qtci-macos-14-arm/24-pyenv.sh @@ -42,7 +42,7 @@ # This script installs python3 -# shellcheck source=../unix/SetEnvVar.sh +# shellcheck source=../common/unix/SetEnvVar.sh source "${BASH_SOURCE%/*}/../common/unix/SetEnvVar.sh" # Try with default diff --git a/coin/provisioning/qtci-macos-14-arm/35-openssl.sh b/coin/provisioning/qtci-macos-14-arm/35-openssl.sh index c67c0aaf..c86788db 100755 --- a/coin/provisioning/qtci-macos-14-arm/35-openssl.sh +++ b/coin/provisioning/qtci-macos-14-arm/35-openssl.sh @@ -5,5 +5,5 @@ set -ex # shellcheck source=../common/unix/install-openssl.sh -source "${BASH_SOURCE%/*}/../common/unix/install-openssl.sh" "macos" +source "${BASH_SOURCE%/*}/../common/unix/install-openssl.sh" "macos-universal" 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-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..5ca36491 --- /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.12.3/python-3.12.3-arm64.exe +. "$PSScriptRoot\..\common\windows\python3.ps1" 64 "a7fe973fd406c0db2b982d83e9feb30f8fde704f" "C:\Python312_64" "3.12.3" $true 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_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-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 |