diff options
Diffstat (limited to 'coin/provisioning')
1835 files changed, 18254 insertions, 15380 deletions
diff --git a/coin/provisioning/common/linux/android/gradle_project/.gitignore b/coin/provisioning/common/linux/android/gradle_project/.gitignore new file mode 100644 index 00000000..aa724b77 --- /dev/null +++ b/coin/provisioning/common/linux/android/gradle_project/.gitignore @@ -0,0 +1,15 @@ +*.iml +.gradle +/local.properties +/.idea/caches +/.idea/libraries +/.idea/modules.xml +/.idea/workspace.xml +/.idea/navEditor.xml +/.idea/assetWizardSettings.xml +.DS_Store +/build +/captures +.externalNativeBuild +.cxx +local.properties diff --git a/coin/provisioning/common/linux/android/gradle_project/README.md b/coin/provisioning/common/linux/android/gradle_project/README.md new file mode 100644 index 00000000..439cd362 --- /dev/null +++ b/coin/provisioning/common/linux/android/gradle_project/README.md @@ -0,0 +1,20 @@ +# Android Gradle Project for COIN + +This project is used to at provisioning time to do an Android Gradle build that +will download Gradle binaries and AGP dependencies, then they will be cached +allowing consecutive builds, i.e. at test runs to not redownload the Gradle +binaries which tend to run into network issues and thus improving the +reliability of the Android integrations on COIN. + +The project is a basic empty views Android project that can be created by +Android Studio, it's Java based. Below is some extra details on relevant files +that might need updates in the future: + +- settings.gradle: mainly sets the the project name +- under app/src/main/ res/layout/activity_main.xml and src/*/*.java: sets the + layout and logic of the app, this shouldn't need to be touched. +- AndroidManifest.xml / app/build.gradle: Sets project settings like target version. +- gradle/libs.versions.toml: This sets the version numbers of various dependencies. + +Other files required for the project build are gradle wrapper and scripts which +are fetched by android_linux.sh from qtbase. diff --git a/coin/provisioning/common/linux/android/gradle_project/app/.gitignore b/coin/provisioning/common/linux/android/gradle_project/app/.gitignore new file mode 100644 index 00000000..796b96d1 --- /dev/null +++ b/coin/provisioning/common/linux/android/gradle_project/app/.gitignore @@ -0,0 +1 @@ +/build diff --git a/coin/provisioning/common/linux/android/gradle_project/app/build.gradle b/coin/provisioning/common/linux/android/gradle_project/app/build.gradle new file mode 100644 index 00000000..7f6b66ac --- /dev/null +++ b/coin/provisioning/common/linux/android/gradle_project/app/build.gradle @@ -0,0 +1,27 @@ +plugins { + alias(libs.plugins.androidApplication) +} + +android { + namespace 'com.example.gradle_project' + compileSdk 34 + + defaultConfig { + applicationId "com.example.gradle_project" + minSdk 28 + targetSdk 34 + versionCode 1 + versionName "1.0" + } + + compileOptions { + sourceCompatibility JavaVersion.VERSION_1_8 + targetCompatibility JavaVersion.VERSION_1_8 + } +} + +dependencies { + implementation libs.core + implementation libs.appcompat + implementation libs.material +} diff --git a/coin/provisioning/common/linux/android/gradle_project/app/src/main/AndroidManifest.xml b/coin/provisioning/common/linux/android/gradle_project/app/src/main/AndroidManifest.xml new file mode 100644 index 00000000..492c2115 --- /dev/null +++ b/coin/provisioning/common/linux/android/gradle_project/app/src/main/AndroidManifest.xml @@ -0,0 +1,20 @@ +<?xml version="1.0" encoding="utf-8"?> +<manifest xmlns:android="http://schemas.android.com/apk/res/android" + xmlns:tools="http://schemas.android.com/tools"> + + <application + android:allowBackup="true" + android:label="gradle_project" + android:supportsRtl="true" + tools:targetApi="34"> + <activity + android:name=".MainActivity" + android:exported="true"> + <intent-filter> + <action android:name="android.intent.action.MAIN" /> + <category android:name="android.intent.category.LAUNCHER" /> + </intent-filter> + </activity> + </application> + +</manifest> diff --git a/coin/provisioning/common/linux/android/gradle_project/app/src/main/java/com/example/gradle_project/MainActivity.java b/coin/provisioning/common/linux/android/gradle_project/app/src/main/java/com/example/gradle_project/MainActivity.java new file mode 100644 index 00000000..d3575ef9 --- /dev/null +++ b/coin/provisioning/common/linux/android/gradle_project/app/src/main/java/com/example/gradle_project/MainActivity.java @@ -0,0 +1,16 @@ +// 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 + +package com.example.gradle_project; + +import androidx.appcompat.app.AppCompatActivity; + +import android.os.Bundle; + +public class MainActivity extends AppCompatActivity { + @Override + protected void onCreate(Bundle savedInstanceState) { + super.onCreate(savedInstanceState); + setContentView(R.layout.activity_main); + } +} diff --git a/coin/provisioning/common/linux/android/gradle_project/app/src/main/res/layout/activity_main.xml b/coin/provisioning/common/linux/android/gradle_project/app/src/main/res/layout/activity_main.xml new file mode 100644 index 00000000..c75d0576 --- /dev/null +++ b/coin/provisioning/common/linux/android/gradle_project/app/src/main/res/layout/activity_main.xml @@ -0,0 +1,18 @@ +<?xml version="1.0" encoding="utf-8"?> +<androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android" + xmlns:app="http://schemas.android.com/apk/res-auto" + xmlns:tools="http://schemas.android.com/tools" + android:layout_width="match_parent" + android:layout_height="match_parent" + tools:context=".MainActivity"> + + <TextView + android:layout_width="wrap_content" + android:layout_height="wrap_content" + android:text="Hello World!" + app:layout_constraintBottom_toBottomOf="parent" + app:layout_constraintEnd_toEndOf="parent" + app:layout_constraintStart_toStartOf="parent" + app:layout_constraintTop_toTopOf="parent" /> + +</androidx.constraintlayout.widget.ConstraintLayout> diff --git a/coin/provisioning/common/linux/android/gradle_project/build.gradle b/coin/provisioning/common/linux/android/gradle_project/build.gradle new file mode 100644 index 00000000..602be027 --- /dev/null +++ b/coin/provisioning/common/linux/android/gradle_project/build.gradle @@ -0,0 +1,4 @@ +// Top-level build file where you can add configuration options common to all sub-projects/modules. +plugins { +alias(libs.plugins.androidApplication) apply false +} diff --git a/coin/provisioning/common/linux/android/gradle_project/gradle/libs.versions.toml b/coin/provisioning/common/linux/android/gradle_project/gradle/libs.versions.toml new file mode 100644 index 00000000..85d2f8de --- /dev/null +++ b/coin/provisioning/common/linux/android/gradle_project/gradle/libs.versions.toml @@ -0,0 +1,18 @@ +[versions] +agp = "8.4.0" +core = "1.13.1" +appcompat = "1.6.1" +material = "1.11.0" +constraintlayout = "2.1.4" + +[libraries] +core = { group = 'androidx.core', name = "core", version.ref = "core" } +appcompat = { group = "androidx.appcompat", name = "appcompat", version.ref = "appcompat" } +material = { group = "com.google.android.material", name = "material", version.ref = "material" } +constraintlayout = { group = "androidx.constraintlayout", name = "constraintlayout", version.ref = "constraintlayout" } + +[plugins] +androidApplication = { id = "com.android.application", version.ref = "agp" } + +[bundles] + diff --git a/coin/provisioning/common/linux/android/gradle_project/settings.gradle b/coin/provisioning/common/linux/android/gradle_project/settings.gradle new file mode 100644 index 00000000..ca34c7e7 --- /dev/null +++ b/coin/provisioning/common/linux/android/gradle_project/settings.gradle @@ -0,0 +1,17 @@ +pluginManagement { + repositories { + google() + mavenCentral() + gradlePluginPortal() + } +} +dependencyResolutionManagement { + repositoriesMode.set(RepositoriesMode.FAIL_ON_PROJECT_REPOS) + repositories { + google() + mavenCentral() + } +} + +rootProject.name = "gradle_project" +include ':app' diff --git a/coin/provisioning/common/linux/android_emulator_launcher.sh b/coin/provisioning/common/linux/android_emulator_launcher.sh new file mode 100755 index 00000000..fad20148 --- /dev/null +++ b/coin/provisioning/common/linux/android_emulator_launcher.sh @@ -0,0 +1,120 @@ +#!/bin/bash +# Copyright (C) 2023 The Qt Company Ltd. +# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GPL-3.0-only WITH Qt-GPL-exception-1.0 + +# This util launches the Android emulator and ensures it doesn't stuck/freeze +# by detecting that and restarting it + +set -e + +EMULATOR_MAX_RETRIES=5 +ADB_MAX_TIMEOUT=300 +EMULATOR_EXEC="$ANDROID_SDK_ROOT/emulator/emulator" +ADB_EXEC="$ANDROID_SDK_ROOT/platform-tools/adb" +LOGCAT_PATH="$COIN_CTEST_RESULTSDIR/emulator_logcat_%iter.txt" +EMULATOR_RUN_LOG_PATH="$COIN_CTEST_RESULTSDIR/emulator_run_log_%iter.txt" + +if [ -z "${ANDROID_EMULATOR}" ]; then + echo "No AVD name provided via ANDROID_EMULATOR env variable. Aborting!" + exit 1 +fi + +function check_for_android_device +{ + $ADB_EXEC devices | awk 'NR==2{print $2}' | grep -qE '^(online|device)$' +} + +# WARNING: On the very first boot of the emulator it happens that the device +# "finishes" booting and getprop shows bootanim=stopped and +# boot_completed=1. But sometimes not all packages have been installed (`pm +# list packages` shows only 16 packages installed), and after around half a +# minute the boot animation starts spinning (bootanim=running) again despite +# boot_completed=1 all the time. After some minutes the boot animation stops +# again and the list of packages contains 80 packages. Only then the device is +# fully booted, and only then is dev.bootcomplete=1. +# +# To reproduce the emulator booting as the first time, you have to delete the +# cached images found inside $HOME/.android/avd/{avd_name}.avd/ especially the +# "userdata-qemu.img.qcow2" file. +function check_if_fully_booted +{ + # The "getprop" command separates lines with \r\n so we trim them + bootanim=$( timeout 1 "$ADB_EXEC" shell getprop init.svc.bootanim | tr -d '\r\n') + boot_completed=$(timeout 1 "$ADB_EXEC" shell getprop sys.boot_completed | tr -d '\r\n') + bootcomplete=$( timeout 1 "$ADB_EXEC" shell getprop dev.bootcomplete | tr -d '\r\n') + echo "bootanim=$bootanim boot_completed=$boot_completed bootcomplete=$bootcomplete" + [ "$bootanim" = stopped ] && [ "$boot_completed" = 1 ] && [ "$bootcomplete" = 1 ] +} + +for counter in $(seq ${EMULATOR_MAX_RETRIES}) +do + $ADB_EXEC kill-server + $ADB_EXEC start-server + + if check_for_android_device + then + echo "Emulator is already running but it shouldn't be. Terminating it now..." + pkill '^qemu-system-' || true + sleep 5 + fi + + LOGCAT_PATH=${LOGCAT_PATH//%iter/${counter}} + EMULATOR_RUN_LOG_PATH=${EMULATOR_RUN_LOG_PATH//%iter/${counter}} + + echo "Starting emulator ${ANDROID_EMULATOR}, try ${counter}/${EMULATOR_MAX_RETRIES}" \ + | tee "${EMULATOR_RUN_LOG_PATH}" + $EMULATOR_EXEC -avd "$ANDROID_EMULATOR" \ + -gpu swiftshader_indirect -no-audio -no-window -no-boot-anim \ + -cores 4 -memory 16000 -partition-size 4096 \ + -detect-image-hang -restart-when-stalled -no-snapshot-save \ + -no-nested-warnings -logcat '*:v' -logcat-output "${LOGCAT_PATH}" \ + </dev/null >"${EMULATOR_RUN_LOG_PATH}" 2>&1 & + emulator_pid=$! + disown $emulator_pid + + echo "Waiting ${ADB_MAX_TIMEOUT} seconds for emulated device to appear..." + timeout ${ADB_MAX_TIMEOUT} "$ADB_EXEC" wait-for-device + + # Due to some bug in Coin/Go, we can't have the emulator command stream + # the output to the console while in the background, as Coin will continue + # waiting for it. So, rely on re-directing all output to a log file and + # then printing it out after the emulator is started. + echo "######## Printing out the emulator command logs ########" + cat "${EMULATOR_RUN_LOG_PATH}" + echo "########################################################" + + echo "Waiting a few minutes for the emulator to fully boot..." + emulator_status=down + for _ in $(seq ${ADB_MAX_TIMEOUT}) + do + sleep 1 + + if check_for_android_device && check_if_fully_booted + then + emulator_status=up + break + fi + done + + # If emulator status is still offline after timeout period, + # we can assume it's stuck, and we must restart it + if [ $emulator_status = up ] + then + echo "Emulator started successfully" + break + else + if [ "$counter" -lt "$EMULATOR_MAX_RETRIES" ] + then + echo "Emulator failed to start," \ + "forcefully killing current instance and re-starting emulator" + kill $emulator_pid || true + sleep 5 + elif [ "$counter" -eq "$EMULATOR_MAX_RETRIES" ] + then + echo "Emulator failed to start, reached maximum number of retries. Aborting\!" + exit 2 + fi + fi +done + +exit 0 diff --git a/coin/provisioning/common/linux/android_linux.sh b/coin/provisioning/common/linux/android_linux.sh index 35e39951..fbdb75cf 100755 --- a/coin/provisioning/common/linux/android_linux.sh +++ b/coin/provisioning/common/linux/android_linux.sh @@ -1,43 +1,6 @@ #!/usr/bin/env bash - -############################################################################# -## -## Copyright (C) 2020 The Qt Company Ltd. -## Contact: https://www.qt.io/licensing/ -## -## This file is part of the provisioning scripts of the Qt Toolkit. -## -## $QT_BEGIN_LICENSE:LGPL$ -## Commercial License Usage -## Licensees holding valid commercial Qt licenses may use this file in -## accordance with the commercial license agreement provided with the -## Software or, alternatively, in accordance with the terms contained in -## a written agreement between you and The Qt Company. For licensing terms -## and conditions see https://www.qt.io/terms-conditions. For further -## information use the contact form at https://www.qt.io/contact-us. -## -## GNU Lesser General Public License Usage -## Alternatively, this file may be used under the terms of the GNU Lesser -## General Public License version 3 as published by the Free Software -## Foundation and appearing in the file LICENSE.LGPL3 included in the -## packaging of this file. Please review the following information to -## ensure the GNU Lesser General Public License version 3 requirements -## will be met: https://www.gnu.org/licenses/lgpl-3.0.html. -## -## GNU General Public License Usage -## Alternatively, this file may be used under the terms of the GNU -## General Public License version 2.0 or (at your option) the GNU General -## Public license version 3 or any later version approved by the KDE Free -## Qt Foundation. The licenses are as published by the Free Software -## Foundation and appearing in the file LICENSE.GPL2 and LICENSE.GPL3 -## included in the packaging of this file. Please review the following -## information to ensure the GNU General Public License requirements will -## be met: https://www.gnu.org/licenses/gpl-2.0.html and -## https://www.gnu.org/licenses/gpl-3.0.html. -## -## $QT_END_LICENSE$ -## -############################################################################# +# Copyright (C) 2022 The Qt Company Ltd. +# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only # This script install Android sdk and ndk. @@ -55,32 +18,74 @@ source "${BASH_SOURCE%/*}/../unix/SetEnvVar.sh" targetFolder="/opt/android" sdkTargetFolder="$targetFolder/sdk" -basePath="http://ci-files01-hki.intra.qt.io/input/android" +sudo mkdir -p "$sdkTargetFolder" + +basePath="http://ci-files01-hki.ci.qt.io/input/android" toolsVersion="2.1" toolsFile="commandlinetools-linux-6609375_latest.zip" -ndkVersion="r22b" -ndkFile="android-ndk-$ndkVersion-linux-x86_64.zip" -sdkBuildToolsVersion="31.0.0" -sdkApiLevel="android-31" +ndkVersionLatest="r26b" +ndkVersionDefault=$ndkVersionLatest +sdkBuildToolsVersion="34.0.0" +sdkApiLevel="android-34" toolsSha1="9172381ff070ee2a416723c1989770cf4b0d1076" -ndkSha1="9ece64c7f19763dd67320d512794969930fce9dc" +ndkSha1Latest="fdf33d9f6c1b3f16e5459d53a82c7d2201edbcc4" +ndkSha1Default=$ndkSha1Latest + +# Android 14 avd zip +android14SystemZipName="android14system_UE1A_230829_036.tar.gz" +android14SystemZipSha="ede80c6901e8fad1895c97a86542b8e072bb1ee5" +android14SystemPath="$basePath/$android14SystemZipName" + +# Android Automotive max SDK level image +sdkApiLevelAutomotiveMax="android-33" +androidAutomotiveMaxUrl="$basePath/${sdkApiLevelAutomotiveMax}_automotive.tar.gz" +androidAutomotiveMaxSha="b020a938ec46af2510047284406e9bed608cad03" +# Android Automotive min SDK level image +sdkApiLevelAutomotiveMin="android-29" +androidAutomotiveMinUrl="$basePath/${sdkApiLevelAutomotiveMin}_automotive.tar.gz" +androidAutomotiveMinSha="e6092585c00f87eb3b20a2eb7fdf6add42342d2f" toolsTargetFile="/tmp/$toolsFile" toolsSourceFile="$basePath/$toolsFile" -ndkTargetFile="/tmp/$ndkFile" -ndkSourceFile="$basePath/$ndkFile" +echo "Download and unzip Android SDK" DownloadURL "$toolsSourceFile" "$toolsSourceFile" "$toolsSha1" "$toolsTargetFile" -DownloadURL "$ndkSourceFile" "$ndkSourceFile" "$ndkSha1" "$ndkTargetFile" -echo "Unzipping Android NDK to '$targetFolder'" -sudo unzip -q "$ndkTargetFile" -d "$targetFolder" echo "Unzipping Android Tools to '$sdkTargetFolder'" sudo unzip -q "$toolsTargetFile" -d "$sdkTargetFolder" -rm "$ndkTargetFile" rm "$toolsTargetFile" +function InstallNdk() { + + ndkVersion=$1 + ndkSha1=$2 + + ndkFile="android-ndk-$ndkVersion-linux.zip" + ndkTargetFile="/tmp/$ndkFile" + ndkSourceFile="$basePath/$ndkFile" + + DownloadURL "$ndkSourceFile" "$ndkSourceFile" "$ndkSha1" "$ndkTargetFile" + echo "Unzipping Android NDK to '$targetFolder'" + # Get the package base directory name as string + zipBase=$(sudo zipinfo -1 "$ndkTargetFile" 2>/dev/null | awk '!seen {sub("/.*",""); print; seen=1}') + sudo unzip -q "$ndkTargetFile" -d "$targetFolder" + rm "$ndkTargetFile" + androidNdkRoot="${targetFolder}/${zipBase}" +} + +InstallNdk $ndkVersionDefault $ndkSha1Default +SetEnvVar "ANDROID_NDK_ROOT_DEFAULT" "$androidNdkRoot" + +if [ "$ndkVersionDefault" != "$ndkVersionLatest" ]; then + InstallNdk $ndkVersionLatest $ndkSha1Latest +fi +SetEnvVar "ANDROID_NDK_ROOT_LATEST" "$androidNdkRoot" + +# To be used by vcpkg +SetEnvVar "ANDROID_NDK_HOME" "$targetFolder/android-ndk-$ndkVersionDefault" +export ANDROID_NDK_HOME="$targetFolder/android-ndk-$ndkVersionDefault" + echo "Changing ownership of Android files." if uname -a |grep -q "el7"; then sudo chown -R qt:wheel "$targetFolder" @@ -105,37 +110,96 @@ if [ "$http_proxy" != "" ]; then echo "y" | "$sdkTargetFolder/cmdline-tools/tools/bin/sdkmanager" --sdk_root=$sdkTargetFolder \ --no_https --proxy=http --proxy_host="$proxy_host" --proxy_port="$proxy_port" \ "platforms;$sdkApiLevel" "platform-tools" "build-tools;$sdkBuildToolsVersion" \ - | eval $sdkmanager_no_progress_bar_cmd + | eval "$sdkmanager_no_progress_bar_cmd" else echo "y" | "$sdkTargetFolder/cmdline-tools/tools/bin/sdkmanager" --sdk_root=$sdkTargetFolder \ "platforms;$sdkApiLevel" "platform-tools" "build-tools;$sdkBuildToolsVersion" \ - | eval $sdkmanager_no_progress_bar_cmd + | eval "$sdkmanager_no_progress_bar_cmd" fi echo "Checking the contents of Android SDK..." ls -l "$sdkTargetFolder" SetEnvVar "ANDROID_SDK_ROOT" "$sdkTargetFolder" -SetEnvVar "ANDROID_NDK_ROOT" "$targetFolder/android-ndk-$ndkVersion" SetEnvVar "ANDROID_NDK_HOST" "linux-x86_64" SetEnvVar "ANDROID_API_VERSION" "$sdkApiLevel" # shellcheck disable=SC2129 -echo "Android SDK tools = $toolsVersion" >> ~/versions.txt -echo "Android SDK Build Tools = $sdkBuildToolsVersion" >> ~/versions.txt -echo "Android SDK API level = $sdkApiLevel" >> ~/versions.txt -echo "Android NDK = $ndkVersion" >> ~/versions.txt +cat >>~/versions.txt <<EOB +Android SDK tools = $toolsVersion +Android SDK Build Tools = $sdkBuildToolsVersion +Android SDK API level = $sdkApiLevel +Android NDK = $ndkVersion +EOB cd "$sdkTargetFolder/cmdline-tools/tools/bin" -./sdkmanager --install "emulator" --sdk_root=$sdkTargetFolder \ - | eval $sdkmanager_no_progress_bar_cmd -echo "y" | ./sdkmanager --install "system-images;android-23;google_apis;x86" \ - | eval $sdkmanager_no_progress_bar_cmd - +./sdkmanager --install "emulator" --sdk_root="$sdkTargetFolder" \ + | eval "$sdkmanager_no_progress_bar_cmd" + +echo "Download and unzip Android Emulator version 34.1.19" +emulatorFileName="emulator-linux_x64-11525734.zip" +emulatorCiUrl="https://ci-files01-hki.ci.qt.io/input/android/$emulatorFileName" +emulatorUrl="http://dl.google.com/android/repository/$emulatorFileName" +emulatorTargetFile="$sdkTargetFolder/$emulatorFileName" +emulatorSha1="d6cc94109b081c5f6042dcb71a453144f7e62ce7" +DownloadURL "$emulatorCiUrl" "$emulatorUrl" "$emulatorSha1" "$emulatorTargetFile" +echo "Unzipping the Android Emulator to '$sdkTargetFolder'" +sudo unzip -o -q "$emulatorTargetFile" -d "$sdkTargetFolder" +rm "$emulatorTargetFile" + +echo "y" | ./sdkmanager --install "system-images;android-28;google_apis;x86" \ + | eval "$sdkmanager_no_progress_bar_cmd" + +echo "Extract stored Android 14 Beta $android14SystemZipName" +DownloadURL "$android14SystemPath" "$android14SystemPath" "$android14SystemZipSha" \ + "/tmp/$android14SystemZipName" +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 x86emulator -k "system-images;android-23;google_apis;x86" -c 2048M -f +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" + +echo "Install maximum supported SDK level image for Android Automotive $sdkApiLevelAutomotiveMax" +DownloadURL "$androidAutomotiveMaxUrl" "$androidAutomotiveMaxUrl" "$androidAutomotiveMaxSha" \ + "/tmp/${sdkApiLevelAutomotiveMax}_automotive.tar.gz" +sudo tar -xzf "/tmp/${sdkApiLevelAutomotiveMax}_automotive.tar.gz" -C "$sdkTargetFolder/system-images" +echo "no" | ./avdmanager create avd -n automotive_emulator_x86_64_api_33 -c 2048M -f \ + -k "system-images;${sdkApiLevelAutomotiveMax};android-automotive;x86_64" + +echo "Install minimum supported SDK level image for Android Automotive $sdkApiLevelAutomotiveMin" +DownloadURL "$androidAutomotiveMinUrl" "$androidAutomotiveMinUrl" "$androidAutomotiveMinSha" \ + "/tmp/${sdkApiLevelAutomotiveMin}_automotive.tar.gz" +sudo tar -xzf "/tmp/${sdkApiLevelAutomotiveMin}_automotive.tar.gz" -C $sdkTargetFolder/system-images +echo "no" | ./avdmanager create avd -n automotive_emulator_x86_64_api_29 -c 2048M -f \ + -k "system-images;${sdkApiLevelAutomotiveMin};android-automotive;x86_64" + # Purely informative, show the list of avd devices ./avdmanager list avd + +# To be used by the VMs to start the emulator for tests +emulator_script_filename="android_emulator_launcher.sh" +scripts_dir_name="$(dirname "$(readlink -f "${BASH_SOURCE[0]}")")" +cp "${scripts_dir_name}/${emulator_script_filename}" "${HOME}" +ANDROID_EMULATOR_RUNNER="${HOME}/${emulator_script_filename}" +SetEnvVar "ANDROID_EMULATOR_RUNNER" "$ANDROID_EMULATOR_RUNNER" + +# Gradle Caching +cp -r "${scripts_dir_name}/android/gradle_project" /tmp/gradle_project +cd /tmp/gradle_project +# Get Gradle files from qtbase +qtbaseGradleUrl="https://code.qt.io/cgit/qt/qtbase.git/plain/src/3rdparty/gradle" +commit_sha="f22e9795d9a32fc4e9f4d6f2a70c2f831028342b" +curl "$qtbaseGradleUrl/gradle.properties?h=$commit_sha" > gradle.properties +curl "$qtbaseGradleUrl/gradlew?h=$commit_sha" > gradlew +curl "$qtbaseGradleUrl/gradlew.bat?h=$commit_sha" > gradlew.bat +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 +# Run Gradle +chmod +x gradlew +ANDROID_SDK_ROOT="$sdkTargetFolder" sh gradlew build diff --git a/coin/provisioning/common/linux/apt_wait_loop.sh b/coin/provisioning/common/linux/apt_wait_loop.sh index 3614f2df..60d5d5ed 100755 --- a/coin/provisioning/common/linux/apt_wait_loop.sh +++ b/coin/provisioning/common/linux/apt_wait_loop.sh @@ -1,43 +1,6 @@ #!/usr/bin/env bash - -############################################################################# -## -## Copyright (C) 2018 The Qt Company Ltd. -## Contact: https://www.qt.io/licensing/ -## -## This file is part of the provisioning scripts of the Qt Toolkit. -## -## $QT_BEGIN_LICENSE:LGPL$ -## Commercial License Usage -## Licensees holding valid commercial Qt licenses may use this file in -## accordance with the commercial license agreement provided with the -## Software or, alternatively, in accordance with the terms contained in -## a written agreement between you and The Qt Company. For licensing terms -## and conditions see https://www.qt.io/terms-conditions. For further -## information use the contact form at https://www.qt.io/contact-us. -## -## GNU Lesser General Public License Usage -## Alternatively, this file may be used under the terms of the GNU Lesser -## General Public License version 3 as published by the Free Software -## Foundation and appearing in the file LICENSE.LGPL3 included in the -## packaging of this file. Please review the following information to -## ensure the GNU Lesser General Public License version 3 requirements -## will be met: https://www.gnu.org/licenses/lgpl-3.0.html. -## -## GNU General Public License Usage -## Alternatively, this file may be used under the terms of the GNU -## General Public License version 2.0 or (at your option) the GNU General -## Public license version 3 or any later version approved by the KDE Free -## Qt Foundation. The licenses are as published by the Free Software -## Foundation and appearing in the file LICENSE.GPL2 and LICENSE.GPL3 -## included in the packaging of this file. Please review the following -## information to ensure the GNU General Public License requirements will -## be met: https://www.gnu.org/licenses/gpl-2.0.html and -## https://www.gnu.org/licenses/gpl-3.0.html. -## -## $QT_END_LICENSE$ -## -############################################################################# +# Copyright (C) 2018 The Qt Company Ltd. +# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only set -ex diff --git a/coin/provisioning/common/linux/axivion-bauhaus-suite.sh b/coin/provisioning/common/linux/axivion-bauhaus-suite.sh new file mode 100755 index 00000000..ab4ce5ef --- /dev/null +++ b/coin/provisioning/common/linux/axivion-bauhaus-suite.sh @@ -0,0 +1,44 @@ +#!/usr/bin/env bash +# Copyright (C) 2023 The Qt Company Ltd. +# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only + +# This script installs Axivion Bauhaus Suite tool. + +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 + + DownloadURL "$url" "$url" "$sha" "$file" + tar -xzvf "$file" + + rm -rf "$file" +} + + +# Axivion Bauhaus Suite +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" +DownloadAndExtract "$sourceFile" "$sha1" "$targetFile" "$HOME" + +mkdir "$HOME/.bauhaus" +cd "$HOME/.bauhaus" +wget http://ci-files01-hki.ci.qt.io/input/axivion/Qt_Evaluation_QSR_INTERN_20250118.key +cd "$HOME" + +#Axivion configuration +configurationFile="http://ci-files01-hki.ci.qt.io/input/axivion/axivion_config_771_new.tar.gz" +configurationTargetFile="axivion_config.tar.gz" +configSha1="db77f376e0b3ee0f7a74701790d1c8abe792bebe" +DownloadAndExtract "$configurationFile" "$configSha1" "$configurationTargetFile" "$HOME" + +echo "Axivion Bauhaus Suite = 7.7.4" >> ~/versions.txt diff --git a/coin/provisioning/common/linux/bootstrap-autostart.sh b/coin/provisioning/common/linux/bootstrap-autostart.sh new file mode 100755 index 00000000..d590069e --- /dev/null +++ b/coin/provisioning/common/linux/bootstrap-autostart.sh @@ -0,0 +1,89 @@ +#!/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 + +# Make bootstap agent run in background without terminal view +# Terminal view can cause issues with Autotests + +# Create shell wrapper to pass environment variables +wrapper="${HOME}/bootstrap-agent.sh" +autostart_folder="${HOME}/.config/autostart" +# This directory should exist. Created in base image (tier 1) +mkdir -p "${autostart_folder}" + +# Create autostart desktop file and shell wrapper +sudo tee "${autostart_folder}/coin-bootstrap-agent.desktop" <<"EOF" +[Desktop Entry] +Type=Application +Exec=/home/qt/bootstrap-agent.sh +Hidden=false +X-GNOME-Autostart-enabled=true +Name=Coin +EOF + +sudo tee "$wrapper" <<"EOF" +#!/bin/sh +# Wait for network to come up +x=0 +while ! cat "/etc/resolv.conf" | grep -v "#" | grep "nameserver" > /dev/null ; do + echo "(WW) wating for network ($x/20)..." >> /home/qt/bootstrap-agent.txt + x=$((x+1)) + sleep 1 + if [ "$x" -gt 20 ]; then + echo "(EE) netowrk down. Exiting bootstrap." >> /home/qt/bootstrap-agent.txt + exit 1 + fi +done +echo "(**) network found." >> /home/qt/bootstrap-agent.txt + +# Wait for context to be mounted +x=0 +while ! ([ -f "/media/qt/CONTEXT/context.sh" ] || [ -f "/media/CONTEXT/context.sh" ] || [ -f "/run/media/qt/CONTEXT/context.sh" ]); do + echo "(WW) waiting for context file to be mounted ($x/20)..." >> /home/qt/bootstrap-agent.txt + x=$((x+1)) + sleep 1 + if [ "$x" -gt 20 ]; then + echo "(WW) no context file found. Mounting manually." >> /home/qt/bootstrap-agent.txt + break + fi +done + +# establish mount path (differs per distro) +if ! ([ -f "/media/qt/CONTEXT/context.sh" ] || [ -f "/media/CONTEXT/context.sh" ] || [ -f "/run/media/qt/CONTEXT/context.sh" ]); then + MOUNTPATH="invalid" + if [ -d "/run/media/qt/CONTEXT" ]; then + MOUNTPATH="/run/media/qt/CONTEXT" + fi + if [ -d "/media/qt/CONTEXT" ]; then + MOUNTPATH="/media/qt/CONTEXT" + fi + if [ -d "/media/CONTEXT" ]; then + MOUNTPATH="/media/CONTEXT" + fi + + # try mounting if unmounted + if [ -d "$MOUNTPATH" ]; then + if ! mount | grep "$MOUNTPATH" > /dev/null ; then + echo "(WW) context file not mounted..." >> /home/qt/bootstrap-agent.txt + echo "(WW) waiting 1 minute" >> /home/qt/bootstrap-agent.txt + sleep 60 + echo "(**) mount /dev/sr0 $MOUNTPATH" >> /home/qt/bootstrap-agent.txt + sudo mount -r /dev/sr0 $MOUNTPATH + fi + fi +fi + +if ([ -f "/media/qt/CONTEXT/context.sh" ] || [ -f "/media/CONTEXT/context.sh" ] || [ -f "/run/media/qt/CONTEXT/context.sh" ]); then + echo "(**) context found." >> /home/qt/bootstrap-agent.txt +else + echo "(EE) context not found. Starting bootstrap anyway." >> /home/qt/bootstrap-agent.txt +fi + +/home/qt/bootstrap-agent /dev/ttyS0 +EOF + +# set owner and permissions +sudo chown qt:users "$wrapper" +sudo chmod 755 "$wrapper" diff --git a/coin/provisioning/common/linux/cleanup_cache.sh b/coin/provisioning/common/linux/cleanup_cache.sh new file mode 100755 index 00000000..acb85965 --- /dev/null +++ b/coin/provisioning/common/linux/cleanup_cache.sh @@ -0,0 +1,58 @@ +#!/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 + +# This script needs to be called at the end of provisioning, to clean the cache directory + +set -e +set -f +QT_USER="qt" +CACHE=".cache" + +echo "---- starting cache cleanup." + +# skip if user qt does not exist +echo "---- checking user $QT_USER" +if grep -q "^$QT_USER:" /etc/passwd; then + echo "(**) found user $QT_USER" +else + echo "(WW) user $QT_USER not found." + echo "---- skipping cache cleanup." + exit 0 +fi + +# assume /home/qt as ~ won't expand into sudo +CACHEDIR="/home/$QT_USER/$CACHE" + +# delete files from a directory if it exists +echo "---- checking cache directory $CACHEDIR" +if sudo [ -d "$CACHEDIR" ]; then + if [ "$(sudo ls -A $CACHEDIR)" ]; then + echo "(WW) cache in $CACHEDIR is not empty." + echo "---- removing content:" + + # List files and delete in a loop as wildcard won't expand into sudo + sudo ls -A1 "$CACHEDIR" | while read -r FILE + do + echo "--- rm -rf $FILE" + sudo rm -rf "$CACHEDIR/$FILE" + done + else + echo "(**) cache in $CACHEDIR is empty." + fi +else + if sudo [ -f "$CACHEDIR" ]; then + # replace a cache file with a directory + echo "(WW) $CACHEDIR is a file." + echo "---- removing $CACHEDIR." + sudo rm -r "$CACHEDIR" + else + echo "(WW) cache directory $CACHEDIR not found." + fi + + # create new cache directory and assign rights + echo "---- creating cache director $CACHEDIR." + sudo mkdir "$CACHEDIR" + sudo chown $QT_USER:users $CACHEDIR + sudo chmod 700 $CACHEDIR +fi diff --git a/coin/provisioning/common/linux/cmake_linux.sh b/coin/provisioning/common/linux/cmake_linux.sh index c17d40e9..5fadad24 100755 --- a/coin/provisioning/common/linux/cmake_linux.sh +++ b/coin/provisioning/common/linux/cmake_linux.sh @@ -1,43 +1,6 @@ #!/usr/bin/env bash - -############################################################################# -## -## Copyright (C) 2016 The Qt Company Ltd. -## Contact: https://www.qt.io/licensing/ -## -## This file is part of the provisioning scripts of the Qt Toolkit. -## -## $QT_BEGIN_LICENSE:LGPL$ -## Commercial License Usage -## Licensees holding valid commercial Qt licenses may use this file in -## accordance with the commercial license agreement provided with the -## Software or, alternatively, in accordance with the terms contained in -## a written agreement between you and The Qt Company. For licensing terms -## and conditions see https://www.qt.io/terms-conditions. For further -## information use the contact form at https://www.qt.io/contact-us. -## -## GNU Lesser General Public License Usage -## Alternatively, this file may be used under the terms of the GNU Lesser -## General Public License version 3 as published by the Free Software -## Foundation and appearing in the file LICENSE.LGPL3 included in the -## packaging of this file. Please review the following information to -## ensure the GNU Lesser General Public License version 3 requirements -## will be met: https://www.gnu.org/licenses/lgpl-3.0.html. -## -## GNU General Public License Usage -## Alternatively, this file may be used under the terms of the GNU -## General Public License version 2.0 or (at your option) the GNU General -## Public license version 3 or any later version approved by the KDE Free -## Qt Foundation. The licenses are as published by the Free Software -## Foundation and appearing in the file LICENSE.GPL2 and LICENSE.GPL3 -## included in the packaging of this file. Please review the following -## information to ensure the GNU General Public License requirements will -## be met: https://www.gnu.org/licenses/gpl-2.0.html and -## https://www.gnu.org/licenses/gpl-3.0.html. -## -## $QT_END_LICENSE$ -## -############################################################################# +# Copyright (C) 2016 The Qt Company Ltd. +# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only # This script installs CMake @@ -48,11 +11,11 @@ source "${BASH_SOURCE%/*}/../unix/InstallFromCompressedFileFromURL.sh" # shellcheck source=../unix/SetEnvVar.sh source "${BASH_SOURCE%/*}/../unix/SetEnvVar.sh" -majorminorversion="3.21" -version="3.21.1" -PrimaryUrl="http://ci-files01-hki.intra.qt.io/input/cmake/cmake-$version-linux-x86_64.tar.gz" +majorminorversion="3.27" +version="3.27.7" +PrimaryUrl="http://ci-files01-hki.ci.qt.io/input/cmake/cmake-$version-linux-x86_64.tar.gz" AltUrl="https://cmake.org/files/v$majorminorversion/cmake-$version-linux-x86_64.tar.gz" -SHA1="591e3b0729ae07c37c1fa3c6adde7cc21387059d" +SHA1="83ab00c8432a71cfc81e933ee7b3c3e14d50ad6f" targetFolder="/opt/cmake-$version" appPrefix="cmake-$version-linux-x86_64" diff --git a/coin/provisioning/common/linux/cmake_min_supported.sh b/coin/provisioning/common/linux/cmake_min_supported.sh new file mode 100755 index 00000000..4c64299b --- /dev/null +++ b/coin/provisioning/common/linux/cmake_min_supported.sh @@ -0,0 +1,25 @@ +#!/usr/bin/env bash +# Copyright (C) 2016 The Qt Company Ltd. +# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only + +# This script installs the minimum supported CMake to build Qt + +# shellcheck source=../unix/InstallFromCompressedFileFromURL.sh +source "${BASH_SOURCE%/*}/../unix/InstallFromCompressedFileFromURL.sh" +# shellcheck source=../unix/SetEnvVar.sh +source "${BASH_SOURCE%/*}/../unix/SetEnvVar.sh" + +majorminorversion="3.16" +version="3.16.8" +PrimaryUrl="http://ci-files01-hki.ci.qt.io/input/cmake/cmake-$version-Linux-x86_64.tar.gz" +AltUrl="https://cmake.org/files/v$majorminorversion/cmake-$version-Linux-x86_64.tar.gz" +SHA1="a4d2f96f475ccc8e1ae1d97cf6c8ce39abaa9d7c" +targetFolder="/opt/cmake-$version" +appPrefix="cmake-$version-Linux-x86_64" + +InstallFromCompressedFileFromURL "$PrimaryUrl" "$AltUrl" "$SHA1" "$targetFolder" "$appPrefix" + +SetEnvVar "CMAKE_MIN_SUPPORTED_BIN_PATH" "$targetFolder/bin" + +echo "CMake Min Supported = $version" >> ~/versions.txt + diff --git a/coin/provisioning/common/linux/cmake_toolchain_files/integrity_toolchain.cmake b/coin/provisioning/common/linux/cmake_toolchain_files/integrity_toolchain.cmake index def72e20..63cbc985 100644 --- a/coin/provisioning/common/linux/cmake_toolchain_files/integrity_toolchain.cmake +++ b/coin/provisioning/common/linux/cmake_toolchain_files/integrity_toolchain.cmake @@ -13,7 +13,7 @@ set(CMAKE_ASM_COMPILER cxintarm64) set(EGL_FOUND True) set(UNIX True) -set (CMAKE_C_COMPILE_FEATURES c_std_99) +set (CMAKE_C_COMPILE_FEATURES c_std_11) set (CMAKE_CXX_COMPILE_FEATURES cxx_alias_templates cxx_alignas @@ -59,38 +59,58 @@ endif() set(CMAKE_FIND_ROOT_PATH ${TARGET_ROOT_PATH}) +#graphical lib paths +set(EGL_LIBRARY_GRAPHIC_PATH ${TARGET_ROOT_PATH}/apps/ghs_apps_proc/qc_bsp/out/rel/libs/multimedia/graphics) +set(EGL_LIBRARY_CHK_PATH ${TARGET_ROOT_PATH}/apps/ghs_apps_proc/integrity/libs/arm64/chk) +set(EGL_LIBRARY_PREBUILD_PATH ${TARGET_ROOT_PATH}/apps/ghs_apps_proc/qc_bsp/AMSS/multimedia/graphics/opengl/esx/build/integrity/prebuilt) + #base -set(CMAKE_C_FLAGS "-bsp $ENV{INTEGRITY_BSP} -os_dir $ENV{INTEGRITY_DIR} -non_shared -startfile_dir=$ENV{INTEGRITY_DIR}/libs/$ENV{INTEGRITY_BSP}/$ENV{INTEGRITY_BUILD_TARGET} --rtos_library_directory=libs/$ENV{INTEGRITY_BSP}/$ENV{INTEGRITY_BUILD_TARGET} --rtos_library_directory=libs/arm64/$ENV{INTEGRITY_BUILD_TARGET} -bigswitch -DINTEGRITY -llibivfs.a -llibposix.a -llibpaged_alloc.a -llibnet.a -llibsocket.a") +set(CMAKE_C_FLAGS "-bsp $ENV{INTEGRITY_BSP} -os_dir $ENV{INTEGRITY_DIR} -non_shared -startfile_dir=$ENV{INTEGRITY_DIR}/libs/$ENV{INTEGRITY_BSP}/$ENV{INTEGRITY_BUILD_TARGET} --rtos_library_directory=libs/$ENV{INTEGRITY_BSP}/$ENV{INTEGRITY_BUILD_TARGET} --rtos_library_directory=libs/arm64/$ENV{INTEGRITY_BUILD_TARGET} -bigswitch -DINTEGRITY -llibposix.a") set(CMAKE_C_FLAGS_DEBUG "-g -Omaxdebug") -set(CMAKE_C_FLAGS_RELEASE "-Ospeed -Olink -Omax") -set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} --signed_fields --diag_suppress=1,82,228,236,381,611,961,997,1795,1931,1974,3148 --c++17 --thread_local_storage --exceptions --defer_parse_function_templates") +set(CMAKE_C_FLAGS_RELEASE "-Ospeed -Olink -Omax -no_uvfd") +set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} --signed_fields --diag_suppress=1,82,228,236,381,611,961,997,1795,1931,1974,3148,1721,1424,193,940,620,111,128,185,826,186,68,830,177,554,550,175,1441,546 -std=c11 --c++17 --thread_local_storage --exceptions --defer_parse_function_templates") -set(CMAKE_CXX_FLAGS "${CMAKE_C_FLAGS} --signed_fields --no_implicit_include --link_once_templates -non_shared --new_outside_of_constructor -I $ENV{QC_MULTIMEDIA_INC_DIR}") +set(CMAKE_CXX_FLAGS "${CMAKE_C_FLAGS} -frigor=accurate --signed_fields --no_implicit_include --link_once_templates -non_shared --new_outside_of_constructor --commons -I $ENV{QC_MULTIMEDIA_INC_DIR}") set(CMAKE_CXX_FLAGS_DEBUG ${CMAKE_C_FLAGS_DEBUG}) set(CMAKE_CXX_FLAGS_RELEASE "${CMAKE_C_FLAGS_RELEASE}") -set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -L${TARGET_ROOT_PATH} -L${TARGET_ROOT_PATH}/apps/ghs_apps_proc/qc_bsp/out/rel/libs/multimedia/graphics -L${TARGET_ROOT_PATH}/apps/ghs_apps_proc/qc_bsp/out/rel/libs/base -L${TARGET_ROOT_PATH}/apps/ghs_apps_proc/qc_bsp/AMSS/multimedia/graphics/opengl/esx/build/integrity/prebuilt -L${TARGET_ROOT_PATH}/apps/ghs_apps_proc/qc_bsp/out/rel/libs/platform -L${TARGET_ROOT_PATH}/apps/ghs_apps_proc/qc_bsp/out/rel/libs/multimedia/display/ --commons") - set(CMAKE_FIND_LIBRARY_PREFIXES "lib") set(CMAKE_FIND_LIBRARY_SUFFIXES ".a") set(BUILD_SHARED_LIBS OFF) -set(CMAKE_EXE_LINKER_FLAGS "") - -set(QT_CFLAGS_OPTIMIZE_FULL "-Ospeed -olink -Omax") +set(QT_CFLAGS_OPTIMIZE_FULL "-Ospeed -Olink -Omax") set(GLSLANG_OSDEP_PATH ../3rdparty/glslang/glslang/OSDependent/Unix) - -#set(QT_DEBUG_OPTIMIZATION_FLAGS "1") -#set (QT_CMAKE_DEBUG_EXTEND_TARGET "1") - -set(EGL_INCLUDE_DIR $ENV{GL_INC_DIR}) +set(GL_INC_DIR ${TARGET_ROOT_PATH}/apps/ghs_apps_proc/qc_bsp/AMSS/multimedia/graphics/include/public) set(PKG_EGL_LIBRARY_DIRS ${TARGET_ROOT_PATH}) -set(EGL_LIBRARY ${TARGET_ROOT_PATH}/../libeglmegapack.a) - -#set(EGL_LIBRARY libESXEGL_Adreno.a libadreno_utils.a libESXGLESv2_Adreno.a libadreno_utils.a libGSLUser.a libOSUser.a libpanel.a libivfs.a libposix.a libpmem.a libtzbsp.a libpaged_alloc.a libglnext-llvm.a libopenwfd.a libplanedef.a liblogger.a libnet.a libsocket.a librfs_client.a libshm_client.a libmmosalrfs.a libmmosalfile.a libOSAbstraction.a) - -set(GLESv2_LIBRARY ${EGL_LIBRARY}) -set(GLESv2_INCLUDE_DIR $ENV{GL_INC_DIR}) -set(OPENGL_INCLUDE_DIR $ENV{GL_INC_DIR}) +set(EGL_INCLUDE_DIR ${GL_INC_DIR}) + +set(EGL_LIBRARY "${EGL_LIBRARY_GRAPHIC_PATH}/libESXEGL_Adreno.a") + +set(GLESv2_INCLUDE_DIR ${GL_INC_DIR}) +set(GLESv2_LIBRARY "${EGL_LIBRARY_GRAPHIC_PATH}/libESXGLESv2_Adreno.a") + +set(IntegrityPlatformGraphics_INCLUDE_DIR ${GL_INC_DIR}) +set(IntegrityPlatformGraphics_LIBRARY "${EGL_LIBRARY_GRAPHIC_PATH}/libadreno_utils.a") +set(IntegrityPlatformGraphics_LIBRARIES_PACK + "${EGL_LIBRARY_GRAPHIC_PATH}/libplanedef.a" + "${EGL_LIBRARY_GRAPHIC_PATH}/libmmosalfile.a" + "${EGL_LIBRARY_GRAPHIC_PATH}/libOSAbstraction.a" + "${EGL_LIBRARY_GRAPHIC_PATH}/libopenwfd.a" + "${EGL_LIBRARY_GRAPHIC_PATH}/libOSUser.a" + "${EGL_LIBRARY_GRAPHIC_PATH}/libpanel.a" + "${EGL_LIBRARY_GRAPHIC_PATH}/libGSLUser.a" + "${EGL_LIBRARY_PREBUILD_PATH}/libglnext-llvm.a" + "${EGL_LIBRARY_GRAPHIC_PATH}/libpmem.a" + "${EGL_LIBRARY_CHK_PATH}/libposix.a" + "${EGL_LIBRARY_CHK_PATH}/libivfs.a" +) + +list(APPEND _qt_igy_gui_libs + "${GLESv2_LIBRARY}" + "${IntegrityPlatformGraphics_LIBRARY}" + "${IntegrityPlatformGraphics_LIBRARIES_PACK}") + +set(OPENGL_INCLUDE_DIR ${GL_INC_DIR}) +set(OPENGL_opengl_LIBRARY ${EGL_LIBRARY}) diff --git a/coin/provisioning/common/linux/cmake_toolchain_files/qnx-toolchain-aarch64le.cmake b/coin/provisioning/common/linux/cmake_toolchain_files/qnx-toolchain-aarch64le.cmake deleted file mode 100644 index 3e3ee6e8..00000000 --- a/coin/provisioning/common/linux/cmake_toolchain_files/qnx-toolchain-aarch64le.cmake +++ /dev/null @@ -1,25 +0,0 @@ -set(CMAKE_SYSTEM_NAME QNX) - -if (NOT DEFINED CMAKE_FIND_ROOT_PATH_MODE_PROGRAM) - set(CMAKE_FIND_ROOT_PATH_MODE_PROGRAM NEVER) -endif() -if (NOT DEFINED CMAKE_FIND_ROOT_PATH_MODE_LIBRARY) - set(CMAKE_FIND_ROOT_PATH_MODE_LIBRARY ONLY) -endif() -if (NOT DEFINED CMAKE_FIND_ROOT_PATH_MODE_PACKAGE) - set(CMAKE_FIND_ROOT_PATH_MODE_PACKAGE ONLY) -endif() -if (NOT DEFINED CMAKE_FIND_ROOT_PATH_MODE_INCLUDE) - set(CMAKE_FIND_ROOT_PATH_MODE_INCLUDE ONLY) -endif() - -set(CMAKE_FIND_ROOT_PATH $ENV{QNX_TARGET}/target/qnx7/) - -set(_qnx_toolchain_arch gcc_ntoaarch64le) - -set(CMAKE_C_COMPILER qcc) -set(CMAKE_C_COMPILER_TARGET ${_qnx_toolchain_arch}) -set(CMAKE_CXX_COMPILER q++) -set(CMAKE_CXX_COMPILER_TARGET ${_qnx_toolchain_arch}) - -set(CMAKE_SYSROOT $ENV{QNX_TARGET}) diff --git a/coin/provisioning/common/linux/cmake_toolchain_files/qnx-toolchain-armv7le.cmake b/coin/provisioning/common/linux/cmake_toolchain_files/qnx-toolchain-armv7le.cmake deleted file mode 100644 index b441859a..00000000 --- a/coin/provisioning/common/linux/cmake_toolchain_files/qnx-toolchain-armv7le.cmake +++ /dev/null @@ -1,25 +0,0 @@ -set(CMAKE_SYSTEM_NAME QNX) - -if (NOT DEFINED CMAKE_FIND_ROOT_PATH_MODE_PROGRAM) - set(CMAKE_FIND_ROOT_PATH_MODE_PROGRAM NEVER) -endif() -if (NOT DEFINED CMAKE_FIND_ROOT_PATH_MODE_LIBRARY) - set(CMAKE_FIND_ROOT_PATH_MODE_LIBRARY ONLY) -endif() -if (NOT DEFINED CMAKE_FIND_ROOT_PATH_MODE_PACKAGE) - set(CMAKE_FIND_ROOT_PATH_MODE_PACKAGE ONLY) -endif() -if (NOT DEFINED CMAKE_FIND_ROOT_PATH_MODE_INCLUDE) - set(CMAKE_FIND_ROOT_PATH_MODE_INCLUDE ONLY) -endif() - -set(CMAKE_FIND_ROOT_PATH $ENV{QNX_TARGET}/target/qnx7/) - -set(_qnx_toolchain_arch gcc_ntoarmv7le) - -set(CMAKE_C_COMPILER qcc) -set(CMAKE_C_COMPILER_TARGET ${_qnx_toolchain_arch}) -set(CMAKE_CXX_COMPILER q++) -set(CMAKE_CXX_COMPILER_TARGET ${_qnx_toolchain_arch}) - -set(CMAKE_SYSROOT $ENV{QNX_TARGET}) diff --git a/coin/provisioning/common/linux/cmake_toolchain_files/qnx-toolchain-x8664.cmake b/coin/provisioning/common/linux/cmake_toolchain_files/qnx-toolchain-x8664.cmake deleted file mode 100644 index bec28b06..00000000 --- a/coin/provisioning/common/linux/cmake_toolchain_files/qnx-toolchain-x8664.cmake +++ /dev/null @@ -1,25 +0,0 @@ -set(CMAKE_SYSTEM_NAME QNX) - -if (NOT DEFINED CMAKE_FIND_ROOT_PATH_MODE_PROGRAM) - set(CMAKE_FIND_ROOT_PATH_MODE_PROGRAM NEVER) -endif() -if (NOT DEFINED CMAKE_FIND_ROOT_PATH_MODE_LIBRARY) - set(CMAKE_FIND_ROOT_PATH_MODE_LIBRARY ONLY) -endif() -if (NOT DEFINED CMAKE_FIND_ROOT_PATH_MODE_PACKAGE) - set(CMAKE_FIND_ROOT_PATH_MODE_PACKAGE ONLY) -endif() -if (NOT DEFINED CMAKE_FIND_ROOT_PATH_MODE_INCLUDE) - set(CMAKE_FIND_ROOT_PATH_MODE_INCLUDE ONLY) -endif() - -set(CMAKE_FIND_ROOT_PATH $ENV{QNX_TARGET}/target/qnx7/) - -set(_qnx_toolchain_arch gcc_ntox86_64) - -set(CMAKE_C_COMPILER qcc) -set(CMAKE_C_COMPILER_TARGET ${_qnx_toolchain_arch}) -set(CMAKE_CXX_COMPILER q++) -set(CMAKE_CXX_COMPILER_TARGET ${_qnx_toolchain_arch}) - -set(CMAKE_SYSROOT $ENV{QNX_TARGET}) diff --git a/coin/provisioning/common/linux/disable-cracklib.sh b/coin/provisioning/common/linux/disable-cracklib.sh index e6cfc7a5..c4a5f9ba 100755 --- a/coin/provisioning/common/linux/disable-cracklib.sh +++ b/coin/provisioning/common/linux/disable-cracklib.sh @@ -1,4 +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 sudo chmod -x /etc/cron.daily/cracklib-runtime diff --git a/coin/provisioning/common/linux/disable-notifications.sh b/coin/provisioning/common/linux/disable-notifications.sh index 28d21656..802f986c 100755 --- a/coin/provisioning/common/linux/disable-notifications.sh +++ b/coin/provisioning/common/linux/disable-notifications.sh @@ -1,4 +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 gsettings set org.gnome.desktop.notifications.application:/update-manager/ enable false gsettings set org.gnome.desktop.notifications show-banners false diff --git a/coin/provisioning/common/linux/disable-ntp_linux.sh b/coin/provisioning/common/linux/disable-ntp_linux.sh index 85159331..f0712f48 100755 --- a/coin/provisioning/common/linux/disable-ntp_linux.sh +++ b/coin/provisioning/common/linux/disable-ntp_linux.sh @@ -1,53 +1,16 @@ #!/usr/bin/env bash - -############################################################################# -## -## Copyright (C) 2018 The Qt Company Ltd. -## Contact: https://www.qt.io/licensing/ -## -## This file is part of the provisioning scripts of the Qt Toolkit. -## -## $QT_BEGIN_LICENSE:LGPL$ -## Commercial License Usage -## Licensees holding valid commercial Qt licenses may use this file in -## accordance with the commercial license agreement provided with the -## Software or, alternatively, in accordance with the terms contained in -## a written agreement between you and The Qt Company. For licensing terms -## and conditions see https://www.qt.io/terms-conditions. For further -## information use the contact form at https://www.qt.io/contact-us. -## -## GNU Lesser General Public License Usage -## Alternatively, this file may be used under the terms of the GNU Lesser -## General Public License version 3 as published by the Free Software -## Foundation and appearing in the file LICENSE.LGPL3 included in the -## packaging of this file. Please review the following information to -## ensure the GNU Lesser General Public License version 3 requirements -## will be met: https://www.gnu.org/licenses/lgpl-3.0.html. -## -## GNU General Public License Usage -## Alternatively, this file may be used under the terms of the GNU -## General Public License version 2.0 or (at your option) the GNU General -## Public license version 3 or any later version approved by the KDE Free -## Qt Foundation. The licenses are as published by the Free Software -## Foundation and appearing in the file LICENSE.GPL2 and LICENSE.GPL3 -## included in the packaging of this file. Please review the following -## information to ensure the GNU General Public License requirements will -## be met: https://www.gnu.org/licenses/gpl-2.0.html and -## https://www.gnu.org/licenses/gpl-3.0.html. -## -## $QT_END_LICENSE$ -## -############################################################################# +# Copyright (C) 2018 The Qt Company Ltd. +# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only set -ex echo "Disable Network Time Protocol (NTP)" -if uname -a |grep -q "Ubuntu"; then +if uname -a |grep -q "Ubuntu\|Debian" ; then sudo timedatectl set-ntp false -elif cat /etc/os-release | grep "PRETTY_NAME" | grep -q "Leap 15"; then +elif grep "PRETTY_NAME" /etc/os-release | grep -q "Leap 15"; then (sudo systemctl stop chronyd && sudo systemctl disable chronyd) -elif cat /etc/os-release |grep "SUSE Linux Enterprise Server 15"; then +elif grep -q "SUSE Linux Enterprise Server 15" /etc/os-release; then sudo timedatectl set-ntp false else sudo systemctl disable ntpd || sudo /sbin/chkconfig ntpd off diff --git a/coin/provisioning/common/linux/disable_kwin_overview.sh b/coin/provisioning/common/linux/disable_kwin_overview.sh new file mode 100755 index 00000000..988c64c5 --- /dev/null +++ b/coin/provisioning/common/linux/disable_kwin_overview.sh @@ -0,0 +1,43 @@ +#!/usr/bin/env bash +# Copyright (C) 2023 The Qt Company Ltd. +# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only + +set -e +set -f +QT_USER="qt" +CONFDIR=".config" +KWINRC="kwinrc" +KWC5=$(which kwriteconfig5) + +if [ -z "$KWC5" ]; then + echo "(WW) kwriteconfig5 script not found." + echo "---- skipping overview disabling." + exit 0; +fi + +echo "---- ensuring window overview is disabled in kwin." + +# skip if user qt does not exist +echo "---- checking user $QT_USER" +if grep -q "^$QT_USER:" /etc/passwd; then + echo "(**) found user $QT_USER" +else + echo "(WW) user $QT_USER not found." + echo "---- skipping overview disabling." + exit 0; +fi + +CONFIGFILE="/home/$QT_USER/$CONFDIR/$KWINRC" + +# Check kwinrc existence +echo "---- checking for kwinrc." +if [ -f "$CONFIGFILE" ]; then + echo "(**) found kwinrc at $CONFIGFILE. Disabling overview." + + $KWC5 --file "$CONFIGFILE" --group Effect-windowview --key BorderActivateAll "9" + $KWC5 --file "$CONFIGFILE" --group Plugins --key windowOverview "false" + +else + echo "(WW) no kwinrc found at $CONFIGFILE." + echo "(WW) exiting." +fi diff --git a/coin/provisioning/common/linux/disable_selinux.sh b/coin/provisioning/common/linux/disable_selinux.sh index 64852e79..a788818e 100755 --- a/coin/provisioning/common/linux/disable_selinux.sh +++ b/coin/provisioning/common/linux/disable_selinux.sh @@ -1,4 +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 # We need to disable selinux while we are overwriting some binaries # required by it. If this is not done, ICU provisioning will create diff --git a/coin/provisioning/common/linux/docker.sh b/coin/provisioning/common/linux/docker.sh index d63a7c34..27673698 100755 --- a/coin/provisioning/common/linux/docker.sh +++ b/coin/provisioning/common/linux/docker.sh @@ -1,77 +1,42 @@ #!/usr/bin/env bash - -############################################################################# -## -## Copyright (C) 2019 The Qt Company Ltd. -## Contact: https://www.qt.io/licensing/ -## -## This file is part of the provisioning scripts of the Qt Toolkit. -## -## $QT_BEGIN_LICENSE:LGPL$ -## Commercial License Usage -## Licensees holding valid commercial Qt licenses may use this file in -## accordance with the commercial license agreement provided with the -## Software or, alternatively, in accordance with the terms contained in -## a written agreement between you and The Qt Company. For licensing terms -## and conditions see https://www.qt.io/terms-conditions. For further -## information use the contact form at https://www.qt.io/contact-us. -## -## GNU Lesser General Public License Usage -## Alternatively, this file may be used under the terms of the GNU Lesser -## General Public License version 3 as published by the Free Software -## Foundation and appearing in the file LICENSE.LGPL3 included in the -## packaging of this file. Please review the following information to -## ensure the GNU Lesser General Public License version 3 requirements -## will be met: https://www.gnu.org/licenses/lgpl-3.0.html. -## -## GNU General Public License Usage -## Alternatively, this file may be used under the terms of the GNU -## General Public License version 2.0 or (at your option) the GNU General -## Public license version 3 or any later version approved by the KDE Free -## Qt Foundation. The licenses are as published by the Free Software -## Foundation and appearing in the file LICENSE.GPL2 and LICENSE.GPL3 -## included in the packaging of this file. Please review the following -## information to ensure the GNU General Public License requirements will -## be met: https://www.gnu.org/licenses/gpl-2.0.html and -## https://www.gnu.org/licenses/gpl-3.0.html. -## -## $QT_END_LICENSE$ -## -############################################################################# +# Copyright (C) 2023 The Qt Company Ltd. +# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only set -e - PROVISIONING_DIR="$(dirname "$0")/../../" -. "$PROVISIONING_DIR"/common/unix/common.sourced.sh -. "$PROVISIONING_DIR"/common/unix/DownloadURL.sh - - -localRepo=http://ci-files01-hki.intra.qt.io/input/docker -upstreamRepo=https://download.docker.com/linux/ubuntu/dists/bionic/pool/stable/amd64 - -echo ' - f4c941807310e3fa470dddfb068d599174a3daec containerd.io_1.2.10-3_amd64.deb - ee640d9258fd4d3f4c7017ab2a71da63cbbead55 docker-ce_19.03.4~3-0~ubuntu-bionic_amd64.deb - 09402bf5dac40f0c50f1071b17f38f6584a42ad1 docker-ce-cli_19.03.4~3-0~ubuntu-bionic_amd64.deb -' \ - | xargs -n2 | while read sha f -do - DownloadURL $localRepo/$f $upstreamRepo/$f $sha -done +# shellcheck source=../unix/common.sourced.sh +source "$PROVISIONING_DIR"/common/unix/common.sourced.sh +# shellcheck source=../unix/DownloadURL.sh +source "$PROVISIONING_DIR"/common/unix/DownloadURL.sh + +localRepo=http://ci-files01-hki.ci.qt.io/input/docker +upstreamRepo=https://download.docker.com/linux/ubuntu/dists/focal/pool/stable/amd64/ + +function getEachUpstream () { + while read -r sha f + do DownloadURL "$localRepo/$f" "$upstreamRepo/$f" "$sha" + done +} +cat <<EOF | getEachUpstream +2666840157bab3b77a850236fbf323c423fb564a containerd.io_1.6.9-1_amd64.deb +ec6a1ad99b19b6a674349fb13bcc10d62c54c404 docker-ce_23.0.0-1~ubuntu.20.04~focal_amd64.deb +130774916fa7e2c9997b8fcb4e7696a343f12fb0 docker-ce-cli_23.0.0-1~ubuntu.20.04~focal_amd64.deb +EOF sudo apt-get -y install ./containerd.io_*.deb ./docker-ce_*.deb ./docker-ce-cli_*.deb rm -f ./containerd.io_*.deb ./docker-ce_*.deb ./docker-ce-cli_*.deb -sudo usermod -a -G docker $USER +sudo usermod -a -G docker "$USER" sudo docker --version # Download and install the docker-compose extension from https://github.com/docker/compose/releases f=docker-compose-$(uname -s)-$(uname -m) +dockerComposeVersion="v2.15.1" DownloadURL \ - $localRepo/$f-1.24.1 \ - https://github.com/docker/compose/releases/download/1.24.1/$f \ - cfb3439956216b1248308141f7193776fcf4b9c9b49cbbe2fb07885678e2bb8a + "$localRepo/$f-${dockerComposeVersion}" \ + "https://github.com/docker/compose/releases/download/${dockerComposeVersion}/$f" \ + bcfd9ea51dee4c19dccdfaeef0e7956ef68bf14f3d175933742061a7271ef0f5 sudo install -m 755 ./docker-compose* /usr/local/bin/docker-compose sudo docker-compose --version rm ./docker-compose* @@ -80,4 +45,4 @@ rm ./docker-compose* sudo apt-get install avahi-daemon -y # Start testserver provisioning -sudo "$(readlink -f $(dirname ${BASH_SOURCE[0]}))/../shared/testserver/docker_testserver.sh" +sudo "$(readlink -f "$(dirname "${BASH_SOURCE[0]}")")/../shared/testserver/docker_testserver.sh" diff --git a/coin/provisioning/common/linux/enable_test_stacktraces.sh b/coin/provisioning/common/linux/enable_test_stacktraces.sh new file mode 100755 index 00000000..7b5871db --- /dev/null +++ b/coin/provisioning/common/linux/enable_test_stacktraces.sh @@ -0,0 +1,35 @@ +#!/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 + +### Enable automatic stacktraces in case of fatal errors in QTest. +# This requires that gdb can be found in PATH, and that no +# kernel security settings like yama.ptrace_scope prevent it. + + +PROVISIONING_DIR="$(dirname "$0")/../.." +# shellcheck source=../unix/common.sourced.sh +source "$PROVISIONING_DIR/common/unix/common.sourced.sh" + + +f="/etc/sysctl.d/10-ptrace.conf" +if [ -f $f ] +then + echo "Modifying $f ..." + sudo sed -i '/^kernel\.yama\.ptrace_scope *= *[1-9]$/s/[1-9]$/0/' $f + # Reload the modified setting, so that we can verify it right afterwards. + sudo sysctl -p $f +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/') +if [ -n "$ptrace_scope_value" ] && [ "$ptrace_scope_value" != 0 ] +then + fatal "kernel.yama.ptrace_scope = $ptrace_scope_value \ + which means that QTest automatic stacktraces will not work" +else + echo kernel.yama.ptrace_scope = "$ptrace_scope_value" +fi + + +$CMD_PKG_INSTALL gdb diff --git a/coin/provisioning/common/linux/fbx_linux.sh b/coin/provisioning/common/linux/fbx_linux.sh index 6241ec5c..0c1176d1 100755 --- a/coin/provisioning/common/linux/fbx_linux.sh +++ b/coin/provisioning/common/linux/fbx_linux.sh @@ -1,43 +1,6 @@ #!/usr/bin/env bash - -############################################################################# -## -## Copyright (C) 2017 The Qt Company Ltd. -## Contact: https://www.qt.io/licensing/ -## -## This file is part of the provisioning scripts of the Qt Toolkit. -## -## $QT_BEGIN_LICENSE:LGPL$ -## Commercial License Usage -## Licensees holding valid commercial Qt licenses may use this file in -## accordance with the commercial license agreement provided with the -## Software or, alternatively, in accordance with the terms contained in -## a written agreement between you and The Qt Company. For licensing terms -## and conditions see https://www.qt.io/terms-conditions. For further -## information use the contact form at https://www.qt.io/contact-us. -## -## GNU Lesser General Public License Usage -## Alternatively, this file may be used under the terms of the GNU Lesser -## General Public License version 3 as published by the Free Software -## Foundation and appearing in the file LICENSE.LGPL3 included in the -## packaging of this file. Please review the following information to -## ensure the GNU Lesser General Public License version 3 requirements -## will be met: https://www.gnu.org/licenses/lgpl-3.0.html. -## -## GNU General Public License Usage -## Alternatively, this file may be used under the terms of the GNU -## General Public License version 2.0 or (at your option) the GNU General -## Public license version 3 or any later version approved by the KDE Free -## Qt Foundation. The licenses are as published by the Free Software -## Foundation and appearing in the file LICENSE.GPL2 and LICENSE.GPL3 -## included in the packaging of this file. Please review the following -## information to ensure the GNU General Public License requirements will -## be met: https://www.gnu.org/licenses/gpl-2.0.html and -## https://www.gnu.org/licenses/gpl-3.0.html. -## -## $QT_END_LICENSE$ -## -############################################################################# +# 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 installs FBX SDK @@ -49,7 +12,7 @@ source "${BASH_SOURCE%/*}/../unix/SetEnvVar.sh" set -e tarballName="fbx20161_2_fbxsdk_linux.tar.gz" targetFolder="/opt/fbx" -cachedUrl="http://ci-files01-hki.intra.qt.io/input/fbx/$tarballName" +cachedUrl="http://ci-files01-hki.ci.qt.io/input/fbx/$tarballName" officialUrl="http://download.autodesk.com/us/fbx_release_older/2016.1.2/$tarballName" sha1="b0a08778de025e2c6e90d6fbdb6531f74a3da605" tmpFolder="/tmp" diff --git a/coin/provisioning/common/linux/fix-bwrap-apparmor.sh b/coin/provisioning/common/linux/fix-bwrap-apparmor.sh new file mode 100644 index 00000000..4c8b68f9 --- /dev/null +++ b/coin/provisioning/common/linux/fix-bwrap-apparmor.sh @@ -0,0 +1,21 @@ +#!/usr/bin/env bash +#Copyright (C) 2024 The Qt Company Ltd +#SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only + +# See https://ubuntu.com/blog/ubuntu-23-10-restricted-unprivileged-user-namespaces +# and https://bugs.launchpad.net/ubuntu/+source/apparmor/+bug/2046844/comments/89 +sudo bash -c 'cat > /etc/apparmor.d/bwrap' << EOF +# This profile allows everything and only exists to give the +# application a name instead of having the label "unconfined" + +abi <abi/4.0>, +include <tunables/global> + +profile bwrap /usr/bin/bwrap flags=(unconfined) { + userns, + + # Site-specific additions and overrides. See local/README for details. + include if exists <local/bwrap> +} +EOF + diff --git a/coin/provisioning/common/linux/gcc.sh b/coin/provisioning/common/linux/gcc.sh index 10a7ffa7..243b9ff6 100755 --- a/coin/provisioning/common/linux/gcc.sh +++ b/coin/provisioning/common/linux/gcc.sh @@ -1,43 +1,6 @@ #!/usr/bin/env bash - -############################################################################# -## -## Copyright (C) 2021 The Qt Company Ltd. -## Contact: https://www.qt.io/licensing/ -## -## This file is part of the provisioning scripts of the Qt Toolkit. -## -## $QT_BEGIN_LICENSE:LGPL$ -## Commercial License Usage -## Licensees holding valid commercial Qt licenses may use this file in -## accordance with the commercial license agreement provided with the -## Software or, alternatively, in accordance with the terms contained in -## a written agreement between you and The Qt Company. For licensing terms -## and conditions see https://www.qt.io/terms-conditions. For further -## information use the contact form at https://www.qt.io/contact-us. -## -## GNU Lesser General Public License Usage -## Alternatively, this file may be used under the terms of the GNU Lesser -## General Public License version 3 as published by the Free Software -## Foundation and appearing in the file LICENSE.LGPL3 included in the -## packaging of this file. Please review the following information to -## ensure the GNU Lesser General Public License version 3 requirements -## will be met: https://www.gnu.org/licenses/lgpl-3.0.html. -## -## GNU General Public License Usage -## Alternatively, this file may be used under the terms of the GNU -## General Public License version 2.0 or (at your option) the GNU General -## Public license version 3 or any later version approved by the KDE Free -## Qt Foundation. The licenses are as published by the Free Software -## Foundation and appearing in the file LICENSE.GPL2 and LICENSE.GPL3 -## included in the packaging of this file. Please review the following -## information to ensure the GNU General Public License requirements will -## be met: https://www.gnu.org/licenses/gpl-2.0.html and -## https://www.gnu.org/licenses/gpl-3.0.html. -## -## $QT_END_LICENSE$ -## -############################################################################# +# Copyright (C) 2021 The Qt Company Ltd. +# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only # This script builds GCC from sources @@ -56,20 +19,20 @@ function InstallGCC() { tmpFolder="/tmp" - prebuiltGCC="http://ci-files01-hki.intra.qt.io/input/gcc/gcc-$version-prebuilt.tar.gz" + prebuiltGCC="http://ci-files01-hki.ci.qt.io/input/gcc/gcc-$version-prebuilt.tar.gz" prebuiltTarget="$tmpFolder/gcc-$version-prebuilt.tar.gz" installPrefix="/usr/local" suffixVersion=$(echo "$version" | cut -d "." -f1,2) sourceFile="gcc-$version.tar.xz" - cachedUrl="http://ci-files01-hki.intra.qt.io/input/gcc/$sourceFile" + cachedUrl="http://ci-files01-hki.ci.qt.io/input/gcc/$sourceFile" officialUrl="https://gcc.gnu.org/pub/gcc/releases/gcc-$version/gcc-$version.tar.xz" targetFile="$tmpFolder/$sourceFile" buildFolder="$HOME/gcc_build" echo "Fetching prebuilt GCC." - curl --fail -L --retry 5 --retry-delay 5 -o "$prebuiltTarget" "$prebuiltGCC" || ( + DownloadURL "$prebuiltGCC" "" "$prebuiltSHA1" "$prebuiltTarget" || ( echo "Fetching prebuilt GCC failed. Building from sources." DownloadURL "$cachedUrl" "$officialUrl" "$sourcesSHA1" "$targetFile" ) diff --git a/coin/provisioning/common/linux/install-cpdb.sh b/coin/provisioning/common/linux/install-cpdb.sh new file mode 100755 index 00000000..3a7ae3b9 --- /dev/null +++ b/coin/provisioning/common/linux/install-cpdb.sh @@ -0,0 +1,26 @@ +#!/usr/bin/env bash +# Copyright (C) 2023 The Qt Company Ltd. +# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only + +# This script installs cpdb from sources. +# Requires GCC and Perl to be in PATH. +# The following dependencies should be pre-installed: +# make, autoconf, autopoint, libglib2.0-dev, libdbus-1-dev, libtool +set -ex + +repName="cpdb-libs" +gitUrl="https://github.com/openprinting/$repName.git" +tmpdir="/tmp" +repDir="$tmpdir/$repName" +prefix="/usr" +rm -rf "$repDir" +cd "$tmpdir" +git clone -q "$gitUrl" +cd "$repDir" +# cpdb-libs v2.0b4 with build bug fixed +git checkout -q ce848f1571a82ec03881fce127ff28bec8da239e +./autogen.sh > /dev/null +./configure --prefix="$prefix" > /dev/null +make "-j$(nproc)" > /dev/null && sudo make install > /dev/null +sudo ldconfig +rm -rf "$repDir" diff --git a/coin/provisioning/common/linux/install-flite.sh b/coin/provisioning/common/linux/install-flite.sh new file mode 100755 index 00000000..2f89e94e --- /dev/null +++ b/coin/provisioning/common/linux/install-flite.sh @@ -0,0 +1,26 @@ +#!/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 + +# This script installs flite from sources. +# Requires make, GCC and git to be in PATH. +set -ex + +# shellcheck source=../unix/DownloadURL.sh +source "${BASH_SOURCE%/*}/../unix/DownloadURL.sh" +# shellcheck source=../unix/SetEnvVar.sh +source "${BASH_SOURCE%/*}/../unix/SetEnvVar.sh" + +repName="flite" +gitUrl="https://github.com/festvox/$repName.git" +tmpdir="/tmp" +repDir="$tmpdir/$repName" +prefix="/usr" +rm -rf "$repDir" +cd "$tmpdir" +git clone -q "$gitUrl" +cd "$repDir" +git checkout -q v2.2 +./configure --with-pic --enable-shared --prefix="$prefix" > /dev/null +make "-j$(nproc)" > /dev/null && sudo make install > /dev/null +rm -rf "$repDir" diff --git a/coin/provisioning/common/linux/install-git.sh b/coin/provisioning/common/linux/install-git.sh new file mode 100755 index 00000000..9e2804db --- /dev/null +++ b/coin/provisioning/common/linux/install-git.sh @@ -0,0 +1,33 @@ +#!/usr/bin/env bash +# Copyright (C) 2022 The Qt Company Ltd. +# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only + +# This script install git from sources. +# Requires GCC and Perl to be in PATH. +set -ex + +# shellcheck source=../unix/DownloadURL.sh +source "${BASH_SOURCE%/*}/../unix/DownloadURL.sh" +# shellcheck source=../unix/SetEnvVar.sh +source "${BASH_SOURCE%/*}/../unix/SetEnvVar.sh" + +version="2.36.1" +officialUrl="https://github.com/git/git/archive/refs/tags/v$version.tar.gz" +cachedUrl="http://ci-files01-hki.ci.qt.io/input/git/git-$version.tar.gz" +targetFile="/tmp/git-$version.tar.gz" +sha="a17c11da2968f280a13832d97f48e9039edac354" +DownloadURL "$cachedUrl" "$officialUrl" "$sha" "$targetFile" +sourceDir="/tmp/git-$version-source" +mkdir "$sourceDir" +tar -xzf "$targetFile" -C "$sourceDir" + +cd "$sourceDir/git-$version" +installDir="$HOME/git" +make configure +./configure --prefix="$installDir" +make all +sudo make install + +SetEnvVar "PATH" "\"$installDir/bin:\$PATH\"" + +"$installDir/bin/git" --version diff --git a/coin/provisioning/common/linux/install-nodejs.sh b/coin/provisioning/common/linux/install-nodejs.sh new file mode 100755 index 00000000..95a8a0e5 --- /dev/null +++ b/coin/provisioning/common/linux/install-nodejs.sh @@ -0,0 +1,42 @@ +#!/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=../unix/DownloadURL.sh +source "${BASH_SOURCE%/*}/../unix/DownloadURL.sh" +# shellcheck source=../unix/SetEnvVar.sh +source "${BASH_SOURCE%/*}/../unix/SetEnvVar.sh" + +# This script will install node.js 18.16.0 +version="18.16.0" + +uname_m="$(uname -m)" +case "$uname_m" in + x86_64|amd64) + sha256="44d93d9b4627fe5ae343012d855491d62c7381b236c347f7666a7ad070f26548" + pkgname="node-v$version-linux-x64.tar.xz" + dirname="node-v$version-linux-x64" + ;; + arm64|aarch64) + sha256="c81dfa0bada232cb4583c44d171ea207934f7356f85f9184b32d0dde69e2e0ea" + pkgname="node-v$version-linux-arm64.tar.xz" + dirname="node-v$version-linux-arm64" + ;; + *) fatal "Unknown architecture in uname: $uname_m" 43 ;; +esac + +internalUrl="http://ci-files01-hki.ci.qt.io/input/nodejs/$pkgname" +externalUrl="https://nodejs.org/dist/v$version/$pkgname" + +targetFile="$HOME/$pkgname" +DownloadURL "$internalUrl" "$externalUrl" "$sha256" "$targetFile" +echo "Installing nodejs" +tar -xJf "$targetFile" -C "$HOME" +rm "$targetFile" + +installPrefix="/opt/$dirname" +sudo mv "$HOME/$dirname" "$installPrefix" + +SetEnvVar "PATH" "$installPrefix/bin:\$PATH" + +echo "nodejs = $version" >> ~/versions.txt diff --git a/coin/provisioning/common/linux/install-vcpkg-ports-android.sh b/coin/provisioning/common/linux/install-vcpkg-ports-android.sh new file mode 100755 index 00000000..4733e9aa --- /dev/null +++ b/coin/provisioning/common/linux/install-vcpkg-ports-android.sh @@ -0,0 +1,24 @@ +#!/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 + +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 + +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 + +rm -rf x86-android-qt-tmp +rm -rf x86_64-android-qt-tmp + +popd || exit diff --git a/coin/provisioning/common/linux/install-vcpkg-ports.sh b/coin/provisioning/common/linux/install-vcpkg-ports.sh new file mode 100755 index 00000000..90257841 --- /dev/null +++ b/coin/provisioning/common/linux/install-vcpkg-ports.sh @@ -0,0 +1,21 @@ +#!/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 + +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 + +mkdir -p "$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 + +rm -rf x64-linux-qt-tmp + +popd || exit diff --git a/coin/provisioning/common/linux/install-vcpkg.sh b/coin/provisioning/common/linux/install-vcpkg.sh new file mode 100755 index 00000000..80917beb --- /dev/null +++ b/coin/provisioning/common/linux/install-vcpkg.sh @@ -0,0 +1,59 @@ +#!/usr/bin/env bash +# Copyright (C) 2023 The Qt Company Ltd. +# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only + +# shellcheck source=../unix/SetEnvVar.sh +source "${BASH_SOURCE%/*}/../unix/SetEnvVar.sh" +# shellcheck source=../unix/DownloadURL.sh +source "${BASH_SOURCE%/*}/../unix/DownloadURL.sh" +# shellcheck source=../unix/InstallFromCompressedFileFromURL.sh +source "${BASH_SOURCE%/*}/../unix/InstallFromCompressedFileFromURL.sh" + +vcpkgVersion=$(grep 'vcpkg_version=' "${BASH_SOURCE%/*}/../shared/vcpkg_version.txt" | cut -d '=' -f 2) + +vcpkgRoot="$HOME/vcpkg-$vcpkgVersion" +vcpkgRepo=$(head -n 1 "${BASH_SOURCE%/*}/../shared/vcpkg_registry_mirror.txt") + +echo "Cloning the vcpkg repo" +git clone "$vcpkgRepo" "$vcpkgRoot" +git -C "$vcpkgRoot" checkout "tags/$vcpkgVersion" + +vcpkgToolReleaseTag=$(grep 'vcpkg_tool_release_tag=' "${BASH_SOURCE%/*}/../shared/vcpkg_tool_release_tag.txt" | cut -d '=' -f 2) +nonDottedReleaseTag=${vcpkgVersion//-/} + +vcpkgToolOfficialUrl="https://github.com/microsoft/vcpkg-tool/archive/refs/tags/$vcpkgToolReleaseTag.tar.gz" +vcpkgToolCacheUrl="http://ci-files01-hki.ci.qt.io/input/vcpkg/vcpkg-tool-$nonDottedReleaseTag.tar.gz" +vcpkgToolSHA1="c6029714fca0304779f10c9c1cbe4b061a2fd945" +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 + +cp "$vcpkgToolBuildFolder/vcpkg" "$vcpkgRoot/" +rm -rf "$vcpkgToolSourceFolder" + +if [ ! -f "$vcpkgRoot/vcpkg" ] +then + echo "Can't find $vcpkgRoot/vcpkg." + exit 1 +fi + +chmod 755 "$vcpkgRoot/vcpkg" +touch "$vcpkgRoot/vcpkg.disable-metrics" + +# Setting VCPKG_ROOT using Set-EnvVar makes the variable only +# available during build time. In order to make it available during the +# provisioning, we need to directly set it via $env:VCPKG_ROOT as well. +SetEnvVar "VCPKG_ROOT" "$vcpkgRoot" +export VCPKG_ROOT="$vcpkgRoot" + +# Set a source for vcpkg Binary and Asset Cache +# The `coin/provisioning/common/linux/mount-vcpkg-cache-drive.sh` script is +# mounting the SMB share located in `vcpkg-server.ci.qt.io/vcpkg` to +# $HOME/vcpkg-cache/ +export VCPKG_BINARY_SOURCES="files,$HOME/vcpkg-cache/binaries,readwrite" +export X_VCPKG_ASSET_SOURCES="x-azurl,file:///$HOME/vcpkg-cache/assets,,readwrite" + +echo "vcpkg = $vcpkgVersion" >> ~/versions.txt diff --git a/coin/provisioning/common/linux/install_dwz.sh b/coin/provisioning/common/linux/install_dwz.sh index 8c035529..2d8af4ff 100755 --- a/coin/provisioning/common/linux/install_dwz.sh +++ b/coin/provisioning/common/linux/install_dwz.sh @@ -1,44 +1,7 @@ #!/usr/bin/env bash - -############################################################################# -## -## Copyright (C) 2018 The Qt Company Ltd. -## Copyright (C) 2020 Konstantin Tokarev <annulen@yandex.ru> -## Contact: https://www.qt.io/licensing/ -## -## This file is part of the provisioning scripts of the Qt Toolkit. -## -## $QT_BEGIN_LICENSE:LGPL$ -## Commercial License Usage -## Licensees holding valid commercial Qt licenses may use this file in -## accordance with the commercial license agreement provided with the -## Software or, alternatively, in accordance with the terms contained in -## a written agreement between you and The Qt Company. For licensing terms -## and conditions see https://www.qt.io/terms-conditions. For further -## information use the contact form at https://www.qt.io/contact-us. -## -## GNU Lesser General Public License Usage -## Alternatively, this file may be used under the terms of the GNU Lesser -## General Public License version 3 as published by the Free Software -## Foundation and appearing in the file LICENSE.LGPL3 included in the -## packaging of this file. Please review the following information to -## ensure the GNU Lesser General Public License version 3 requirements -## will be met: https://www.gnu.org/licenses/lgpl-3.0.html. -## -## GNU General Public License Usage -## Alternatively, this file may be used under the terms of the GNU -## General Public License version 2.0 or (at your option) the GNU General -## Public license version 3 or any later version approved by the KDE Free -## Qt Foundation. The licenses are as published by the Free Software -## Foundation and appearing in the file LICENSE.GPL2 and LICENSE.GPL3 -## included in the packaging of this file. Please review the following -## information to ensure the GNU General Public License requirements will -## be met: https://www.gnu.org/licenses/gpl-2.0.html and -## https://www.gnu.org/licenses/gpl-3.0.html. -## -## $QT_END_LICENSE$ -## -############################################################################# +# Copyright (C) 2018 The Qt Company Ltd. +# Copyright (C) 2020 Konstantin Tokarev <annulen@yandex.ru> +# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only # shellcheck source=../unix/DownloadURL.sh source "${BASH_SOURCE%/*}/../unix/DownloadURL.sh" @@ -49,7 +12,7 @@ source "${BASH_SOURCE%/*}/../unix/SetEnvVar.sh" version="0.13" sha1="21e6d5878bb84ac6c9ad07b00ed248d8c547bc7d" -internalUrl="http://ci-files01-hki.intra.qt.io/input/centos/dwz-$version.tar.xz" +internalUrl="http://ci-files01-hki.ci.qt.io/input/centos/dwz-$version.tar.xz" externalUrl="https://www.sourceware.org/ftp/dwz/releases/dwz-$version.tar.xz" targetDir="$HOME/dwz" diff --git a/coin/provisioning/common/linux/integrity.sh b/coin/provisioning/common/linux/integrity.sh index 650dbb37..e0d95681 100755 --- a/coin/provisioning/common/linux/integrity.sh +++ b/coin/provisioning/common/linux/integrity.sh @@ -1,43 +1,6 @@ #!/usr/bin/env bash - -############################################################################# -## -## Copyright (C) 2021 The Qt Company Ltd. -## Contact: https://www.qt.io/licensing/ -## -## This file is part of the provisioning scripts of the Qt Toolkit. -## -## $QT_BEGIN_LICENSE:LGPL$ -## Commercial License Usage -## Licensees holding valid commercial Qt licenses may use this file in -## accordance with the commercial license agreement provided with the -## Software or, alternatively, in accordance with the terms contained in -## a written agreement between you and The Qt Company. For licensing terms -## and conditions see https://www.qt.io/terms-conditions. For further -## information use the contact form at https://www.qt.io/contact-us. -## -## GNU Lesser General Public License Usage -## Alternatively, this file may be used under the terms of the GNU Lesser -## General Public License version 3 as published by the Free Software -## Foundation and appearing in the file LICENSE.LGPL3 included in the -## packaging of this file. Please review the following information to -## ensure the GNU Lesser General Public License version 3 requirements -## will be met: https://www.gnu.org/licenses/lgpl-3.0.html. -## -## GNU General Public License Usage -## Alternatively, this file may be used under the terms of the GNU -## General Public License version 2.0 or (at your option) the GNU General -## Public license version 3 or any later version approved by the KDE Free -## Qt Foundation. The licenses are as published by the Free Software -## Foundation and appearing in the file LICENSE.GPL2 and LICENSE.GPL3 -## included in the packaging of this file. Please review the following -## information to ensure the GNU General Public License requirements will -## be met: https://www.gnu.org/licenses/gpl-2.0.html and -## https://www.gnu.org/licenses/gpl-3.0.html. -## -## $QT_END_LICENSE$ -## -############################################################################# +# Copyright (C) 2021 The Qt Company Ltd. +# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only # This script installs needed toolchains for INTEGRITY @@ -48,9 +11,9 @@ source "${BASH_SOURCE%/*}/../unix/DownloadURL.sh" # shellcheck source=../unix/SetEnvVar.sh source "${BASH_SOURCE%/*}/../unix/SetEnvVar.sh" -urlToolchainEs7="http://ci-files01-hki.intra.qt.io/input/integrity/integrity_toolchain_es7_25102021.zip" -urlLibeglmegapack="http://ci-files01-hki.intra.qt.io/input/integrity/integrity_libeglmegapack.zip" -SHA1_toolchainEs7="13f634213187d94f70d184c6af38eb38f0bf44f0" +urlToolchainEs7="http://ci-files01-hki.ci.qt.io/input/integrity/integrity_toolchain_es7_05102022.zip" +urlLibeglmegapack="http://ci-files01-hki.ci.qt.io/input/integrity/integrity_libeglmegapack.zip" +SHA1_toolchainEs7="a95e11996d89218ac93493484e483d169976f565" SHA1_Libeglmegapack="7f8ca64132eaea66202ea8db7f71f3300aab0777" targetFolder="$HOME" appPrefix="" @@ -63,7 +26,7 @@ InstallFromCompressedFileFromURL "$urlToolchainEs7" "$urlToolchainEs7" "$SHA1_to echo "Install Integrity toolchain addons" DownloadURL "$urlLibeglmegapack" "$urlLibeglmegapack" "$SHA1_Libeglmegapack" "/tmp/integrity_libeglmegapack.zip" unzip "/tmp/integrity_libeglmegapack.zip" -d "/tmp" -mv /tmp/toolchain/* $targetFolder/toolchain -mv $targetFolder/toolchain $targetFolder/integrity_toolchain -cp $toolchain_file "$targetFolder/integrity_toolchain/toolchain.cmake" +mv /tmp/toolchain/* "$targetFolder/toolchain" +mv "$targetFolder/toolchain" "$targetFolder/integrity_toolchain" +cp "$toolchain_file" "$targetFolder/integrity_toolchain/toolchain.cmake" sudo rm -fr /tmp/toolchain diff --git a/coin/provisioning/common/linux/mimersql.sh b/coin/provisioning/common/linux/mimersql.sh new file mode 100755 index 00000000..957ad492 --- /dev/null +++ b/coin/provisioning/common/linux/mimersql.sh @@ -0,0 +1,42 @@ +#!/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 -e + +SSL_VER=$1 +PACK_TYPE=$2 +PROVISIONING_DIR="$(dirname "$0")/../../" +# shellcheck source=../unix/common.sourced.sh +source "${BASH_SOURCE%/*}/../unix/common.sourced.sh" +# shellcheck source=../unix/DownloadURL.sh +source "${BASH_SOURCE%/*}/../unix/DownloadURL.sh" + + +localRepo=http://ci-files01-hki.ci.qt.io/input/docker +upstreamRepo=http://install.mimer.com/qt +if [ "$SSL_VER" = "openssl-3" ]; then + if [ "$PACK_TYPE" = "rpm" ]; then + packageFile=mimersqlsrv-11.0.x86_64-openssl3.rpm + sha=5f21d440a12cddcc786ddff3a136bef821f1bf64 + else + packageFile=mimersqlsrv_11.0_amd64-openssl3.deb + sha=3239b593724c564862d3bbfb70fed16909a93959 + fi +else + if [ "$PACK_TYPE" = "rpm" ]; then + packageFile=mimersqlsrv-11.0.x86_64-openssl1.rpm + sha=34533347424ba540b36d0a6ae2f416b901d8bafb + else + packageFile=mimersqlsrv_11.0_amd64-openssl1.deb + sha=f4ac939a190ef048150b06cecc7a392386b6e132 + fi +fi +DownloadURL $localRepo/$packageFile $upstreamRepo/$packageFile $sha /tmp/$packageFile + +if [ "$PACK_TYPE" = "rpm" ]; then + sudo rpm -U /tmp/$packageFile +else + sudo apt-get -y install /tmp/$packageFile +fi +rm -f /tmp/$packageFile diff --git a/coin/provisioning/common/linux/mount-vcpkg-cache-drive.sh b/coin/provisioning/common/linux/mount-vcpkg-cache-drive.sh new file mode 100755 index 00000000..6a3a5211 --- /dev/null +++ b/coin/provisioning/common/linux/mount-vcpkg-cache-drive.sh @@ -0,0 +1,21 @@ +#!/usr/bin/env bash +# Copyright (C) 2023 The Qt Company Ltd. +# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only + +set -e + +targetDir="$HOME/vcpkg-cache" + +# Specify the path to the credential file +credentialsFile="$HOME/samba_credentials" + +sudo mkdir -p "$targetDir" + +# Mount the SMB share +# Check if the mount was successful +if sudo mount -t cifs //vcpkg-server.ci.qt.io/vcpkg "$targetDir" -o credentials="$credentialsFile",uid="$(id -u)",gid="$(id -g)" +then + echo "SMB share mounted successfully!" +else + echo "Failed to mount SMB share." +fi diff --git a/coin/provisioning/common/linux/qnx_710.sh b/coin/provisioning/common/linux/qnx_710.sh index ccce51f0..41d2d103 100755 --- a/coin/provisioning/common/linux/qnx_710.sh +++ b/coin/provisioning/common/linux/qnx_710.sh @@ -1,43 +1,6 @@ #!/usr/bin/env bash - -############################################################################# -## -## Copyright (C) 2021 The Qt Company Ltd. -## Contact: https://www.qt.io/licensing/ -## -## This file is part of the provisioning scripts of the Qt Toolkit. -## -## $QT_BEGIN_LICENSE:LGPL$ -## Commercial License Usage -## Licensees holding valid commercial Qt licenses may use this file in -## accordance with the commercial license agreement provided with the -## Software or, alternatively, in accordance with the terms contained in -## a written agreement between you and The Qt Company. For licensing terms -## and conditions see https://www.qt.io/terms-conditions. For further -## information use the contact form at https://www.qt.io/contact-us. -## -## GNU Lesser General Public License Usage -## Alternatively, this file may be used under the terms of the GNU Lesser -## General Public License version 3 as published by the Free Software -## Foundation and appearing in the file LICENSE.LGPL3 included in the -## packaging of this file. Please review the following information to -## ensure the GNU Lesser General Public License version 3 requirements -## will be met: https://www.gnu.org/licenses/lgpl-3.0.html. -## -## GNU General Public License Usage -## Alternatively, this file may be used under the terms of the GNU -## General Public License version 2.0 or (at your option) the GNU General -## Public license version 3 or any later version approved by the KDE Free -## Qt Foundation. The licenses are as published by the Free Software -## Foundation and appearing in the file LICENSE.GPL2 and LICENSE.GPL3 -## included in the packaging of this file. Please review the following -## information to ensure the GNU General Public License requirements will -## be met: https://www.gnu.org/licenses/gpl-2.0.html and -## https://www.gnu.org/licenses/gpl-3.0.html. -## -## $QT_END_LICENSE$ -## -############################################################################# +# Copyright (C) 2021 The Qt Company Ltd. +# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only # This script installs QNX 7. @@ -55,14 +18,14 @@ DownloadAndExtract () { folder=$4 DownloadURL "$url" "$url" "$sha" "$file" - sudo tar -C $folder -Jxf $file + sudo tar -C "$folder" -Jxf "$file" - rm -rf $file + rm -rf "$file" } -aarch64le_toolchain="${BASH_SOURCE%/*}/cmake_toolchain_files/qnx-toolchain-aarch64le.cmake" -armv7le_toolchain="${BASH_SOURCE%/*}/cmake_toolchain_files/qnx-toolchain-armv7le.cmake" -x8664_toolchain="${BASH_SOURCE%/*}/cmake_toolchain_files/qnx-toolchain-x8664.cmake" +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/" @@ -70,33 +33,50 @@ folderName="qnx710" targetPath="$targetFolder$folderName" qemuTargetPath="$HOME/QNX" qemuIpAddress="172.31.1.10" -qemuNetwork="172.31.1.1" +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 + mkdir -p "$targetFolder" fi # QNX SDP -sourceFile="http://ci-files01-hki.intra.qt.io/input/qnx/qnx710-20211207-linux.tar.xz" +sourceFile="http://ci-files01-hki.ci.qt.io/input/qnx/qnx710-windows-linux-20240417.tar.xz" targetFile="qnx710.tar.xz" -sha1="03f87bad1c5522d6aefcc74dd5ccacd43240ded3" +sha1="cd2d35004fb2798089e29d9e1226691426632da0" +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" -sudo cp $aarch64le_toolchain $targetPath -sudo cp $armv7le_toolchain $targetPath -sudo cp $x8664_toolchain $targetPath -cp -R $QNX_qemu_bld_files_dir $qemuTargetPath +# Add ssl certificates. Expects Ubuntu 20.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 ] +if [ ! -f "$targetPath/qnxsdp-env.sh" ] || [ ! -f "$targetPath/qnx-toolchain-x8664.cmake" ] then echo "QNX toolchain installation failed!" - exit -1 + exit 1 fi # Set env variables 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/misc_files/etc/hosts b/coin/provisioning/common/linux/qnx_qemu_build_files/local/misc_files/etc/hosts new file mode 100644 index 00000000..58b8d5a1 --- /dev/null +++ b/coin/provisioning/common/linux/qnx_qemu_build_files/local/misc_files/etc/hosts @@ -0,0 +1,19 @@ +# Need to add all testserver names statically +# as current Docker uses Multicast DNS (mDNS) (avahi) +# Which does not work with QNX qemu +172.31.1.1 apache2 apache2.test-net.qt.local +172.31.1.1 squid squid.test-net.qt.local +172.31.1.1 vsftpd vsftpd.test-net.qt.local +172.31.1.1 ftp-proxy ftp-proxy.test-net.qt.local +172.31.1.1 danted danted.test-net.qt.local +172.31.1.1 cyrus cyrus.test-net.qt.local +172.31.1.1 echo echo.test-net.qt.local +172.31.1.1 iptables iptables.test-net.qt.local + +# For network test server which is still used on some test +# like networkselftest for local dns resolution +172.31.1.1 qt-test-server + +# QtCoap testservers +172.31.1.1 californium californium.test-net.qt.local +172.31.1.1 freecoap freecoap.test-net.qt.local diff --git a/coin/provisioning/common/linux/qnx_qemu_build_files/local/misc_files/etc/resolv.conf b/coin/provisioning/common/linux/qnx_qemu_build_files/local/misc_files/etc/resolv.conf new file mode 100644 index 00000000..6765c11f --- /dev/null +++ b/coin/provisioning/common/linux/qnx_qemu_build_files/local/misc_files/etc/resolv.conf @@ -0,0 +1,2 @@ +search test-net.qt.local +nameserver 172.31.1.1 diff --git a/coin/provisioning/common/linux/qnx_qemu_build_files/local/opt_scripts/opt_nfs_qt b/coin/provisioning/common/linux/qnx_qemu_build_files/local/opt_scripts/opt_nfs_qt index 53063373..13db322b 100755 --- a/coin/provisioning/common/linux/qnx_qemu_build_files/local/opt_scripts/opt_nfs_qt +++ b/coin/provisioning/common/linux/qnx_qemu_build_files/local/opt_scripts/opt_nfs_qt @@ -25,7 +25,7 @@ function configure() cat >output/option_files/post_start.opt_nfs <<EOF echo "---> Starting NFS" -STARTU_P(fs_nfs3_t,__FS_NFS3_ID__) fs-nfs3 172.31.1.1:$OPT_NFS_QT $OPT_NFS_QT +STARTU_P(fs_nfs3_t,__FS_NFS3_ID__) fs-nfs3 -t 172.31.1.1:$OPT_NFS_QT $OPT_NFS_QT EOF fi diff --git a/coin/provisioning/common/linux/qnx_qemu_build_files/local/options b/coin/provisioning/common/linux/qnx_qemu_build_files/local/options index a124af1e..bf1a413e 100644 --- a/coin/provisioning/common/linux/qnx_qemu_build_files/local/options +++ b/coin/provisioning/common/linux/qnx_qemu_build_files/local/options @@ -10,7 +10,7 @@ OPT_CRYPTODEV='no' DEF_OPT_CRYPTODEV='no' OPT_DATA_INODES='3000' DEF_OPT_DATA_INODES='3000' -OPT_DATA_SIZE='60' +OPT_DATA_SIZE='512' DEF_OPT_DATA_SIZE='60' OPT_EXTRA_DIRS='none' DEF_OPT_EXTRA_DIRS='none' diff --git a/coin/provisioning/common/linux/qnx_qemu_build_files/local/snippets/data_files.custom b/coin/provisioning/common/linux/qnx_qemu_build_files/local/snippets/data_files.custom index c36fb391..cba74f1f 100644 --- a/coin/provisioning/common/linux/qnx_qemu_build_files/local/snippets/data_files.custom +++ b/coin/provisioning/common/linux/qnx_qemu_build_files/local/snippets/data_files.custom @@ -3,7 +3,7 @@ home/root/.ssh/environment = { TERM=qansi -PATH=__IFS_PATH__:/system/xbin +PATH=__IFS_PATH__:/system/xbin:. #LD_LIBRARY_PATH=__PROC_LIB__:/home/qt/work/install/target/lib #QSG_RHI_BACKEND=software #QT_QPA_PLATFORM=offscreen @@ -11,3 +11,15 @@ PATH=__IFS_PATH__:/system/xbin [uid=0 gid=0 dperms=755 type=dir] var/share var/share/zoneinfo=usr/share/zoneinfo + +[uid=0 gid=0 dperms=755 type=dir] var/share/fonts +var/etc/fontconfig/fonts.conf=etc/fontconfig/fonts.conf +var/share/fonts=usr/share/fonts + +var/etc/hosts=local/misc_files/etc/hosts +var/etc/resolv.conf=local/misc_files/etc/resolv.conf +var/etc/nsswitch.conf=etc/nsswitch.conf + +[uid=0 gid=0 dperms=755 type=dir] var/etc/ssl/certs +var/share/ca-certificates=local/misc_files/ca-certificates +var/etc/ssl/certs=local/misc_files/etc/ssl/certs diff --git a/coin/provisioning/common/linux/qnx_qemu_build_files/local/snippets/ifs_env.custom b/coin/provisioning/common/linux/qnx_qemu_build_files/local/snippets/ifs_env.custom index 5b15a26c..253e61c6 100644 --- a/coin/provisioning/common/linux/qnx_qemu_build_files/local/snippets/ifs_env.custom +++ b/coin/provisioning/common/linux/qnx_qemu_build_files/local/snippets/ifs_env.custom @@ -6,3 +6,7 @@ HOME=/home/root TZ=Europe/Oslo procmgr_symlink /data/var/share /usr/share procmgr_symlink /data/var/share/zoneinfo/Europe/Oslo /data/var/etc/localtime + +# fontconfig +procmgr_symlink /data/var/etc/fontconfig/fonts.conf /etc/fontconfig/fonts.conf +procmgr_symlink /data/var/share/fonts /usr/share/fonts diff --git a/coin/provisioning/common/linux/qnx_qemu_build_files/local/snippets/post_start.custom b/coin/provisioning/common/linux/qnx_qemu_build_files/local/snippets/post_start.custom index 81899afb..5a260488 100644 --- a/coin/provisioning/common/linux/qnx_qemu_build_files/local/snippets/post_start.custom +++ b/coin/provisioning/common/linux/qnx_qemu_build_files/local/snippets/post_start.custom @@ -12,3 +12,14 @@ # resource manager supports a -U option for switching to non-root. echo "---> Starting Filesystem event manager (fsevmgr)" STARTU_P(fsevmg_t,__FSEVMG_ID__) fsevmgr -d -F __DEVB_ID__ -N __DEVB_ID__ + +echo "---> Remove large fonts" +rm -rf /data/var/share/fonts/NotoSansCJK* +rm -rf /data/var/share/fonts/NotoSansMonoCJK* +echo "---> Create fontconfig cache" +fc-cache & + +# Add default route so QNX knows where to send +# requests for unknown network +echo "---> Add default route" +route add default 172.31.1.1 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 ad13398b..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 @@ -19,10 +19,10 @@ lib/libicudata.so.67=usr/lib/libicudata.so.67 lib/libicui18n.so.67=usr/lib/libicui18n.so.67 lib/libGLESv2.so.1=usr/lib/libGLESv2.so.1 lib/libEGL.so.1=usr/lib/libEGL.so.1 -lib/libfontconfig.so.1=usr/lib/libfontconfig.so.1 lib/libz.so.2=usr/lib/libz.so.2 lib/libxml2.so.2=usr/lib/libxml2.so.2 -lib/libfreetype.so.1=usr/lib/libfreetype.so.1 +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 lib/libm.so.3=lib/libm.so.3 @@ -44,3 +44,21 @@ lib/dll/img_codec_tif.so=lib/dll/img_codec_tif.so # for inotify xbin/fsevmgr=sbin/fsevmgr + +############################################## +### MM support +############################################## +lib/libstrm.so.1=usr/lib/libstrm.so.1 +lib/libcamapi.so.1=usr/lib/libcamapi.so.1 +lib/libmmrndclient.so.1=usr/lib/libmmrndclient.so.1 +lib/libscreen.so.1=usr/lib/libscreen.so.1 + +# for fontconfig +lib/libfontconfig.so.1=usr/lib/libfontconfig.so.1 +xbin/fc-cache=bin/fc-cache +xbin/fc-match=local/misc_files/fc-match + +# network +lib/libssl.so=usr/lib/libssl.so +xbin/nslookup=usr/bin/nslookup +xbin/curl=usr/bin/curl diff --git a/coin/provisioning/common/linux/remove-update_notifier.sh b/coin/provisioning/common/linux/remove-update_notifier.sh index 4ee32d61..383f242d 100755 --- a/coin/provisioning/common/linux/remove-update_notifier.sh +++ b/coin/provisioning/common/linux/remove-update_notifier.sh @@ -1,3 +1,15 @@ #!/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 -sudo apt -q -y remove update-notifier update-manager python3-distupgrade python3-update-manager ubuntu-release-upgrader-core update-manager-core +installPackages+=(update-notifier) + +if uname -a |grep -q "Ubuntu" ; then +installPackages+=(update-manager-core) +installPackages+=(update-manager) +installPackages+=(python3-distupgrade) +installPackages+=(python3-update-manager) +installPackages+=(ubuntu-release-upgrader-core) +fi + +sudo apt -q -y remove "${installPackages[@]}" diff --git a/coin/provisioning/common/linux/sccache.sh b/coin/provisioning/common/linux/sccache.sh index 4bf53a3b..5e4969b3 100755 --- a/coin/provisioning/common/linux/sccache.sh +++ b/coin/provisioning/common/linux/sccache.sh @@ -1,43 +1,6 @@ #!/usr/bin/env bash - -############################################################################# -## -## Copyright (C) 2018 The Qt Company Ltd. -## Contact: https://www.qt.io/licensing/ -## -## This file is part of the provisioning scripts of the Qt Toolkit. -## -## $QT_BEGIN_LICENSE:LGPL$ -## Commercial License Usage -## Licensees holding valid commercial Qt licenses may use this file in -## accordance with the commercial license agreement provided with the -## Software or, alternatively, in accordance with the terms contained in -## a written agreement between you and The Qt Company. For licensing terms -## and conditions see https://www.qt.io/terms-conditions. For further -## information use the contact form at https://www.qt.io/contact-us. -## -## GNU Lesser General Public License Usage -## Alternatively, this file may be used under the terms of the GNU Lesser -## General Public License version 3 as published by the Free Software -## Foundation and appearing in the file LICENSE.LGPL3 included in the -## packaging of this file. Please review the following information to -## ensure the GNU Lesser General Public License version 3 requirements -## will be met: https://www.gnu.org/licenses/lgpl-3.0.html. -## -## GNU General Public License Usage -## Alternatively, this file may be used under the terms of the GNU -## General Public License version 2.0 or (at your option) the GNU General -## Public license version 3 or any later version approved by the KDE Free -## Qt Foundation. The licenses are as published by the Free Software -## Foundation and appearing in the file LICENSE.GPL2 and LICENSE.GPL3 -## included in the packaging of this file. Please review the following -## information to ensure the GNU General Public License requirements will -## be met: https://www.gnu.org/licenses/gpl-2.0.html and -## https://www.gnu.org/licenses/gpl-3.0.html. -## -## $QT_END_LICENSE$ -## -############################################################################# +# Copyright (C) 2018 The Qt Company Ltd. +# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only set -ex diff --git a/coin/provisioning/common/linux/set_ulimit.sh b/coin/provisioning/common/linux/set_ulimit.sh index 568f88af..e384fe32 100755 --- a/coin/provisioning/common/linux/set_ulimit.sh +++ b/coin/provisioning/common/linux/set_ulimit.sh @@ -1,43 +1,6 @@ #!/usr/bin/env bash - -############################################################################# -## -## Copyright (C) 2021 The Qt Company Ltd. -## Contact: https://www.qt.io/licensing/ -## -## This file is part of the provisioning scripts of the Qt Toolkit. -## -## $QT_BEGIN_LICENSE:LGPL$ -## Commercial License Usage -## Licensees holding valid commercial Qt licenses may use this file in -## accordance with the commercial license agreement provided with the -## Software or, alternatively, in accordance with the terms contained in -## a written agreement between you and The Qt Company. For licensing terms -## and conditions see https://www.qt.io/terms-conditions. For further -## information use the contact form at https://www.qt.io/contact-us. -## -## GNU Lesser General Public License Usage -## Alternatively, this file may be used under the terms of the GNU Lesser -## General Public License version 3 as published by the Free Software -## Foundation and appearing in the file LICENSE.LGPL3 included in the -## packaging of this file. Please review the following information to -## ensure the GNU Lesser General Public License version 3 requirements -## will be met: https://www.gnu.org/licenses/lgpl-3.0.html. -## -## GNU General Public License Usage -## Alternatively, this file may be used under the terms of the GNU -## General Public License version 2.0 or (at your option) the GNU General -## Public license version 3 or any later version approved by the KDE Free -## Qt Foundation. The licenses are as published by the Free Software -## Foundation and appearing in the file LICENSE.GPL2 and LICENSE.GPL3 -## included in the packaging of this file. Please review the following -## information to ensure the GNU General Public License requirements will -## be met: https://www.gnu.org/licenses/gpl-2.0.html and -## https://www.gnu.org/licenses/gpl-3.0.html. -## -## $QT_END_LICENSE$ -## -############################################################################# +# Copyright (C) 2021 The Qt Company Ltd. +# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only # This script will set ulimit size for open files # Linker for Qt Webengine builds needs to open a multiple files. Without this it will hit the limit. diff --git a/coin/provisioning/common/linux/squish-coco.sh b/coin/provisioning/common/linux/squish-coco.sh index e56e5306..eda200d8 100755 --- a/coin/provisioning/common/linux/squish-coco.sh +++ b/coin/provisioning/common/linux/squish-coco.sh @@ -1,43 +1,6 @@ #!/usr/bin/env bash - -############################################################################# -## -## Copyright (C) 2018 The Qt Company Ltd. -## Contact: https://www.qt.io/licensing/ -## -## This file is part of the provisioning scripts of the Qt Toolkit. -## -## $QT_BEGIN_LICENSE:LGPL$ -## Commercial License Usage -## Licensees holding valid commercial Qt licenses may use this file in -## accordance with the commercial license agreement provided with the -## Software or, alternatively, in accordance with the terms contained in -## a written agreement between you and The Qt Company. For licensing terms -## and conditions see https://www.qt.io/terms-conditions. For further -## information use the contact form at https://www.qt.io/contact-us. -## -## GNU Lesser General Public License Usage -## Alternatively, this file may be used under the terms of the GNU Lesser -## General Public License version 3 as published by the Free Software -## Foundation and appearing in the file LICENSE.LGPL3 included in the -## packaging of this file. Please review the following information to -## ensure the GNU Lesser General Public License version 3 requirements -## will be met: https://www.gnu.org/licenses/lgpl-3.0.html. -## -## GNU General Public License Usage -## Alternatively, this file may be used under the terms of the GNU -## General Public License version 2.0 or (at your option) the GNU General -## Public license version 3 or any later version approved by the KDE Free -## Qt Foundation. The licenses are as published by the Free Software -## Foundation and appearing in the file LICENSE.GPL2 and LICENSE.GPL3 -## included in the packaging of this file. Please review the following -## information to ensure the GNU General Public License requirements will -## be met: https://www.gnu.org/licenses/gpl-2.0.html and -## https://www.gnu.org/licenses/gpl-3.0.html. -## -## $QT_END_LICENSE$ -## -############################################################################# +# Copyright (C) 2018 The Qt Company Ltd. +# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only # This script installs Squish Coco @@ -52,7 +15,7 @@ source "${BASH_SOURCE%/*}/../unix/SetEnvVar.sh" version="4.2.2" sha1="a44f0f039f3712c715eea63c4021d08bf17a44c6" package="SquishCocoSetup_${version}_Linux_x86_64.run" -url="http://ci-files01-hki.intra.qt.io/input/coco//$package" +url="http://ci-files01-hki.ci.qt.io/input/coco//$package" echo "Enable license for Coco" diff --git a/coin/provisioning/common/linux/ubuntu-version.sh b/coin/provisioning/common/linux/ubuntu-version.sh index 23f711f8..2d02bb22 100755 --- a/coin/provisioning/common/linux/ubuntu-version.sh +++ b/coin/provisioning/common/linux/ubuntu-version.sh @@ -1,43 +1,6 @@ #!/usr/bin/env bash - -############################################################################# -## -## Copyright (C) 2018 The Qt Company Ltd. -## Contact: https://www.qt.io/licensing/ -## -## This file is part of the provisioning scripts of the Qt Toolkit. -## -## $QT_BEGIN_LICENSE:LGPL$ -## Commercial License Usage -## Licensees holding valid commercial Qt licenses may use this file in -## accordance with the commercial license agreement provided with the -## Software or, alternatively, in accordance with the terms contained in -## a written agreement between you and The Qt Company. For licensing terms -## and conditions see https://www.qt.io/terms-conditions. For further -## information use the contact form at https://www.qt.io/contact-us. -## -## GNU Lesser General Public License Usage -## Alternatively, this file may be used under the terms of the GNU Lesser -## General Public License version 3 as published by the Free Software -## Foundation and appearing in the file LICENSE.LGPL3 included in the -## packaging of this file. Please review the following information to -## ensure the GNU Lesser General Public License version 3 requirements -## will be met: https://www.gnu.org/licenses/lgpl-3.0.html. -## -## GNU General Public License Usage -## Alternatively, this file may be used under the terms of the GNU -## General Public License version 2.0 or (at your option) the GNU General -## Public license version 3 or any later version approved by the KDE Free -## Qt Foundation. The licenses are as published by the Free Software -## Foundation and appearing in the file LICENSE.GPL2 and LICENSE.GPL3 -## included in the packaging of this file. Please review the following -## information to ensure the GNU General Public License requirements will -## be met: https://www.gnu.org/licenses/gpl-2.0.html and -## https://www.gnu.org/licenses/gpl-3.0.html. -## -## $QT_END_LICENSE$ -## -############################################################################# +# Copyright (C) 2018 The Qt Company Ltd. +# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only # This script needs to be called last during provisioning so that the software information will show up last in provision log. diff --git a/coin/provisioning/common/linux/vcpkg/vcpkg.json b/coin/provisioning/common/linux/vcpkg/vcpkg.json new file mode 100644 index 00000000..70cb16fb --- /dev/null +++ b/coin/provisioning/common/linux/vcpkg/vcpkg.json @@ -0,0 +1,12 @@ +{ + "overrides": [ + { + "name": "openssl", + "version": "3.0.7", + "port-version": 2 + } + ], + "dependencies": [ + "openssl" + ] +} diff --git a/coin/provisioning/common/linux/version.sh b/coin/provisioning/common/linux/version.sh index ea2cf73d..4e0443fe 100755 --- a/coin/provisioning/common/linux/version.sh +++ b/coin/provisioning/common/linux/version.sh @@ -1,43 +1,6 @@ #!/usr/bin/env bash - -############################################################################# -## -## Copyright (C) 2016 The Qt Company Ltd. -## Contact: https://www.qt.io/licensing/ -## -## This file is part of the provisioning scripts of the Qt Toolkit. -## -## $QT_BEGIN_LICENSE:LGPL$ -## Commercial License Usage -## Licensees holding valid commercial Qt licenses may use this file in -## accordance with the commercial license agreement provided with the -## Software or, alternatively, in accordance with the terms contained in -## a written agreement between you and The Qt Company. For licensing terms -## and conditions see https://www.qt.io/terms-conditions. For further -## information use the contact form at https://www.qt.io/contact-us. -## -## GNU Lesser General Public License Usage -## Alternatively, this file may be used under the terms of the GNU Lesser -## General Public License version 3 as published by the Free Software -## Foundation and appearing in the file LICENSE.LGPL3 included in the -## packaging of this file. Please review the following information to -## ensure the GNU Lesser General Public License version 3 requirements -## will be met: https://www.gnu.org/licenses/lgpl-3.0.html. -## -## GNU General Public License Usage -## Alternatively, this file may be used under the terms of the GNU -## General Public License version 2.0 or (at your option) the GNU General -## Public license version 3 or any later version approved by the KDE Free -## Qt Foundation. The licenses are as published by the Free Software -## Foundation and appearing in the file LICENSE.GPL2 and LICENSE.GPL3 -## included in the packaging of this file. Please review the following -## information to ensure the GNU General Public License requirements will -## be met: https://www.gnu.org/licenses/gpl-2.0.html and -## https://www.gnu.org/licenses/gpl-3.0.html. -## -## $QT_END_LICENSE$ -## -############################################################################# +# Copyright (C) 2016 The Qt Company Ltd. +# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only # This script will print all installed software to provision log. # Script needs to be named so that it will be ran at last during provisioning diff --git a/coin/provisioning/common/linux/vx_works.sh b/coin/provisioning/common/linux/vx_works.sh new file mode 100755 index 00000000..ed0bef0c --- /dev/null +++ b/coin/provisioning/common/linux/vx_works.sh @@ -0,0 +1,51 @@ +#!/usr/bin/env bash +# Copyright (C) 2023 The Qt Company Ltd. +# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only + +# This script installs vxworks libs and toolchain. + +set -ex + +# shellcheck source=../unix/InstallFromCompressedFileFromURL.sh +source "${BASH_SOURCE%/*}/../unix/InstallFromCompressedFileFromURL.sh" +# shellcheck source=../unix/SetEnvVar.sh +source "${BASH_SOURCE%/*}/../unix/SetEnvVar.sh" + +VXWORKS_VER="23_09" +######### VXworks libs ######### +# Installs to /opt/vxworks +PrimaryUrl="http://ci-files01-hki.ci.qt.io/input/vxworks/vxworks_no_source_patched_$VXWORKS_VER.tar.gz" +AltUrl="" +sha1="35a457999b310a6128e3bd7de3103c2235063071" +targetFolder="/opt/" +InstallFromCompressedFileFromURL "$PrimaryUrl" "$AltUrl" "$sha1" "$targetFolder" "" +SetEnvVar "VXWORKS_HOME" "/opt/vxworks" + +VXWORKS_BUILD_VER="20240326" +######### VXworks toolchain ######### +# Installs to /opt/fsl_imx6_2_0_6_2_VSB +PrimaryUrl="http://ci-files01-hki.ci.qt.io/input/vxworks/vxworks_vsb_${VXWORKS_BUILD_VER}_2.tar.gz" +AltUrl="" +sha1="415359ac124e11198a3911c9c4b923269d8da83a" +targetFolder="/opt/" +InstallFromCompressedFileFromURL "$PrimaryUrl" "$AltUrl" "$sha1" "$targetFolder" "" +SetEnvVar "WIND_CC_SYSROOT" "/opt/fsl_imx6_2_0_6_2_VSB" + +######### VXworks VIP kernel ######### +# Installs to /opt/fsl_imx6_2_0_6_2_VIP_QEMU +PrimaryUrl="http://ci-files01-hki.ci.qt.io/input/vxworks/vxworks_vip_${VXWORKS_BUILD_VER}.tar.gz" +AltUrl="" +sha1="a6019012a8c7af760469959e2df89875f5ff4e9a" +targetFolder="/opt/" +InstallFromCompressedFileFromURL "$PrimaryUrl" "$AltUrl" "$sha1" "$targetFolder" "" + +SetEnvVar "VXWORKS_SSH" "WindRiver@10.0.2.4" + +# Setup NFS exports that are needed by VxWorks qemu +sudo bash -c "echo '/home/qt/work 10.0.2.4/24(rw,sync,root_squash,no_subtree_check,anonuid=1000,anongid=1000)' >> /etc/exports" +sudo bash -c "echo '/opt/fsl_imx6_2_0_6_2_VSB 10.0.2.4/24(rw,sync,root_squash,no_subtree_check,anonuid=1000,anongid=1000)' >> /etc/exports" +sudo exportfs -a + +# Copy start script in place +cp "${BASH_SOURCE%/*}/../linux/vxworks_qemu_launcher.sh" "${HOME}" +SetEnvVar "VXWORKS_EMULATOR" "${HOME}/vxworks_qemu_launcher.sh" diff --git a/coin/provisioning/common/linux/vxworks_qemu_launcher.sh b/coin/provisioning/common/linux/vxworks_qemu_launcher.sh new file mode 100755 index 00000000..39a68676 --- /dev/null +++ b/coin/provisioning/common/linux/vxworks_qemu_launcher.sh @@ -0,0 +1,39 @@ +#!/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 + +# Setup bridge if not exist for VxWorks QEMU +if ! ip link show br0 >/dev/null 2>&1; then + sudo brctl addbr br0 + sudo brctl stp br0 off + sudo ifconfig br0 10.0.2.1 netmask 255.255.255.0 promisc up + sudo tunctl -u qt -t tap0 + sudo ifconfig tap0 promisc up + sudo brctl addif br0 tap0 +fi + +QEMU_LOG_PATH="/home/qt/work/vxworks_qemu_log.txt" +qemu-system-arm \ + -machine sabrelite \ + -smp 4 \ + -m 1G \ + -nographic \ + -monitor none \ + -serial null \ + -serial stdio \ + -kernel /opt/fsl_imx6_2_0_6_2_VIP_QEMU/default/uVxWorks \ + -dtb /opt/fsl_imx6_2_0_6_2_VIP_QEMU/default/imx6q-sabrelite.dtb \ + -append "enet(0,0)host:vxWorks h=10.0.2.1 g=10.0.2.1 e=10.0.2.4 u=target pw=vxTarget s=/romfs/startup_script_arm.txt" \ + -nic "tap,ifname=tap0,script=no" >"${QEMU_LOG_PATH}" 2>&1 & + +for _ in $(seq 30) +do + status=$(ssh -o BatchMode=yes -o HostKeyAlgorithms=+ssh-rsa -o ConnectTimeout=1 "${VXWORKS_SSH}" echo emulator up) + if [[ $status == *"emulator up"* ]] ; then + echo "VXWORKS QEMU SSH server up" + break + else + echo "Waiting VXWORKS QEMU SSH server" + sleep 1 + fi +done diff --git a/coin/provisioning/common/macos/InstallAppFromCompressedFileFromURL.sh b/coin/provisioning/common/macos/InstallAppFromCompressedFileFromURL.sh index 00c6d308..03454485 100755 --- a/coin/provisioning/common/macos/InstallAppFromCompressedFileFromURL.sh +++ b/coin/provisioning/common/macos/InstallAppFromCompressedFileFromURL.sh @@ -1,43 +1,6 @@ #!/usr/bin/env bash - -############################################################################# -## -## Copyright (C) 2017 The Qt Company Ltd. -## Contact: https://www.qt.io/licensing/ -## -## This file is part of the provisioning scripts of the Qt Toolkit. -## -## $QT_BEGIN_LICENSE:LGPL$ -## Commercial License Usage -## Licensees holding valid commercial Qt licenses may use this file in -## accordance with the commercial license agreement provided with the -## Software or, alternatively, in accordance with the terms contained in -## a written agreement between you and The Qt Company. For licensing terms -## and conditions see https://www.qt.io/terms-conditions. For further -## information use the contact form at https://www.qt.io/contact-us. -## -## GNU Lesser General Public License Usage -## Alternatively, this file may be used under the terms of the GNU Lesser -## General Public License version 3 as published by the Free Software -## Foundation and appearing in the file LICENSE.LGPL3 included in the -## packaging of this file. Please review the following information to -## ensure the GNU Lesser General Public License version 3 requirements -## will be met: https://www.gnu.org/licenses/lgpl-3.0.html. -## -## GNU General Public License Usage -## Alternatively, this file may be used under the terms of the GNU -## General Public License version 2.0 or (at your option) the GNU General -## Public license version 3 or any later version approved by the KDE Free -## Qt Foundation. The licenses are as published by the Free Software -## Foundation and appearing in the file LICENSE.GPL2 and LICENSE.GPL3 -## included in the packaging of this file. Please review the following -## information to ensure the GNU General Public License requirements will -## be met: https://www.gnu.org/licenses/gpl-2.0.html and -## https://www.gnu.org/licenses/gpl-3.0.html. -## -## $QT_END_LICENSE$ -## -############################################################################# +# 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 receives URLs to a compressed file. It then downloads it, # uncompresses it and installs it by default diff --git a/coin/provisioning/common/macos/InstallPKGFromURL.sh b/coin/provisioning/common/macos/InstallPKGFromURL.sh index eeeb450d..62ae9db5 100755 --- a/coin/provisioning/common/macos/InstallPKGFromURL.sh +++ b/coin/provisioning/common/macos/InstallPKGFromURL.sh @@ -1,43 +1,6 @@ #!/usr/bin/env bash - -############################################################################# -## -## Copyright (C) 2017 The Qt Company Ltd. -## Contact: https://www.qt.io/licensing/ -## -## This file is part of the provisioning scripts of the Qt Toolkit. -## -## $QT_BEGIN_LICENSE:LGPL$ -## Commercial License Usage -## Licensees holding valid commercial Qt licenses may use this file in -## accordance with the commercial license agreement provided with the -## Software or, alternatively, in accordance with the terms contained in -## a written agreement between you and The Qt Company. For licensing terms -## and conditions see https://www.qt.io/terms-conditions. For further -## information use the contact form at https://www.qt.io/contact-us. -## -## GNU Lesser General Public License Usage -## Alternatively, this file may be used under the terms of the GNU Lesser -## General Public License version 3 as published by the Free Software -## Foundation and appearing in the file LICENSE.LGPL3 included in the -## packaging of this file. Please review the following information to -## ensure the GNU Lesser General Public License version 3 requirements -## will be met: https://www.gnu.org/licenses/lgpl-3.0.html. -## -## GNU General Public License Usage -## Alternatively, this file may be used under the terms of the GNU -## General Public License version 2.0 or (at your option) the GNU General -## Public license version 3 or any later version approved by the KDE Free -## Qt Foundation. The licenses are as published by the Free Software -## Foundation and appearing in the file LICENSE.GPL2 and LICENSE.GPL3 -## included in the packaging of this file. Please review the following -## information to ensure the GNU General Public License requirements will -## be met: https://www.gnu.org/licenses/gpl-2.0.html and -## https://www.gnu.org/licenses/gpl-3.0.html. -## -## $QT_END_LICENSE$ -## -############################################################################# +# Copyright (C) 2017 The Qt Company Ltd. +# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only set -ex @@ -48,7 +11,7 @@ function InstallPKGFromURL { targetDirectory=$4 echo "Creating temporary file" - package_basename=$(echo "$url" | sed 's|^.*/||') + package_basename="${url/*\//}" tmpdir=$(mktemp -d) targetFile="$tmpdir/$package_basename" echo "Downloading PKG from primary URL '$url'" diff --git a/coin/provisioning/common/macos/android.sh b/coin/provisioning/common/macos/android.sh new file mode 100755 index 00000000..b7dc953f --- /dev/null +++ b/coin/provisioning/common/macos/android.sh @@ -0,0 +1,78 @@ +#!/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 + +# This script install Android sdk and ndk. + +# It also runs update for SDK API, latest SDK tools, latest platform-tools and build-tools version + +set -ex + +# shellcheck source=../unix/SetEnvVar.sh +source "${BASH_SOURCE%/*}/../unix/SetEnvVar.sh" + +targetFolder="/opt/android" +sdkTargetFolder="$targetFolder/sdk" + +basePath="/net/ci-files01-hki.ci.qt.io/hdd/www/input/android" + +toolsVersion="2.1" +# toolsFile dertermines tools version +toolsFile="commandlinetools-mac-6609375_latest.zip" + +ndkVersionLatest="r26b" +ndkVersionDefault="$ndkVersionLatest" +sdkBuildToolsVersion="34.0.0" +# this is compile sdk version +sdkApiLevel="android-34" + +toolsSourceFile="$basePath/$toolsFile" + +function InstallNdk() { + + ndkVersion=$1 + + if [[ ! -d "${targetFolder}/android-ndk-${ndkVersion}" ]]; then + echo "Unzipping Android NDK $ndkVersion to '${targetFolder}'" + ndkSourceFile="$basePath/android-ndk-$ndkVersion-darwin*.zip" + sudo unzip -q "$ndkSourceFile" -d "$targetFolder" + fi + +} + +InstallNdk $ndkVersionDefault +InstallNdk $ndkVersionLatest + +echo "Unzipping Android Tools to '$sdkTargetFolder'" +sudo unzip -q "$toolsSourceFile" -d "$sdkTargetFolder" + +echo "Changing ownership of Android files." +sudo chown -R qt:wheel "$targetFolder" +sudo chmod -R 755 $targetFolder + +# Run the following command under `eval` or `sh -c` so that the shell properly splits it +sdkmanager_no_progress_bar_cmd="tr '\r' '\n' | grep -v '^\[[ =]*\]'" + +sudo mkdir "$sdkTargetFolder/cmdline-tools" +sudo mv "$sdkTargetFolder/tools" "$sdkTargetFolder/cmdline-tools" + +echo "Running SDK manager for platforms;$sdkApiLevel, platform-tools and build-tools;$sdkBuildToolsVersion." +(echo "y"; echo "y") | "$sdkTargetFolder/cmdline-tools/tools/bin/sdkmanager" "--sdk_root=$sdkTargetFolder" \ + "platforms;$sdkApiLevel" "platform-tools" "build-tools;$sdkBuildToolsVersion" \ + | eval "$sdkmanager_no_progress_bar_cmd" + +echo "Checking the contents of Android SDK..." +ls -l "$sdkTargetFolder" + +SetEnvVar "ANDROID_SDK_ROOT" "$sdkTargetFolder" +SetEnvVar "ANDROID_NDK_ROOT_DEFAULT" "$targetFolder/android-ndk-$ndkVersionDefault" +SetEnvVar "ANDROID_NDK_ROOT_LATEST" "$targetFolder/android-ndk-$ndkVersionLatest" +SetEnvVar "ANDROID_NDK_HOST" "darwin-x86_64" +SetEnvVar "ANDROID_API_VERSION" "$sdkApiLevel" + +cat << EOT >>~/versions.txt +Android SDK tools = $toolsVersion +Android SDK Build Tools = $sdkBuildToolsVersion +Android SDK API level = $sdkApiLevel +Android NDK = $ndkVersionDefault +EOT diff --git a/coin/provisioning/common/macos/cmake.sh b/coin/provisioning/common/macos/cmake.sh index 416e9400..b9ff8dfb 100755 --- a/coin/provisioning/common/macos/cmake.sh +++ b/coin/provisioning/common/macos/cmake.sh @@ -1,43 +1,6 @@ #!/usr/bin/env bash - -############################################################################# -## -## Copyright (C) 2017 The Qt Company Ltd. -## Contact: https://www.qt.io/licensing/ -## -## This file is part of the provisioning scripts of the Qt Toolkit. -## -## $QT_BEGIN_LICENSE:LGPL$ -## Commercial License Usage -## Licensees holding valid commercial Qt licenses may use this file in -## accordance with the commercial license agreement provided with the -## Software or, alternatively, in accordance with the terms contained in -## a written agreement between you and The Qt Company. For licensing terms -## and conditions see https://www.qt.io/terms-conditions. For further -## information use the contact form at https://www.qt.io/contact-us. -## -## GNU Lesser General Public License Usage -## Alternatively, this file may be used under the terms of the GNU Lesser -## General Public License version 3 as published by the Free Software -## Foundation and appearing in the file LICENSE.LGPL3 included in the -## packaging of this file. Please review the following information to -## ensure the GNU Lesser General Public License version 3 requirements -## will be met: https://www.gnu.org/licenses/lgpl-3.0.html. -## -## GNU General Public License Usage -## Alternatively, this file may be used under the terms of the GNU -## General Public License version 2.0 or (at your option) the GNU General -## Public license version 3 or any later version approved by the KDE Free -## Qt Foundation. The licenses are as published by the Free Software -## Foundation and appearing in the file LICENSE.GPL2 and LICENSE.GPL3 -## included in the packaging of this file. Please review the following -## information to ensure the GNU General Public License requirements will -## be met: https://www.gnu.org/licenses/gpl-2.0.html and -## https://www.gnu.org/licenses/gpl-3.0.html. -## -## $QT_END_LICENSE$ -## -############################################################################# +# 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 installs CMake @@ -48,11 +11,11 @@ source "${BASH_SOURCE%/*}/InstallAppFromCompressedFileFromURL.sh" # shellcheck source=../unix/SetEnvVar.sh source "${BASH_SOURCE%/*}/../unix/SetEnvVar.sh" -majorminorversion="3.21" -version="3.21.1" -PrimaryUrl="http://ci-files01-hki.intra.qt.io/input/cmake/cmake-$version-macos-universal.tar.gz" +majorminorversion="3.27.7" +version="3.27.7" +PrimaryUrl="http://ci-files01-hki.ci.qt.io/input/cmake/cmake-$version-macos-universal.tar.gz" AltUrl="https://cmake.org/files/v$majorminorversion/cmake-$version-macos-universal.tar.gz" -SHA1="5845da632d0f073c7761df4e78efb4405e00ac5a" +SHA1="75153b6c7a418bc7120c6217d4698c7d245d00e0" appPrefix="cmake-$version-macos-universal" InstallAppFromCompressedFileFromURL "$PrimaryUrl" "$AltUrl" "$SHA1" "$appPrefix" diff --git a/coin/provisioning/common/macos/disable-app-reopen.sh b/coin/provisioning/common/macos/disable-app-reopen.sh new file mode 100755 index 00000000..139f6d04 --- /dev/null +++ b/coin/provisioning/common/macos/disable-app-reopen.sh @@ -0,0 +1,12 @@ +#!/usr/bin/env bash +# Copyright (C) 2021 The Qt Company Ltd. +# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only + +# Prevent applications from re-opening after re-boot. +# This is needed only with physical mac mini machines used in ci. + + +set -e + +sudo chown root ~/Library/Preferences/ByHost/com.apple.loginwindow* +sudo chmod 000 ~/Library/Preferences/ByHost/com.apple.loginwindow* diff --git a/coin/provisioning/common/macos/disable-notifications_and_warnings.sh b/coin/provisioning/common/macos/disable-notifications_and_warnings.sh index e189e098..13c0a480 100755 --- a/coin/provisioning/common/macos/disable-notifications_and_warnings.sh +++ b/coin/provisioning/common/macos/disable-notifications_and_warnings.sh @@ -1,4 +1,6 @@ #!/bin/sh +#Copyright (C) 2023 The Qt Company Ltd +#SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only echo "Unload notificationcenterui.plist" launchctl unload -w /System/Library/LaunchAgents/com.apple.notificationcenterui.plist diff --git a/coin/provisioning/common/macos/disable_net_lso.sh b/coin/provisioning/common/macos/disable_net_lso.sh index 328ac308..7c51a486 100755 --- a/coin/provisioning/common/macos/disable_net_lso.sh +++ b/coin/provisioning/common/macos/disable_net_lso.sh @@ -1,45 +1,9 @@ #!/usr/bin/env bash +# Copyright (C) 2021 The Qt Company Ltd. +# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only -############################################################################# -## -## Copyright (C) 2021 The Qt Company Ltd. -## Contact: https://www.qt.io/licensing/ -## -## This file is part of the provisioning scripts of the Qt Toolkit. -## -## $QT_BEGIN_LICENSE:LGPL$ -## Commercial License Usage -## Licensees holding valid commercial Qt licenses may use this file in -## accordance with the commercial license agreement provided with the -## Software or, alternatively, in accordance with the terms contained in -## a written agreement between you and The Qt Company. For licensing terms -## and conditions see https://www.qt.io/terms-conditions. For further -## information use the contact form at https://www.qt.io/contact-us. -## -## GNU Lesser General Public License Usage -## Alternatively, this file may be used under the terms of the GNU Lesser -## General Public License version 3 as published by the Free Software -## Foundation and appearing in the file LICENSE.LGPL3 included in the -## packaging of this file. Please review the following information to -## ensure the GNU Lesser General Public License version 3 requirements -## will be met: https://www.gnu.org/licenses/lgpl-3.0.html. -## -## GNU General Public License Usage -## Alternatively, this file may be used under the terms of the GNU -## General Public License version 2.0 or (at your option) the GNU General -## Public license version 3 or any later version approved by the KDE Free -## Qt Foundation. The licenses are as published by the Free Software -## Foundation and appearing in the file LICENSE.GPL2 and LICENSE.GPL3 -## included in the packaging of this file. Please review the following -## information to ensure the GNU General Public License requirements will -## be met: https://www.gnu.org/licenses/gpl-2.0.html and -## https://www.gnu.org/licenses/gpl-3.0.html. -## -## $QT_END_LICENSE$ -## -############################################################################# - -echo """<?xml version=\"1.0\" encoding=\"UTF-8\"?> +sudo tee -a /Library/LaunchDaemons/net_tcp_tso_off.plist > /dev/null <<EOB +<?xml version=\"1.0\" encoding=\"UTF-8\"?> <!DOCTYPE plist PUBLIC \"-//Apple//DTD PLIST 1.0//EN\" \"http://www.apple.com/DTDs/PropertyList-1.0.dtd\"> <plist version=\"1.0\"> <dict> @@ -67,4 +31,4 @@ echo """<?xml version=\"1.0\" encoding=\"UTF-8\"?> <true/> </dict> </plist> -""" | sudo tee -a /Library/LaunchDaemons/net_tcp_tso_off.plist +EOB diff --git a/coin/provisioning/common/macos/disable_spotlight.sh b/coin/provisioning/common/macos/disable_spotlight.sh index 915d7fd3..a404d3e7 100755 --- a/coin/provisioning/common/macos/disable_spotlight.sh +++ b/coin/provisioning/common/macos/disable_spotlight.sh @@ -1,43 +1,6 @@ #!/usr/bin/env bash - -############################################################################# -## -## Copyright (C) 2017 The Qt Company Ltd. -## Contact: https://www.qt.io/licensing/ -## -## This file is part of the provisioning scripts of the Qt Toolkit. -## -## $QT_BEGIN_LICENSE:LGPL$ -## Commercial License Usage -## Licensees holding valid commercial Qt licenses may use this file in -## accordance with the commercial license agreement provided with the -## Software or, alternatively, in accordance with the terms contained in -## a written agreement between you and The Qt Company. For licensing terms -## and conditions see https://www.qt.io/terms-conditions. For further -## information use the contact form at https://www.qt.io/contact-us. -## -## GNU Lesser General Public License Usage -## Alternatively, this file may be used under the terms of the GNU Lesser -## General Public License version 3 as published by the Free Software -## Foundation and appearing in the file LICENSE.LGPL3 included in the -## packaging of this file. Please review the following information to -## ensure the GNU Lesser General Public License version 3 requirements -## will be met: https://www.gnu.org/licenses/lgpl-3.0.html. -## -## GNU General Public License Usage -## Alternatively, this file may be used under the terms of the GNU -## General Public License version 2.0 or (at your option) the GNU General -## Public license version 3 or any later version approved by the KDE Free -## Qt Foundation. The licenses are as published by the Free Software -## Foundation and appearing in the file LICENSE.GPL2 and LICENSE.GPL3 -## included in the packaging of this file. Please review the following -## information to ensure the GNU General Public License requirements will -## be met: https://www.gnu.org/licenses/gpl-2.0.html and -## https://www.gnu.org/licenses/gpl-3.0.html. -## -## $QT_END_LICENSE$ -## -############################################################################# +# Copyright (C) 2017 The Qt Company Ltd. +# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only # Disable spotlight and and stop indexing sudo mdutil -a -i off diff --git a/coin/provisioning/common/macos/docker.sh b/coin/provisioning/common/macos/docker.sh new file mode 100755 index 00000000..7ae9cdd5 --- /dev/null +++ b/coin/provisioning/common/macos/docker.sh @@ -0,0 +1,37 @@ +#!/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 + +# shellcheck source=./../unix/DownloadURL.sh +source "${BASH_SOURCE%/*}/../unix/DownloadURL.sh" + +# This script will install Docker which is needed by RTA + +chip=$1 + +if [[ $chip == "amd64" ]]; then + sha="158eae1d2f81cc8a0754d2ea3af8c6e6e555f69b" +else + sha="6adf6cc8558af69296208b045187406a95b020bf" +fi + +echo "Installing Docker for $chip chip" +urlOccifical="https://desktop.docker.com/mac/main/${chip}/Docker.dmg?utm_source=docker" +urlCache="http://ci-files01-hki.ci.qt.io/input/mac/Docker_${chip}.dmg" + +DownloadURL "$urlCache" "$urlOccifical" "$sha" "/tmp/Docker_${chip}.dmg" + +sudo hdiutil attach "/tmp/Docker_${chip}.dmg" +sudo /Volumes/Docker/Docker.app/Contents/MacOS/install --accept-license --user qt +sudo hdiutil detach /Volumes/Docker + +# Add registry mirror for docker images +mkdir "$HOME/.docker" +sudo tee -a "$HOME/.docker/daemon.json" <<"EOF" +{ + "builder": { "gc": { "defaultKeepStorage": "20GB", "enabled": true } }, + "experimental": false, + "features": { "buildkit": true }, + "registry-mirrors": ["http://repo-clones.ci.qt.io:5000"] +} +EOF diff --git a/coin/provisioning/common/macos/enable_zsh_history_and_viminfo.sh b/coin/provisioning/common/macos/enable_zsh_history_and_viminfo.sh new file mode 100755 index 00000000..98daf16d --- /dev/null +++ b/coin/provisioning/common/macos/enable_zsh_history_and_viminfo.sh @@ -0,0 +1,12 @@ +#!/usr/bin/env bash +# Copyright (C) 2023 The Qt Company Ltd. + +if [ -f /Users/qt/.zsh_history ] +then + sudo chown qt:staff /Users/qt/.zsh_history +fi + +if [ -f /Users/qt/.viminfo ] +then + sudo chown qt:staff /Users/qt/.viminfo +fi diff --git a/coin/provisioning/common/macos/fbx_macos.sh b/coin/provisioning/common/macos/fbx_macos.sh index 020c49d8..62d643ee 100755 --- a/coin/provisioning/common/macos/fbx_macos.sh +++ b/coin/provisioning/common/macos/fbx_macos.sh @@ -1,42 +1,6 @@ #!/usr/bin/env bash -############################################################################# -## -## Copyright (C) 2018 The Qt Company Ltd. -## Contact: https://www.qt.io/licensing/ -## -## This file is part of the provisioning scripts of the Qt Toolkit. -## -## $QT_BEGIN_LICENSE:LGPL$ -## Commercial License Usage -## Licensees holding valid commercial Qt licenses may use this file in -## accordance with the commercial license agreement provided with the -## Software or, alternatively, in accordance with the terms contained in -## a written agreement between you and The Qt Company. For licensing terms -## and conditions see https://www.qt.io/terms-conditions. For further -## information use the contact form at https://www.qt.io/contact-us. -## -## GNU Lesser General Public License Usage -## Alternatively, this file may be used under the terms of the GNU Lesser -## General Public License version 3 as published by the Free Software -## Foundation and appearing in the file LICENSE.LGPL3 included in the -## packaging of this file. Please review the following information to -## ensure the GNU Lesser General Public License version 3 requirements -## will be met: https://www.gnu.org/licenses/lgpl-3.0.html. -## -## GNU General Public License Usage -## Alternatively, this file may be used under the terms of the GNU -## General Public License version 2.0 or (at your option) the GNU General -## Public license version 3 or any later version approved by the KDE Free -## Qt Foundation. The licenses are as published by the Free Software -## Foundation and appearing in the file LICENSE.GPL2 and LICENSE.GPL3 -## included in the packaging of this file. Please review the following -## information to ensure the GNU General Public License requirements will -## be met: https://www.gnu.org/licenses/gpl-2.0.html and -## https://www.gnu.org/licenses/gpl-3.0.html. -## -## $QT_END_LICENSE$ -## -############################################################################# +# Copyright (C) 2018 The Qt Company Ltd. +# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only # This script installs FBX SDK @@ -45,16 +9,16 @@ set -ex # shellcheck source=../unix/SetEnvVar.sh source "${BASH_SOURCE%/*}/../unix/SetEnvVar.sh" -version="2016.1.2" +#version="2016.1.2" fileName="fbx20161_2_fbxsdk_clang_mac.pkg_nospace.tgz" -cachedUrl="/net/ci-files01-hki.intra.qt.io/hdd/www/input/fbx/$fileName" +cachedUrl="/net/ci-files01-hki.ci.qt.io/hdd/www/input/fbx/$fileName" # officialUrl="http://download.autodesk.com/us/fbx_release_older/$version/fbx20161_2_fbxsdk_clang_mac.pkg.tgz" targetFolder="/tmp" echo "Extracting '$cachedUrl'" tar -xzf "$cachedUrl" -C "$targetFolder" -rm -rf "$targetFolder/$fileName" +rm -rf "${targetFolder:?}/${fileName}" echo "Copying preinstalled FBX SDK to Applications" sudo cp -r "$targetFolder/Autodesk" /Applications diff --git a/coin/provisioning/common/macos/fix_relative_dependencies.sh b/coin/provisioning/common/macos/fix_relative_dependencies.sh new file mode 100755 index 00000000..e67a00c4 --- /dev/null +++ b/coin/provisioning/common/macos/fix_relative_dependencies.sh @@ -0,0 +1,25 @@ +#!/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 -e + +# realpath is not included to macOS <= 12. +# dir=$(realpath "$1") +dir=$(cd "$1" && pwd) + +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' | 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}' | 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 +done diff --git a/coin/provisioning/common/macos/homebrew.sh b/coin/provisioning/common/macos/homebrew.sh index 66463c44..4f3a93ba 100755 --- a/coin/provisioning/common/macos/homebrew.sh +++ b/coin/provisioning/common/macos/homebrew.sh @@ -1,4 +1,6 @@ -#!/bin/sh +#!/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 # Will install homebrew package manager for macOS. @@ -7,11 +9,11 @@ set -e -. "$(dirname "$0")"/../../common/unix/DownloadURL.sh +source "$(dirname "$0")"/../../common/unix/DownloadURL.sh DownloadURL \ - http://ci-files01-hki.intra.qt.io/input/mac/homebrew-install.c744a716f9845988d01e6e238eee7117b8c366c9.rb \ + http://ci-files01-hki.ci.qt.io/input/mac/homebrew-install.c744a716f9845988d01e6e238eee7117b8c366c9.rb \ https://raw.githubusercontent.com/Homebrew/install/c744a716f9845988d01e6e238eee7117b8c366c9/install \ b9782cc0b550229de77b429b56ffce04157e60486ab9df00461ccf3dad565b0a \ /tmp/homebrew_install diff --git a/coin/provisioning/common/macos/homebrew_for_arm_mac.sh b/coin/provisioning/common/macos/homebrew_for_arm_mac.sh new file mode 100755 index 00000000..e84621ff --- /dev/null +++ b/coin/provisioning/common/macos/homebrew_for_arm_mac.sh @@ -0,0 +1,30 @@ +#!/usr/bin/env bash +# Copyright (C) 2021 The Qt Company Ltd. +# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only + +# Will install homebrew package manager for macOS. +# WARNING: Requires commandlinetools + + +set -e + +. "$(dirname "$0")"/../unix/DownloadURL.sh +. "$(dirname "$0")"/../unix/SetEnvVar.sh + + +DownloadURL \ + http://ci-files01-hki.ci.qt.io/input/mac/homebrew/be699a568315f57b65519df576d7fc5840b8a5cc/install.sh \ + https://raw.githubusercontent.com/Homebrew/install/be699a568315f57b65519df576d7fc5840b8a5cc/install \ + f20e4a577f0cafbab5a44b4d239886d725b3b985 \ + /tmp/homebrew_install.sh + +DownloadURL "http://ci-files01-hki.ci.qt.io/input/semisecure/sign/pw" "http://ci-files01-hki.ci.qt.io/input/semisecure/sign/pw" "aae58d00d0a1b179a09f21cfc67f9d16fb95ff36" "/Users/qt/pw" +{ pw=$(cat "/Users/qt/pw"); } 2> /dev/null +sudo chmod 755 /tmp/homebrew_install.sh +{ (echo "$pw" | /tmp/homebrew_install.sh); } 2> /dev/null +rm -f "/Users/qt/pw" + +# No need to manually do `brew update`, the homebrew installer script does it. +### brew update + +SetEnvVar "PATH" "\$PATH:/opt/homebrew/bin" diff --git a/coin/provisioning/common/macos/increase_limits.sh b/coin/provisioning/common/macos/increase_limits.sh index 48abca21..58b20f49 100755 --- a/coin/provisioning/common/macos/increase_limits.sh +++ b/coin/provisioning/common/macos/increase_limits.sh @@ -1,43 +1,6 @@ -#!/bin/sh - -############################################################################# -## -## Copyright (C) 2019 The Qt Company Ltd. -## Contact: https://www.qt.io/licensing/ -## -## This file is part of the provisioning scripts of the Qt Toolkit. -## -## $QT_BEGIN_LICENSE:LGPL$ -## Commercial License Usage -## Licensees holding valid commercial Qt licenses may use this file in -## accordance with the commercial license agreement provided with the -## Software or, alternatively, in accordance with the terms contained in -## a written agreement between you and The Qt Company. For licensing terms -## and conditions see https://www.qt.io/terms-conditions. For further -## information use the contact form at https://www.qt.io/contact-us. -## -## GNU Lesser General Public License Usage -## Alternatively, this file may be used under the terms of the GNU Lesser -## General Public License version 3 as published by the Free Software -## Foundation and appearing in the file LICENSE.LGPL3 included in the -## packaging of this file. Please review the following information to -## ensure the GNU Lesser General Public License version 3 requirements -## will be met: https://www.gnu.org/licenses/lgpl-3.0.html. -## -## GNU General Public License Usage -## Alternatively, this file may be used under the terms of the GNU -## General Public License version 2.0 or (at your option) the GNU General -## Public license version 3 or any later version approved by the KDE Free -## Qt Foundation. The licenses are as published by the Free Software -## Foundation and appearing in the file LICENSE.GPL2 and LICENSE.GPL3 -## included in the packaging of this file. Please review the following -## information to ensure the GNU General Public License requirements will -## be met: https://www.gnu.org/licenses/gpl-2.0.html and -## https://www.gnu.org/licenses/gpl-3.0.html. -## -## $QT_END_LICENSE$ -## -############################################################################# +#!/bin/bash +# Copyright (C) 2019 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 # Increase the soft and hard RLIMIT_NOFILE and RLIMIT_NPROC limits. @@ -48,16 +11,16 @@ set -e PROVISIONING_DIR="$(dirname "$0")/../../" -. "$PROVISIONING_DIR"/common/unix/common.sourced.sh - +# shellcheck source=../unix/common.sourced.sh +source "$PROVISIONING_DIR"/common/unix/common.sourced.sh echo "Current limits are:" ulimit -a launchctl limit $CMD_INSTALL -m 644 -o root -g wheel \ - $PROVISIONING_DIR/common/macos/limit.maxfiles.plist \ - $PROVISIONING_DIR/common/macos/limit.maxproc.plist \ + "$PROVISIONING_DIR/common/macos/limit.maxfiles.plist" \ + "$PROVISIONING_DIR/common/macos/limit.maxproc.plist" \ /Library/LaunchDaemons/ # Activate the new limits immediately (not for the current session though) diff --git a/coin/provisioning/common/macos/install-commandlinetools.sh b/coin/provisioning/common/macos/install-commandlinetools.sh index 146da684..f74eaca0 100755 --- a/coin/provisioning/common/macos/install-commandlinetools.sh +++ b/coin/provisioning/common/macos/install-commandlinetools.sh @@ -1,43 +1,6 @@ #!/usr/bin/env bash - -############################################################################# -## -## Copyright (C) 2017 The Qt Company Ltd. -## Contact: https://www.qt.io/licensing/ -## -## This file is part of the provisioning scripts of the Qt Toolkit. -## -## $QT_BEGIN_LICENSE:LGPL$ -## Commercial License Usage -## Licensees holding valid commercial Qt licenses may use this file in -## accordance with the commercial license agreement provided with the -## Software or, alternatively, in accordance with the terms contained in -## a written agreement between you and The Qt Company. For licensing terms -## and conditions see https://www.qt.io/terms-conditions. For further -## information use the contact form at https://www.qt.io/contact-us. -## -## GNU Lesser General Public License Usage -## Alternatively, this file may be used under the terms of the GNU Lesser -## General Public License version 3 as published by the Free Software -## Foundation and appearing in the file LICENSE.LGPL3 included in the -## packaging of this file. Please review the following information to -## ensure the GNU Lesser General Public License version 3 requirements -## will be met: https://www.gnu.org/licenses/lgpl-3.0.html. -## -## GNU General Public License Usage -## Alternatively, this file may be used under the terms of the GNU -## General Public License version 2.0 or (at your option) the GNU General -## Public license version 3 or any later version approved by the KDE Free -## Qt Foundation. The licenses are as published by the Free Software -## Foundation and appearing in the file LICENSE.GPL2 and LICENSE.GPL3 -## included in the packaging of this file. Please review the following -## information to ensure the GNU General Public License requirements will -## be met: https://www.gnu.org/licenses/gpl-2.0.html and -## https://www.gnu.org/licenses/gpl-3.0.html. -## -## $QT_END_LICENSE$ -## -############################################################################# +# 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 # shellcheck source=../unix/DownloadURL.sh source "${BASH_SOURCE%/*}/../unix/DownloadURL.sh" set -ex diff --git a/coin/provisioning/common/macos/install-git.sh b/coin/provisioning/common/macos/install-git.sh new file mode 100755 index 00000000..45ac2817 --- /dev/null +++ b/coin/provisioning/common/macos/install-git.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 + +brew install git diff --git a/coin/provisioning/common/macos/install_xcode.sh b/coin/provisioning/common/macos/install_xcode.sh index f5124568..440f19b9 100755 --- a/coin/provisioning/common/macos/install_xcode.sh +++ b/coin/provisioning/common/macos/install_xcode.sh @@ -1,43 +1,6 @@ #!/usr/bin/env bash - -############################################################################# -## -## Copyright (C) 2021 The Qt Company Ltd. -## Contact: https://www.qt.io/licensing/ -## -## This file is part of the provisioning scripts of the Qt Toolkit. -## -## $QT_BEGIN_LICENSE:LGPL$ -## Commercial License Usage -## Licensees holding valid commercial Qt licenses may use this file in -## accordance with the commercial license agreement provided with the -## Software or, alternatively, in accordance with the terms contained in -## a written agreement between you and The Qt Company. For licensing terms -## and conditions see https://www.qt.io/terms-conditions. For further -## information use the contact form at https://www.qt.io/contact-us. -## -## GNU Lesser General Public License Usage -## Alternatively, this file may be used under the terms of the GNU Lesser -## General Public License version 3 as published by the Free Software -## Foundation and appearing in the file LICENSE.LGPL3 included in the -## packaging of this file. Please review the following information to -## ensure the GNU Lesser General Public License version 3 requirements -## will be met: https://www.gnu.org/licenses/lgpl-3.0.html. -## -## GNU General Public License Usage -## Alternatively, this file may be used under the terms of the GNU -## General Public License version 2.0 or (at your option) the GNU General -## Public license version 3 or any later version approved by the KDE Free -## Qt Foundation. The licenses are as published by the Free Software -## Foundation and appearing in the file LICENSE.GPL2 and LICENSE.GPL3 -## included in the packaging of this file. Please review the following -## information to ensure the GNU General Public License requirements will -## be met: https://www.gnu.org/licenses/gpl-2.0.html and -## https://www.gnu.org/licenses/gpl-3.0.html. -## -## $QT_END_LICENSE$ -## -############################################################################# +# 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 # shellcheck source=./../unix/DownloadURL.sh source "${BASH_SOURCE%/*}/../unix/DownloadURL.sh" @@ -62,7 +25,7 @@ function InstallXCode() { cd /Applications/ && sudo tar -zxf "$sourceFile" elif [[ $sourceFile =~ "xip" ]]; then if [[ $sourceFile =~ "http" ]]; then - Download $sourceFile /Applications/Xcode_$version.xip + Download "$sourceFile" "/Applications/Xcode_$version.xip" cd /Applications/ && xip -x "Xcode_$version.xip" else cd /Applications/ && xip -x "$sourceFile" @@ -72,12 +35,12 @@ function InstallXCode() { fi echo "Versioning application bundle" - majorVersion=$(echo $version | cut -d '.' -f 1) + majorVersion=$(echo "$version" | cut -d '.' -f 1) versionedAppBundle="/Applications/Xcode${majorVersion}.app" - sudo mv /Applications/Xcode.app ${versionedAppBundle} + sudo mv /Applications/Xcode*.app "${versionedAppBundle}" echo "Selecting Xcode" - sudo xcode-select --switch ${versionedAppBundle} + sudo xcode-select --switch "${versionedAppBundle}" echo "Accept license" sudo xcodebuild -license accept diff --git a/coin/provisioning/common/macos/java.sh b/coin/provisioning/common/macos/java.sh index faf450f0..1429f824 100755 --- a/coin/provisioning/common/macos/java.sh +++ b/coin/provisioning/common/macos/java.sh @@ -1,43 +1,6 @@ #!/usr/bin/env bash - -############################################################################# -## -## Copyright (C) 2021 The Qt Company Ltd. -## Contact: https://www.qt.io/licensing/ -## -## This file is part of the provisioning scripts of the Qt Toolkit. -## -## $QT_BEGIN_LICENSE:LGPL$ -## Commercial License Usage -## Licensees holding valid commercial Qt licenses may use this file in -## accordance with the commercial license agreement provided with the -## Software or, alternatively, in accordance with the terms contained in -## a written agreement between you and The Qt Company. For licensing terms -## and conditions see https://www.qt.io/terms-conditions. For further -## information use the contact form at https://www.qt.io/contact-us. -## -## GNU Lesser General Public License Usage -## Alternatively, this file may be used under the terms of the GNU Lesser -## General Public License version 3 as published by the Free Software -## Foundation and appearing in the file LICENSE.LGPL3 included in the -## packaging of this file. Please review the following information to -## ensure the GNU Lesser General Public License version 3 requirements -## will be met: https://www.gnu.org/licenses/lgpl-3.0.html. -## -## GNU General Public License Usage -## Alternatively, this file may be used under the terms of the GNU -## General Public License version 2.0 or (at your option) the GNU General -## Public license version 3 or any later version approved by the KDE Free -## Qt Foundation. The licenses are as published by the Free Software -## Foundation and appearing in the file LICENSE.GPL2 and LICENSE.GPL3 -## included in the packaging of this file. Please review the following -## information to ensure the GNU General Public License requirements will -## be met: https://www.gnu.org/licenses/gpl-2.0.html and -## https://www.gnu.org/licenses/gpl-3.0.html. -## -## $QT_END_LICENSE$ -## -############################################################################# +# Copyright (C) 2021 The Qt Company Ltd. +# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only # This script installs JDK @@ -47,7 +10,7 @@ echo "Installing Java Development Kit" version=11.0.12 targetFile=jdk-${version}_osx-x64_bin.dmg -url=ci-files01-hki.intra.qt.io:/hdd/www/input/mac +url=ci-files01-hki.ci.qt.io:/hdd/www/input/mac # url_alt=https://www.oracle.com/java/technologies/downloads/#java11-linux echo "Mounting $targetFile" diff --git a/coin/provisioning/common/macos/java_arm.sh b/coin/provisioning/common/macos/java_arm.sh index fb603918..1c4b1ed1 100755 --- a/coin/provisioning/common/macos/java_arm.sh +++ b/coin/provisioning/common/macos/java_arm.sh @@ -1,43 +1,6 @@ #!/usr/bin/env bash - -############################################################################# -## -## Copyright (C) 2021 The Qt Company Ltd. -## Contact: https://www.qt.io/licensing/ -## -## This file is part of the provisioning scripts of the Qt Toolkit. -## -## $QT_BEGIN_LICENSE:LGPL$ -## Commercial License Usage -## Licensees holding valid commercial Qt licenses may use this file in -## accordance with the commercial license agreement provided with the -## Software or, alternatively, in accordance with the terms contained in -## a written agreement between you and The Qt Company. For licensing terms -## and conditions see https://www.qt.io/terms-conditions. For further -## information use the contact form at https://www.qt.io/contact-us. -## -## GNU Lesser General Public License Usage -## Alternatively, this file may be used under the terms of the GNU Lesser -## General Public License version 3 as published by the Free Software -## Foundation and appearing in the file LICENSE.LGPL3 included in the -## packaging of this file. Please review the following information to -## ensure the GNU Lesser General Public License version 3 requirements -## will be met: https://www.gnu.org/licenses/lgpl-3.0.html. -## -## GNU General Public License Usage -## Alternatively, this file may be used under the terms of the GNU -## General Public License version 2.0 or (at your option) the GNU General -## Public license version 3 or any later version approved by the KDE Free -## Qt Foundation. The licenses are as published by the Free Software -## Foundation and appearing in the file LICENSE.GPL2 and LICENSE.GPL3 -## included in the packaging of this file. Please review the following -## information to ensure the GNU General Public License requirements will -## be met: https://www.gnu.org/licenses/gpl-2.0.html and -## https://www.gnu.org/licenses/gpl-3.0.html. -## -## $QT_END_LICENSE$ -## -############################################################################# +# Copyright (C) 2021 The Qt Company Ltd. +# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only # This script installs JDK @@ -47,7 +10,7 @@ echo "Installing Java Development Kit" targetFile=zulu15.29.15-ca-jdk15.0.2-macosx_aarch64.dmg -url=ci-files01-hki.intra.qt.io:/hdd/www/input/mac +url=ci-files01-hki.ci.qt.io:/hdd/www/input/mac # url_alt=https://cdn.azul.com/zulu/bin/zulu15.29.15-ca-jdk15.0.2-macosx_aarch64.dmg echo "Mounting $targetFile" diff --git a/coin/provisioning/common/macos/libiodbc.sh b/coin/provisioning/common/macos/libiodbc.sh index 62872b63..059758c8 100755 --- a/coin/provisioning/common/macos/libiodbc.sh +++ b/coin/provisioning/common/macos/libiodbc.sh @@ -1,43 +1,6 @@ #!/usr/bin/env bash - -############################################################################# -## -## Copyright (C) 2018 The Qt Company Ltd. -## Contact: https://www.qt.io/licensing/ -## -## This file is part of the provisioning scripts of the Qt Toolkit. -## -## $QT_BEGIN_LICENSE:LGPL$ -## Commercial License Usage -## Licensees holding valid commercial Qt licenses may use this file in -## accordance with the commercial license agreement provided with the -## Software or, alternatively, in accordance with the terms contained in -## a written agreement between you and The Qt Company. For licensing terms -## and conditions see https://www.qt.io/terms-conditions. For further -## information use the contact form at https://www.qt.io/contact-us. -## -## GNU Lesser General Public License Usage -## Alternatively, this file may be used under the terms of the GNU Lesser -## General Public License version 3 as published by the Free Software -## Foundation and appearing in the file LICENSE.LGPL3 included in the -## packaging of this file. Please review the following information to -## ensure the GNU Lesser General Public License version 3 requirements -## will be met: https://www.gnu.org/licenses/lgpl-3.0.html. -## -## GNU General Public License Usage -## Alternatively, this file may be used under the terms of the GNU -## General Public License version 2.0 or (at your option) the GNU General -## Public license version 3 or any later version approved by the KDE Free -## Qt Foundation. The licenses are as published by the Free Software -## Foundation and appearing in the file LICENSE.GPL2 and LICENSE.GPL3 -## included in the packaging of this file. Please review the following -## information to ensure the GNU General Public License requirements will -## be met: https://www.gnu.org/licenses/gpl-2.0.html and -## https://www.gnu.org/licenses/gpl-3.0.html. -## -## $QT_END_LICENSE$ -## -############################################################################# +# Copyright (C) 2018 The Qt Company Ltd. +# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only # Install libiodbc @@ -46,11 +9,11 @@ set -ex # shellcheck source=../unix/SetEnvVar.sh source "${BASH_SOURCE%/*}/../unix/SetEnvVar.sh" -brew install ${BASH_SOURCE%/*}/libiodbc.rb $* +brew install --formula "${BASH_SOURCE%/*}/libiodbc.rb" "$@" # CPLUS_INCLUDE_PATH is set so clang and configure can find libiodbc -read -r -a arr <<< $(brew list --versions libiodbc) +read -r -a arr <<< "$(brew list --versions libiodbc)" version=${arr[1]} SetEnvVar "CPLUS_INCLUDE_PATH" "/usr/local/Cellar/libiodbc/$version/include${CPLUS_INCLUDE_PATH:+:}${CPLUS_INCLUDE_PATH}" diff --git a/coin/provisioning/common/macos/libusb.sh b/coin/provisioning/common/macos/libusb.sh index dc30e4fe..2abe6cbf 100755 --- a/coin/provisioning/common/macos/libusb.sh +++ b/coin/provisioning/common/macos/libusb.sh @@ -1,49 +1,35 @@ #!/usr/bin/env bash - -############################################################################# -## -## Copyright (C) 2020 The Qt Company Ltd. -## Contact: https://www.qt.io/licensing/ -## -## This file is part of the provisioning scripts of the Qt Toolkit. -## -## $QT_BEGIN_LICENSE:LGPL$ -## Commercial License Usage -## Licensees holding valid commercial Qt licenses may use this file in -## accordance with the commercial license agreement provided with the -## Software or, alternatively, in accordance with the terms contained in -## a written agreement between you and The Qt Company. For licensing terms -## and conditions see https://www.qt.io/terms-conditions. For further -## information use the contact form at https://www.qt.io/contact-us. -## -## GNU Lesser General Public License Usage -## Alternatively, this file may be used under the terms of the GNU Lesser -## General Public License version 3 as published by the Free Software -## Foundation and appearing in the file LICENSE.LGPL3 included in the -## packaging of this file. Please review the following information to -## ensure the GNU Lesser General Public License version 3 requirements -## will be met: https://www.gnu.org/licenses/lgpl-3.0.html. -## -## GNU General Public License Usage -## Alternatively, this file may be used under the terms of the GNU -## General Public License version 2.0 or (at your option) the GNU General -## Public license version 3 or any later version approved by the KDE Free -## Qt Foundation. The licenses are as published by the Free Software -## Foundation and appearing in the file LICENSE.GPL2 and LICENSE.GPL3 -## included in the packaging of this file. Please review the following -## information to ensure the GNU General Public License requirements will -## be met: https://www.gnu.org/licenses/gpl-2.0.html and -## https://www.gnu.org/licenses/gpl-3.0.html. -## -## $QT_END_LICENSE$ -## -############################################################################# +# 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 # Install libusb set -ex source "${BASH_SOURCE%/*}/../unix/SetEnvVar.sh" brew install libusb -read -r -a arr <<< $(brew list --versions libusb) +read -r -a arr <<< "$(brew list --versions libusb)" version=${arr[1]} echo "libusb = $version" >> ~/versions.txt + +mkdir /tmp/arm64/ +mkdir /tmp/amd64/ + +case $(sw_vers -productVersion) in + 11*) codename=big_sur;; + 12*) codename=monterey;; + 13*) codename=ventura;; + 14*) codename=sonoma;; +esac + +brew fetch --bottle-tag=arm64_"${codename}" libusb +brew fetch --bottle-tag="${codename}" libusb +tar xf "$(brew --cache --bottle-tag=arm64_"${codename}" libusb)" -C /tmp/arm64/ +tar xf "$(brew --cache --bottle-tag="${codename}" libusb)" -C /tmp/amd64 +for f in /tmp/arm64/libusb/"$version"/lib/* ; do + if lipo -info "$f" >/dev/null 2>&1; then + file="$(basename "$f")" + lipo -create -output "$(brew --cellar)/libusb/$version/lib/$file" \ + "/tmp/arm64/libusb/$version/lib/$file" \ + "/tmp/amd64/libusb/$version/lib/$file" + fi +done diff --git a/coin/provisioning/common/macos/macos-version.sh b/coin/provisioning/common/macos/macos-version.sh index 4bf8eea8..182c1161 100755 --- a/coin/provisioning/common/macos/macos-version.sh +++ b/coin/provisioning/common/macos/macos-version.sh @@ -1,57 +1,20 @@ #!/usr/bin/env bash - -############################################################################# -## -## Copyright (C) 2016 The Qt Company Ltd. -## Contact: https://www.qt.io/licensing/ -## -## This file is part of the provisioning scripts of the Qt Toolkit. -## -## $QT_BEGIN_LICENSE:LGPL$ -## Commercial License Usage -## Licensees holding valid commercial Qt licenses may use this file in -## accordance with the commercial license agreement provided with the -## Software or, alternatively, in accordance with the terms contained in -## a written agreement between you and The Qt Company. For licensing terms -## and conditions see https://www.qt.io/terms-conditions. For further -## information use the contact form at https://www.qt.io/contact-us. -## -## GNU Lesser General Public License Usage -## Alternatively, this file may be used under the terms of the GNU Lesser -## General Public License version 3 as published by the Free Software -## Foundation and appearing in the file LICENSE.LGPL3 included in the -## packaging of this file. Please review the following information to -## ensure the GNU Lesser General Public License version 3 requirements -## will be met: https://www.gnu.org/licenses/lgpl-3.0.html. -## -## GNU General Public License Usage -## Alternatively, this file may be used under the terms of the GNU -## General Public License version 2.0 or (at your option) the GNU General -## Public license version 3 or any later version approved by the KDE Free -## Qt Foundation. The licenses are as published by the Free Software -## Foundation and appearing in the file LICENSE.GPL2 and LICENSE.GPL3 -## included in the packaging of this file. Please review the following -## information to ensure the GNU General Public License requirements will -## be met: https://www.gnu.org/licenses/gpl-2.0.html and -## https://www.gnu.org/licenses/gpl-3.0.html. -## -## $QT_END_LICENSE$ -## -############################################################################# +# Copyright (C) 2016 The Qt Company Ltd. +# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only # This script needs to be called last during provisioning so that the software information will show up last in provision log. set -ex # Print all build machines versions to provision log -echo "*********************************************" >> ~/versions.txt -echo "***** macOS version *****" >> ~/versions.txt -sw_vers >> ~/versions.txt -echo "***** All installed packages *****" >> ~/versions.txt -echo "***** HomeBrew *****" >> ~/versions.txt -brew list --versions >> ~/versions.txt -echo "***** Apple's installer *****" >> ~/versions.txt -pkgutil --pkgs >> ~/versions.txt -echo "*********************************************" >> ~/versions.txt - +( echo "*********************************************" + echo "***** macOS version *****" + sw_vers + echo "***** All installed packages *****" + echo "***** HomeBrew *****" + brew list --versions + echo "***** Apple's installer *****" + pkgutil --pkgs + echo "*********************************************" +) >> ~/versions.txt "$(dirname "$0")/version.sh" diff --git a/coin/provisioning/common/macos/makeuniversal.sh b/coin/provisioning/common/macos/makeuniversal.sh index cca42db7..0f5fc6a0 100755 --- a/coin/provisioning/common/macos/makeuniversal.sh +++ b/coin/provisioning/common/macos/makeuniversal.sh @@ -1,43 +1,6 @@ #!/usr/bin/env bash - -############################################################################# -## -## Copyright (C) 2021 The Qt Company Ltd. -## Contact: https://www.qt.io/licensing/ -## -## This file is part of the provisioning scripts of the Qt Toolkit. -## -## $QT_BEGIN_LICENSE:LGPL$ -## Commercial License Usage -## Licensees holding valid commercial Qt licenses may use this file in -## accordance with the commercial license agreement provided with the -## Software or, alternatively, in accordance with the terms contained in -## a written agreement between you and The Qt Company. For licensing terms -## and conditions see https://www.qt.io/terms-conditions. For further -## information use the contact form at https://www.qt.io/contact-us. -## -## GNU Lesser General Public License Usage -## Alternatively, this file may be used under the terms of the GNU Lesser -## General Public License version 3 as published by the Free Software -## Foundation and appearing in the file LICENSE.LGPL3 included in the -## packaging of this file. Please review the following information to -## ensure the GNU Lesser General Public License version 3 requirements -## will be met: https://www.gnu.org/licenses/lgpl-3.0.html. -## -## GNU General Public License Usage -## Alternatively, this file may be used under the terms of the GNU -## General Public License version 2.0 or (at your option) the GNU General -## Public license version 3 or any later version approved by the KDE Free -## Qt Foundation. The licenses are as published by the Free Software -## Foundation and appearing in the file LICENSE.GPL2 and LICENSE.GPL3 -## included in the packaging of this file. Please review the following -## information to ensure the GNU General Public License requirements will -## be met: https://www.gnu.org/licenses/gpl-2.0.html and -## https://www.gnu.org/licenses/gpl-3.0.html. -## -## $QT_END_LICENSE$ -## -############################################################################# +# 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 # Copies or lipos files from the given DESTDIR dirs to the respective install dir @@ -45,18 +8,24 @@ set -e for dir in "$@"; do echo "Processing files in $dir ..." - pushd $dir >/dev/null - find . -type f | while read f; do + pushd "$dir" >/dev/null + find . -type f -or -type l | while read -r f; do dst="${f:1}" - dstdir=$(dirname $dst) - mkdir -p $dstdir - if [[ ! -f $dst ]]; then + dstdir="$(dirname "$dst")" + mkdir -p "$dstdir" + + if [[ -L "$f" ]]; then + if [[ ! -L "$dst" && ! -d "$dst" && ! -f "$dst" ]]; then + echo "Copying symlink $dir/$f to $dst" + cp -P -n "$f" "$dst" + fi + elif [[ ! -f "$dst" ]]; then echo "Copying $dir/$f to $dst" - cp -c $f $dst - elif lipo -info $f >/dev/null 2>&1; then + cp -c "$f" "$dst" + elif lipo -info "$f" >/dev/null 2>&1; then echo "Lipoing $dir/$f into $dst" - lipo -create -output $dst $dst $f - elif ! diff $f $dst; then + lipo -create -output "$dst" "$dst" "$f" + elif ! diff "$f" "$dst"; then echo "Error: File $f in $dir doesn't match destination $dst" exit 1 fi diff --git a/coin/provisioning/common/macos/mimersql.sh b/coin/provisioning/common/macos/mimersql.sh new file mode 100755 index 00000000..10ee1dc5 --- /dev/null +++ b/coin/provisioning/common/macos/mimersql.sh @@ -0,0 +1,56 @@ +#!/usr/bin/env bash +# Copyright (C) 2023 The Qt Company Ltd. +# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only + +# This script installs Mimer SQL + +# Mimer SQL is needed for Qt to be able to support Mimer SQL + +set -ex +os="$1" + +source "${BASH_SOURCE%/*}/../unix/SetEnvVar.sh" +source "${BASH_SOURCE%/*}/../unix/DownloadURL.sh" + +mimerSqlVersion="11.0.7G" +if [ "$os" = "macos" ]; then + arch=$(uname -m) + if [ "$arch" = "x86_64" ]; then + mimerSqlPackageName="mimersql-110_x86_64.tgz" + SHA1="d748f87b72e7188c527f131db2590f552f18f544" + else + mimerSqlPackageName="mimersql-110_arm64.tgz" + SHA1="f209c97074d096e50e637441073e8aa355c5116e" + fi +else + mimerSqlPackageName="mimersql-110_universal.tgz" + SHA1="eab32be623f1cbde7c29cea0f0ca4332b8ca502b" +fi + +PrimaryUrl="http://ci-files01-hki.ci.qt.io/input/mac/$mimerSqlPackageName" +AltUrl="https://install.mimer.com/qt/macOS/$mimerSqlPackageName" + +DownloadURL "$PrimaryUrl" "$AltUrl" "$SHA1" "/tmp/$mimerSqlPackageName" + +echo "Installing $mimerSqlPackageName" +if [ -e /tmp/mimersql_${mimerSqlVersion} ]; then + rm -r /tmp/mimersql_${mimerSqlVersion} +fi +mkdir /tmp/mimersql_${mimerSqlVersion} +tar -C /tmp/mimersql_${mimerSqlVersion} -zxf /tmp/$mimerSqlPackageName +if [ ! -e /usr/local/include ]; then + sudo mkdir -p /usr/local/include + sudo chmod 777 /usr/local/include +fi +if [ ! -e /usr/local/lib ]; then + sudo mkdir -p /usr/local/lib + sudo chmod 777 /usr/local/lib +fi +sudo cp /tmp/mimersql_${mimerSqlVersion}/include/*.h /usr/local/include/ +sudo chmod 755 /usr/local/include/mimer*.h +sudo cp /tmp/mimersql_${mimerSqlVersion}/lib/libmimerapi.dylib /usr/local/lib/ +sudo chmod 755 /usr/local/lib/libmimerapi.dylib +echo "Removing $mimerSqlPackageName" +rm "/tmp/$mimerSqlPackageName" +rm -r /tmp/mimersql_${mimerSqlVersion} +echo "Mimer SQL = $mimerSqlVersion" >> ~/versions.txt diff --git a/coin/provisioning/common/macos/mount-vcpkg-cache-drive.sh b/coin/provisioning/common/macos/mount-vcpkg-cache-drive.sh new file mode 100755 index 00000000..8a3e1f69 --- /dev/null +++ b/coin/provisioning/common/macos/mount-vcpkg-cache-drive.sh @@ -0,0 +1,28 @@ +#!/usr/bin/env bash +# Copyright (C) 2023 The Qt Company Ltd. +# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only + +set -e + +# Avoid leaking secrets in the logs +set +x + +targetDir="$HOME/vcpkg-cache" + +# Specify the path to the credential file +credentialFile="$HOME/samba_credentials" +username=$(grep '^username=' "$credentialFile" | cut -d '=' -f 2) +password=$(grep '^password=' "$credentialFile" | cut -d '=' -f 2) + +mkdir -p "$targetDir" + +# Mount the SMB share +# Check if the mount was successful +if mount -v -t smbfs -o -N "//${username}:${password}@vcpkg-server.ci.qt.io/vcpkg" "$targetDir" +then + echo "SMB share mounted successfully!" +else + echo "Failed to mount SMB share." +fi + +set -x diff --git a/coin/provisioning/common/macos/ninja.sh b/coin/provisioning/common/macos/ninja.sh index 2cb05aa2..66ac8324 100755 --- a/coin/provisioning/common/macos/ninja.sh +++ b/coin/provisioning/common/macos/ninja.sh @@ -1,43 +1,6 @@ #!/usr/bin/env bash - -############################################################################# -## -## Copyright (C) 2021 The Qt Company Ltd. -## Contact: https://www.qt.io/licensing/ -## -## This file is part of the provisioning scripts of the Qt Toolkit. -## -## $QT_BEGIN_LICENSE:LGPL$ -## Commercial License Usage -## Licensees holding valid commercial Qt licenses may use this file in -## accordance with the commercial license agreement provided with the -## Software or, alternatively, in accordance with the terms contained in -## a written agreement between you and The Qt Company. For licensing terms -## and conditions see https://www.qt.io/terms-conditions. For further -## information use the contact form at https://www.qt.io/contact-us. -## -## GNU Lesser General Public License Usage -## Alternatively, this file may be used under the terms of the GNU Lesser -## General Public License version 3 as published by the Free Software -## Foundation and appearing in the file LICENSE.LGPL3 included in the -## packaging of this file. Please review the following information to -## ensure the GNU Lesser General Public License version 3 requirements -## will be met: https://www.gnu.org/licenses/lgpl-3.0.html. -## -## GNU General Public License Usage -## Alternatively, this file may be used under the terms of the GNU -## General Public License version 2.0 or (at your option) the GNU General -## Public license version 3 or any later version approved by the KDE Free -## Qt Foundation. The licenses are as published by the Free Software -## Foundation and appearing in the file LICENSE.GPL2 and LICENSE.GPL3 -## included in the packaging of this file. Please review the following -## information to ensure the GNU General Public License requirements will -## be met: https://www.gnu.org/licenses/gpl-2.0.html and -## https://www.gnu.org/licenses/gpl-3.0.html. -## -## $QT_END_LICENSE$ -## -############################################################################# +# Copyright (C) 2021 The Qt Company Ltd. +# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only # This script will install ninja binary @@ -45,7 +8,7 @@ source "${BASH_SOURCE%/*}/../unix/InstallFromCompressedFileFromURL.sh" version="1.10.2" -internalUrl="http://ci-files01-hki.intra.qt.io/input/mac/ninja-mac_v${version}.zip" +internalUrl="http://ci-files01-hki.ci.qt.io/input/mac/ninja-mac_v${version}.zip" externalUrl="https://github.com/ninja-build/ninja/releases/download/v${version}/ninja-mac.zip" SHA1="95d0ca5e7c67ab7181c87e6a6ec59d11b1ff2d30" DestDir="/usr/local/bin/" diff --git a/coin/provisioning/common/macos/nodejs.sh b/coin/provisioning/common/macos/nodejs.sh index 27382fbe..ac927110 100755 --- a/coin/provisioning/common/macos/nodejs.sh +++ b/coin/provisioning/common/macos/nodejs.sh @@ -1,55 +1,18 @@ #!/usr/bin/env bash - -############################################################################# -## -## Copyright (C) 2021 The Qt Company Ltd. -## Contact: https://www.qt.io/licensing/ -## -## This file is part of the provisioning scripts of the Qt Toolkit. -## -## $QT_BEGIN_LICENSE:LGPL$ -## Commercial License Usage -## Licensees holding valid commercial Qt licenses may use this file in -## accordance with the commercial license agreement provided with the -## Software or, alternatively, in accordance with the terms contained in -## a written agreement between you and The Qt Company. For licensing terms -## and conditions see https://www.qt.io/terms-conditions. For further -## information use the contact form at https://www.qt.io/contact-us. -## -## GNU Lesser General Public License Usage -## Alternatively, this file may be used under the terms of the GNU Lesser -## General Public License version 3 as published by the Free Software -## Foundation and appearing in the file LICENSE.LGPL3 included in the -## packaging of this file. Please review the following information to -## ensure the GNU Lesser General Public License version 3 requirements -## will be met: https://www.gnu.org/licenses/lgpl-3.0.html. -## -## GNU General Public License Usage -## Alternatively, this file may be used under the terms of the GNU -## General Public License version 2.0 or (at your option) the GNU General -## Public license version 3 or any later version approved by the KDE Free -## Qt Foundation. The licenses are as published by the Free Software -## Foundation and appearing in the file LICENSE.GPL2 and LICENSE.GPL3 -## included in the packaging of this file. Please review the following -## information to ensure the GNU General Public License requirements will -## be met: https://www.gnu.org/licenses/gpl-2.0.html and -## https://www.gnu.org/licenses/gpl-3.0.html. -## -## $QT_END_LICENSE$ -## -############################################################################# +# 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 # shellcheck source=./../unix/DownloadURL.sh source "${BASH_SOURCE%/*}/../unix/DownloadURL.sh" # This script will install Nodejs -version="14.16.1" -urlCache="http://ci-files01-hki.intra.qt.io/input/nodejs/node-v$version.pkg" +version="18.16.0" +urlCache="http://ci-files01-hki.ci.qt.io/input/nodejs/node-v$version.pkg" urlOffcial="https://nodejs.org/dist/v$version/node-v$version.pkg" -sha1="4720274971c40fe51b2c647060f77c45fb4949a7" +sha256="156aa5b9580288fb0b3c6134eb8fac64e50745d78d33eebe9e29eb7ff87b8e1e" -DownloadURL $urlCache $urlOffcial $sha1 "/tmp/node-v$version.pkg" +DownloadURL $urlCache $urlOffcial $sha256 "/tmp/node-v$version.pkg" sudo installer -pkg "/tmp/node-v$version.pkg" -target / echo "Nodejs = $version" >> ~/versions.txt diff --git a/coin/provisioning/common/macos/pip.sh b/coin/provisioning/common/macos/pip.sh index b1c9a864..ce73d283 100755 --- a/coin/provisioning/common/macos/pip.sh +++ b/coin/provisioning/common/macos/pip.sh @@ -1,4 +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=../unix/DownloadURL.sh source "${BASH_SOURCE%/*}/../unix/DownloadURL.sh" @@ -9,9 +11,9 @@ function InstallPip { # Will install pip utility for python if [[ $python == "python2.7" ]]; then - DownloadURL "http://ci-files01-hki.intra.qt.io/input/mac/python27/get-pip.py" "https://bootstrap.pypa.io/2.7/get-pip.py" "c4c5f74586cffe49804f167d95d1710b9750ddf0" + DownloadURL "http://ci-files01-hki.ci.qt.io/input/mac/python27/get-pip.py" "https://bootstrap.pypa.io/2.7/get-pip.py" "c4c5f74586cffe49804f167d95d1710b9750ddf0" else - DownloadURL "http://ci-files01-hki.intra.qt.io/input/mac/get-pip.py" "https://bootstrap.pypa.io/get-pip.py" "209ddf0bb8d1cf06a1f17dd9f21970c76b3d2be2" + DownloadURL "http://ci-files01-hki.ci.qt.io/input/mac/get-pip.py" "https://bootstrap.pypa.io/get-pip.py" "209ddf0bb8d1cf06a1f17dd9f21970c76b3d2be2" fi sudo "$python" get-pip.py rm get-pip.py diff --git a/coin/provisioning/common/macos/pkgconfig.sh b/coin/provisioning/common/macos/pkgconfig.sh index 5bae9330..5b849821 100755 --- a/coin/provisioning/common/macos/pkgconfig.sh +++ b/coin/provisioning/common/macos/pkgconfig.sh @@ -1,49 +1,12 @@ #!/usr/bin/env bash - -############################################################################# -## -## Copyright (C) 2020 The Qt Company Ltd. -## Contact: https://www.qt.io/licensing/ -## -## This file is part of the provisioning scripts of the Qt Toolkit. -## -## $QT_BEGIN_LICENSE:LGPL$ -## Commercial License Usage -## Licensees holding valid commercial Qt licenses may use this file in -## accordance with the commercial license agreement provided with the -## Software or, alternatively, in accordance with the terms contained in -## a written agreement between you and The Qt Company. For licensing terms -## and conditions see https://www.qt.io/terms-conditions. For further -## information use the contact form at https://www.qt.io/contact-us. -## -## GNU Lesser General Public License Usage -## Alternatively, this file may be used under the terms of the GNU Lesser -## General Public License version 3 as published by the Free Software -## Foundation and appearing in the file LICENSE.LGPL3 included in the -## packaging of this file. Please review the following information to -## ensure the GNU Lesser General Public License version 3 requirements -## will be met: https://www.gnu.org/licenses/lgpl-3.0.html. -## -## GNU General Public License Usage -## Alternatively, this file may be used under the terms of the GNU -## General Public License version 2.0 or (at your option) the GNU General -## Public license version 3 or any later version approved by the KDE Free -## Qt Foundation. The licenses are as published by the Free Software -## Foundation and appearing in the file LICENSE.GPL2 and LICENSE.GPL3 -## included in the packaging of this file. Please review the following -## information to ensure the GNU General Public License requirements will -## be met: https://www.gnu.org/licenses/gpl-2.0.html and -## https://www.gnu.org/licenses/gpl-3.0.html. -## -## $QT_END_LICENSE$ -## -############################################################################# +# 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 # Install pkgconfig set -ex source "${BASH_SOURCE%/*}/../unix/SetEnvVar.sh" brew install pkgconfig -read -r -a arr <<< $(brew list --versions pkgconfig) +read -r -a arr <<< "$(brew list --versions pkgconfig)" version=${arr[1]} echo "pkgconfig = $version" >> ~/versions.txt diff --git a/coin/provisioning/common/macos/postgresql.sh b/coin/provisioning/common/macos/postgresql.sh index b20e4f4e..8980d28e 100755 --- a/coin/provisioning/common/macos/postgresql.sh +++ b/coin/provisioning/common/macos/postgresql.sh @@ -1,43 +1,6 @@ #!/usr/bin/env bash - -############################################################################# -## -## Copyright (C) 2020 The Qt Company Ltd. -## Contact: https://www.qt.io/licensing/ -## -## This file is part of the provisioning scripts of the Qt Toolkit. -## -## $QT_BEGIN_LICENSE:LGPL$ -## Commercial License Usage -## Licensees holding valid commercial Qt licenses may use this file in -## accordance with the commercial license agreement provided with the -## Software or, alternatively, in accordance with the terms contained in -## a written agreement between you and The Qt Company. For licensing terms -## and conditions see https://www.qt.io/terms-conditions. For further -## information use the contact form at https://www.qt.io/contact-us. -## -## GNU Lesser General Public License Usage -## Alternatively, this file may be used under the terms of the GNU Lesser -## General Public License version 3 as published by the Free Software -## Foundation and appearing in the file LICENSE.LGPL3 included in the -## packaging of this file. Please review the following information to -## ensure the GNU Lesser General Public License version 3 requirements -## will be met: https://www.gnu.org/licenses/lgpl-3.0.html. -## -## GNU General Public License Usage -## Alternatively, this file may be used under the terms of the GNU -## General Public License version 2.0 or (at your option) the GNU General -## Public license version 3 or any later version approved by the KDE Free -## Qt Foundation. The licenses are as published by the Free Software -## Foundation and appearing in the file LICENSE.GPL2 and LICENSE.GPL3 -## included in the packaging of this file. Please review the following -## information to ensure the GNU General Public License requirements will -## be met: https://www.gnu.org/licenses/gpl-2.0.html and -## https://www.gnu.org/licenses/gpl-3.0.html. -## -## $QT_END_LICENSE$ -## -############################################################################# +# 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 PostgreSQL @@ -45,9 +8,9 @@ set -ex -# shellcheck source=../common/unix/SetEnvVar.sh +# shellcheck source=../unix/SetEnvVar.sh source "${BASH_SOURCE%/*}/../unix/SetEnvVar.sh" -# shellcheck source=../common/unix/DownloadURL.sh +# shellcheck source=../unix/DownloadURL.sh source "${BASH_SOURCE%/*}/../unix/DownloadURL.sh" psqlAppVersion="2.5" @@ -55,10 +18,9 @@ psqlVersion="14" packageName="Postgres-$psqlAppVersion-$psqlVersion.dmg" -PrimaryUrl="http://ci-files01-hki.intra.qt.io/input/mac/macos_10.12_sierra/$packageName" +PrimaryUrl="http://ci-files01-hki.ci.qt.io/input/mac/macos_10.12_sierra/$packageName" AltUrl="https://github.com/PostgresApp/PostgresApp/releases/download/v$psqlAppVersion/$packageName" SHA1="04cb6939704c5ede5646c1da8a686da3ded98a26" -appPrefix="" DownloadURL "$PrimaryUrl" "$AltUrl" "$SHA1" "/tmp/$packageName" diff --git a/coin/provisioning/common/macos/python2.sh b/coin/provisioning/common/macos/python2.sh index 6d811bd8..2da8b463 100755 --- a/coin/provisioning/common/macos/python2.sh +++ b/coin/provisioning/common/macos/python2.sh @@ -1,43 +1,6 @@ #!/usr/bin/env bash - -############################################################################# -## -## Copyright (C) 2018 The Qt Company Ltd. -## Contact: https://www.qt.io/licensing/ -## -## This file is part of the provisioning scripts of the Qt Toolkit. -## -## $QT_BEGIN_LICENSE:LGPL$ -## Commercial License Usage -## Licensees holding valid commercial Qt licenses may use this file in -## accordance with the commercial license agreement provided with the -## Software or, alternatively, in accordance with the terms contained in -## a written agreement between you and The Qt Company. For licensing terms -## and conditions see https://www.qt.io/terms-conditions. For further -## information use the contact form at https://www.qt.io/contact-us. -## -## GNU Lesser General Public License Usage -## Alternatively, this file may be used under the terms of the GNU Lesser -## General Public License version 3 as published by the Free Software -## Foundation and appearing in the file LICENSE.LGPL3 included in the -## packaging of this file. Please review the following information to -## ensure the GNU Lesser General Public License version 3 requirements -## will be met: https://www.gnu.org/licenses/lgpl-3.0.html. -## -## GNU General Public License Usage -## Alternatively, this file may be used under the terms of the GNU -## General Public License version 2.0 or (at your option) the GNU General -## Public license version 3 or any later version approved by the KDE Free -## Qt Foundation. The licenses are as published by the Free Software -## Foundation and appearing in the file LICENSE.GPL2 and LICENSE.GPL3 -## included in the packaging of this file. Please review the following -## information to ensure the GNU General Public License requirements will -## be met: https://www.gnu.org/licenses/gpl-2.0.html and -## https://www.gnu.org/licenses/gpl-3.0.html. -## -## $QT_END_LICENSE$ -## -############################################################################# +# Copyright (C) 2018 The Qt Company Ltd. +# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only # This script installs python2 @@ -48,7 +11,7 @@ source "${BASH_SOURCE%/*}/../unix/SetEnvVar.sh" # shellcheck source=./pip.sh source "${BASH_SOURCE%/*}/pip.sh" -PrimaryUrl="http://ci-files01-hki.intra.qt.io/input/mac/python-2.7.16-macosx10.6.pkg" +PrimaryUrl="http://ci-files01-hki.ci.qt.io/input/mac/python-2.7.16-macosx10.6.pkg" AltUrl="https://www.python.org/ftp/python/2.7.16/python-2.7.16-macosx10.6.pkg" SHA1="895a8327a58e7c0e58852638ab3d84843643535b" DestDir="/" @@ -57,6 +20,10 @@ InstallPKGFromURL "$PrimaryUrl" "$AltUrl" "$SHA1" "$DestDir" InstallPip python2.7 +echo "Configure pip" +/Library/Frameworks/Python.framework/Versions/2.7/bin/pip config --user set global.index https://ci-files01-hki.ci.qt.io/input/python_module_cache +/Library/Frameworks/Python.framework/Versions/2.7/bin/pip config --user set global.extra-index-url https://pypi.org/simple/ + /Library/Frameworks/Python.framework/Versions/2.7/bin/pip install virtualenv SetEnvVar "PATH" "/Library/Frameworks/Python.framework/Versions/2.7/bin/:\$PATH" diff --git a/coin/provisioning/common/macos/python3.sh b/coin/provisioning/common/macos/python3.sh index 75d76c95..1a8809d6 100755 --- a/coin/provisioning/common/macos/python3.sh +++ b/coin/provisioning/common/macos/python3.sh @@ -1,44 +1,7 @@ #!/usr/bin/env bash - -############################################################################# -## -## Copyright (C) 2019 The Qt Company Ltd. -## Copyright (C) 2017 Pelagicore AG -## Contact: https://www.qt.io/licensing/ -## -## This file is part of the provisioning scripts of the Qt Toolkit. -## -## $QT_BEGIN_LICENSE:LGPL$ -## Commercial License Usage -## Licensees holding valid commercial Qt licenses may use this file in -## accordance with the commercial license agreement provided with the -## Software or, alternatively, in accordance with the terms contained in -## a written agreement between you and The Qt Company. For licensing terms -## and conditions see https://www.qt.io/terms-conditions. For further -## information use the contact form at https://www.qt.io/contact-us. -## -## GNU Lesser General Public License Usage -## Alternatively, this file may be used under the terms of the GNU Lesser -## General Public License version 3 as published by the Free Software -## Foundation and appearing in the file LICENSE.LGPL3 included in the -## packaging of this file. Please review the following information to -## ensure the GNU Lesser General Public License version 3 requirements -## will be met: https://www.gnu.org/licenses/lgpl-3.0.html. -## -## GNU General Public License Usage -## Alternatively, this file may be used under the terms of the GNU -## General Public License version 2.0 or (at your option) the GNU General -## Public license version 3 or any later version approved by the KDE Free -## Qt Foundation. The licenses are as published by the Free Software -## Foundation and appearing in the file LICENSE.GPL2 and LICENSE.GPL3 -## included in the packaging of this file. Please review the following -## information to ensure the GNU General Public License requirements will -## be met: https://www.gnu.org/licenses/gpl-2.0.html and -## https://www.gnu.org/licenses/gpl-3.0.html. -## -## $QT_END_LICENSE$ -## -############################################################################# +# Copyright (C) 2019 The Qt Company Ltd. +# Copyright (C) 2017 Pelagicore AG +# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only # This script installs python3 @@ -49,25 +12,23 @@ source "${BASH_SOURCE%/*}/../unix/SetEnvVar.sh" # shellcheck source=./pip.sh source "${BASH_SOURCE%/*}/pip.sh" -PrimaryUrl="http://ci-files01-hki.intra.qt.io/input/mac/python-3.9.6-macos11.pkg" -AltUrl="https://www.python.org/ftp/python/3.9.6/python-3.9.6-macos11.pkg" -SHA1="2af5277c2e197719eb4b820430dee5d89e2577b6" +PrimaryUrl="http://ci-files01-hki.ci.qt.io/input/mac/python-3.11.9-macos11.pkg" +AltUrl="https://www.python.org/ftp/python/3.11.9/python-3.11.9-macos11.pkg" +SHA1="d156e22e4f8902c0ebdf466a3a01832e0f0a85d8" DestDir="/" InstallPKGFromURL "$PrimaryUrl" "$AltUrl" "$SHA1" "$DestDir" -InstallPip python3.9 - -/Library/Frameworks/Python.framework/Versions/3.9/bin/pip3 install virtualenv wheel html5lib +echo "Configure pip" +/Library/Frameworks/Python.framework/Versions/3.11/bin/pip3 config --user set global.index https://ci-files01-hki.ci.qt.io/input/python_module_cache +/Library/Frameworks/Python.framework/Versions/3.11/bin/pip3 config --user set global.extra-index-url https://pypi.org/simple/ -SetEnvVar "PYTHON3_PATH" "/Library/Frameworks/Python.framework/Versions/3.9/bin" -SetEnvVar "PIP3_PATH" "/Library/Frameworks/Python.framework/Versions/3.9/bin" +/Library/Frameworks/Python.framework/Versions/3.11/bin/pip3 install virtualenv wheel html5lib -# Install all needed packages in a special wheel cache directory -/Library/Frameworks/Python.framework/Versions/3.9/bin/pip3 wheel --wheel-dir $HOME/python3-wheels -r ${BASH_SOURCE%/*}/../shared/requirements.txt -SetEnvVar "PYTHON3_WHEEL_CACHE" "$HOME/python3-wheels" +SetEnvVar "PYTHON3_PATH" "/Library/Frameworks/Python.framework/Versions/3.11/bin" +SetEnvVar "PIP3_PATH" "/Library/Frameworks/Python.framework/Versions/3.11/bin" # Install Python certificates. Required at least for emsdk installation -open /Applications/Python\ 3.9/Install\ Certificates.command +open /Applications/Python\ 3.11/Install\ Certificates.command -echo "python3 = 3.9.6" >> ~/versions.txt +echo "python3 = 3.11.9" >> ~/versions.txt diff --git a/coin/provisioning/common/macos/sccache.sh b/coin/provisioning/common/macos/sccache.sh index fe3a68df..85c4aee2 100755 --- a/coin/provisioning/common/macos/sccache.sh +++ b/coin/provisioning/common/macos/sccache.sh @@ -1,43 +1,6 @@ #!/usr/bin/env bash - -############################################################################# -## -## Copyright (C) 2019 The Qt Company Ltd. -## Contact: https://www.qt.io/licensing/ -## -## This file is part of the provisioning scripts of the Qt Toolkit. -## -## $QT_BEGIN_LICENSE:LGPL$ -## Commercial License Usage -## Licensees holding valid commercial Qt licenses may use this file in -## accordance with the commercial license agreement provided with the -## Software or, alternatively, in accordance with the terms contained in -## a written agreement between you and The Qt Company. For licensing terms -## and conditions see https://www.qt.io/terms-conditions. For further -## information use the contact form at https://www.qt.io/contact-us. -## -## GNU Lesser General Public License Usage -## Alternatively, this file may be used under the terms of the GNU Lesser -## General Public License version 3 as published by the Free Software -## Foundation and appearing in the file LICENSE.LGPL3 included in the -## packaging of this file. Please review the following information to -## ensure the GNU Lesser General Public License version 3 requirements -## will be met: https://www.gnu.org/licenses/lgpl-3.0.html. -## -## GNU General Public License Usage -## Alternatively, this file may be used under the terms of the GNU -## General Public License version 2.0 or (at your option) the GNU General -## Public license version 3 or any later version approved by the KDE Free -## Qt Foundation. The licenses are as published by the Free Software -## Foundation and appearing in the file LICENSE.GPL2 and LICENSE.GPL3 -## included in the packaging of this file. Please review the following -## information to ensure the GNU General Public License requirements will -## be met: https://www.gnu.org/licenses/gpl-2.0.html and -## https://www.gnu.org/licenses/gpl-3.0.html. -## -## $QT_END_LICENSE$ -## -############################################################################# +# Copyright (C) 2019 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 diff --git a/coin/provisioning/common/macos/screenresolution.sh b/coin/provisioning/common/macos/screenresolution.sh index dd29a0f1..1b552e88 100755 --- a/coin/provisioning/common/macos/screenresolution.sh +++ b/coin/provisioning/common/macos/screenresolution.sh @@ -1,43 +1,6 @@ #!/bin/bash - -############################################################################# -## -## Copyright (C) 2020 The Qt Company Ltd. -## Contact: https://www.qt.io/licensing/ -## -## This file is part of the provisioning scripts of the Qt Toolkit. -## -## $QT_BEGIN_LICENSE:LGPL$ -## Commercial License Usage -## Licensees holding valid commercial Qt licenses may use this file in -## accordance with the commercial license agreement provided with the -## Software or, alternatively, in accordance with the terms contained in -## a written agreement between you and The Qt Company. For licensing terms -## and conditions see https://www.qt.io/terms-conditions. For further -## information use the contact form at https://www.qt.io/contact-us. -## -## GNU Lesser General Public License Usage -## Alternatively, this file may be used under the terms of the GNU Lesser -## General Public License version 3 as published by the Free Software -## Foundation and appearing in the file LICENSE.LGPL3 included in the -## packaging of this file. Please review the following information to -## ensure the GNU Lesser General Public License version 3 requirements -## will be met: https://www.gnu.org/licenses/lgpl-3.0.html. -## -## GNU General Public License Usage -## Alternatively, this file may be used under the terms of the GNU -## General Public License version 2.0 or (at your option) the GNU General -## Public license version 3 or any later version approved by the KDE Free -## Qt Foundation. The licenses are as published by the Free Software -## Foundation and appearing in the file LICENSE.GPL2 and LICENSE.GPL3 -## included in the packaging of this file. Please review the following -## information to ensure the GNU General Public License requirements will -## be met: https://www.gnu.org/licenses/gpl-2.0.html and -## https://www.gnu.org/licenses/gpl-3.0.html. -## -## $QT_END_LICENSE$ -## -############################################################################# +# 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 # Install screenresolution and set correct resolution at boot diff --git a/coin/provisioning/common/macos/set-locale.sh b/coin/provisioning/common/macos/set-locale.sh index 057d1414..bede1e00 100755 --- a/coin/provisioning/common/macos/set-locale.sh +++ b/coin/provisioning/common/macos/set-locale.sh @@ -1,44 +1,7 @@ #!/usr/bin/env bash - -############################################################################# -## -## Copyright (C) 2019 The Qt Company Ltd. -## Copyright (C) 2017 Pelagicore AG -## Contact: https://www.qt.io/licensing/ -## -## This file is part of the provisioning scripts of the Qt Toolkit. -## -## $QT_BEGIN_LICENSE:LGPL$ -## Commercial License Usage -## Licensees holding valid commercial Qt licenses may use this file in -## accordance with the commercial license agreement provided with the -## Software or, alternatively, in accordance with the terms contained in -## a written agreement between you and The Qt Company. For licensing terms -## and conditions see https://www.qt.io/terms-conditions. For further -## information use the contact form at https://www.qt.io/contact-us. -## -## GNU Lesser General Public License Usage -## Alternatively, this file may be used under the terms of the GNU Lesser -## General Public License version 3 as published by the Free Software -## Foundation and appearing in the file LICENSE.LGPL3 included in the -## packaging of this file. Please review the following information to -## ensure the GNU Lesser General Public License version 3 requirements -## will be met: https://www.gnu.org/licenses/lgpl-3.0.html. -## -## GNU General Public License Usage -## Alternatively, this file may be used under the terms of the GNU -## General Public License version 2.0 or (at your option) the GNU General -## Public license version 3 or any later version approved by the KDE Free -## Qt Foundation. The licenses are as published by the Free Software -## Foundation and appearing in the file LICENSE.GPL2 and LICENSE.GPL3 -## included in the packaging of this file. Please review the following -## information to ensure the GNU General Public License requirements will -## be met: https://www.gnu.org/licenses/gpl-2.0.html and -## https://www.gnu.org/licenses/gpl-3.0.html. -## -## $QT_END_LICENSE$ -## -############################################################################# +# Copyright (C) 2019 The Qt Company Ltd. +# Copyright (C) 2017 Pelagicore AG +# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only # This script sets the macOS locale to UTF-8 set -ex diff --git a/coin/provisioning/common/macos/set_tcc_permissions.sh b/coin/provisioning/common/macos/set_tcc_permissions.sh new file mode 100755 index 00000000..d9fb222b --- /dev/null +++ b/coin/provisioning/common/macos/set_tcc_permissions.sh @@ -0,0 +1,31 @@ +#!/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 + +TCC_DATABASE="$HOME/Library/Application Support/com.apple.TCC/TCC.db" +if touch "$TCC_DATABASE"; then + # We can write to the TCC database + BOOTSTRAP_AGENT="$HOME/bootstrap-agent" + REQ_STR=$(codesign -d -r- "$BOOTSTRAP_AGENT" 2>&1 | awk -F ' => ' '/designated/{print $2}') + REQ_HEX=$(echo "$REQ_STR" | csreq -r- -b >(xxd -p | tr -d '\n')) + + # shellcheck disable=SC2043 + for service in kTCCServiceMicrophone; do + sqlite3 -echo "$TCC_DATABASE" <<EOF + DELETE from access WHERE client = '$BOOTSTRAP_AGENT' AND service = '$service'; + INSERT INTO access (service, client, client_type, auth_value, auth_reason, auth_version, csreq, flags) VALUES ( + '$service', -- service + '$BOOTSTRAP_AGENT', -- client + 1, -- client_type (1 - absolute path) + 2, -- auth_value (2 - allowed) + 4, -- auth_reason (4 - "System Set") + 1, -- auth_version + X'$REQ_HEX', -- csreq + 0 -- flags + ); +EOF + done +else + echo "TCC database is not writable. Is SIP disabled?" >&2 + exit 1 +fi diff --git a/coin/provisioning/common/macos/sha1sum-compatibility.sh b/coin/provisioning/common/macos/sha1sum-compatibility.sh index 8527ec69..65685371 100755 --- a/coin/provisioning/common/macos/sha1sum-compatibility.sh +++ b/coin/provisioning/common/macos/sha1sum-compatibility.sh @@ -1,43 +1,6 @@ #!/usr/bin/env bash - -############################################################################# -## -## Copyright (C) 2018 The Qt Company Ltd. -## Contact: https://www.qt.io/licensing/ -## -## This file is part of the provisioning scripts of the Qt Toolkit. -## -## $QT_BEGIN_LICENSE:LGPL$ -## Commercial License Usage -## Licensees holding valid commercial Qt licenses may use this file in -## accordance with the commercial license agreement provided with the -## Software or, alternatively, in accordance with the terms contained in -## a written agreement between you and The Qt Company. For licensing terms -## and conditions see https://www.qt.io/terms-conditions. For further -## information use the contact form at https://www.qt.io/contact-us. -## -## GNU Lesser General Public License Usage -## Alternatively, this file may be used under the terms of the GNU Lesser -## General Public License version 3 as published by the Free Software -## Foundation and appearing in the file LICENSE.LGPL3 included in the -## packaging of this file. Please review the following information to -## ensure the GNU Lesser General Public License version 3 requirements -## will be met: https://www.gnu.org/licenses/lgpl-3.0.html. -## -## GNU General Public License Usage -## Alternatively, this file may be used under the terms of the GNU -## General Public License version 2.0 or (at your option) the GNU General -## Public license version 3 or any later version approved by the KDE Free -## Qt Foundation. The licenses are as published by the Free Software -## Foundation and appearing in the file LICENSE.GPL2 and LICENSE.GPL3 -## included in the packaging of this file. Please review the following -## information to ensure the GNU General Public License requirements will -## be met: https://www.gnu.org/licenses/gpl-2.0.html and -## https://www.gnu.org/licenses/gpl-3.0.html. -## -## $QT_END_LICENSE$ -## -############################################################################# +# Copyright (C) 2018 The Qt Company Ltd. +# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only # On macOS the sha1 tool is named 'shasum' while on all other unix systems it is called 'sha1sum'. # In order to make all unix provioning scripts run on macOS without special case handling diff --git a/coin/provisioning/common/macos/system_updates.sh b/coin/provisioning/common/macos/system_updates.sh index 649cdbad..8cc9410e 100755 --- a/coin/provisioning/common/macos/system_updates.sh +++ b/coin/provisioning/common/macos/system_updates.sh @@ -1,46 +1,12 @@ #!/usr/bin/env bash - -############################################################################# -## -## Copyright (C) 2017 The Qt Company Ltd. -## Contact: https://www.qt.io/licensing/ -## -## This file is part of the provisioning scripts of the Qt Toolkit. -## -## $QT_BEGIN_LICENSE:LGPL$ -## Commercial License Usage -## Licensees holding valid commercial Qt licenses may use this file in -## accordance with the commercial license agreement provided with the -## Software or, alternatively, in accordance with the terms contained in -## a written agreement between you and The Qt Company. For licensing terms -## and conditions see https://www.qt.io/terms-conditions. For further -## information use the contact form at https://www.qt.io/contact-us. -## -## GNU Lesser General Public License Usage -## Alternatively, this file may be used under the terms of the GNU Lesser -## General Public License version 3 as published by the Free Software -## Foundation and appearing in the file LICENSE.LGPL3 included in the -## packaging of this file. Please review the following information to -## ensure the GNU Lesser General Public License version 3 requirements -## will be met: https://www.gnu.org/licenses/lgpl-3.0.html. -## -## GNU General Public License Usage -## Alternatively, this file may be used under the terms of the GNU -## General Public License version 2.0 or (at your option) the GNU General -## Public license version 3 or any later version approved by the KDE Free -## Qt Foundation. The licenses are as published by the Free Software -## Foundation and appearing in the file LICENSE.GPL2 and LICENSE.GPL3 -## included in the packaging of this file. Please review the following -## information to ensure the GNU General Public License requirements will -## be met: https://www.gnu.org/licenses/gpl-2.0.html and -## https://www.gnu.org/licenses/gpl-3.0.html. -## -## $QT_END_LICENSE$ -## -############################################################################# +# 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 # Disable "Download newly available updates in the background" from App Store sudo defaults write /Library/Preferences/com.apple.SoftwareUpdate AutomaticDownload -boolean FALSE # Disable "Install system data files and security updates" from App Store sudo defaults write /Library/Preferences/com.apple.SoftwareUpdate CriticalUpdateInstall -boolean FALSE + +# Disable "Automatic checks" +sudo defaults write /Library/Preferences/com.apple.SoftwareUpdate AutomaticCheckEnabled -bool FALSE diff --git a/coin/provisioning/common/macos/telegraf-ioping.sh b/coin/provisioning/common/macos/telegraf-ioping.sh index eee1372b..9b6d3851 100755 --- a/coin/provisioning/common/macos/telegraf-ioping.sh +++ b/coin/provisioning/common/macos/telegraf-ioping.sh @@ -1,4 +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 # Measure I/O latency once, return data in InfluxDB format # @@ -12,7 +14,7 @@ set -e -[ x"$1" = x ] && echo "$0 takes a path as a first argument" && exit 1 +[ -z "$1" ] && echo "$0 takes a path as a first argument" && exit 1 # Try to run in high priority to avoid slow-downs because of # factors other than I/O. @@ -22,5 +24,5 @@ renice -n -10 -p $$ >/dev/null 2>&1 || true rlatency="$(/usr/local/bin/ioping -B -k -c 3 -i 0.1 "$1" | cut -d " " -f 5)" wlatency="$(/usr/local/bin/ioping -B -k -c 3 -i 0.1 -W "$1" | cut -d " " -f 5)" -printf "ioping,path=$1 read_latency_ns=%u,write_latency_ns=%u\n" \ - $rlatency $wlatency +printf "ioping,path=$1 read_latency_ns=%u,write_latency_ns=%u\n" \ + "$rlatency" "$wlatency" diff --git a/coin/provisioning/common/macos/telegraf_install.sh b/coin/provisioning/common/macos/telegraf_install.sh index f2b83a24..f9658d83 100755 --- a/coin/provisioning/common/macos/telegraf_install.sh +++ b/coin/provisioning/common/macos/telegraf_install.sh @@ -1,44 +1,6 @@ -#!/bin/sh - -############################################################################# -## -## Copyright (C) 2019 The Qt Company Ltd. -## Contact: https://www.qt.io/licensing/ -## -## This file is part of the provisioning scripts of the Qt Toolkit. -## -## $QT_BEGIN_LICENSE:LGPL$ -## Commercial License Usage -## Licensees holding valid commercial Qt licenses may use this file in -## accordance with the commercial license agreement provided with the -## Software or, alternatively, in accordance with the terms contained in -## a written agreement between you and The Qt Company. For licensing terms -## and conditions see https://www.qt.io/terms-conditions. For further -## information use the contact form at https://www.qt.io/contact-us. -## -## GNU Lesser General Public License Usage -## Alternatively, this file may be used under the terms of the GNU Lesser -## General Public License version 3 as published by the Free Software -## Foundation and appearing in the file LICENSE.LGPL3 included in the -## packaging of this file. Please review the following information to -## ensure the GNU Lesser General Public License version 3 requirements -## will be met: https://www.gnu.org/licenses/lgpl-3.0.html. -## -## GNU General Public License Usage -## Alternatively, this file may be used under the terms of the GNU -## General Public License version 2.0 or (at your option) the GNU General -## Public license version 3 or any later version approved by the KDE Free -## Qt Foundation. The licenses are as published by the Free Software -## Foundation and appearing in the file LICENSE.GPL2 and LICENSE.GPL3 -## included in the packaging of this file. Please review the following -## information to ensure the GNU General Public License requirements will -## be met: https://www.gnu.org/licenses/gpl-2.0.html and -## https://www.gnu.org/licenses/gpl-3.0.html. -## -## $QT_END_LICENSE$ -## -############################################################################# - +#!/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 # This script installs telegraf and ioping and our script telegraf-ioping.sh # to the /usr/bin directory. @@ -52,11 +14,12 @@ ######################## BOILERPLATE ########################### set -e - PROVISIONING_DIR="$(dirname "$0")/../../" -. "$PROVISIONING_DIR"/common/unix/common.sourced.sh -. "$PROVISIONING_DIR"/common/unix/DownloadURL.sh +# shellcheck source=../unix/common.sourced.sh +source "${BASH_SOURCE%/*}/../unix/common.sourced.sh" +# shellcheck source=../unix/DownloadURL.sh +source "${BASH_SOURCE%/*}/../unix/DownloadURL.sh" is_script_executed telegraf_install.sh \ || fatal "Script telegraf_install.sh should be executed, not sourced" @@ -67,7 +30,7 @@ is_script_executed telegraf_install.sh \ [ "$PROVISIONING_OS" = linux ] \ && ioping_sha256=259abf04bcb84f4126ff97c04b6651e1cf5ea6d8a9ff364c769a26c95b6eeb44 \ || ioping_sha256=55de6a2f1a5343e0ce8df31d82d47a9e79c7e612edbc6dfb39b5fc6fb358b2e3 -DownloadURL "http://ci-files01-hki.intra.qt.io/input/ioping/ioping.${PROVISIONING_OS}-${PROVISIONING_ARCH}" \ +DownloadURL "http://ci-files01-hki.ci.qt.io/input/ioping/ioping.${PROVISIONING_OS}-${PROVISIONING_ARCH}" \ '' "$ioping_sha256" ioping /usr/bin/sudo mkdir -p /usr/local/bin/ $CMD_INSTALL -m 755 ./ioping /usr/local/bin/ @@ -78,14 +41,14 @@ $CMD_INSTALL -m 755 "$PROVISIONING_DIR"/common/macos/telegraf-ioping.sh /usr/l # 3. Download and install telegraf -[ x"$PROVISIONING_OS" = xmacos ] && os=darwin || os=linux -[ x"$PROVISIONING_ARCH" = xx86 ] && arch=i386 || arch=amd64 +[ "$PROVISIONING_OS" = macos ] && os=darwin || os=linux +[ "$PROVISIONING_ARCH" = x86 ] && arch=i386 || arch=amd64 package_filename=telegraf-1.12.6_${os}_${arch}.tar.gz package_sha256_list="$PROVISIONING_DIR"/common/shared/telegraf/telegraf_packages.sha256.txt package_sha256=$(sed -n "s/.*$package_filename *//p" "$package_sha256_list") DownloadURL \ - http://ci-files01-hki.intra.qt.io/input/telegraf/"$package_filename" \ + http://ci-files01-hki.ci.qt.io/input/telegraf/"$package_filename" \ https://dl.influxdata.com/telegraf/releases/"$package_filename" \ "$package_sha256" \ telegraf.tar.gz diff --git a/coin/provisioning/common/macos/version.sh b/coin/provisioning/common/macos/version.sh index 7346bcf2..8e3cde83 100755 --- a/coin/provisioning/common/macos/version.sh +++ b/coin/provisioning/common/macos/version.sh @@ -1,43 +1,6 @@ #!/usr/bin/env bash - -############################################################################# -## -## Copyright (C) 2016 The Qt Company Ltd. -## Contact: https://www.qt.io/licensing/ -## -## This file is part of the provisioning scripts of the Qt Toolkit. -## -## $QT_BEGIN_LICENSE:LGPL$ -## Commercial License Usage -## Licensees holding valid commercial Qt licenses may use this file in -## accordance with the commercial license agreement provided with the -## Software or, alternatively, in accordance with the terms contained in -## a written agreement between you and The Qt Company. For licensing terms -## and conditions see https://www.qt.io/terms-conditions. For further -## information use the contact form at https://www.qt.io/contact-us. -## -## GNU Lesser General Public License Usage -## Alternatively, this file may be used under the terms of the GNU Lesser -## General Public License version 3 as published by the Free Software -## Foundation and appearing in the file LICENSE.LGPL3 included in the -## packaging of this file. Please review the following information to -## ensure the GNU Lesser General Public License version 3 requirements -## will be met: https://www.gnu.org/licenses/lgpl-3.0.html. -## -## GNU General Public License Usage -## Alternatively, this file may be used under the terms of the GNU -## General Public License version 2.0 or (at your option) the GNU General -## Public license version 3 or any later version approved by the KDE Free -## Qt Foundation. The licenses are as published by the Free Software -## Foundation and appearing in the file LICENSE.GPL2 and LICENSE.GPL3 -## included in the packaging of this file. Please review the following -## information to ensure the GNU General Public License requirements will -## be met: https://www.gnu.org/licenses/gpl-2.0.html and -## https://www.gnu.org/licenses/gpl-3.0.html. -## -## $QT_END_LICENSE$ -## -############################################################################# +# Copyright (C) 2016 The Qt Company Ltd. +# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only # This script will print all installed software to provision log. # Script needs to be named so that it will be ran at last during provisioning diff --git a/coin/provisioning/common/shared/cmake_toolchain_files/qnx-toolchain-aarch64le.cmake b/coin/provisioning/common/shared/cmake_toolchain_files/qnx-toolchain-aarch64le.cmake new file mode 100644 index 00000000..9a207b0e --- /dev/null +++ b/coin/provisioning/common/shared/cmake_toolchain_files/qnx-toolchain-aarch64le.cmake @@ -0,0 +1,28 @@ +set(CMAKE_SYSTEM_NAME QNX) +set(CMAKE_SYSTEM_PROCESSOR aarch64le) + +if (NOT DEFINED CMAKE_FIND_ROOT_PATH_MODE_PROGRAM) + set(CMAKE_FIND_ROOT_PATH_MODE_PROGRAM NEVER) +endif() +if (NOT DEFINED CMAKE_FIND_ROOT_PATH_MODE_LIBRARY) + set(CMAKE_FIND_ROOT_PATH_MODE_LIBRARY ONLY) +endif() +if (NOT DEFINED CMAKE_FIND_ROOT_PATH_MODE_PACKAGE) + set(CMAKE_FIND_ROOT_PATH_MODE_PACKAGE ONLY) +endif() +if (NOT DEFINED CMAKE_FIND_ROOT_PATH_MODE_INCLUDE) + set(CMAKE_FIND_ROOT_PATH_MODE_INCLUDE ONLY) +endif() + +set(CMAKE_FIND_ROOT_PATH $ENV{QNX_TARGET};$ENV{QNX_TARGET}/${CMAKE_SYSTEM_PROCESSOR}) + +set(_qnx_toolchain_arch gcc_ntoaarch64le) + +set(CMAKE_C_COMPILER qcc) +set(CMAKE_C_COMPILER_TARGET ${_qnx_toolchain_arch}) +set(CMAKE_CXX_COMPILER q++) +set(CMAKE_CXX_COMPILER_TARGET ${_qnx_toolchain_arch}) + +set(CMAKE_STRIP $ENV{QNX_HOST}/usr/bin/ntoaarch64-strip) + +set(CMAKE_SYSROOT $ENV{QNX_TARGET}) diff --git a/coin/provisioning/common/shared/cmake_toolchain_files/qnx-toolchain-armv7le.cmake b/coin/provisioning/common/shared/cmake_toolchain_files/qnx-toolchain-armv7le.cmake new file mode 100644 index 00000000..90bd9731 --- /dev/null +++ b/coin/provisioning/common/shared/cmake_toolchain_files/qnx-toolchain-armv7le.cmake @@ -0,0 +1,28 @@ +set(CMAKE_SYSTEM_NAME QNX) +set(CMALE_SYSTEM_PROCESSOR armv7le) + +if (NOT DEFINED CMAKE_FIND_ROOT_PATH_MODE_PROGRAM) + set(CMAKE_FIND_ROOT_PATH_MODE_PROGRAM NEVER) +endif() +if (NOT DEFINED CMAKE_FIND_ROOT_PATH_MODE_LIBRARY) + set(CMAKE_FIND_ROOT_PATH_MODE_LIBRARY ONLY) +endif() +if (NOT DEFINED CMAKE_FIND_ROOT_PATH_MODE_PACKAGE) + set(CMAKE_FIND_ROOT_PATH_MODE_PACKAGE ONLY) +endif() +if (NOT DEFINED CMAKE_FIND_ROOT_PATH_MODE_INCLUDE) + set(CMAKE_FIND_ROOT_PATH_MODE_INCLUDE ONLY) +endif() + +set(CMAKE_FIND_ROOT_PATH $ENV{QNX_TARGET};$ENV{QNX_TARGET}/${CMAKE_SYSTEM_PROCESSOR}) + +set(_qnx_toolchain_arch gcc_ntoarmv7le) + +set(CMAKE_C_COMPILER qcc) +set(CMAKE_C_COMPILER_TARGET ${_qnx_toolchain_arch}) +set(CMAKE_CXX_COMPILER q++) +set(CMAKE_CXX_COMPILER_TARGET ${_qnx_toolchain_arch}) + +set(CMAKE_STRIP $ENV{QNX_HOST}/usr/bin/ntoarmv7-strip) + +set(CMAKE_SYSROOT $ENV{QNX_TARGET}) diff --git a/coin/provisioning/common/shared/cmake_toolchain_files/qnx-toolchain-x8664.cmake b/coin/provisioning/common/shared/cmake_toolchain_files/qnx-toolchain-x8664.cmake new file mode 100644 index 00000000..e11488bc --- /dev/null +++ b/coin/provisioning/common/shared/cmake_toolchain_files/qnx-toolchain-x8664.cmake @@ -0,0 +1,28 @@ +set(CMAKE_SYSTEM_NAME QNX) +set(CMAKE_SYSTEM_PROCESSOR x86_64) + +if (NOT DEFINED CMAKE_FIND_ROOT_PATH_MODE_PROGRAM) + set(CMAKE_FIND_ROOT_PATH_MODE_PROGRAM NEVER) +endif() +if (NOT DEFINED CMAKE_FIND_ROOT_PATH_MODE_LIBRARY) + set(CMAKE_FIND_ROOT_PATH_MODE_LIBRARY ONLY) +endif() +if (NOT DEFINED CMAKE_FIND_ROOT_PATH_MODE_PACKAGE) + set(CMAKE_FIND_ROOT_PATH_MODE_PACKAGE ONLY) +endif() +if (NOT DEFINED CMAKE_FIND_ROOT_PATH_MODE_INCLUDE) + set(CMAKE_FIND_ROOT_PATH_MODE_INCLUDE ONLY) +endif() + +set(CMAKE_FIND_ROOT_PATH $ENV{QNX_TARGET};$ENV{QNX_TARGET}/${CMAKE_SYSTEM_PROCESSOR}) + +set(_qnx_toolchain_arch gcc_ntox86_64) + +set(CMAKE_C_COMPILER qcc) +set(CMAKE_C_COMPILER_TARGET ${_qnx_toolchain_arch}) +set(CMAKE_CXX_COMPILER q++) +set(CMAKE_CXX_COMPILER_TARGET ${_qnx_toolchain_arch}) + +set(CMAKE_STRIP $ENV{QNX_HOST}/usr/bin/ntox86_64-strip) + +set(CMAKE_SYSROOT $ENV{QNX_TARGET}) diff --git a/coin/provisioning/common/shared/ffmpeg_config_options.txt b/coin/provisioning/common/shared/ffmpeg_config_options.txt new file mode 100644 index 00000000..52f79c14 --- /dev/null +++ b/coin/provisioning/common/shared/ffmpeg_config_options.txt @@ -0,0 +1 @@ +--disable-programs --disable-doc --disable-debug --enable-network --disable-lzma --enable-pic --disable-vulkan --disable-v4l2-m2m --disable-decoder=truemotion1 diff --git a/coin/provisioning/common/shared/requirements.txt b/coin/provisioning/common/shared/requirements.txt deleted file mode 100644 index 863707da..00000000 --- a/coin/provisioning/common/shared/requirements.txt +++ /dev/null @@ -1,19 +0,0 @@ -# This file holds all python3 packages need for a certain qt module -# When adding new packages here, first add a comment with the name of the module -# Then all the packages. Duplicates are wanted as every module should install -# all packages it needs and shouldn't depend on a package from another module -# -# qtinterfaceframework -antlr4-python3-runtime==4.9.2 -argh==0.26.2 -click==8.0.1 -coloredlogs==15.0.1 -humanfriendly==10.0 -Jinja2==3.0.1 -MarkupSafe==2.0.1 -path.py==12.5.0 -pathtools==0.1.2 -PyYAML==5.4.1 -six==1.16.0 -typing==3.7.4 -watchdog==2.1.5 diff --git a/coin/provisioning/common/shared/telegraf/telegraf-ioping.sh b/coin/provisioning/common/shared/telegraf/telegraf-ioping.sh index ad95eadc..528047ce 100644..100755 --- a/coin/provisioning/common/shared/telegraf/telegraf-ioping.sh +++ b/coin/provisioning/common/shared/telegraf/telegraf-ioping.sh @@ -1,4 +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 # Measure I/O latency once, return data in InfluxDB format # @@ -12,7 +14,7 @@ set -e -[ x"$1" = x ] && echo "$0 takes a path as a first argument" && exit 1 +[ -z "$1" ] && echo "$0 takes a path as a first argument" && exit 1 # Try to run in high priority to avoid slow-downs because of # factors other than I/O. @@ -23,4 +25,4 @@ rlatency="$(ioping -B -k -c 3 -i 0.1 "$1" | cut -d " " -f 5)" wlatency="$(ioping -B -k -c 3 -i 0.1 -W "$1" | cut -d " " -f 5)" printf "ioping,path=$1 read_latency_ns=%u,write_latency_ns=%u\n" \ - $rlatency $wlatency + "$rlatency" "$wlatency" diff --git a/coin/provisioning/common/shared/testserver/californium/Dockerfile b/coin/provisioning/common/shared/testserver/californium/Dockerfile index 041c3ef4..81d27f9b 100644 --- a/coin/provisioning/common/shared/testserver/californium/Dockerfile +++ b/coin/provisioning/common/shared/testserver/californium/Dockerfile @@ -1,5 +1,5 @@ FROM qt_ubuntu_18.04 -ARG packages="avahi-daemon maven default-jdk" +ARG packages="avahi-daemon maven default-jdk patch" RUN apt-get update && apt-get -y install $packages # Get californium-based CoAP test server @@ -7,6 +7,8 @@ WORKDIR /root/src ADD californium-*.tar.gz . RUN mv californium-* californium WORKDIR /root/src/californium +ADD qt_changes.patch ./ +RUN patch -p1 < qt_changes.patch RUN mvn clean install -q -DskipTests WORKDIR / diff --git a/coin/provisioning/common/shared/testserver/californium/qt_changes.patch b/coin/provisioning/common/shared/testserver/californium/qt_changes.patch new file mode 100644 index 00000000..732c0daa --- /dev/null +++ b/coin/provisioning/common/shared/testserver/californium/qt_changes.patch @@ -0,0 +1,43 @@ +diff -ruN californium_3.8.0/demo-apps/cf-plugtest-server/src/main/java/org/eclipse/californium/plugtests/PlugtestServer.java californium/demo-apps/cf-plugtest-server/src/main/java/org/eclipse/californium/plugtests/PlugtestServer.java +--- californium_3.8.0/demo-apps/cf-plugtest-server/src/main/java/org/eclipse/californium/plugtests/PlugtestServer.java 2023-07-21 11:16:21.142201240 +0200 ++++ californium/demo-apps/cf-plugtest-server/src/main/java/org/eclipse/californium/plugtests/PlugtestServer.java 2023-07-21 11:16:51.074210378 +0200 +@@ -100,6 +100,14 @@ + import org.eclipse.californium.unixhealth.NetSocketHealthLogger; + import org.eclipse.californium.unixhealth.NetStatLogger; + ++import org.eclipse.californium.scandium.DTLSConnector; ++import org.eclipse.californium.scandium.config.DtlsConnectorConfig; ++import org.eclipse.californium.scandium.dtls.pskstore.AdvancedSinglePskStore; ++import org.eclipse.californium.core.network.CoapEndpoint; ++ ++import java.net.InetSocketAddress; ++import java.net.InetAddress; ++ + import picocli.CommandLine; + import picocli.CommandLine.ArgGroup; + import picocli.CommandLine.Command; +@@ -437,7 +445,23 @@ + // server.addEndpoint(new CoAPEndpoint(new InetSocketAddress("127.0.0.1", port))); + // server.addEndpoint(new CoAPEndpoint(new InetSocketAddress("2a01:c911:0:2010::10", port))); + // server.addEndpoint(new CoAPEndpoint(new InetSocketAddress("10.200.1.2", port))); +- server.addEndpoints(config); ++ // server.addEndpoints(config); ++ ++ CoapEndpoint.Builder endpointBuilder = new CoapEndpoint.Builder(); ++ endpointBuilder.setPort(5683); ++ server.addEndpoint(endpointBuilder.build()); ++ ++ AdvancedSinglePskStore pskStore = new AdvancedSinglePskStore("Client_identity", "secretPSK".getBytes()); ++ ++ DtlsConnectorConfig.Builder builder = new DtlsConnectorConfig.Builder(new Configuration()); ++ builder.setAddress(new InetSocketAddress(5684)); ++ builder.setAdvancedPskStore(pskStore); ++ DTLSConnector dtlsConnector = new DTLSConnector(builder.build()); ++ ++ endpointBuilder = new CoapEndpoint.Builder(); ++ endpointBuilder.setConnector(dtlsConnector); ++ server.addEndpoint(endpointBuilder.build()); ++ + if (server.getEndpoints().isEmpty()) { + System.err.println("no endpoint available!"); + System.exit(ERR_INIT_FAILED); diff --git a/coin/provisioning/common/shared/testserver/docker_images.sh b/coin/provisioning/common/shared/testserver/docker_images.sh index 8c731c52..e4782a72 100755 --- a/coin/provisioning/common/shared/testserver/docker_images.sh +++ b/coin/provisioning/common/shared/testserver/docker_images.sh @@ -1,51 +1,14 @@ #!/usr/bin/env bash - -############################################################################# -## -## Copyright (C) 2019 The Qt Company Ltd. -## Contact: https://www.qt.io/licensing/ -## -## This file is part of the provisioning scripts of the Qt Toolkit. -## -## $QT_BEGIN_LICENSE:LGPL$ -## Commercial License Usage -## Licensees holding valid commercial Qt licenses may use this file in -## accordance with the commercial license agreement provided with the -## Software or, alternatively, in accordance with the terms contained in -## a written agreement between you and The Qt Company. For licensing terms -## and conditions see https://www.qt.io/terms-conditions. For further -## information use the contact form at https://www.qt.io/contact-us. -## -## GNU Lesser General Public License Usage -## Alternatively, this file may be used under the terms of the GNU Lesser -## General Public License version 3 as published by the Free Software -## Foundation and appearing in the file LICENSE.LGPL3 included in the -## packaging of this file. Please review the following information to -## ensure the GNU Lesser General Public License version 3 requirements -## will be met: https://www.gnu.org/licenses/lgpl-3.0.html. -## -## GNU General Public License Usage -## Alternatively, this file may be used under the terms of the GNU -## General Public License version 2.0 or (at your option) the GNU General -## Public license version 3 or any later version approved by the KDE Free -## Qt Foundation. The licenses are as published by the Free Software -## Foundation and appearing in the file LICENSE.GPL2 and LICENSE.GPL3 -## included in the packaging of this file. Please review the following -## information to ensure the GNU General Public License requirements will -## be met: https://www.gnu.org/licenses/gpl-2.0.html and -## https://www.gnu.org/licenses/gpl-3.0.html. -## -## $QT_END_LICENSE$ -## -############################################################################# +# Copyright (C) 2019 The Qt Company Ltd. +# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only set -e - PROVISIONING_DIR="$(dirname "$0")/../../../" -. "$PROVISIONING_DIR"/common/unix/common.sourced.sh -. "$PROVISIONING_DIR"/common/unix/DownloadURL.sh - +# shellcheck source=../../../common/unix/common.sourced.sh +source "$PROVISIONING_DIR"/common/unix/common.sourced.sh +# shellcheck source=../../../common/unix/DownloadURL.sh +source "$PROVISIONING_DIR"/common/unix/DownloadURL.sh # Sort files by their SHA-1, and then return the accumulated result sha1tree () { @@ -53,14 +16,14 @@ sha1tree () { [ -x "$(command -v sha1sum)" ] || SHASUM=shasum find "$@" -type f -print0 | \ - xargs -0 ${SHASUM-sha1sum} | cut -d ' ' -f 1 | \ - sort | ${SHASUM-sha1sum} | cut -d ' ' -f 1 + xargs -0 "${SHASUM-sha1sum}" | cut -d ' ' -f 1 | \ + sort | "${SHASUM-sha1sum}" | cut -d ' ' -f 1 } SERVER_PATH="$PROVISIONING_DIR/common/shared/testserver" -. "$SERVER_PATH/settings.sh" +source "$SERVER_PATH/settings.sh" # Download all necessary dependencies outside of the dockerfiles, so that we @@ -70,32 +33,33 @@ SERVER_PATH="$PROVISIONING_DIR/common/shared/testserver" echo 'Downloading support files for the docker images' DownloadURL \ - http://ci-files01-hki.intra.qt.io/input/docker/rfc3252.txt \ + http://ci-files01-hki.ci.qt.io/input/docker/rfc3252.txt \ https://tools.ietf.org/rfc/rfc3252.txt \ 50c323dedce95e4fdc2db35cd1b8ebf9d74711bf5296ef438b88d186d7dd082d cp rfc3252.txt "$SERVER_PATH/vsftpd/" cp rfc3252.txt "$SERVER_PATH/apache2/" DownloadURL \ - http://ci-files01-hki.intra.qt.io/input/docker/dante-server_1.4.1-1_amd64.deb \ + http://ci-files01-hki.ci.qt.io/input/docker/dante-server_1.4.1-1_amd64.deb \ http://ppa.launchpad.net/dajhorn/dante/ubuntu/pool/main/d/dante/dante-server_1.4.1-1_amd64.deb \ 674a06f356cebd92c64920cec38a6687650a6f880198fbbad05aaaccca5c0a21 mv dante-server_1.4.1-1_amd64.deb "$SERVER_PATH/danted/" DownloadURL \ - http://ci-files01-hki.intra.qt.io/input/docker/FreeCoAP-0.7.tar.gz \ + http://ci-files01-hki.ci.qt.io/input/docker/FreeCoAP-0.7.tar.gz \ https://github.com/keith-cullen/FreeCoAP/archive/v0.7.tar.gz \ fa6602e27dc8eaee6e34ff53400c0519da0c5c7cd47bf6f13acb564f52a693ee \ FreeCoAP-0.7.tar.gz mv FreeCoAP-0.7.tar.gz "$SERVER_PATH/freecoap/" -# Custom fork of Eclipse Californium with changes not upstream +# Eclipse Californium 3.8.0, requires to apply a custom patch from +# $SERVER_PATH/californium/ before usage DownloadURL \ - http://ci-files01-hki.intra.qt.io/input/docker/californium-secure-test-server.tar.gz \ - https://github.com/sonakur/californium/archive/secure-test-server.tar.gz \ - 0ee7f5d4366b9e31f6d2d42e389cb7a66d2db54987b700a38a3a31e8f38a7a19 \ - californium-secure-test-server.tar.gz -mv californium-secure-test-server.tar.gz "$SERVER_PATH/californium/" + http://ci-files01-hki.ci.qt.io/input/docker/californium-3.8.0.tar.gz \ + https://github.com/eclipse-californium/californium/archive/refs/tags/3.8.0.tar.gz \ + 24f8ca393f26c922739462e4586b8ced1ff75f99bfa795defa34a967b5a4a5a0 \ + californium-3.8.0.tar.gz +mv californium-3.8.0.tar.gz "$SERVER_PATH/californium/" echo 'Building the docker images...' @@ -123,10 +87,10 @@ do # backwards-incompatible changes across repositories. context="$SERVER_PATH/$server" - tag=$(sha1tree $context) - docker build -t qt-test-server-$server:latest \ - -t qt-test-server-$server:$tag \ - $context + tag=$(sha1tree "$context") + docker build -t "qt-test-server-$server:latest" \ + -t "qt-test-server-$server:$tag" \ + "$context" done docker images diff --git a/coin/provisioning/common/shared/testserver/docker_machine.sh b/coin/provisioning/common/shared/testserver/docker_machine.sh index 313b5652..9abf0caa 100755 --- a/coin/provisioning/common/shared/testserver/docker_machine.sh +++ b/coin/provisioning/common/shared/testserver/docker_machine.sh @@ -1,59 +1,22 @@ #!/usr/bin/env bash - -############################################################################# -## -## Copyright (C) 2019 The Qt Company Ltd. -## Contact: https://www.qt.io/licensing/ -## -## This file is part of the provisioning scripts of the Qt Toolkit. -## -## $QT_BEGIN_LICENSE:LGPL$ -## Commercial License Usage -## Licensees holding valid commercial Qt licenses may use this file in -## accordance with the commercial license agreement provided with the -## Software or, alternatively, in accordance with the terms contained in -## a written agreement between you and The Qt Company. For licensing terms -## and conditions see https://www.qt.io/terms-conditions. For further -## information use the contact form at https://www.qt.io/contact-us. -## -## GNU Lesser General Public License Usage -## Alternatively, this file may be used under the terms of the GNU Lesser -## General Public License version 3 as published by the Free Software -## Foundation and appearing in the file LICENSE.LGPL3 included in the -## packaging of this file. Please review the following information to -## ensure the GNU Lesser General Public License version 3 requirements -## will be met: https://www.gnu.org/licenses/lgpl-3.0.html. -## -## GNU General Public License Usage -## Alternatively, this file may be used under the terms of the GNU -## General Public License version 2.0 or (at your option) the GNU General -## Public license version 3 or any later version approved by the KDE Free -## Qt Foundation. The licenses are as published by the Free Software -## Foundation and appearing in the file LICENSE.GPL2 and LICENSE.GPL3 -## included in the packaging of this file. Please review the following -## information to ensure the GNU General Public License requirements will -## be met: https://www.gnu.org/licenses/gpl-2.0.html and -## https://www.gnu.org/licenses/gpl-3.0.html. -## -## $QT_END_LICENSE$ -## -############################################################################# +# Copyright (C) 2019 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 TestMachine='qt-test-server' # Deploy docker virtual machine (Boot2Docker) into VirtualBox only if it doesn't exist -if [ -z $(docker-machine ls -q --filter "name=$TestMachine") ] +if [ -z "$(docker-machine ls -q --filter "name=$TestMachine")" ] then - docker-machine create $@ $TestMachine - docker-machine ip $TestMachine + docker-machine create "$@" "$TestMachine" + docker-machine ip "$TestMachine" else # Otherwise, start the docker machine and update with new TLS certificates. - docker-machine start $TestMachine && docker-machine regenerate-certs -f $TestMachine + docker-machine start "$TestMachine" && docker-machine regenerate-certs -f "$TestMachine" fi # Switch the docker engine to $TestMachine -eval $(docker-machine env $TestMachine) +eval "$(docker-machine env "$TestMachine")" docker-machine ls diff --git a/coin/provisioning/common/shared/testserver/docker_testserver.sh b/coin/provisioning/common/shared/testserver/docker_testserver.sh index 18d9aeb8..7e743a80 100755 --- a/coin/provisioning/common/shared/testserver/docker_testserver.sh +++ b/coin/provisioning/common/shared/testserver/docker_testserver.sh @@ -1,47 +1,10 @@ #!/usr/bin/env bash - -############################################################################# -## -## Copyright (C) 2019 The Qt Company Ltd. -## Contact: https://www.qt.io/licensing/ -## -## This file is part of the provisioning scripts of the Qt Toolkit. -## -## $QT_BEGIN_LICENSE:LGPL$ -## Commercial License Usage -## Licensees holding valid commercial Qt licenses may use this file in -## accordance with the commercial license agreement provided with the -## Software or, alternatively, in accordance with the terms contained in -## a written agreement between you and The Qt Company. For licensing terms -## and conditions see https://www.qt.io/terms-conditions. For further -## information use the contact form at https://www.qt.io/contact-us. -## -## GNU Lesser General Public License Usage -## Alternatively, this file may be used under the terms of the GNU Lesser -## General Public License version 3 as published by the Free Software -## Foundation and appearing in the file LICENSE.LGPL3 included in the -## packaging of this file. Please review the following information to -## ensure the GNU Lesser General Public License version 3 requirements -## will be met: https://www.gnu.org/licenses/lgpl-3.0.html. -## -## GNU General Public License Usage -## Alternatively, this file may be used under the terms of the GNU -## General Public License version 2.0 or (at your option) the GNU General -## Public license version 3 or any later version approved by the KDE Free -## Qt Foundation. The licenses are as published by the Free Software -## Foundation and appearing in the file LICENSE.GPL2 and LICENSE.GPL3 -## included in the packaging of this file. Please review the following -## information to ensure the GNU General Public License requirements will -## be met: https://www.gnu.org/licenses/gpl-2.0.html and -## https://www.gnu.org/licenses/gpl-3.0.html. -## -## $QT_END_LICENSE$ -## -############################################################################# +# Copyright (C) 2019 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 -[ -x "$(command -v realpath)" ] && FILE=$(realpath ${BASH_SOURCE[0]}) || FILE=${BASH_SOURCE[0]} +[ -x "$(command -v realpath)" ] && FILE=$(realpath "${BASH_SOURCE[0]}") || FILE="${BASH_SOURCE[0]}" case $FILE in */*) SERVER_PATH="${FILE%/*}" ;; *) SERVER_PATH="." ;; @@ -60,4 +23,4 @@ esac docker info # Create images -$SERVER_PATH/docker_images.sh +"$SERVER_PATH/docker_images.sh" diff --git a/coin/provisioning/common/shared/testserver/settings.sh b/coin/provisioning/common/shared/testserver/settings.sh index fc21d46b..03276eeb 100644..100755 --- a/coin/provisioning/common/shared/testserver/settings.sh +++ b/coin/provisioning/common/shared/testserver/settings.sh @@ -1,41 +1,6 @@ -############################################################################# -## -## Copyright (C) 2019 The Qt Company Ltd. -## Contact: https://www.qt.io/licensing/ -## -## This file is part of the provisioning scripts of the Qt Toolkit. -## -## $QT_BEGIN_LICENSE:LGPL$ -## Commercial License Usage -## Licensees holding valid commercial Qt licenses may use this file in -## accordance with the commercial license agreement provided with the -## Software or, alternatively, in accordance with the terms contained in -## a written agreement between you and The Qt Company. For licensing terms -## and conditions see https://www.qt.io/terms-conditions. For further -## information use the contact form at https://www.qt.io/contact-us. -## -## GNU Lesser General Public License Usage -## Alternatively, this file may be used under the terms of the GNU Lesser -## General Public License version 3 as published by the Free Software -## Foundation and appearing in the file LICENSE.LGPL3 included in the -## packaging of this file. Please review the following information to -## ensure the GNU Lesser General Public License version 3 requirements -## will be met: https://www.gnu.org/licenses/lgpl-3.0.html. -## -## GNU General Public License Usage -## Alternatively, this file may be used under the terms of the GNU -## General Public License version 2.0 or (at your option) the GNU General -## Public license version 3 or any later version approved by the KDE Free -## Qt Foundation. The licenses are as published by the Free Software -## Foundation and appearing in the file LICENSE.GPL2 and LICENSE.GPL3 -## included in the packaging of this file. Please review the following -## information to ensure the GNU General Public License requirements will -## be met: https://www.gnu.org/licenses/gpl-2.0.html and -## https://www.gnu.org/licenses/gpl-3.0.html. -## -## $QT_END_LICENSE$ -## -############################################################################# +#!/usr/bin/env bash +# Copyright (C) 2019 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 diff --git a/coin/provisioning/common/shared/triplets/arm64-windows-qt.cmake b/coin/provisioning/common/shared/triplets/arm64-windows-qt.cmake new file mode 100644 index 00000000..4d9d5d69 --- /dev/null +++ b/coin/provisioning/common/shared/triplets/arm64-windows-qt.cmake @@ -0,0 +1,7 @@ +set(VCPKG_TARGET_ARCHITECTURE arm64) + +# Default settings of the triplet from the official vcpkg registry +set(VCPKG_CRT_LINKAGE dynamic) +set(VCPKG_LIBRARY_LINKAGE dynamic) + +# Qt custom per-port customizations diff --git a/coin/provisioning/common/shared/triplets/armeabi-v7a-android-qt.cmake b/coin/provisioning/common/shared/triplets/armeabi-v7a-android-qt.cmake new file mode 100644 index 00000000..fba6a00a --- /dev/null +++ b/coin/provisioning/common/shared/triplets/armeabi-v7a-android-qt.cmake @@ -0,0 +1,15 @@ +set(VCPKG_TARGET_ARCHITECTURE arm) + +# Default settings of the triplet from the official vcpkg registry +set(VCPKG_CRT_LINKAGE static) +set(VCPKG_LIBRARY_LINKAGE static) + +# Qt custom per-port customizations +if(PORT MATCHES "openssl") + set(VCPKG_CRT_LINKAGE dynamic) + set(VCPKG_LIBRARY_LINKAGE dynamic) +endif() + +set(VCPKG_CMAKE_SYSTEM_NAME Android) +set(VCPKG_MAKE_BUILD_TRIPLET "--host=armv7a-linux-androideabi") +set(VCPKG_CMAKE_CONFIGURE_OPTIONS -DANDROID_ABI=armeabi-v7a -DANDROID_ARM_NEON=ON) diff --git a/coin/provisioning/common/shared/triplets/x64-linux-qt.cmake b/coin/provisioning/common/shared/triplets/x64-linux-qt.cmake new file mode 100644 index 00000000..95cc1934 --- /dev/null +++ b/coin/provisioning/common/shared/triplets/x64-linux-qt.cmake @@ -0,0 +1,13 @@ +set(VCPKG_TARGET_ARCHITECTURE x64) + +# Default settings of the triplet from the official vcpkg registry +set(VCPKG_CRT_LINKAGE dynamic) +set(VCPKG_LIBRARY_LINKAGE static) + +# Qt custom per-port customizations +if(PORT MATCHES "openssl") + set(VCPKG_LIBRARY_LINKAGE dynamic) + set(VCPKG_FIXUP_ELF_RPATH ON) +endif() + +set(VCPKG_CMAKE_SYSTEM_NAME Linux) diff --git a/coin/provisioning/common/shared/triplets/x64-windows-qt.cmake b/coin/provisioning/common/shared/triplets/x64-windows-qt.cmake new file mode 100644 index 00000000..856b756e --- /dev/null +++ b/coin/provisioning/common/shared/triplets/x64-windows-qt.cmake @@ -0,0 +1,7 @@ +set(VCPKG_TARGET_ARCHITECTURE x64) + +# Default settings of the triplet from the official vcpkg registry +set(VCPKG_CRT_LINKAGE dynamic) +set(VCPKG_LIBRARY_LINKAGE dynamic) + +# Qt custom per-port customizations diff --git a/coin/provisioning/common/shared/triplets/x86-android-qt.cmake b/coin/provisioning/common/shared/triplets/x86-android-qt.cmake new file mode 100644 index 00000000..a4b74012 --- /dev/null +++ b/coin/provisioning/common/shared/triplets/x86-android-qt.cmake @@ -0,0 +1,15 @@ +set(VCPKG_TARGET_ARCHITECTURE x86) + +# Default settings of the triplet from the official vcpkg registry +set(VCPKG_CRT_LINKAGE static) +set(VCPKG_LIBRARY_LINKAGE static) + +# Qt custom per-port customizations +if(PORT MATCHES "openssl") + set(VCPKG_CRT_LINKAGE dynamic) + set(VCPKG_LIBRARY_LINKAGE dynamic) +endif() + +set(VCPKG_CMAKE_SYSTEM_NAME Android) +set(VCPKG_MAKE_BUILD_TRIPLET "--host=i686-linux-android") +set(VCPKG_CMAKE_CONFIGURE_OPTIONS -DANDROID_ABI=x86) diff --git a/coin/provisioning/common/shared/triplets/x86_64-android-qt.cmake b/coin/provisioning/common/shared/triplets/x86_64-android-qt.cmake new file mode 100644 index 00000000..47afae58 --- /dev/null +++ b/coin/provisioning/common/shared/triplets/x86_64-android-qt.cmake @@ -0,0 +1,15 @@ +set(VCPKG_TARGET_ARCHITECTURE x64) + +# Default settings of the triplet from the official vcpkg registry +set(VCPKG_CRT_LINKAGE static) +set(VCPKG_LIBRARY_LINKAGE static) + +# Qt custom per-port customizations +if(PORT MATCHES "openssl") + set(VCPKG_CRT_LINKAGE dynamic) + set(VCPKG_LIBRARY_LINKAGE dynamic) +endif() + +set(VCPKG_CMAKE_SYSTEM_NAME Android) +set(VCPKG_MAKE_BUILD_TRIPLET "--host=x86_64-linux-android") +set(VCPKG_CMAKE_CONFIGURE_OPTIONS -DANDROID_ABI=x86_64) diff --git a/coin/provisioning/common/shared/vcpkg-configuration.json b/coin/provisioning/common/shared/vcpkg-configuration.json new file mode 100644 index 00000000..83f4f440 --- /dev/null +++ b/coin/provisioning/common/shared/vcpkg-configuration.json @@ -0,0 +1,9 @@ +{ + "$schema": "https://raw.githubusercontent.com/microsoft/vcpkg-tool/main/docs/vcpkg-configuration.schema.json", + "default-registry": { + "kind": "git", + "repository": "https://git.qt.io/mrmsdbdl/vcpkg-mirror", + "baseline": "8eb57355a4ffb410a2e94c07b4dca2dffbee8e50" + }, + "overlay-triplets": [ "./../../shared/triplets" ] +} diff --git a/coin/provisioning/common/shared/vcpkg_registry_mirror.txt b/coin/provisioning/common/shared/vcpkg_registry_mirror.txt new file mode 100644 index 00000000..546ef5b6 --- /dev/null +++ b/coin/provisioning/common/shared/vcpkg_registry_mirror.txt @@ -0,0 +1 @@ +https://git.qt.io/mrmsdbdl/vcpkg-mirror.git diff --git a/coin/provisioning/common/shared/vcpkg_tool_release_tag.txt b/coin/provisioning/common/shared/vcpkg_tool_release_tag.txt new file mode 100644 index 00000000..3faa2683 --- /dev/null +++ b/coin/provisioning/common/shared/vcpkg_tool_release_tag.txt @@ -0,0 +1 @@ +vcpkg_tool_release_tag=2023-11-16 diff --git a/coin/provisioning/common/shared/vcpkg_version.txt b/coin/provisioning/common/shared/vcpkg_version.txt new file mode 100644 index 00000000..d2aa3aa3 --- /dev/null +++ b/coin/provisioning/common/shared/vcpkg_version.txt @@ -0,0 +1 @@ +vcpkg_version=2023.10.19 diff --git a/coin/provisioning/common/unix/DownloadURL.sh b/coin/provisioning/common/unix/DownloadURL.sh index d8698522..455d65d3 100755 --- a/coin/provisioning/common/unix/DownloadURL.sh +++ b/coin/provisioning/common/unix/DownloadURL.sh @@ -1,43 +1,6 @@ -#!/bin/sh - -############################################################################# -## -## Copyright (C) 2019 The Qt Company Ltd. -## Contact: https://www.qt.io/licensing/ -## -## This file is part of the provisioning scripts of the Qt Toolkit. -## -## $QT_BEGIN_LICENSE:LGPL$ -## Commercial License Usage -## Licensees holding valid commercial Qt licenses may use this file in -## accordance with the commercial license agreement provided with the -## Software or, alternatively, in accordance with the terms contained in -## a written agreement between you and The Qt Company. For licensing terms -## and conditions see https://www.qt.io/terms-conditions. For further -## information use the contact form at https://www.qt.io/contact-us. -## -## GNU Lesser General Public License Usage -## Alternatively, this file may be used under the terms of the GNU Lesser -## General Public License version 3 as published by the Free Software -## Foundation and appearing in the file LICENSE.LGPL3 included in the -## packaging of this file. Please review the following information to -## ensure the GNU Lesser General Public License version 3 requirements -## will be met: https://www.gnu.org/licenses/lgpl-3.0.html. -## -## GNU General Public License Usage -## Alternatively, this file may be used under the terms of the GNU -## General Public License version 2.0 or (at your option) the GNU General -## Public license version 3 or any later version approved by the KDE Free -## Qt Foundation. The licenses are as published by the Free Software -## Foundation and appearing in the file LICENSE.GPL2 and LICENSE.GPL3 -## included in the packaging of this file. Please review the following -## information to ensure the GNU General Public License requirements will -## be met: https://www.gnu.org/licenses/gpl-2.0.html and -## https://www.gnu.org/licenses/gpl-3.0.html. -## -## $QT_END_LICENSE$ -## -############################################################################# +#!/bin/bash +# Copyright (C) 2019 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 # A helper script used for downloading a file from a URL or an alternative @@ -58,9 +21,12 @@ Download () { url="$1" targetFile="$2" - command -v curl >/dev/null \ - && curl --fail -L --retry 5 --retry-delay 5 -o "$targetFile" "$url" \ - || wget --tries 5 -O "$targetFile" "$url" + if command -v curl >/dev/null + then + curl --fail -L --retry 5 --retry-delay 5 -o "$targetFile" "$url" + else + wget --tries 5 -O "$targetFile" "$url" + fi } VerifyHash () { @@ -81,10 +47,10 @@ VerifyHash () { 65) sha256sum "$file" ;; 97) sha384sum "$file" ;; 129) sha512sum "$file" ;; - *) echo "FATAL! Unknown hash length: $hashLength" 1>&2 && exit 1 ;; + *) echo "FATAL! Unknown hash length: $hashLength" 1>&2 ;; esac | cut -d ' ' -f 1` - if [ ! "$expectedHash" = "$hash" ] + if [ -z "$hash" ] || [ ! "$expectedHash" = "$hash" ] then echo "FAIL! wrong file hash: $file $hash" 1>&2 return 1 @@ -98,10 +64,10 @@ DownloadURL () { url2=$2 expectedHash=$3 # Optional argument $4: destination filename - if [ x"$4" = x ] + if [ -z "$4" ] then # defaults to the last component of $url - targetFile=$(echo $url | sed 's|^.*/||') + targetFile="${url/*\//}" else targetFile=$4 fi diff --git a/coin/provisioning/common/unix/InstallFromCompressedFileFromURL.sh b/coin/provisioning/common/unix/InstallFromCompressedFileFromURL.sh index 41b14c0b..c1358fdd 100755 --- a/coin/provisioning/common/unix/InstallFromCompressedFileFromURL.sh +++ b/coin/provisioning/common/unix/InstallFromCompressedFileFromURL.sh @@ -1,43 +1,6 @@ #!/usr/bin/env bash - -############################################################################# -## -## Copyright (C) 2018 The Qt Company Ltd. -## Contact: https://www.qt.io/licensing/ -## -## This file is part of the provisioning scripts of the Qt Toolkit. -## -## $QT_BEGIN_LICENSE:LGPL$ -## Commercial License Usage -## Licensees holding valid commercial Qt licenses may use this file in -## accordance with the commercial license agreement provided with the -## Software or, alternatively, in accordance with the terms contained in -## a written agreement between you and The Qt Company. For licensing terms -## and conditions see https://www.qt.io/terms-conditions. For further -## information use the contact form at https://www.qt.io/contact-us. -## -## GNU Lesser General Public License Usage -## Alternatively, this file may be used under the terms of the GNU Lesser -## General Public License version 3 as published by the Free Software -## Foundation and appearing in the file LICENSE.LGPL3 included in the -## packaging of this file. Please review the following information to -## ensure the GNU Lesser General Public License version 3 requirements -## will be met: https://www.gnu.org/licenses/lgpl-3.0.html. -## -## GNU General Public License Usage -## Alternatively, this file may be used under the terms of the GNU -## General Public License version 2.0 or (at your option) the GNU General -## Public license version 3 or any later version approved by the KDE Free -## Qt Foundation. The licenses are as published by the Free Software -## Foundation and appearing in the file LICENSE.GPL2 and LICENSE.GPL3 -## included in the packaging of this file. Please review the following -## information to ensure the GNU General Public License requirements will -## be met: https://www.gnu.org/licenses/gpl-2.0.html and -## https://www.gnu.org/licenses/gpl-3.0.html. -## -## $QT_END_LICENSE$ -## -############################################################################# +# Copyright (C) 2018 The Qt Company Ltd. +# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only set -ex diff --git a/coin/provisioning/common/unix/SetEnvVar.sh b/coin/provisioning/common/unix/SetEnvVar.sh index 88a2d193..3f457bb4 100755 --- a/coin/provisioning/common/unix/SetEnvVar.sh +++ b/coin/provisioning/common/unix/SetEnvVar.sh @@ -1,43 +1,6 @@ #!/usr/bin/env bash - -############################################################################# -## -## Copyright (C) 2017 The Qt Company Ltd. -## Contact: https://www.qt.io/licensing/ -## -## This file is part of the provisioning scripts of the Qt Toolkit. -## -## $QT_BEGIN_LICENSE:LGPL$ -## Commercial License Usage -## Licensees holding valid commercial Qt licenses may use this file in -## accordance with the commercial license agreement provided with the -## Software or, alternatively, in accordance with the terms contained in -## a written agreement between you and The Qt Company. For licensing terms -## and conditions see https://www.qt.io/terms-conditions. For further -## information use the contact form at https://www.qt.io/contact-us. -## -## GNU Lesser General Public License Usage -## Alternatively, this file may be used under the terms of the GNU Lesser -## General Public License version 3 as published by the Free Software -## Foundation and appearing in the file LICENSE.LGPL3 included in the -## packaging of this file. Please review the following information to -## ensure the GNU Lesser General Public License version 3 requirements -## will be met: https://www.gnu.org/licenses/lgpl-3.0.html. -## -## GNU General Public License Usage -## Alternatively, this file may be used under the terms of the GNU -## General Public License version 2.0 or (at your option) the GNU General -## Public license version 3 or any later version approved by the KDE Free -## Qt Foundation. The licenses are as published by the Free Software -## Foundation and appearing in the file LICENSE.GPL2 and LICENSE.GPL3 -## included in the packaging of this file. Please review the following -## information to ensure the GNU General Public License requirements will -## be met: https://www.gnu.org/licenses/gpl-2.0.html and -## https://www.gnu.org/licenses/gpl-3.0.html. -## -## $QT_END_LICENSE$ -## -############################################################################# +# 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 # A helper script used for setting environment variables on Unix systems @@ -49,10 +12,17 @@ function SetEnvVar { echo "Setting environment variable $name to $path." - if uname -a |grep -q "Ubuntu"; then - echo "export $name=$path" >> ~/.profile + if uname -a |grep -q -E "Ubuntu|Debian"; then + if lsb_release -a |grep "Ubuntu 22.04"; then + echo "export $name=$path" >> ~/.bashrc + echo "export $name=$path" >> ~/.bash_profile + else + echo "export $name=$path" >> ~/.profile + fi else echo "export $name=$path" >> ~/.bashrc echo "export $name=$path" >> ~/.zshrc + echo "export $name=$path" >> ~/.zshenv + echo "export $name=$path" >> ~/.zprofile fi } diff --git a/coin/provisioning/common/unix/check_and_set_proxy.sh b/coin/provisioning/common/unix/check_and_set_proxy.sh index c2e59b6b..59598205 100755 --- a/coin/provisioning/common/unix/check_and_set_proxy.sh +++ b/coin/provisioning/common/unix/check_and_set_proxy.sh @@ -1,42 +1,6 @@ #!/usr/bin/env bash -############################################################################# -## -## Copyright (C) 2017 The Qt Company Ltd. -## Contact: https://www.qt.io/licensing/ -## -## This file is part of the provisioning scripts of the Qt Toolkit. -## -## $QT_BEGIN_LICENSE:LGPL$ -## Commercial License Usage -## Licensees holding valid commercial Qt licenses may use this file in -## accordance with the commercial license agreement provided with the -## Software or, alternatively, in accordance with the terms contained in -## a written agreement between you and The Qt Company. For licensing terms -## and conditions see https://www.qt.io/terms-conditions. For further -## information use the contact form at https://www.qt.io/contact-us. -## -## GNU Lesser General Public License Usage -## Alternatively, this file may be used under the terms of the GNU Lesser -## General Public License version 3 as published by the Free Software -## Foundation and appearing in the file LICENSE.LGPL3 included in the -## packaging of this file. Please review the following information to -## ensure the GNU Lesser General Public License version 3 requirements -## will be met: https://www.gnu.org/licenses/lgpl-3.0.html. -## -## GNU General Public License Usage -## Alternatively, this file may be used under the terms of the GNU -## General Public License version 2.0 or (at your option) the GNU General -## Public license version 3 or any later version approved by the KDE Free -## Qt Foundation. The licenses are as published by the Free Software -## Foundation and appearing in the file LICENSE.GPL2 and LICENSE.GPL3 -## included in the packaging of this file. Please review the following -## information to ensure the GNU General Public License requirements will -## be met: https://www.gnu.org/licenses/gpl-2.0.html and -## https://www.gnu.org/licenses/gpl-3.0.html. -## -## $QT_END_LICENSE$ -## -############################################################################# +# Copyright (C) 2017 The Qt Company Ltd. +# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only set -ex diff --git a/coin/provisioning/common/unix/common.sourced.sh b/coin/provisioning/common/unix/common.sourced.sh index aba0f78e..c15d9453 100755 --- a/coin/provisioning/common/unix/common.sourced.sh +++ b/coin/provisioning/common/unix/common.sourced.sh @@ -1,44 +1,6 @@ #!/bin/sh - - -############################################################################# -## -## Copyright (C) 2019 The Qt Company Ltd. -## Contact: https://www.qt.io/licensing/ -## -## This file is part of the provisioning scripts of the Qt Toolkit. -## -## $QT_BEGIN_LICENSE:LGPL$ -## Commercial License Usage -## Licensees holding valid commercial Qt licenses may use this file in -## accordance with the commercial license agreement provided with the -## Software or, alternatively, in accordance with the terms contained in -## a written agreement between you and The Qt Company. For licensing terms -## and conditions see https://www.qt.io/terms-conditions. For further -## information use the contact form at https://www.qt.io/contact-us. -## -## GNU Lesser General Public License Usage -## Alternatively, this file may be used under the terms of the GNU Lesser -## General Public License version 3 as published by the Free Software -## Foundation and appearing in the file LICENSE.LGPL3 included in the -## packaging of this file. Please review the following information to -## ensure the GNU Lesser General Public License version 3 requirements -## will be met: https://www.gnu.org/licenses/lgpl-3.0.html. -## -## GNU General Public License Usage -## Alternatively, this file may be used under the terms of the GNU -## General Public License version 2.0 or (at your option) the GNU General -## Public license version 3 or any later version approved by the KDE Free -## Qt Foundation. The licenses are as published by the Free Software -## Foundation and appearing in the file LICENSE.GPL2 and LICENSE.GPL3 -## included in the packaging of this file. Please review the following -## information to ensure the GNU General Public License requirements will -## be met: https://www.gnu.org/licenses/gpl-2.0.html and -## https://www.gnu.org/licenses/gpl-3.0.html. -## -## $QT_END_LICENSE$ -## -############################################################################# +# Copyright (C) 2019 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 # Script to be sourced from everywhere you need a common environment. Defines: @@ -75,7 +37,7 @@ fatal () { # Takes one argument which should be the filename of this script. Returns true # if the script is being sourced, false if the script is being executed. is_script_executed () { - [ x"$(basename $(echo "$0" | sed s/^-//))" = x"$1" ] + [ "$(basename "$(echo "$0" | sed s/^-//)")" = "$1" ] } @@ -86,6 +48,7 @@ is_script_executed common.sourced.sh \ _detect_linux_OS_ID () { if [ -f /etc/os-release ] then + # shellcheck source=/dev/null . /etc/os-release PROVISIONING_OS_ID="$ID" elif [ -f /etc/redhat-release ] @@ -107,7 +70,7 @@ set_common_environment () { # script in a portable way # PROVISIONING_DIR="$(dirname "$0")/../../" - [ x"$PROVISIONING_DIR" = x ] \ + [ -z "$PROVISIONING_DIR" ] \ && fatal "PROVISIONING_DIR variable needs to be set before calling set_common_environment" uname_s="$(uname -s)" @@ -145,7 +108,7 @@ set_common_environment () { uname_m="$(uname -m)" case "$uname_m" in x86_64|amd64) PROVISIONING_ARCH=amd64 ;; - arm64) PROVISIONING_ARCH=arm64 ;; + aarch64|arm64)PROVISIONING_ARCH=arm64 ;; i[3456]86) PROVISIONING_ARCH=x86 ;; *) fatal "Unknown architecture in uname: $uname_m" 43 ;; esac diff --git a/coin/provisioning/common/unix/disable-ntp_macos.sh b/coin/provisioning/common/unix/disable-ntp_macos.sh index f9ec7e1f..fd490e43 100755 --- a/coin/provisioning/common/unix/disable-ntp_macos.sh +++ b/coin/provisioning/common/unix/disable-ntp_macos.sh @@ -1,43 +1,6 @@ #!/usr/bin/env bash - -############################################################################# -## -## Copyright (C) 2018 The Qt Company Ltd. -## Contact: https://www.qt.io/licensing/ -## -## This file is part of the provisioning scripts of the Qt Toolkit. -## -## $QT_BEGIN_LICENSE:LGPL$ -## Commercial License Usage -## Licensees holding valid commercial Qt licenses may use this file in -## accordance with the commercial license agreement provided with the -## Software or, alternatively, in accordance with the terms contained in -## a written agreement between you and The Qt Company. For licensing terms -## and conditions see https://www.qt.io/terms-conditions. For further -## information use the contact form at https://www.qt.io/contact-us. -## -## GNU Lesser General Public License Usage -## Alternatively, this file may be used under the terms of the GNU Lesser -## General Public License version 3 as published by the Free Software -## Foundation and appearing in the file LICENSE.LGPL3 included in the -## packaging of this file. Please review the following information to -## ensure the GNU Lesser General Public License version 3 requirements -## will be met: https://www.gnu.org/licenses/lgpl-3.0.html. -## -## GNU General Public License Usage -## Alternatively, this file may be used under the terms of the GNU -## General Public License version 2.0 or (at your option) the GNU General -## Public license version 3 or any later version approved by the KDE Free -## Qt Foundation. The licenses are as published by the Free Software -## Foundation and appearing in the file LICENSE.GPL2 and LICENSE.GPL3 -## included in the packaging of this file. Please review the following -## information to ensure the GNU General Public License requirements will -## be met: https://www.gnu.org/licenses/gpl-2.0.html and -## https://www.gnu.org/licenses/gpl-3.0.html. -## -## $QT_END_LICENSE$ -## -############################################################################# +# Copyright (C) 2018 The Qt Company Ltd. +# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only set -ex diff --git a/coin/provisioning/common/unix/emsdk.sh b/coin/provisioning/common/unix/emsdk.sh index efeedbac..580f966f 100755 --- a/coin/provisioning/common/unix/emsdk.sh +++ b/coin/provisioning/common/unix/emsdk.sh @@ -1,55 +1,40 @@ #!/usr/bin/env bash -############################################################################# -## -## Copyright (C) 2021 The Qt Company Ltd. -## Contact: https://www.qt.io/licensing/ -## -## This file is part of the provisioning scripts of the Qt Toolkit. -## -## $QT_BEGIN_LICENSE:LGPL$ -## Commercial License Usage -## Licensees holding valid commercial Qt licenses may use this file in -## accordance with the commercial license agreement provided with the -## Software or, alternatively, in accordance with the terms contained in -## a written agreement between you and The Qt Company. For licensing terms -## and conditions see https://www.qt.io/terms-conditions. For further -## information use the contact form at https://www.qt.io/contact-us. -## -## GNU Lesser General Public License Usage -## Alternatively, this file may be used under the terms of the GNU Lesser -## General Public License version 3 as published by the Free Software -## Foundation and appearing in the file LICENSE.LGPL3 included in the -## packaging of this file. Please review the following information to -## ensure the GNU Lesser General Public License version 3 requirements -## will be met: https://www.gnu.org/licenses/lgpl-3.0.html. -## -## GNU General Public License Usage -## Alternatively, this file may be used under the terms of the GNU -## General Public License version 2.0 or (at your option) the GNU General -## Public license version 3 or any later version approved by the KDE Free -## Qt Foundation. The licenses are as published by the Free Software -## Foundation and appearing in the file LICENSE.GPL2 and LICENSE.GPL3 -## included in the packaging of this file. Please review the following -## information to ensure the GNU General Public License requirements will -## be met: https://www.gnu.org/licenses/gpl-2.0.html and -## https://www.gnu.org/licenses/gpl-3.0.html. -## -## $QT_END_LICENSE$ -## -############################################################################# +# 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=./SetEnvVar.sh source "${BASH_SOURCE%/*}/SetEnvVar.sh" -version="3.0.0" -versionNode="v14.15.5" +# shellcheck source=./DownloadURL.sh +source "${BASH_SOURCE%/*}/DownloadURL.sh" + +version="3.1.50" +versionNode="v16.20.0" +tarBallVersion="${version//./_}" +if uname -a |grep -q Darwin; then + tarBallPackage="emsdk_macos_${tarBallVersion}.tar.gz" + sha="c12169ec8d22fc7a9ef1ba98027435bdf3b72729" +else + tarBallPackage="emsdk_linux_${tarBallVersion}.tar.gz" + sha="5d81a8f1ddcb8d74c70ba5608efd4266c857944a" +fi +cacheUrl="https://ci-files01-hki.ci.qt.io/input/emsdk/${tarBallPackage}" +target="/tmp/${tarBallPackage}" mkdir -p /opt cd /opt -sudo git clone https://github.com/emscripten-core/emsdk.git -cd emsdk -sudo ./emsdk install $version -sudo ./emsdk activate $version +echo "URL: $cacheUrl" + +if DownloadURL "$cacheUrl" "" "$sha" "$target"; then + sudo tar -xzf "$target" -C /opt/ + sudo rm -f "$target" +else + echo "Emsdk isn't cached. Cloning it" + sudo git clone https://github.com/emscripten-core/emsdk.git + cd emsdk + sudo ./emsdk install "$version" + sudo ./emsdk activate "$version" +fi # platform-specific toolchain and node binaries. urls obtained from "emsdk install" if uname -a |grep -q Darwin; then @@ -58,9 +43,12 @@ else pathNodeExecutable="node-$versionNode-linux-x64/bin/node" fi -SetEnvVar "PATH" "\"\$PATH:/opt/emsdk/emscripten-$version/\"" -SetEnvVar "EMSCRIPTEN" "/opt/emsdk/emscripten-$version" -SetEnvVar "EMSDK" "/opt/emsdk" -SetEnvVar "EMSDK_NODE" "/opt/emsdk/$pathNodeExecutable" +emsdkPath="/opt/emsdk/" +emscriptenPath="${emsdkPath}upstream/emscripten/" + +SetEnvVar "PATH" "\"\$PATH:${emscriptenPath}\"" +SetEnvVar "EMSCRIPTEN" "${emscriptenPath}" +SetEnvVar "EMSDK" "${emsdkPath}" +SetEnvVar "EMSDK_NODE" "${emsdkPath}${pathNodeExecutable}" echo "Emsdk = $version" >> ~/versions.txt diff --git a/coin/provisioning/common/unix/install-breakpad.sh b/coin/provisioning/common/unix/install-breakpad.sh index b8d268e8..7c3a34fb 100755 --- a/coin/provisioning/common/unix/install-breakpad.sh +++ b/coin/provisioning/common/unix/install-breakpad.sh @@ -1,43 +1,6 @@ #!/usr/bin/env bash - -############################################################################ -## -## Copyright (C) 2019 The Qt Company Ltd. -## Contact: https://www.qt.io/licensing/ -## -## This file is part of the provisioning scripts of the Qt Toolkit. -## -## $QT_BEGIN_LICENSE:LGPL$ -## Commercial License Usage -## Licensees holding valid commercial Qt licenses may use this file in -## accordance with the commercial license agreement provided with the -## Software or, alternatively, in accordance with the terms contained in -## a written agreement between you and The Qt Company. For licensing terms -## and conditions see https://www.qt.io/terms-conditions. For further -## information use the contact form at https://www.qt.io/contact-us. -## -## GNU Lesser General Public License Usage -## Alternatively, this file may be used under the terms of the GNU Lesser -## General Public License version 3 as published by the Free Software -## Foundation and appearing in the file LICENSE.LGPL3 included in the -## packaging of this file. Please review the following information to -## ensure the GNU Lesser General Public License version 3 requirements -## will be met: https://www.gnu.org/licenses/lgpl-3.0.html. -## -## GNU General Public License Usage -## Alternatively, this file may be used under the terms of the GNU -## General Public License version 2.0 or (at your option) the GNU General -## Public license version 3 or any later version approved by the KDE Free -## Qt Foundation. The licenses are as published by the Free Software -## Foundation and appearing in the file LICENSE.GPL2 and LICENSE.GPL3 -## included in the packaging of this file. Please review the following -## information to ensure the GNU General Public License requirements will -## be met: https://www.gnu.org/licenses/gpl-2.0.html and -## https://www.gnu.org/licenses/gpl-3.0.html. -## -## $QT_END_LICENSE$ -## -############################################################################ +# Copyright (C) 2019 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=../unix/DownloadURL.sh source "${BASH_SOURCE%/*}/../unix/DownloadURL.sh" @@ -48,12 +11,12 @@ set -ex breakpad_commit_sha="b988fa74ec18de6214b18f723e48331d9a7802ae" breakpad_tar="breakpad_$breakpad_commit_sha.tar.gz" -breakpad_tar_url="http://ci-files01-hki.intra.qt.io/input/breakpad/$breakpad_tar" +breakpad_tar_url="http://ci-files01-hki.ci.qt.io/input/breakpad/$breakpad_tar" breakpad_tar_sha="a2d404d2aebc947cdac5840a9bccd65dfafae24c" linux_syscall_support_commit_sha1="93426bda6535943ff1525d0460aab5cc0870ccaf" linux_syscall_support_tar="linux-syscall-support_$linux_syscall_support_commit_sha1.tar.gz" -linux_syscall_support_tar_url="http://ci-files01-hki.intra.qt.io/input/linux-syscall-support/$linux_syscall_support_tar" +linux_syscall_support_tar_url="http://ci-files01-hki.ci.qt.io/input/linux-syscall-support/$linux_syscall_support_tar" linux_syscall_support_tar_sha="62565be0920f3661e138d68026b79fbbdc2a11e4" targetBreakpad="/tmp/$breakpad_tar" diff --git a/coin/provisioning/common/unix/install-conan.sh b/coin/provisioning/common/unix/install-conan.sh index f30a2300..e48a5bdd 100755 --- a/coin/provisioning/common/unix/install-conan.sh +++ b/coin/provisioning/common/unix/install-conan.sh @@ -1,4 +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=../unix/SetEnvVar.sh source "${BASH_SOURCE%/*}/../unix/SetEnvVar.sh" @@ -7,9 +9,10 @@ source "${BASH_SOURCE%/*}/../unix/SetEnvVar.sh" # Note! Python3 is required for Conan installation os="$1" +params="$2" # Install Conan to Python user install directory (typically ~./local/) -pip3 install conan --user +pip3 install conan --user $params SetEnvVar "CONAN_REVISIONS_ENABLED" "1" SetEnvVar "CONAN_V2_MODE" "1" diff --git a/coin/provisioning/common/unix/install-ffmpeg-android.sh b/coin/provisioning/common/unix/install-ffmpeg-android.sh new file mode 100755 index 00000000..05d0b681 --- /dev/null +++ b/coin/provisioning/common/unix/install-ffmpeg-android.sh @@ -0,0 +1,106 @@ +#!/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 + +# This script will build and install FFmpeg static libs +set -ex +os="$1" + +# shellcheck source=../unix/InstallFromCompressedFileFromURL.sh +source "${BASH_SOURCE%/*}/../unix/InstallFromCompressedFileFromURL.sh" +# shellcheck source=../unix/SetEnvVar.sh +source "${BASH_SOURCE%/*}/../unix/SetEnvVar.sh" + +version="n6.1.1" +url_public="https://github.com/FFmpeg/FFmpeg/archive/refs/tags/$version.tar.gz" +sha1="59e0c3c4cc48e9c60073495f8c045329bb21f446" +url_cached="http://ci-files01-hki.ci.qt.io/input/ffmpeg/$version.tar.gz" +ffmpeg_name="FFmpeg-$version" + +target_dir="$HOME" +app_prefix="" +ffmpeg_source_dir="$target_dir/$ffmpeg_name" + +if [ ! -d "$ffmpeg_source_dir" ]; +then + InstallFromCompressedFileFromURL "$url_cached" "$url_public" "$sha1" "$target_dir" "$app_prefix" +fi + +build_ffmpeg_android() { + + target_arch=$1 + target_dir=$2 + + sudo mkdir -p "$target_dir" + + openssl_include="$OPENSSL_ANDROID_HOME_DEFAULT/include" + openssl_libs="" + if [ "$target_arch" == "x86_64" ]; then + target_toolchain_arch="x86_64-linux-android" + target_arch=x86_64 + target_cpu=x86-64 + openssl_libs="$OPENSSL_ANDROID_HOME_DEFAULT/x86_64" + elif [ "$target_arch" == "x86" ]; then + target_toolchain_arch="i686-linux-android" + target_arch=x86 + target_cpu=i686 + openssl_libs="$OPENSSL_ANDROID_HOME_DEFAULT/x86" + elif [ "$target_arch" == "arm64" ]; then + target_toolchain_arch="aarch64-linux-android" + target_arch=aarch64 + target_cpu=armv8-a + openssl_libs="$OPENSSL_ANDROID_HOME_DEFAULT/arm64-v8a" + fi + + api_version=24 + + ndk_root=$ANDROID_NDK_ROOT_DEFAULT + if uname -a |grep -q "Darwin"; then + ndk_host=darwin-x86_64 + else + ndk_host=linux-x86_64 + fi + + toolchain=${ndk_root}/toolchains/llvm/prebuilt/${ndk_host} + toolchain_bin=${toolchain}/bin + sysroot=${toolchain}/sysroot + cxx=${toolchain_bin}/${target_toolchain_arch}${api_version}-clang++ + cc=${toolchain_bin}/${target_toolchain_arch}${api_version}-clang + ar=${toolchain_bin}/llvm-ar + ranlib=${toolchain_bin}/llvm-ranlib + + ffmpeg_config_options=$(cat "${BASH_SOURCE%/*}/../shared/ffmpeg_config_options.txt") + ffmpeg_config_options+=" --enable-cross-compile --target-os=android --enable-jni --enable-mediacodec --enable-openssl --enable-pthreads --enable-neon --disable-asm --disable-indev=android_camera" + ffmpeg_config_options+=" --arch=$target_arch --cpu=${target_cpu} --sysroot=${sysroot} --sysinclude=${sysroot}/usr/include/" + ffmpeg_config_options+=" --cc=${cc} --cxx=${cxx} --ar=${ar} --ranlib=${ranlib}" + ffmpeg_config_options+=" --extra-cflags=-I${openssl_include} --extra-ldflags=-L${openssl_libs}" + + local build_dir="$ffmpeg_source_dir/build/$target_arch" + sudo mkdir -p "$build_dir" + pushd "$build_dir" + + # shellcheck disable=SC2086 + sudo "$ffmpeg_source_dir/configure" $ffmpeg_config_options --prefix="$target_dir" + + sudo make install -j4 + popd +} + +if [ "$os" == "android-x86" ]; then + target_arch=x86 + target_dir="/usr/local/android/ffmpeg-x86" + + SetEnvVar "FFMPEG_DIR_ANDROID_X86" "$target_dir" +elif [ "$os" == "android-x86_64" ]; then + target_arch=x86_64 + target_dir="/usr/local/android/ffmpeg-x86_64" + + SetEnvVar "FFMPEG_DIR_ANDROID_X86_64" "$target_dir" +elif [ "$os" == "android-arm64" ]; then + target_arch=arm64 + target_dir="/usr/local/android/ffmpeg-arm64" + + SetEnvVar "FFMPEG_DIR_ANDROID_ARM64" "$target_dir" +fi + +build_ffmpeg_android "$target_arch" "$target_dir" diff --git a/coin/provisioning/common/unix/install-ffmpeg-ios.sh b/coin/provisioning/common/unix/install-ffmpeg-ios.sh new file mode 100755 index 00000000..e2a401a5 --- /dev/null +++ b/coin/provisioning/common/unix/install-ffmpeg-ios.sh @@ -0,0 +1,76 @@ +#!/usr/bin/env bash +# Copyright (C) 2024 The Qt Company Ltd. +# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only + +# This script will build and install FFmpeg static libs +set -ex + +# shellcheck source=../unix/InstallFromCompressedFileFromURL.sh +source "${BASH_SOURCE%/*}/../unix/InstallFromCompressedFileFromURL.sh" +# shellcheck source=../unix/SetEnvVar.sh +source "${BASH_SOURCE%/*}/../unix/SetEnvVar.sh" + +version="n6.1.1" +sha1="59e0c3c4cc48e9c60073495f8c045329bb21f446" +url_public="https://github.com/FFmpeg/FFmpeg/archive/refs/tags/$version.tar.gz" +url_cached="http://ci-files01-hki.ci.qt.io/input/ffmpeg/$version.tar.gz" +ffmpeg_name="FFmpeg-$version" + +target_dir="$HOME" +ffmpeg_source_dir="$target_dir/$ffmpeg_name" +prefix="/usr/local/ios/ffmpeg" + +if [ ! -d "$ffmpeg_source_dir" ]; +then + InstallFromCompressedFileFromURL "$url_cached" "$url_public" "$sha1" "$target_dir" +fi + +ffmpeg_config_options=$(cat "${BASH_SOURCE%/*}/../shared/ffmpeg_config_options.txt") + +build_ffmpeg_ios() { + local target_arch=$1 + + if [ "$target_arch" == "x86_64" ]; then + target_sdk="iphonesimulator" + target_arch="x86_64" + minos="-mios-simulator-version-min=13.0" + else + target_sdk="iphoneos" + target_arch="arm64" + minos="-miphoneos-version-min=13.0" + fi + + local build_dir="$ffmpeg_source_dir/build_ios/$target_arch" + sudo mkdir -p "$build_dir" + pushd "$build_dir" + + # shellcheck disable=SC2086 + sudo "$ffmpeg_source_dir/configure" $ffmpeg_config_options \ + --sysroot="$(xcrun --sdk "$target_sdk" --show-sdk-path)" \ + --enable-cross-compile \ + --enable-optimizations \ + --prefix=$prefix \ + --arch=$target_arch \ + --cc="xcrun --sdk ${target_sdk} clang -arch $target_arch" \ + --cxx="xcrun --sdk ${target_sdk} clang++ -arch $target_arch" \ + --ar="$(xcrun --sdk ${target_sdk} --find ar)" \ + --ranlib="$(xcrun --sdk ${target_sdk} --find ranlib)" \ + --strip="$(xcrun --sdk ${target_sdk} --find strip)" \ + --nm="$(xcrun --sdk ${target_sdk} --find nm)" \ + --target-os=darwin \ + --extra-cflags="$minos" \ + --extra-cxxflags="$minos" \ + --enable-cross-compile \ + --enable-swscale \ + --enable-pthreads \ + --disable-audiotoolbox + + sudo make install DESTDIR="$build_dir/installed" -j + popd +} + +build_ffmpeg_ios "x86_64" +build_ffmpeg_ios "arm64" +sudo "${BASH_SOURCE%/*}/../macos/makeuniversal.sh" "$ffmpeg_source_dir/build_ios/x86_64/installed" "$ffmpeg_source_dir/build_ios/arm64/installed" +SetEnvVar "FFMPEG_DIR_IOS" $prefix + diff --git a/coin/provisioning/common/unix/install-ffmpeg.sh b/coin/provisioning/common/unix/install-ffmpeg.sh new file mode 100755 index 00000000..94d032ed --- /dev/null +++ b/coin/provisioning/common/unix/install-ffmpeg.sh @@ -0,0 +1,113 @@ +#!/usr/bin/env bash +# Copyright (C) 2023 The Qt Company Ltd. +# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only + +# This script will build and install FFmpeg static libs +set -ex +os="$1" + +# shellcheck source=../unix/InstallFromCompressedFileFromURL.sh +source "${BASH_SOURCE%/*}/../unix/InstallFromCompressedFileFromURL.sh" +# shellcheck source=../unix/SetEnvVar.sh +source "${BASH_SOURCE%/*}/../unix/SetEnvVar.sh" + +version="n6.1.1" +url_public="https://github.com/FFmpeg/FFmpeg/archive/$version.tar.gz" +sha1="59e0c3c4cc48e9c60073495f8c045329bb21f446" +url_cached="http://ci-files01-hki.ci.qt.io/input/ffmpeg/$version.tar.gz" +ffmpeg_name="FFmpeg-$version" + +target_dir="$HOME" +app_prefix="" +ffmpeg_source_dir="$target_dir/$ffmpeg_name" + +if [ ! -d "$ffmpeg_source_dir" ] +then + InstallFromCompressedFileFromURL "$url_cached" "$url_public" "$sha1" "$target_dir" "$app_prefix" +fi + +ffmpeg_config_options=$(cat "${BASH_SOURCE%/*}/../shared/ffmpeg_config_options.txt") + +install_ff_nvcodec_headers() { + nv_codec_version="11.1" # use 11.1 to ensure compatibility with 470 nvidia drivers; might be upated to 12.0 + nv_codec_url_public="https://github.com/FFmpeg/nv-codec-headers/archive/refs/heads/sdk/$nv_codec_version.zip" + nv_codec_url_cached="http://ci-files01-hki.ci.qt.io/input/ffmpeg/nv-codec-headers/nv-codec-headers-sdk-$nv_codec_version.zip" + nv_codec_sha1="ceb4966ab01b2e41f02074675a8ac5b331bf603e" + #nv_codec_sha1="4f30539f8dd31945da4c3da32e66022f9ca59c08" // 12.0 + nv_codec_dir="$target_dir/nv-codec-headers-sdk-$nv_codec_version" + if [ ! -d "$nv_codec_dir" ] + then + InstallFromCompressedFileFromURL "$nv_codec_url_cached" "$nv_codec_url_public" "$nv_codec_sha1" "$target_dir" "" + fi + + sudo make -C "$nv_codec_dir" install -j + + # Might be not detected by default on RHEL + export PKG_CONFIG_PATH="$PKG_CONFIG_PATH:/usr/local/lib/pkgconfig" +} + +build_ffmpeg() { + local arch="$1" + local prefix="$2" + local build_dir="$ffmpeg_source_dir/build/$arch" + mkdir -p "$build_dir" + pushd "$build_dir" + + if [ -z "$prefix" ] + then prefix="/usr/local/$ffmpeg_name" + fi + + if [ -n "$arch" ] + then cc="clang -arch $arch" + fi + + # shellcheck disable=SC2086 + if [ -n "$arch" ] + then "$ffmpeg_source_dir/configure" $ffmpeg_config_options --prefix="$prefix" --enable-cross-compile --arch="$arch" --cc="$cc" + else "$ffmpeg_source_dir/configure" $ffmpeg_config_options --prefix="$prefix" + fi + make install DESTDIR="$build_dir/installed" -j4 + popd +} + +if [ "$os" == "linux" ]; then + install_ff_nvcodec_headers + + ffmpeg_config_options+=" --enable-openssl" + build_ffmpeg + sudo mv "$ffmpeg_source_dir/build/installed/usr/local/$ffmpeg_name" "/usr/local" + SetEnvVar "FFMPEG_DIR" "/usr/local/$ffmpeg_name" + +elif [ "$os" == "macos" ] || [ "$os" == "macos-universal" ]; then + ffmpeg_config_options+=" --enable-shared --disable-static" + + brew install yasm + export MACOSX_DEPLOYMENT_TARGET=12 + 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 + # fix the error: duplicate symbol '_av_ac3_parse_header' + ffmpeg_config_options+=" --extra-ldflags=-Wl,-ld_classic" + fi + + if [ "$os" == "macos" ]; then + build_ffmpeg + install_dir="$ffmpeg_source_dir/build/installed" + "$fix_relative_dependencies" "$install_dir/usr/local/$ffmpeg_name/lib" + sudo mv "$install_dir/usr/local/$ffmpeg_name" "/usr/local" + else + build_ffmpeg "arm64" + build_ffmpeg "x86_64" + + arm64_install_dir="$ffmpeg_source_dir/build/arm64/installed" + x86_64_install_dir="$ffmpeg_source_dir/build/x86_64/installed" + + "$fix_relative_dependencies" "$arm64_install_dir/usr/local/$ffmpeg_name/lib" + "$fix_relative_dependencies" "$x86_64_install_dir/usr/local/$ffmpeg_name/lib" + + sudo "${BASH_SOURCE%/*}/../macos/makeuniversal.sh" "$arm64_install_dir" "$x86_64_install_dir" + fi + + SetEnvVar "FFMPEG_DIR" "/usr/local/$ffmpeg_name" +fi diff --git a/coin/provisioning/common/unix/install-openssl.sh b/coin/provisioning/common/unix/install-openssl.sh index 479245d6..3b3353fb 100755 --- a/coin/provisioning/common/unix/install-openssl.sh +++ b/coin/provisioning/common/unix/install-openssl.sh @@ -1,43 +1,6 @@ #!/usr/bin/env bash - -############################################################################# -## -## Copyright (C) 2021 The Qt Company Ltd. -## Contact: https://www.qt.io/licensing/ -## -## This file is part of the provisioning scripts of the Qt Toolkit. -## -## $QT_BEGIN_LICENSE:LGPL$ -## Commercial License Usage -## Licensees holding valid commercial Qt licenses may use this file in -## accordance with the commercial license agreement provided with the -## Software or, alternatively, in accordance with the terms contained in -## a written agreement between you and The Qt Company. For licensing terms -## and conditions see https://www.qt.io/terms-conditions. For further -## information use the contact form at https://www.qt.io/contact-us. -## -## GNU Lesser General Public License Usage -## Alternatively, this file may be used under the terms of the GNU Lesser -## General Public License version 3 as published by the Free Software -## Foundation and appearing in the file LICENSE.LGPL3 included in the -## packaging of this file. Please review the following information to -## ensure the GNU Lesser General Public License version 3 requirements -## will be met: https://www.gnu.org/licenses/lgpl-3.0.html. -## -## GNU General Public License Usage -## Alternatively, this file may be used under the terms of the GNU -## General Public License version 2.0 or (at your option) the GNU General -## Public license version 3 or any later version approved by the KDE Free -## Qt Foundation. The licenses are as published by the Free Software -## Foundation and appearing in the file LICENSE.GPL2 and LICENSE.GPL3 -## included in the packaging of this file. Please review the following -## information to ensure the GNU General Public License requirements will -## be met: https://www.gnu.org/licenses/gpl-2.0.html and -## https://www.gnu.org/licenses/gpl-3.0.html. -## -## $QT_END_LICENSE$ -## -############################################################################# +# Copyright (C) 2022 The Qt Company Ltd. +# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only # This script install OpenSSL from sources. # Requires GCC and Perl to be in PATH. @@ -48,11 +11,11 @@ SCRIPT_DIR="$( cd -- "$( dirname -- "${BASH_SOURCE[0]}" )" &> /dev/null && pwd ) source "${BASH_SOURCE%/*}/../unix/DownloadURL.sh" # shellcheck source=../unix/SetEnvVar.sh source "${BASH_SOURCE%/*}/../unix/SetEnvVar.sh" -version="1.1.1k" +version="3.0.7" officialUrl="https://www.openssl.org/source/openssl-$version.tar.gz" -cachedUrl="http://ci-files01-hki.intra.qt.io/input/openssl/openssl-$version.tar.gz" +cachedUrl="http://ci-files01-hki.ci.qt.io/input/openssl/openssl-$version.tar.gz" targetFile="/tmp/openssl-$version.tar.gz" -sha="bad9dc4ae6dcc1855085463099b5dacb0ec6130b" +sha="f20736d6aae36bcbfa9aba0d358c71601833bf27" opensslHome="${HOME}/openssl-${version}" opensslSource="${opensslHome}-src" DownloadURL "$cachedUrl" "$officialUrl" "$sha" "$targetFile" @@ -62,16 +25,21 @@ cd "$opensslSource" pwd if [[ "$os" == "linux" ]]; then - ./Configure --prefix="$opensslHome" shared no-ssl3-method 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" - if uname -a |grep -q "Ubuntu"; then - echo "export LD_LIBRARY_PATH=$opensslHome/lib:$LD_LIBRARY_PATH" >> ~/.bash_profile + SetEnvVar "PATH" "\"$opensslHome/bin:\$PATH\"" + if uname -a |grep -q "Debian"; then + SetEnvVar "LD_LIBRARY_PATH" "\"$opensslHome/lib:$LD_LIBRARY_PATH\"" else - echo "export LD_LIBRARY_PATH=$opensslHome/lib:$LD_LIBRARY_PATH" >> ~/.bashrc + SetEnvVar "LD_LIBRARY_PATH" "\"$opensslHome/lib64:$LD_LIBRARY_PATH\"" fi - -elif [ "$os" == "macos" -o "$os" == "macos-universal" ]; then +elif [ "$os" == "macos" ] || [ "$os" == "macos-universal" ]; then # Below target location has been hard coded into Coin. # QTQAINFRA-1195 echo "prefix=$prefix" @@ -81,13 +49,13 @@ elif [ "$os" == "macos" -o "$os" == "macos-universal" ]; then openssl_install_dir="$prefix/openssl-$version" opensslTargetLocation="$prefix/opt/openssl" - commonFlags="no-tests shared no-ssl3-method enable-ec_nistp_64_gcc_128 -Wa,--noexecstack" + commonFlags=(no-tests shared no-ssl3-method enable-ec_nistp_64_gcc_128 "-Wa,--noexecstack") - export MACOSX_DEPLOYMENT_TARGET=10.14 + export MACOSX_DEPLOYMENT_TARGET=12 opensslBuild="${opensslHome}-build" opensslDestdir="${opensslHome}-destdir" - mkdir -p $opensslBuild + mkdir -p "$opensslBuild" if [ "$os" == "macos-universal" ]; then archs="x86_64 arm64" @@ -96,10 +64,10 @@ elif [ "$os" == "macos" -o "$os" == "macos-universal" ]; then fi for arch in $archs; do - cd $opensslBuild + cd "$opensslBuild" echo "Configuring OpenSSL for $arch" - mkdir -p $arch && cd $arch - $opensslSource/Configure --prefix=$openssl_install_dir $commonFlags darwin64-$arch-cc + mkdir -p "$arch" && cd "$arch" + "$opensslSource/Configure" --prefix="$openssl_install_dir" "${commonFlags[@]}" "darwin64-$arch-cc" echo "Building OpenSSL for $arch in $PWD" make >> /tmp/openssl_make.log 2>&1 @@ -111,19 +79,19 @@ elif [ "$os" == "macos" -o "$os" == "macos-universal" ]; then destdir="" fi # shellcheck disable=SC2024 - sudo make install_sw install_ssldirs DESTDIR=$destdir >> /tmp/openssl_make_install.log 2>&1 + sudo make install_sw install_ssldirs DESTDIR="$destdir" >> /tmp/openssl_make_install.log 2>&1 done if [ "$os" == "macos-universal" ]; then echo "Making universal OpenSSL package" # shellcheck disable=SC2024 sudo rm -Rf "$openssl_install_dir" - sudo ${SCRIPT_DIR}/../macos/makeuniversal.sh "$opensslDestdir/x86_64" $opensslDestdir/arm64 + sudo "${SCRIPT_DIR}/../macos/makeuniversal.sh" "$opensslDestdir/x86_64" "$opensslDestdir/arm64" fi path=$(echo "$opensslTargetLocation" | sed -E 's/(.*)\/.*$/\1/') sudo mkdir -p "$path" - sudo ln -s $openssl_install_dir $opensslTargetLocation + sudo ln -s "$openssl_install_dir" "$opensslTargetLocation" SetEnvVar "PATH" "\"$opensslTargetLocation/bin:\$PATH\"" SetEnvVar "MANPATH" "\"$opensslTargetLocation/share/man:\$MANPATH\"" @@ -132,8 +100,8 @@ elif [ "$os" == "macos" -o "$os" == "macos-universal" ]; then SetEnvVar "OPENSSL_INCLUDE" "\"$openssl_install_dir/include\"" SetEnvVar "OPENSSL_LIB" "\"$openssl_install_dir/lib\"" - security find-certificate -a -p /Library/Keychains/System.keychain | sudo tee -a $opensslTargetLocation/ssl/cert.pem > /dev/null - security find-certificate -a -p /System/Library/Keychains/SystemRootCertificates.keychain | sudo tee -a $opensslTargetLocation/ssl/cert.pem > /dev/null + security find-certificate -a -p /Library/Keychains/System.keychain | sudo tee -a "$opensslTargetLocation/ssl/cert.pem" > /dev/null + security find-certificate -a -p /System/Library/Keychains/SystemRootCertificates.keychain | sudo tee -a "$opensslTargetLocation/ssl/cert.pem" > /dev/null fi diff --git a/coin/provisioning/common/unix/install_grpc.sh b/coin/provisioning/common/unix/install_grpc.sh new file mode 100755 index 00000000..3b94816a --- /dev/null +++ b/coin/provisioning/common/unix/install_grpc.sh @@ -0,0 +1,84 @@ +#!/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 + +# This script installs gRPC from sources. +set -ex + +# shellcheck source=./DownloadURL.sh +source "${BASH_SOURCE%/*}/DownloadURL.sh" +# shellcheck source=./SetEnvVar.sh +source "${BASH_SOURCE%/*}/SetEnvVar.sh" + +# Extract cmake path from the environment +if uname -a |grep -q "Ubuntu"; then + if lsb_release -a |grep -q "Ubuntu 22.04"; then +# shellcheck source=/dev/null + source ~/.bash_profile + else +# shellcheck source=/dev/null + source ~/.profile + fi +else +# shellcheck source=/dev/null + source ~/.bashrc +fi + +version="1.50.1" +sha1="be1b0c3dbfbc9714824921f50dffb7cf044da5ab" +internalUrl="http://ci-files01-hki.ci.qt.io/input/automotive_suite/grpc-all-$version.zip" +externalUrl="" +installPrefix="$HOME/install-grpc-$version" + +targetDir="$HOME/grpc-$version" +targetFile="$targetDir.zip" +DownloadURL "$internalUrl" "$externalUrl" "$sha1" "$targetFile" +unzip -q "$targetFile" -d "$HOME" +sudo rm "$targetFile" + +# devtoolset is needed when running configuration +if uname -a |grep -qv "Darwin"; then + export PATH="/opt/rh/devtoolset-7/root/usr/bin:$PATH" +fi + +if uname -a |grep -q Darwin; then + extraCMakeArgs=("-DCMAKE_OSX_ARCHITECTURES=x86_64;arm64" -DCMAKE_OSX_DEPLOYMENT_TARGET=12) + SetEnvVar PATH "\$PATH:$installPrefix/bin" +fi + +# MacOS +if [[ -n "$OPENSSL_DIR" ]]; then + extraOpenSslArg=-DOPENSSL_ROOT_DIR=$OPENSSL_DIR +# Linux +elif [[ -n "$OPENSSL_HOME" ]]; then + extraOpenSslArg=-DOPENSSL_ROOT_DIR=$OPENSSL_HOME +fi + +echo "Configuring and building gRPC" + +buildDir="$HOME/build-grpc-$version" +mkdir -p "$buildDir" +cd "$buildDir" +cmake "$targetDir" -G"Ninja Multi-Config" \ + -DCMAKE_POSITION_INDEPENDENT_CODE=ON \ + -DCMAKE_CONFIGURATION_TYPES="Release;Debug;RelWithDebugInfo" \ + -DCMAKE_INSTALL_PREFIX="$installPrefix" \ + "${extraCMakeArgs[@]}" \ + "$extraOpenSslArg" \ + -DgRPC_BUILD_TESTS=OFF \ + -DgRPC_PROTOBUF_PROVIDER="package" \ + -DgRPC_SSL_PROVIDER="package" \ + -DgRPC_ZLIB_PROVIDER="package" +ninja all + +sudo env "PATH=$PATH" ninja install +# Refresh shared library cache if OS isn't macOS +if uname -a |grep -qv "Darwin"; then + sudo ldconfig +fi + +SetEnvVar "gRPC_ROOT" "$installPrefix" +SetEnvVar "absl_ROOT" "$installPrefix" + +sudo rm -rf "$targetDir" +sudo rm -rf "$buildDir" diff --git a/coin/provisioning/common/unix/install_protobuf.sh b/coin/provisioning/common/unix/install_protobuf.sh new file mode 100755 index 00000000..110d8b9c --- /dev/null +++ b/coin/provisioning/common/unix/install_protobuf.sh @@ -0,0 +1,101 @@ +#!/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 + +# shellcheck source=./DownloadURL.sh +source "${BASH_SOURCE%/*}/DownloadURL.sh" +# shellcheck source=./SetEnvVar.sh +source "${BASH_SOURCE%/*}/SetEnvVar.sh" + +# Extract cmake path from the environment +if uname -a |grep -q "Ubuntu"; then + if lsb_release -a |grep "Ubuntu 22.04"; then + source ~/.bash_profile + else + source ~/.profile + fi +else + source ~/.bashrc +fi + +# This script will install Google's Protocal Buffers + +version="21.9" +sha1="3226a0e49d048759b702ae524da79387c59f05cc" +internalUrl="http://ci-files01-hki.ci.qt.io/input/automotive_suite/protobuf-all-$version.zip" +externalUrl="https://github.com/protocolbuffers/protobuf/releases/download/v$version/protobuf-all-$version.zip" + +targetDir="$HOME/protobuf-$version" +targetFile="$targetDir.zip" +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" +fi + +echo "Configuring and building protobuf" + +installPrefix="/usr/local" +if uname -a |grep -q Darwin; then + extraCMakeArgs=("-DCMAKE_OSX_ARCHITECTURES=x86_64;arm64" -DCMAKE_OSX_DEPLOYMENT_TARGET=12) + SetEnvVar PATH "\$PATH:$installPrefix/bin" +fi + +buildDir="$HOME/build-protobuf-$version" +mkdir "$buildDir" +cd "$buildDir" +cmake "$targetDir" -G"Ninja Multi-Config" \ + -DCMAKE_POSITION_INDEPENDENT_CODE=ON \ + -DCMAKE_INSTALL_PREFIX=$installPrefix \ + "${extraCMakeArgs[@]}" \ + -Dprotobuf_BUILD_TESTS=OFF \ + -Dprotobuf_BUILD_EXAMPLES=OFF \ + -Dprotobuf_BUILD_PROTOC_BINARIES=ON \ + -DBUILD_SHARED_LIBS=OFF \ + -Dprotobuf_WITH_ZLIB=OFF \ + -DCMAKE_CONFIGURATION_TYPES="Release;Debug;RelWithDebugInfo" \ + -DCMAKE_CROSS_CONFIGS=all \ + -DCMAKE_DEFAULT_CONFIGS=all +ninja all:all +sudo env "PATH=$PATH" ninja install:all + +# Refresh shared library cache if OS isn't macOS +if uname -a |grep -qv "Darwin"; then + sudo ldconfig +fi + +sudo rm -r "$targetDir" +sudo rm -r "$buildDir" diff --git a/coin/provisioning/common/unix/install_protobuff.sh b/coin/provisioning/common/unix/install_protobuff.sh deleted file mode 100755 index fb5ae853..00000000 --- a/coin/provisioning/common/unix/install_protobuff.sh +++ /dev/null @@ -1,81 +0,0 @@ -#!/usr/bin/env bash - -############################################################################# -## -## Copyright (C) 2018 The Qt Company Ltd. -## Contact: https://www.qt.io/licensing/ -## -## This file is part of the provisioning scripts of the Qt Toolkit. -## -## $QT_BEGIN_LICENSE:LGPL$ -## Commercial License Usage -## Licensees holding valid commercial Qt licenses may use this file in -## accordance with the commercial license agreement provided with the -## Software or, alternatively, in accordance with the terms contained in -## a written agreement between you and The Qt Company. For licensing terms -## and conditions see https://www.qt.io/terms-conditions. For further -## information use the contact form at https://www.qt.io/contact-us. -## -## GNU Lesser General Public License Usage -## Alternatively, this file may be used under the terms of the GNU Lesser -## General Public License version 3 as published by the Free Software -## Foundation and appearing in the file LICENSE.LGPL3 included in the -## packaging of this file. Please review the following information to -## ensure the GNU Lesser General Public License version 3 requirements -## will be met: https://www.gnu.org/licenses/lgpl-3.0.html. -## -## GNU General Public License Usage -## Alternatively, this file may be used under the terms of the GNU -## General Public License version 2.0 or (at your option) the GNU General -## Public license version 3 or any later version approved by the KDE Free -## Qt Foundation. The licenses are as published by the Free Software -## Foundation and appearing in the file LICENSE.GPL2 and LICENSE.GPL3 -## included in the packaging of this file. Please review the following -## information to ensure the GNU General Public License requirements will -## be met: https://www.gnu.org/licenses/gpl-2.0.html and -## https://www.gnu.org/licenses/gpl-3.0.html. -## -## $QT_END_LICENSE$ -## -############################################################################# - -# shellcheck source=./DownloadURL.sh -source "${BASH_SOURCE%/*}/DownloadURL.sh" -# shellcheck source=./SetEnvVar.sh -source "${BASH_SOURCE%/*}/SetEnvVar.sh" - -# This script will install Google's Protocal Buffers which is needed by Automotive Suite - -version="3.6.1" -sha1="44b8ba225f3b4dc45fb56d5881ec6a91329802b6" -internalUrl="http://ci-files01-hki.intra.qt.io/input/automotive_suite/protobuf-all-$version.zip" -externalUrl="https://github.com/protocolbuffers/protobuf/releases/download/v$version/protobuf-all-$version.zip" - -targetDir="$HOME/protobuf-$version" -targetFile="$targetDir.zip" -DownloadURL "$internalUrl" "$externalUrl" "$sha1" "$targetFile" -unzip "$targetFile" -d "$HOME" -sudo rm "$targetFile" - -# devtoolset is needed when running configuration -if uname -a |grep -qv "Darwin"; then - export PATH="/opt/rh/devtoolset-7/root/usr/bin:$PATH" -fi - -echo "Configuring and building protobuf" -cd "$targetDir" -if uname -a |grep -q Darwin; then - ./configure --prefix "$(xcrun --sdk macosx --show-sdk-path)/usr/local" - SetEnvVar PATH "\$PATH:$(xcrun --sdk macosx --show-sdk-path)/usr/local/bin" -else - ./configure -fi -make -j5 -sudo make install - -# Refresh shared library cache if OS isn't macOS -if uname -a |grep -qv "Darwin"; then - sudo ldconfig -fi - -sudo rm -r "$targetDir" diff --git a/coin/provisioning/common/unix/libclang-v100-dyn.sh b/coin/provisioning/common/unix/libclang-v100-dyn.sh index ee982973..14194f55 100755 --- a/coin/provisioning/common/unix/libclang-v100-dyn.sh +++ b/coin/provisioning/common/unix/libclang-v100-dyn.sh @@ -1,43 +1,6 @@ #!/usr/bin/env bash - -############################################################################# -## -## Copyright (C) 2017 The Qt Company Ltd. -## Contact: https://www.qt.io/licensing/ -## -## This file is part of the provisioning scripts of the Qt Toolkit. -## -## $QT_BEGIN_LICENSE:LGPL$ -## Commercial License Usage -## Licensees holding valid commercial Qt licenses may use this file in -## accordance with the commercial license agreement provided with the -## Software or, alternatively, in accordance with the terms contained in -## a written agreement between you and The Qt Company. For licensing terms -## and conditions see https://www.qt.io/terms-conditions. For further -## information use the contact form at https://www.qt.io/contact-us. -## -## GNU Lesser General Public License Usage -## Alternatively, this file may be used under the terms of the GNU Lesser -## General Public License version 3 as published by the Free Software -## Foundation and appearing in the file LICENSE.LGPL3 included in the -## packaging of this file. Please review the following information to -## ensure the GNU Lesser General Public License version 3 requirements -## will be met: https://www.gnu.org/licenses/lgpl-3.0.html. -## -## GNU General Public License Usage -## Alternatively, this file may be used under the terms of the GNU -## General Public License version 2.0 or (at your option) the GNU General -## Public license version 3 or any later version approved by the KDE Free -## Qt Foundation. The licenses are as published by the Free Software -## Foundation and appearing in the file LICENSE.GPL2 and LICENSE.GPL3 -## included in the packaging of this file. Please review the following -## information to ensure the GNU General Public License requirements will -## be met: https://www.gnu.org/licenses/gpl-2.0.html and -## https://www.gnu.org/licenses/gpl-3.0.html. -## -## $QT_END_LICENSE$ -## -############################################################################# +# 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 # PySide versions following 5.6 use a C++ parser based on Clang (http://clang.org/). # The Clang library (C-bindings), version 3.9 or higher is required for building. @@ -59,23 +22,23 @@ if uname -a |grep -q Darwin; then version=$libclang_version url="https://download.qt.io/development_releases/prebuilt/libclang/libclang-release_${version//\./}-based-mac.7z" sha1="0fe1fa50b1b469d2c05acc3a3468bc93a66f1e5a" - url_cached="http://ci-files01-hki.intra.qt.io/input/libclang/dynamic/libclang-release_${version//\./}-based-mac.7z" + url_cached="http://ci-files01-hki.ci.qt.io/input/libclang/dynamic/libclang-release_${version//\./}-based-mac.7z" elif test -f /etc/redhat-release || /etc/centos-release; then version=$libclang_version url="https://download.qt.io/development_releases/prebuilt/libclang/libclang-release_${version//\./}-based-linux-Rhel7.6-gcc5.3-x86_64.7z" sha1="1d2e265502fc0832a854f989d757105833fbd179" - url_cached="http://ci-files01-hki.intra.qt.io/input/libclang/dynamic/libclang-release_${version//\./}-based-linux-Rhel7.6-gcc5.3-x86_64.7z" + url_cached="http://ci-files01-hki.ci.qt.io/input/libclang/dynamic/libclang-release_${version//\./}-based-linux-Rhel7.6-gcc5.3-x86_64.7z" else version=$libclang_version url="https://download.qt.io/development_releases/prebuilt/libclang/dynamic/libclang-release_${version//\./}-based-linux-Ubuntu18.04-gcc9.2-x86_64.7z" sha1="c1580acb3a82e193acf86f18afb52427c5e67de8" - url_cached="http://ci-files01-hki.intra.qt.io/input/libclang/libclang-release_${version//\./}-based-linux-Ubuntu18.04-gcc9.2-x86_64.7z" + url_cached="http://ci-files01-hki.ci.qt.io/input/libclang/libclang-release_${version//\./}-based-linux-Ubuntu18.04-gcc9.2-x86_64.7z" fi zip="/tmp/libclang.7z" destination="/usr/local/libclang-dynlibs-$version" -DownloadURL $url_cached $url $sha1 $zip +DownloadURL "$url_cached" "$url" "$sha1" "$zip" if command -v 7zr &> /dev/null; then sudo 7zr x $zip -o/usr/local/ else @@ -85,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 53a76469..5f75d7e4 100755 --- a/coin/provisioning/common/unix/libclang.sh +++ b/coin/provisioning/common/unix/libclang.sh @@ -1,43 +1,6 @@ #!/usr/bin/env bash - -############################################################################# -## -## Copyright (C) 2020 The Qt Company Ltd. -## Contact: https://www.qt.io/licensing/ -## -## This file is part of the provisioning scripts of the Qt Toolkit. -## -## $QT_BEGIN_LICENSE:LGPL$ -## Commercial License Usage -## Licensees holding valid commercial Qt licenses may use this file in -## accordance with the commercial license agreement provided with the -## Software or, alternatively, in accordance with the terms contained in -## a written agreement between you and The Qt Company. For licensing terms -## and conditions see https://www.qt.io/terms-conditions. For further -## information use the contact form at https://www.qt.io/contact-us. -## -## GNU Lesser General Public License Usage -## Alternatively, this file may be used under the terms of the GNU Lesser -## General Public License version 3 as published by the Free Software -## Foundation and appearing in the file LICENSE.LGPL3 included in the -## packaging of this file. Please review the following information to -## ensure the GNU Lesser General Public License version 3 requirements -## will be met: https://www.gnu.org/licenses/lgpl-3.0.html. -## -## GNU General Public License Usage -## Alternatively, this file may be used under the terms of the GNU -## General Public License version 2.0 or (at your option) the GNU General -## Public license version 3 or any later version approved by the KDE Free -## Qt Foundation. The licenses are as published by the Free Software -## Foundation and appearing in the file LICENSE.GPL2 and LICENSE.GPL3 -## included in the packaging of this file. Please review the following -## information to ensure the GNU General Public License requirements will -## be met: https://www.gnu.org/licenses/gpl-2.0.html and -## https://www.gnu.org/licenses/gpl-3.0.html. -## -## $QT_END_LICENSE$ -## -############################################################################# +# 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 # PySide versions following 5.6 use a C++ parser based on Clang (http://clang.org/). # The Clang library (C-bindings), version 3.9 or higher is required for building. @@ -53,23 +16,37 @@ source "${BASH_SOURCE%/*}/SetEnvVar.sh" # shellcheck source=./DownloadURL.sh source "${BASH_SOURCE%/*}/DownloadURL.sh" -libclang_version=12.0 +PROVISIONING_DIR="$(dirname "$0")/../../" +# shellcheck source=./common.sourced.sh +source "$PROVISIONING_DIR"/common/unix/common.sourced.sh + +libclang_version="15.0.0" if uname -a |grep -q Darwin; then version=$libclang_version - url="https://download.qt.io/development_releases/prebuilt/libclang/qt/libclang-release_${version//\./}-based-mac.7z" - url_cached="http://ci-files01-hki.intra.qt.io/input/libclang/qt/libclang-release_${version//\./}-based-mac.7z" - sha1="bb9223450c1c36ee37d8c91e876dba82db117a7a" -elif test -f /etc/redhat-release && cat /etc/redhat-release | grep "Red Hat" | grep -v "8" ; then + url="https://download.qt.io/development_releases/prebuilt/libclang/qt/libclang-release_${version}-based-mac.7z" + url_cached="http://ci-files01-hki.ci.qt.io/input/libclang/qt/libclang-release_${version}-based-mac.7z" + sha1="6d916a17459c81551dde47580ae3f071e93338a5" +elif test -f /etc/redhat-release && grep "Red Hat" /etc/redhat-release | grep -v "8" ; then version=$libclang_version - url="https://download.qt.io/development_releases/prebuilt/libclang/qt/libclang-release_${version//\./}-based-linux-CentOS8.3-gcc9.2-x86_64.7z" - url_cached="http://ci-files01-hki.intra.qt.io/input/libclang/qt/libclang-release_${version//\./}-based-linux-CentOS8.3-gcc9.2-x86_64.7z" - sha1="d02e4dd30fe3f810c3a0cdcbed5870dec56ed91b" + url="https://download.qt.io/development_releases/prebuilt/libclang/qt/libclang-release_${version}-based-linux-Rhel8.4-gcc10.0-x86_64.7z" + url_cached="http://ci-files01-hki.ci.qt.io/input/libclang/qt/libclang-release_${version}-based-linux-Rhel8.4-gcc10.0-x86_64.7z" + sha1="6ca035bb522022d34d61759e0460845832933b5c" +elif [ "$PROVISIONING_OS_ID" = ubuntu ]; then + version=$libclang_version + url="https://download.qt.io/development_releases/prebuilt/libclang/qt/libclang-release_${version}-based-linux-Ubuntu22.04-gcc11.2-x86_64.7z" + url_cached="http://ci-files01-hki.ci.qt.io/input/libclang/qt/libclang-release_${version}-based-linux-Ubuntu22.04-gcc11.2-x86_64.7z" + sha1="dd170ec762a7ec8ac84b4b5cac3a422514e5b030" +elif [ "$PROVISIONING_OS_ID" = debian ]; then + version=17.0.1 + url="https://download.qt.io/development_releases/prebuilt/libclang/qt/libclang-release_${version}-based-linux-Debian11.6-gcc10.0-arm64.7z" + url_cached="http://ci-files01-hki.ci.qt.io/input/libclang/qt/libclang-release_${version}-based-linux-Debian11.6-gcc10.0-arm64.7z" + sha1="43f0210121b889107e3dab631e8104e661a3866b" else version=$libclang_version - url="https://download.qt.io/development_releases/prebuilt/libclang/qt/libclang-release_${version//\./}-based-linux-Ubuntu20.04-gcc9.3-x86_64.7z" - url_cached="http://ci-files01-hki.intra.qt.io/input/libclang/qt/libclang-release_${version//\./}-based-linux-Ubuntu20.04-gcc9.3-x86_64.7z" - sha1="81b3e640befa23b5cdebd59e206dc79e4de20ba3" + url="https://download.qt.io/development_releases/prebuilt/libclang/qt/libclang-release_${version}-based-linux-Ubuntu20.04-gcc9.3-x86_64.7z" + url_cached="http://ci-files01-hki.ci.qt.io/input/libclang/qt/libclang-release_${version}-based-linux-Ubuntu20.04-gcc9.3-x86_64.7z" + sha1="bd6615012b8bdb2720a45ede56e05f6db7191843" fi zip="/tmp/libclang.7z" @@ -85,9 +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 - -# This is a hacked static build of libclang which requires special -# handling on the qdoc side. -SetEnvVar "QDOC_USE_STATIC_LIBCLANG" "1" diff --git a/coin/provisioning/common/unix/mqtt_broker.sh b/coin/provisioning/common/unix/mqtt_broker.sh index 21da3776..d3cce755 100755 --- a/coin/provisioning/common/unix/mqtt_broker.sh +++ b/coin/provisioning/common/unix/mqtt_broker.sh @@ -1,43 +1,6 @@ #!/bin/bash - -############################################################################# -## -## Copyright (C) 2017 The Qt Company Ltd. -## Contact: https://www.qt.io/licensing/ -## -## This file is part of the provisioning scripts of the Qt Toolkit. -## -## $QT_BEGIN_LICENSE:LGPL$ -## Commercial License Usage -## Licensees holding valid commercial Qt licenses may use this file in -## accordance with the commercial license agreement provided with the -## Software or, alternatively, in accordance with the terms contained in -## a written agreement between you and The Qt Company. For licensing terms -## and conditions see https://www.qt.io/terms-conditions. For further -## information use the contact form at https://www.qt.io/contact-us. -## -## GNU Lesser General Public License Usage -## Alternatively, this file may be used under the terms of the GNU Lesser -## General Public License version 3 as published by the Free Software -## Foundation and appearing in the file LICENSE.LGPL3 included in the -## packaging of this file. Please review the following information to -## ensure the GNU Lesser General Public License version 3 requirements -## will be met: https://www.gnu.org/licenses/lgpl-3.0.html. -## -## GNU General Public License Usage -## Alternatively, this file may be used under the terms of the GNU -## General Public License version 2.0 or (at your option) the GNU General -## Public license version 3 or any later version approved by the KDE Free -## Qt Foundation. The licenses are as published by the Free Software -## Foundation and appearing in the file LICENSE.GPL2 and LICENSE.GPL3 -## included in the packaging of this file. Please review the following -## information to ensure the GNU General Public License requirements will -## be met: https://www.gnu.org/licenses/gpl-2.0.html and -## https://www.gnu.org/licenses/gpl-3.0.html. -## -## $QT_END_LICENSE$ -## -############################################################################# +# 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 installs paho testing broker @@ -46,7 +9,7 @@ source "${BASH_SOURCE%/*}/InstallFromCompressedFileFromURL.sh" source "${BASH_SOURCE%/*}/../unix/SetEnvVar.sh" CommitSHA="2873885d7e840b4e06483f36f170c609eb30527d" -PrimaryUrl="http://ci-files01-hki.intra.qt.io/input/mqtt_broker/paho.mqtt.testing-$CommitSHA.zip" +PrimaryUrl="http://ci-files01-hki.ci.qt.io/input/mqtt_broker/paho.mqtt.testing-$CommitSHA.zip" AltUrl="https://github.com/eclipse/paho.mqtt.testing/archive/$CommitSHA.zip" SHA1="1fcc4e61b12f11a1421cc8c3f379276d732e62b7" targetFolder="/opt/paho_broker" diff --git a/coin/provisioning/common/unix/openssl_3_for_android.sh b/coin/provisioning/common/unix/openssl_3_for_android.sh new file mode 100755 index 00000000..0ad79315 --- /dev/null +++ b/coin/provisioning/common/unix/openssl_3_for_android.sh @@ -0,0 +1,76 @@ +#!/usr/bin/env bash +# Copyright (C) 2023 The Qt Company Ltd. +# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only + +# This script install prebuilt OpenSSL which was built against Android NDK 25. +# OpenSSL build will fail with Android NDK 22, because it's missing platforms and sysroot directories + +set -ex +# shellcheck source=../unix/DownloadURL.sh +source "${BASH_SOURCE%/*}/../unix/DownloadURL.sh" +# shellcheck source=../unix/SetEnvVar.sh +source "${BASH_SOURCE%/*}/../unix/SetEnvVar.sh" + +version="3.0.7" +ndkVersionLatest="r26b" +ndkVersionDefault=$ndkVersionLatest +prebuiltOpensslNdkShaLatest="ea925d5a5b696916fb3650403a2eb3189c52b5ce" +prebuiltOpensslNdkShaDefault=$prebuiltOpensslNdkShaLatest + +: <<'EOB' SOURCE BUILD INSTRUCTIONS - Openssl prebuilt was made using Android NDK 25 +# Source built requires GCC and Perl to be in PATH. Rhel "requires yum install perl-IPC-Cmd" +exports_file="/tmp/export.sh" +# source previously made environmental variables. +if uname -a |grep -q "Ubuntu"; then + # shellcheck disable=SC1090 + grep -e "^export" "$HOME/.profile" > $exports_file && source $exports_file + rm -rf "$exports_file" +else + # shellcheck disable=SC1090 + grep -e "^export" "$HOME/.bashrc" > $exports_file && source $exports_file + rm -rf "$exports_file" +fi + +# ANDROID_NDK_ROOT is required during Configure +export ANDROID_NDK_ROOT=/opt/android/android-ndk-r26b + +officialUrl="https://www.openssl.org/source/openssl-$version.tar.gz" +cachedUrl="http://ci-files01-hki.ci.qt.io/input/openssl/openssl-$version.tar.gz" +targetFile="/tmp/openssl-$version.tar.gz" +sha="f20736d6aae36bcbfa9aba0d358c71601833bf27" +opensslHome="${HOME}/openssl/android/openssl-${version}" +DownloadURL "$cachedUrl" "$officialUrl" "$sha" "$targetFile" +mkdir -p "${HOME}/openssl/android/" +tar -xzf "$targetFile" -C "${HOME}/openssl/android/" +if uname -a |grep -q "Darwin"; then + TOOLCHAIN=${ANDROID_NDK_ROOT}/toolchains/llvm/prebuilt/darwin-x86_64/bin +else + TOOLCHAIN=${ANDROID_NDK_ROOT}/toolchains/llvm/prebuilt/linux-x86_64/bin +fi +cd "$opensslHome" +PATH=$TOOLCHAIN:$PATH CC=clang ./Configure android-arm +PATH=$TOOLCHAIN:$PATH CC=clang make build_generated +EOB + +function InstallPrebuiltOpenssl() { + + ndkVersion=$1 + sha=$2 + + opensslHome="${HOME}/prebuilt-openssl-${version}-for-android-ndk-${ndkVersion}" + if [[ ! -d ${opensslHome} ]]; then + prebuiltUrl="http://ci-files01-hki.ci.qt.io/input/openssl/prebuilt-openssl-${version}-for-android-ndk-${ndkVersion}.zip" + targetFile="/tmp/prebuilt-openssl-${version}-for-android-ndk-${ndkVersion}.zip" + + DownloadURL "$prebuiltUrl" "$prebuiltUrl" "$sha" "$targetFile" + unzip -o "$targetFile" -d "${HOME}" + sudo rm -f "$targetFile" + fi +} + +InstallPrebuiltOpenssl $ndkVersionDefault $prebuiltOpensslNdkShaDefault +SetEnvVar "OPENSSL_ANDROID_HOME_DEFAULT" "$opensslHome" +InstallPrebuiltOpenssl $ndkVersionLatest $prebuiltOpensslNdkShaLatest +SetEnvVar "OPENSSL_ANDROID_HOME_LATEST" "$opensslHome" + +echo "OpenSSL for Android = $version" >> ~/versions.txt diff --git a/coin/provisioning/common/unix/openssl_for_android.sh b/coin/provisioning/common/unix/openssl_for_android.sh index e2cb4395..d555e0cc 100755 --- a/coin/provisioning/common/unix/openssl_for_android.sh +++ b/coin/provisioning/common/unix/openssl_for_android.sh @@ -1,45 +1,8 @@ #!/usr/bin/env bash +# Copyright (C) 2023 The Qt Company Ltd. +# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only -############################################################################# -## -## Copyright (C) 2021 The Qt Company Ltd. -## Contact: https://www.qt.io/licensing/ -## -## This file is part of the provisioning scripts of the Qt Toolkit. -## -## $QT_BEGIN_LICENSE:LGPL$ -## Commercial License Usage -## Licensees holding valid commercial Qt licenses may use this file in -## accordance with the commercial license agreement provided with the -## Software or, alternatively, in accordance with the terms contained in -## a written agreement between you and The Qt Company. For licensing terms -## and conditions see https://www.qt.io/terms-conditions. For further -## information use the contact form at https://www.qt.io/contact-us. -## -## GNU Lesser General Public License Usage -## Alternatively, this file may be used under the terms of the GNU Lesser -## General Public License version 3 as published by the Free Software -## Foundation and appearing in the file LICENSE.LGPL3 included in the -## packaging of this file. Please review the following information to -## ensure the GNU Lesser General Public License version 3 requirements -## will be met: https://www.gnu.org/licenses/lgpl-3.0.html. -## -## GNU General Public License Usage -## Alternatively, this file may be used under the terms of the GNU -## General Public License version 2.0 or (at your option) the GNU General -## Public license version 3 or any later version approved by the KDE Free -## Qt Foundation. The licenses are as published by the Free Software -## Foundation and appearing in the file LICENSE.GPL2 and LICENSE.GPL3 -## included in the packaging of this file. Please review the following -## information to ensure the GNU General Public License requirements will -## be met: https://www.gnu.org/licenses/gpl-2.0.html and -## https://www.gnu.org/licenses/gpl-3.0.html. -## -## $QT_END_LICENSE$ -## -############################################################################# - -# This script install prebuilt OpenSSL which was built against Android NDK 21. +# This script install prebuilt OpenSSL which was built against Android NDK 25. # OpenSSL build will fail with Android NDK 22, because it's missing platforms and sysroot directories set -ex @@ -48,9 +11,14 @@ source "${BASH_SOURCE%/*}/../unix/DownloadURL.sh" # shellcheck source=../unix/SetEnvVar.sh source "${BASH_SOURCE%/*}/../unix/SetEnvVar.sh" -version="1.1.1k" -: ' SOURCE BUILD INSTRUCTIONS - Openssl prebuilt was made using Android NDK 21 -# Source built requires GCC and Perl to be in PATH. +version="3.0.7" +ndkVersionLatest="r26b" +ndkVersionDefault=$ndkVersionLatest +prebuiltOpensslNdkShaLatest="ea925d5a5b696916fb3650403a2eb3189c52b5ce" +prebuiltOpensslNdkShaDefault=$prebuiltOpensslNdkShaLatest + +: <<'EOB' SOURCE BUILD INSTRUCTIONS - Openssl prebuilt was made using Android NDK r26b +# Source built requires GCC and Perl to be in PATH. Rhel "requires yum install perl-IPC-Cmd" exports_file="/tmp/export.sh" # source previously made environmental variables. if uname -a |grep -q "Ubuntu"; then @@ -64,9 +32,9 @@ else fi officialUrl="https://www.openssl.org/source/openssl-$version.tar.gz" -cachedUrl="http://ci-files01-hki.intra.qt.io/input/openssl/openssl-$version.tar.gz" +cachedUrl="http://ci-files01-hki.ci.qt.io/input/openssl/openssl-$version.tar.gz" targetFile="/tmp/openssl-$version.tar.gz" -sha="bad9dc4ae6dcc1855085463099b5dacb0ec6130b" +sha="f20736d6aae36bcbfa9aba0d358c71601833bf27" opensslHome="${HOME}/openssl/android/openssl-${version}" DownloadURL "$cachedUrl" "$officialUrl" "$sha" "$targetFile" mkdir -p "${HOME}/openssl/android/" @@ -79,20 +47,27 @@ fi cd "$opensslHome" PATH=$TOOLCHAIN:$PATH CC=clang ./Configure android-arm PATH=$TOOLCHAIN:$PATH CC=clang make build_generated -' +EOB -if uname -a |grep -q "Darwin"; then - prebuiltUrl="http://ci-files01-hki.intra.qt.io/input/openssl/prebuilt-openssl-1_1_1_k_for-android-ndk-21_darwin.tar.gz" - sha="6e3e48441ff58596f25bc27fdc05ae43e5a7581d" -else - prebuiltUrl="http://ci-files01-hki.intra.qt.io/input/openssl/prebuilt-openssl-1_1_1_k_for-android-ndk-21.tar.gz" - sha="8c4db1eb8460d749c998a0e033b3939123cbc5ac" -fi -targetFile="/tmp/prebuilt-openssl-$version.tar.gz" -DownloadURL "$prebuiltUrl" "$prebuiltUrl" "$sha" "$targetFile" -tar -xzf "$targetFile" -C "${HOME}" +function InstallPrebuiltOpenssl() { -opensslHome="${HOME}/openssl/android/openssl-${version}" -SetEnvVar "OPENSSL_ANDROID_HOME" "$opensslHome" + ndkVersion=$1 + sha=$2 + + opensslHome="${HOME}/prebuilt-openssl-${version}-for-android-ndk-${ndkVersion}" + if [[ ! -d ${opensslHome} ]]; then + prebuiltUrl="http://ci-files01-hki.ci.qt.io/input/openssl/prebuilt-openssl-${version}-for-android-ndk-${ndkVersion}.zip" + targetFile="/tmp/prebuilt-openssl-${version}-for-android-ndk-${ndkVersion}.zip" + + DownloadURL "$prebuiltUrl" "$prebuiltUrl" "$sha" "$targetFile" + unzip -o "$targetFile" -d "${HOME}" + sudo rm -f "$targetFile" + fi +} + +InstallPrebuiltOpenssl $ndkVersionDefault $prebuiltOpensslNdkShaDefault +SetEnvVar "OPENSSL_ANDROID_HOME_DEFAULT" "$opensslHome" +InstallPrebuiltOpenssl $ndkVersionLatest $prebuiltOpensslNdkShaLatest +SetEnvVar "OPENSSL_ANDROID_HOME_LATEST" "$opensslHome" echo "OpenSSL for Android = $version" >> ~/versions.txt diff --git a/coin/provisioning/common/unix/pyenv.rb b/coin/provisioning/common/unix/pyenv.rb new file mode 100644 index 00000000..0c2781ff --- /dev/null +++ b/coin/provisioning/common/unix/pyenv.rb @@ -0,0 +1,80 @@ +class Pyenv < Formula + desc "Python version management" + homepage "https://github.com/pyenv/pyenv" + url "https://github.com/pyenv/pyenv/archive/refs/tags/v2.3.15.tar.gz" + sha256 "cf6499e1c8f18fb3473c2afdf5f14826fd42a1c4b051219faea104e38036e4bb" + license "MIT" + version_scheme 1 + head "https://github.com/pyenv/pyenv.git", branch: "master" + + livecheck do + url :stable + regex(/^v?(\d+(?:\.\d+)+(-\d+)?)$/i) + end + + bottle do + sha256 cellar: :any, arm64_ventura: "ff68efd633ee282abb0c0a6ba72f90d5248644f3143f40e15841b6ae7996e3cd" + sha256 cellar: :any, arm64_monterey: "af7621550cc7c005549d96218d2606a521e12595f2efc9ae9d8523cc46d318ba" + sha256 cellar: :any, arm64_big_sur: "69d69ceeea16fe45346d8856bf213c0a0e48220097635cf17d40b98fa8e12f83" + sha256 cellar: :any, ventura: "48fb21656dc11dc0a6ef25eb7cb5e8829485c1e1fac7d1ca596a46771a9ad91d" + sha256 cellar: :any, monterey: "96ba1d1702b7620dd9d0d2fe030af4d31c83504afea1b119910ab2e9c9fbb08c" + sha256 cellar: :any, big_sur: "f96dfcecefb40d4794a8ea3ef5981bdeab6e64c412f18f0c128b1d64fe87d913" + sha256 cellar: :any_skip_relocation, x86_64_linux: "83737a776f4828a7fb5eb289b10418b7cf829cccca3fc634d7dfe7c96aff4e7e" + end + + depends_on "autoconf" + depends_on "openssl@3" + depends_on "pkg-config" + depends_on "readline" + + uses_from_macos "python" => :test + uses_from_macos "bzip2" + uses_from_macos "libffi" + uses_from_macos "ncurses" + uses_from_macos "xz" + uses_from_macos "zlib" + + def install + inreplace "libexec/pyenv", "/usr/local", HOMEBREW_PREFIX + inreplace "libexec/pyenv-rehash", "$(command -v pyenv)", opt_bin/"pyenv" + inreplace "pyenv.d/rehash/source.bash", "$(command -v pyenv)", opt_bin/"pyenv" + + system "src/configure" + system "make", "-C", "src" + + prefix.install Dir["*"] + %w[pyenv-install pyenv-uninstall python-build].each do |cmd| + bin.install_symlink "#{prefix}/plugins/python-build/bin/#{cmd}" + end + + share.install prefix/"man" + + # Do not manually install shell completions. See: + # - pyenv/pyenv#1056#issuecomment-356818337 + # - Homebrew/homebrew-core#22727 + end + + test do + # Create a fake python version and executable. + pyenv_root = Pathname(shell_output("#{bin}/pyenv root").strip) + python_bin = pyenv_root/"versions/1.2.3/bin" + foo_script = python_bin/"foo" + foo_script.write "echo hello" + chmod "+x", foo_script + + # Test versions. + versions = shell_output("eval \"$(#{bin}/pyenv init --path)\" " \ + "&& eval \"$(#{bin}/pyenv init -)\" " \ + "&& #{bin}/pyenv versions").split("\n") + assert_equal 2, versions.length + assert_match(/\* system/, versions[0]) + assert_equal(" 1.2.3", versions[1]) + + # Test rehash. + system bin/"pyenv", "rehash" + refute_match "Cellar", (pyenv_root/"shims/foo").read + assert_equal "hello", shell_output("eval \"$(#{bin}/pyenv init --path)\" " \ + "&& eval \"$(#{bin}/pyenv init -)\" " \ + "&& PYENV_VERSION='1.2.3' foo").chomp + end +end diff --git a/coin/provisioning/common/unix/python_modules.sh b/coin/provisioning/common/unix/python_modules.sh index c4b60867..00009836 100755 --- a/coin/provisioning/common/unix/python_modules.sh +++ b/coin/provisioning/common/unix/python_modules.sh @@ -1,43 +1,6 @@ #!/usr/bin/env bash - -############################################################################# -## -## Copyright (C) 2019 The Qt Company Ltd. -## Contact: https://www.qt.io/licensing/ -## -## This file is part of the provisioning scripts of the Qt Toolkit. -## -## $QT_BEGIN_LICENSE:LGPL$ -## Commercial License Usage -## Licensees holding valid commercial Qt licenses may use this file in -## accordance with the commercial license agreement provided with the -## Software or, alternatively, in accordance with the terms contained in -## a written agreement between you and The Qt Company. For licensing terms -## and conditions see https://www.qt.io/terms-conditions. For further -## information use the contact form at https://www.qt.io/contact-us. -## -## GNU Lesser General Public License Usage -## Alternatively, this file may be used under the terms of the GNU Lesser -## General Public License version 3 as published by the Free Software -## Foundation and appearing in the file LICENSE.LGPL3 included in the -## packaging of this file. Please review the following information to -## ensure the GNU Lesser General Public License version 3 requirements -## will be met: https://www.gnu.org/licenses/lgpl-3.0.html. -## -## GNU General Public License Usage -## Alternatively, this file may be used under the terms of the GNU -## General Public License version 2.0 or (at your option) the GNU General -## Public license version 3 or any later version approved by the KDE Free -## Qt Foundation. The licenses are as published by the Free Software -## Foundation and appearing in the file LICENSE.GPL2 and LICENSE.GPL3 -## included in the packaging of this file. Please review the following -## information to ensure the GNU General Public License requirements will -## be met: https://www.gnu.org/licenses/gpl-2.0.html and -## https://www.gnu.org/licenses/gpl-3.0.html. -## -## $QT_END_LICENSE$ -## -############################################################################# +# Copyright (C) 2019 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 # needed by packaging scripts pip3 install bs4 diff --git a/coin/provisioning/common/unix/sccache.sh b/coin/provisioning/common/unix/sccache.sh index 7adfed32..8a403ba7 100755 --- a/coin/provisioning/common/unix/sccache.sh +++ b/coin/provisioning/common/unix/sccache.sh @@ -1,43 +1,6 @@ #!/usr/bin/env bash - -############################################################################# -## -## Copyright (C) 2018 The Qt Company Ltd. -## Contact: https://www.qt.io/licensing/ -## -## This file is part of the provisioning scripts of the Qt Toolkit. -## -## $QT_BEGIN_LICENSE:LGPL$ -## Commercial License Usage -## Licensees holding valid commercial Qt licenses may use this file in -## accordance with the commercial license agreement provided with the -## Software or, alternatively, in accordance with the terms contained in -## a written agreement between you and The Qt Company. For licensing terms -## and conditions see https://www.qt.io/terms-conditions. For further -## information use the contact form at https://www.qt.io/contact-us. -## -## GNU Lesser General Public License Usage -## Alternatively, this file may be used under the terms of the GNU Lesser -## General Public License version 3 as published by the Free Software -## Foundation and appearing in the file LICENSE.LGPL3 included in the -## packaging of this file. Please review the following information to -## ensure the GNU Lesser General Public License version 3 requirements -## will be met: https://www.gnu.org/licenses/lgpl-3.0.html. -## -## GNU General Public License Usage -## Alternatively, this file may be used under the terms of the GNU -## General Public License version 2.0 or (at your option) the GNU General -## Public license version 3 or any later version approved by the KDE Free -## Qt Foundation. The licenses are as published by the Free Software -## Foundation and appearing in the file LICENSE.GPL2 and LICENSE.GPL3 -## included in the packaging of this file. Please review the following -## information to ensure the GNU General Public License requirements will -## be met: https://www.gnu.org/licenses/gpl-2.0.html and -## https://www.gnu.org/licenses/gpl-3.0.html. -## -## $QT_END_LICENSE$ -## -############################################################################# +# Copyright (C) 2018 The Qt Company Ltd. +# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only set -ex @@ -50,7 +13,7 @@ function installSccache { targetVersion=$2 sha1=$3 targetFile=sccache-$targetVersion-$targetArch.tar.gz - primaryUrl=http://ci-files01-hki.intra.qt.io/input/sccache/$targetFile + primaryUrl=http://ci-files01-hki.ci.qt.io/input/sccache/$targetFile cacheUrl=https://github.com/mozilla/sccache/releases/download/$targetVersion/$targetFile DownloadURL "$primaryUrl" "$cacheUrl" "$sha1" "$targetFile" @@ -62,4 +25,11 @@ function installSccache { # disable sccache server from shutting down after being idle SetEnvVar "SCCACHE_IDLE_TIMEOUT" "0" + + # copy sccache wrapper and place as a first in PATH + mkdir -p "$HOME/sccache_wrapper" + cp "${BASH_SOURCE%/*}/sccache_wrapper" "$HOME/sccache_wrapper/sccache" + chmod 755 "$HOME/sccache_wrapper/sccache" + SetEnvVar "PATH" "$HOME/sccache_wrapper:\$PATH" + } diff --git a/coin/provisioning/common/unix/sccache_wrapper b/coin/provisioning/common/unix/sccache_wrapper new file mode 100755 index 00000000..52e39513 --- /dev/null +++ b/coin/provisioning/common/unix/sccache_wrapper @@ -0,0 +1,14 @@ +#!/usr/bin/env bash +# Call real sccache with original arguments +# sccache /opt/android/android-ndk-r23b/toolchains/llvm/prebuilt/linux-x86_64/bin/clang --target=aarch64-none ...... +real_sccache=/usr/local/sccache/sccache +$real_sccache "$@" +retval=$? + +if test $retval -ne 0 +then + echo "Sccache command failed, re-try calling build tool directly" + "$@" + retval=$? +fi +exit $retval diff --git a/coin/provisioning/common/unix/squishInstall.sh b/coin/provisioning/common/unix/squishInstall.sh index 6f165e8b..0195d84a 100755 --- a/coin/provisioning/common/unix/squishInstall.sh +++ b/coin/provisioning/common/unix/squishInstall.sh @@ -1,43 +1,6 @@ #!/usr/bin/env bash - -############################################################################# -## -## Copyright (C) 2020 The Qt Company Ltd. -## Contact: https://www.qt.io/licensing/ -## -## This file is part of the provisioning scripts of the Qt Toolkit. -## -## $QT_BEGIN_LICENSE:LGPL$ -## Commercial License Usage -## Licensees holding valid commercial Qt licenses may use this file in -## accordance with the commercial license agreement provided with the -## Software or, alternatively, in accordance with the terms contained in -## a written agreement between you and The Qt Company. For licensing terms -## and conditions see https://www.qt.io/terms-conditions. For further -## information use the contact form at https://www.qt.io/contact-us. -## -## GNU Lesser General Public License Usage -## Alternatively, this file may be used under the terms of the GNU Lesser -## General Public License version 3 as published by the Free Software -## Foundation and appearing in the file LICENSE.LGPL3 included in the -## packaging of this file. Please review the following information to -## ensure the GNU Lesser General Public License version 3 requirements -## will be met: https://www.gnu.org/licenses/lgpl-3.0.html. -## -## GNU General Public License Usage -## Alternatively, this file may be used under the terms of the GNU -## General Public License version 2.0 or (at your option) the GNU General -## Public license version 3 or any later version approved by the KDE Free -## Qt Foundation. The licenses are as published by the Free Software -## Foundation and appearing in the file LICENSE.GPL2 and LICENSE.GPL3 -## included in the packaging of this file. Please review the following -## information to ensure the GNU General Public License requirements will -## be met: https://www.gnu.org/licenses/gpl-2.0.html and -## https://www.gnu.org/licenses/gpl-3.0.html. -## -## $QT_END_LICENSE$ -## -############################################################################# +# 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 # shellcheck source=./DownloadURL.sh source "${BASH_SOURCE%/*}/DownloadURL.sh" @@ -47,46 +10,50 @@ set -ex # This script will fetch and extract pre-buildt squish package for Linux and Mac. # Squish is need by Release Test Automation (RTA) -version="6.7.1" -qtBranch="62x" +version="7.2.1" +qtBranch="66x" installFolder="/opt" squishFolder="$installFolder/squish" -preBuildCacheUrl="ci-files01-hki.intra.qt.io:/hdd/www/input/squish/jenkins_build/stable" -licenseUrl="http://ci-files01-hki.intra.qt.io/input/squish/coin/515x/.squish-3-license" -licenseSHA="e000d2f95b30b82f405b9dcbeb233cd43710a41a" +preBuildCacheUrl="ci-files01-hki.ci.qt.io:/hdd/www/input/squish/jenkins_build/stable" +licenseFile=".squish-license" +licenseBranch="squish_license" +licenseUrl="http://ci-files01-hki.ci.qt.io/input/squish/coin/$licenseBranch/$licenseFile" +licenseSHA="e84b499a2011f9bb1a6eefc7b2338d7ae770927a" +testSuiteUrl="ci-files01-hki.ci.qt.io:/hdd/www/input/squish/coin/suite_test_squish" +testSuiteLocal="/tmp/squish_test_suite" if uname -a |grep -q Darwin; then - compressedFolder="prebuild-squish-$version-515x-macx86_64.tar.gz" - sha1="1526d4d57f8025f83aad836a43e8fa0317dbddc2" + compressedFolder="prebuild-squish-$version-$qtBranch-mac.tar.gz" + sha1="7467c974b65255c86b8fccaeca90e0590d4f7c96" else compressedFolder="prebuild-squish-$version-$qtBranch-linux64.tar.gz" - sha1="d412c3389d95a65341b51d2e14cba47ce3b54a86" + sha1="950a6035c777c8ce0a50a0b3ad468044d07f898b" fi mountFolder="/tmp/squish" sudo mkdir "$mountFolder" +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" -echo "Mounting $preBuildCacheUrl to $mountFolder" +echo "Mounting Squish packages from $preBuildCacheUrl to $mountFolder" +echo "Mounting Squish test suite from $testSuiteUrl to $testSuiteLocal" if uname -a |grep -q Darwin; then sudo mount -o locallocks "$preBuildCacheUrl" "$mountFolder" + sudo mount -o locallocks "$testSuiteUrl" "$testSuiteLocal" else sudo mount "$preBuildCacheUrl" "$mountFolder" + sudo mount "$testSuiteUrl" "$testSuiteLocal" fi echo "Create $installFolder if needed" if [ ! -d "$installFolder" ]; then @@ -98,10 +65,6 @@ VerifyHash "$targetFileMount" "$sha1" echo "Uncompress $compressedFolder" sudo tar -xzf "$targetFileMount" --directory "$installFolder" -echo "Unmounting $mountFolder" -sudo diskutil unmount force "$mountFolder" || sudo umount -f "$mountFolder" - -sudo mv "$installFolder/rta_squish_$version" "$squishFolder" if uname -a |grep -q Darwin; then sudo xattr -r -c "$squishFolder" fi @@ -109,40 +72,35 @@ fi if uname -a |grep -q "Ubuntu"; then if [ ! -e "/usr/lib/tcl8.6" ]; then sudo mkdir /usr/lib/tcl8.6 - #this needs to be copied only to squish_for_qt6 - sudo cp "$squishFolder/squish_for_qt6/tcl/lib/tcl8.6/init.tcl" /usr/lib/tcl8.6/ + #this needs to be copied only to squish_for_qt65 + sudo cp "$squishFolder/squish_for_qt66/tcl/lib/tcl8.6/init.tcl" /usr/lib/tcl8.6/ fi fi -DownloadURL "$licenseUrl" "$licenseUrl" "$licenseSHA" "$HOME/.squish-3-license" +echo "Download Squish license" +DownloadURL "$licenseUrl" "$licenseUrl" "$licenseSHA" "$HOME/$licenseFile" echo "Changing ownerships" sudo chown -R qt:$usersGroup "$squishFolder" -sudo chown qt:$usersGroup "$HOME/.squish-3-license" +sudo chown qt:$usersGroup "$HOME/$licenseFile" -echo "Set commands for environment variables in .bashrc" -if uname -a |grep -q "Ubuntu"; then - echo "export SQUISH_PATH=$squishFolder/squish_for_qt6" >> ~/.profile - echo "export PATH=\$PATH:$squishFolder/squish_for_qt6/bin" >> ~/.profile -else - echo "export SQUISH_PATH=$squishFolder/squish_for_qt6" >> ~/.bashrc - echo "export PATH=\$PATH:$squishFolder/squish_for_qt6/bin" >> ~/.bashrc -fi echo "Verifying Squish, available installations:" ls -la $squishFolder - -if "$squishFolder/squish_for_qt5/bin/squishrunner" --testsuite "$squishFolder/suite_test_squish" | grep "Squish test run successfully" ; then - echo "Squish for Qt5 installation tested successfully" -else - echo "Squish for Qt5 test failed! Package wasn't installed correctly." - exit 1 -fi -if "$squishFolder/squish_for_qt6/bin/squishrunner" --testsuite "$squishFolder/suite_test_squish" | grep "Squish test run successfully" ; then - echo "Squish for Qt6 installation tested successfully" -else - echo "Squish for Qt6 test failed! Package wasn't installed correctly." - exit 1 -fi - - +cd $squishFolder + +for squishInstallation in */ ; do + if "$squishInstallation/bin/squishrunner" --testsuite "$testSuiteLocal" | grep "Squish test run successfully" ; then + echo "Squish in $squishInstallation tested successfully" + else + echo "Testing Squish in $squishInstallation failed! Squish wasn't installed correctly." + exit 1 + fi +done + +echo "Clean up installation temp dirs" +echo "- Unmounting $mountFolder" +sudo diskutil unmount force "$mountFolder" || sudo umount -f "$mountFolder" || true + +echo "- Unmounting $testSuiteLocal" +sudo diskutil unmount force "$testSuiteLocal" || sudo umount -f "$testSuiteLocal" || true diff --git a/coin/provisioning/common/unix/telegraf_install.sh b/coin/provisioning/common/unix/telegraf_install.sh index 6436c8f8..7e1f8a47 100755 --- a/coin/provisioning/common/unix/telegraf_install.sh +++ b/coin/provisioning/common/unix/telegraf_install.sh @@ -1,43 +1,6 @@ -#!/bin/sh - -############################################################################# -## -## Copyright (C) 2019 The Qt Company Ltd. -## Contact: https://www.qt.io/licensing/ -## -## This file is part of the provisioning scripts of the Qt Toolkit. -## -## $QT_BEGIN_LICENSE:LGPL$ -## Commercial License Usage -## Licensees holding valid commercial Qt licenses may use this file in -## accordance with the commercial license agreement provided with the -## Software or, alternatively, in accordance with the terms contained in -## a written agreement between you and The Qt Company. For licensing terms -## and conditions see https://www.qt.io/terms-conditions. For further -## information use the contact form at https://www.qt.io/contact-us. -## -## GNU Lesser General Public License Usage -## Alternatively, this file may be used under the terms of the GNU Lesser -## General Public License version 3 as published by the Free Software -## Foundation and appearing in the file LICENSE.LGPL3 included in the -## packaging of this file. Please review the following information to -## ensure the GNU Lesser General Public License version 3 requirements -## will be met: https://www.gnu.org/licenses/lgpl-3.0.html. -## -## GNU General Public License Usage -## Alternatively, this file may be used under the terms of the GNU -## General Public License version 2.0 or (at your option) the GNU General -## Public license version 3 or any later version approved by the KDE Free -## Qt Foundation. The licenses are as published by the Free Software -## Foundation and appearing in the file LICENSE.GPL2 and LICENSE.GPL3 -## included in the packaging of this file. Please review the following -## information to ensure the GNU General Public License requirements will -## be met: https://www.gnu.org/licenses/gpl-2.0.html and -## https://www.gnu.org/licenses/gpl-3.0.html. -## -## $QT_END_LICENSE$ -## -############################################################################# +#!/bin/bash +# Copyright (C) 2019 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 telegraf and ioping and our script telegraf-ioping.sh @@ -52,46 +15,56 @@ ######################## BOILERPLATE ########################### set -e - PROVISIONING_DIR="$(dirname "$0")/../../" -. "$PROVISIONING_DIR"/common/unix/common.sourced.sh - -. "$PROVISIONING_DIR"/common/unix/DownloadURL.sh +# shellcheck source=./common.sourced.sh +source "$PROVISIONING_DIR"/common/unix/common.sourced.sh +# shellcheck source=./DownloadURL.sh +source "$PROVISIONING_DIR"/common/unix/DownloadURL.sh -is_script_executed telegraf_install.sh \ +is_script_executed telegraf_install.sh \ || fatal "Script telegraf_install.sh should be executed, not sourced" ################################################################ -[ "$PROVISIONING_OS" = linux ] \ - && ioping_sha256=259abf04bcb84f4126ff97c04b6651e1cf5ea6d8a9ff364c769a26c95b6eeb44 \ - || ioping_sha256=55de6a2f1a5343e0ce8df31d82d47a9e79c7e612edbc6dfb39b5fc6fb358b2e3 -DownloadURL "http://ci-files01-hki.intra.qt.io/input/ioping/ioping.${PROVISIONING_OS}-${PROVISIONING_ARCH}" \ - '' "$ioping_sha256" ioping +if [ "$PROVISIONING_OS" = linux ] +then ioping_sha256=259abf04bcb84f4126ff97c04b6651e1cf5ea6d8a9ff364c769a26c95b6eeb44 +else ioping_sha256=55de6a2f1a5343e0ce8df31d82d47a9e79c7e612edbc6dfb39b5fc6fb358b2e3 +fi + +DownloadURL "http://ci-files01-hki.ci.qt.io/input/ioping/ioping.${PROVISIONING_OS}-${PROVISIONING_ARCH}" \ + '' "$ioping_sha256" ioping $CMD_INSTALL -m 755 ./ioping /usr/bin/ rm -f ioping # 2. Install custom ioping monitoring script -$CMD_INSTALL -m 755 "$PROVISIONING_DIR"/common/shared/telegraf/telegraf-ioping.sh /usr/bin/ +$CMD_INSTALL -m 755 "$PROVISIONING_DIR"/common/shared/telegraf/telegraf-ioping.sh /usr/bin/ # 3. Download and install telegraf -[ x"$PROVISIONING_OS" = xmacos ] && os=darwin || os=linux -[ x"$PROVISIONING_ARCH" = xx86 ] && arch=i386 || arch=amd64 +if [ "$PROVISIONING_OS" = macos ] +then os=darwin +else os=linux +fi + +if [ "$PROVISIONING_ARCH" = x86 ] +then arch=i386 +else arch=amd64 +fi + package_filename=telegraf-1.12.6_${os}_${arch}.tar.gz package_sha256_list="$PROVISIONING_DIR"/common/shared/telegraf/telegraf_packages.sha256.txt package_sha256=$(sed -n "s/.*$package_filename *//p" "$package_sha256_list") -DownloadURL \ - http://ci-files01-hki.intra.qt.io/input/telegraf/"$package_filename" \ - https://dl.influxdata.com/telegraf/releases/"$package_filename" \ - "$package_sha256" \ +DownloadURL \ + http://ci-files01-hki.ci.qt.io/input/telegraf/"$package_filename" \ + https://dl.influxdata.com/telegraf/releases/"$package_filename" \ + "$package_sha256" \ telegraf.tar.gz tar -xzf ./telegraf.tar.gz -C /tmp telegraf_binary=$(find /tmp/telegraf* -name telegraf -type f | grep /bin/ | head -1) -$CMD_INSTALL -m 755 "$telegraf_binary" /usr/bin/ +$CMD_INSTALL -m 755 "$telegraf_binary" /usr/bin/ rm -rf /tmp/telegraf* # 4. Edit config file with passwords diff --git a/coin/provisioning/common/unix/telegraf_password.sh b/coin/provisioning/common/unix/telegraf_password.sh index a8327de9..24df7054 100755 --- a/coin/provisioning/common/unix/telegraf_password.sh +++ b/coin/provisioning/common/unix/telegraf_password.sh @@ -1,51 +1,14 @@ -#!/bin/sh - -############################################################################# -## -## Copyright (C) 2019 The Qt Company Ltd. -## Contact: https://www.qt.io/licensing/ -## -## This file is part of the provisioning scripts of the Qt Toolkit. -## -## $QT_BEGIN_LICENSE:LGPL$ -## Commercial License Usage -## Licensees holding valid commercial Qt licenses may use this file in -## accordance with the commercial license agreement provided with the -## Software or, alternatively, in accordance with the terms contained in -## a written agreement between you and The Qt Company. For licensing terms -## and conditions see https://www.qt.io/terms-conditions. For further -## information use the contact form at https://www.qt.io/contact-us. -## -## GNU Lesser General Public License Usage -## Alternatively, this file may be used under the terms of the GNU Lesser -## General Public License version 3 as published by the Free Software -## Foundation and appearing in the file LICENSE.LGPL3 included in the -## packaging of this file. Please review the following information to -## ensure the GNU Lesser General Public License version 3 requirements -## will be met: https://www.gnu.org/licenses/lgpl-3.0.html. -## -## GNU General Public License Usage -## Alternatively, this file may be used under the terms of the GNU -## General Public License version 2.0 or (at your option) the GNU General -## Public license version 3 or any later version approved by the KDE Free -## Qt Foundation. The licenses are as published by the Free Software -## Foundation and appearing in the file LICENSE.GPL2 and LICENSE.GPL3 -## included in the packaging of this file. Please review the following -## information to ensure the GNU General Public License requirements will -## be met: https://www.gnu.org/licenses/gpl-2.0.html and -## https://www.gnu.org/licenses/gpl-3.0.html. -## -## $QT_END_LICENSE$ -## -############################################################################# +#!/bin/bash +# Copyright (C) 2019 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 ######################## BOILERPLATE ########################### set -e - PROVISIONING_DIR="$(dirname "$0")/../../" -. "$PROVISIONING_DIR"/common/unix/common.sourced.sh +# shellcheck source=./common.sourced.sh +source "${BASH_SOURCE%/*}/common.sourced.sh" is_script_executed telegraf_password.sh \ || fatal "Script telegraf_password.sh should be executed, not sourced, to avoid leaking secrets in the logs" diff --git a/coin/provisioning/common/windows/3dstudio_3rdparty.ps1 b/coin/provisioning/common/windows/3dstudio_3rdparty.ps1 index bbef2f04..afbc7ff1 100644 --- a/coin/provisioning/common/windows/3dstudio_3rdparty.ps1 +++ b/coin/provisioning/common/windows/3dstudio_3rdparty.ps1 @@ -2,7 +2,7 @@ $zip = Get-DownloadLocation "Qt3DStudio-3rdparty-win64-CI.zip" -$url = "http://ci-files01-hki.intra.qt.io/input/3rdparty/Qt3DStudio-3rdparty-win64-CI.zip" +$url = "http://ci-files01-hki.ci.qt.io/input/3rdparty/Qt3DStudio-3rdparty-win64-CI.zip" Download $url $url $zip Verify-Checksum $zip "08D740D2EFB4CBCDE7D012908B89AA48DE5CD4E1" diff --git a/coin/provisioning/common/windows/allow-remote-desktop-access.ps1 b/coin/provisioning/common/windows/allow-remote-desktop-access.ps1 index 10b0453f..b17f443c 100644 --- a/coin/provisioning/common/windows/allow-remote-desktop-access.ps1 +++ b/coin/provisioning/common/windows/allow-remote-desktop-access.ps1 @@ -1,41 +1,5 @@ -############################################################################ -## -## Copyright (C) 2017 The Qt Company Ltd. -## Contact: https://www.qt.io/licensing/ -## -## This file is part of the provisioning scripts of the Qt Toolkit. -## -## $QT_BEGIN_LICENSE:LGPL$ -## Commercial License Usage -## Licensees holding valid commercial Qt licenses may use this file in -## accordance with the commercial license agreement provided with the -## Software or, alternatively, in accordance with the terms contained in -## a written agreement between you and The Qt Company. For licensing terms -## and conditions see https://www.qt.io/terms-conditions. For further -## information use the contact form at https://www.qt.io/contact-us. -## -## GNU Lesser General Public License Usage -## Alternatively, this file may be used under the terms of the GNU Lesser -## General Public License version 3 as published by the Free Software -## Foundation and appearing in the file LICENSE.LGPL3 included in the -## packaging of this file. Please review the following information to -## ensure the GNU Lesser General Public License version 3 requirements -## will be met: https://www.gnu.org/licenses/lgpl-3.0.html. -## -## GNU General Public License Usage -## Alternatively, this file may be used under the terms of the GNU -## General Public License version 2.0 or (at your option) the GNU General -## Public license version 3 or any later version approved by the KDE Free -## Qt Foundation. The licenses are as published by the Free Software -## Foundation and appearing in the file LICENSE.GPL2 and LICENSE.GPL3 -## included in the packaging of this file. Please review the following -## information to ensure the GNU General Public License requirements will -## be met: https://www.gnu.org/licenses/gpl-2.0.html and -## https://www.gnu.org/licenses/gpl-3.0.html. -## -## $QT_END_LICENSE$ -## -############################################################################# +# 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 . "$PSScriptRoot\helpers.ps1" # This script allows the Windows Remote Desktop Access diff --git a/coin/provisioning/common/windows/android-openssl.ps1 b/coin/provisioning/common/windows/android-openssl.ps1 index 325f6048..3542c907 100644 --- a/coin/provisioning/common/windows/android-openssl.ps1 +++ b/coin/provisioning/common/windows/android-openssl.ps1 @@ -1,41 +1,5 @@ -############################################################################ -## -## Copyright (C) 2021 The Qt Company Ltd. -## Contact: https://www.qt.io/licensing/ -## -## This file is part of the provisioning scripts of the Qt Toolkit. -## -## $QT_BEGIN_LICENSE:LGPL$ -## Commercial License Usage -## Licensees holding valid commercial Qt licenses may use this file in -## accordance with the commercial license agreement provided with the -## Software or, alternatively, in accordance with the terms contained in -## a written agreement between you and The Qt Company. For licensing terms -## and conditions see https://www.qt.io/terms-conditions. For further -## information use the contact form at https://www.qt.io/contact-us. -## -## GNU Lesser General Public License Usage -## Alternatively, this file may be used under the terms of the GNU Lesser -## General Public License version 3 as published by the Free Software -## Foundation and appearing in the file LICENSE.LGPL3 included in the -## packaging of this file. Please review the following information to -## ensure the GNU Lesser General Public License version 3 requirements -## will be met: https://www.gnu.org/licenses/lgpl-3.0.html. -## -## GNU General Public License Usage -## Alternatively, this file may be used under the terms of the GNU -## General Public License version 2.0 or (at your option) the GNU General -## Public license version 3 or any later version approved by the KDE Free -## Qt Foundation. The licenses are as published by the Free Software -## Foundation and appearing in the file LICENSE.GPL2 and LICENSE.GPL3 -## included in the packaging of this file. Please review the following -## information to ensure the GNU General Public License requirements will -## be met: https://www.gnu.org/licenses/gpl-2.0.html and -## https://www.gnu.org/licenses/gpl-3.0.html. -## -## $QT_END_LICENSE$ -## -############################################################################# +# 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 # Requires: 7z, perl and msys @@ -51,57 +15,88 @@ if (Is64BitWinHost) { # Msys need to be installed to target machine # More info and building instructions can be found from http://doc.qt.io/qt-5/opensslsupport.html -$version = "1.1.1k" -$zip = Get-DownloadLocation ("openssl-$version.tar.gz") -$prebuilt_zip = Get-DownloadLocation ("openssl-android-master-$version.zip") -$sha1 = "bad9dc4ae6dcc1855085463099b5dacb0ec6130b" -$prebuilt_sha1 = "07fad2a44ffa90261a779782bd64fe2304487945" -$destination = "C:\Utils\openssl-android-master" -$prebuilt_url = "\\ci-files01-hki.intra.qt.io\provisioning\openssl\openssl-android-master-$version.zip" - -# msys unix style paths -$ndkPath = "/c/Utils/Android/android-ndk-r22b" -$openssl_path = "/c/Utils/openssl-android-master" -$cc_path = "$ndkPath/toolchains/llvm/prebuilt/windows-x86_64/bin" -if ((Test-Path $prebuilt_url)) { - Download $prebuilt_url $prebuilt_url $prebuilt_zip - Verify-Checksum $prebuilt_zip $prebuilt_sha1 - Extract-7Zip $prebuilt_zip C:\Utils - Remove $prebuilt_zip -} else { - Download https://www.openssl.org/source/openssl-$version.tar.gz \\ci-files01-hki.intra.qt.io\provisioning\openssl\openssl-$version.tar.gz $zip - Verify-Checksum $zip $sha1 +$openssl_version = "3.0.7" +$ndk_version_latest = "r26b" +$ndk_version_default = "$ndk_version_latest" +$openssl_compressed = Get-DownloadLocation ("openssl-${openssl_version}.tar.gz") +$openssl_sha1 = "f20736d6aae36bcbfa9aba0d358c71601833bf27" +$prebuilt_sha1_ndk_latest = "ea925d5a5b696916fb3650403a2eb3189c52b5ce" +$prebuilt_sha1_ndk_default = "$prebuilt_sha1_ndk_latest" +$destination_prefix = "C:\Utils\prebuilt-openssl-${openssl_version}-for-android-ndk" + +function Install($1, $2) { + $ndk_version = $1 + $prebuilt_sha1 = $2 + + # msys unix style paths + $openssl_path = "/c/Utils/openssl-android-master" + $ndk_path = "/c/Utils/Android/android-ndk-${ndk_version}" + $cc_path = "$ndk_path/toolchains/llvm/prebuilt/windows-x86_64/bin" - Extract-7Zip $zip C:\Utils\tmp - Extract-7Zip C:\Utils\tmp\openssl-$version.tar C:\Utils\tmp - Move-Item C:\Utils\tmp\openssl-${version} $destination - Remove "$zip" + $prebuilt_url_openssl = "\\ci-files01-hki.ci.qt.io\provisioning\openssl\prebuilt-openssl-${openssl_version}-for-android-ndk-${ndk_version}.zip" + $prebuilt_zip_openssl = Get-DownloadLocation ("prebuilt-openssl-${openssl_version}-for-android-ndk-${ndk_version}.zip") - Write-Host "Configuring OpenSSL $version for Android..." - Push-Location $destination - # $ must be escaped in powershell... + if ((Test-Path $prebuilt_url_openssl)) { + Write-Host "Install prebuilt OpenSSL for Android" + Download $prebuilt_url_openssl $prebuilt_url_openssl $prebuilt_zip_openssl + Verify-Checksum $prebuilt_zip_openssl $prebuilt_sha1 + Extract-7Zip $prebuilt_zip_openssl C:\Utils + Remove $prebuilt_zip_openssl + } else { + Write-Host "Build OpenSSL for Android from sources" + # openssl-${openssl_version}_fixes-ndk_root.tar.gz package includes fixes from https://github.com/openssl/openssl/pull/17322 and string ANDROID_NDK_HOME is replaced with ANDROID_NDK_ROOT in Configurations/15-android.conf + Download \\ci-files01-hki.ci.qt.io\provisioning\openssl\openssl-${openssl_version}.tar.gz \\ci-files01-hki.ci.qt.io\provisioning\openssl\openssl-${openssl_version}.tar.gz $openssl_compressed + Verify-Checksum $openssl_compressed $openssl_sha1 - function CheckExitCode { + Extract-7Zip $openssl_compressed C:\Utils\tmp + Extract-7Zip C:\Utils\tmp\openssl-${openssl_version}.tar C:\Utils\tmp + Move-Item C:\Utils\tmp\openssl-${openssl_version} ${destination}-${ndk_version} + Remove "$openssl_compressed" - param ( - $p - ) + Write-Host "Configuring OpenSSL $openssl_version for Android..." + Push-Location ${destination}-${ndk_version} + # $ must be escaped in powershell... - if ($p.ExitCode) { - Write-host "Process failed with exit code: $($p.ExitCode)" - exit 1 + function CheckExitCode { + + param ( + $p + ) + + if ($p.ExitCode) { + Write-host "Process failed with exit code: $($p.ExitCode)" + exit 1 + } } + + # ANDROID_NDK_ROOT needs to be in environment variables before running this script + # Set-EnvironmentVariable "ANDROID_NDK_ROOT" "C:\Utils\Android\android-ndk-r26b" + + $make_install = Start-Process -NoNewWindow -Wait -PassThru -ErrorAction Stop -FilePath "$msys_bash" -ArgumentList ("-lc", "`"yes | pacman -S make`"") + CheckExitCode $make_install + + $configure = Start-Process -NoNewWindow -Wait -PassThru -ErrorAction Stop -FilePath "$msys_bash" -ArgumentList ("-lc", "`"pushd $openssl_path; ANDROID_NDK_ROOT=$ndk_path PATH=${cc_path}:`$PATH CC=clang $openssl_path/Configure shared android-arm`"") + CheckExitCode $configure + + $make = Start-Process -NoNewWindow -Wait -PassThru -ErrorAction Stop -FilePath "$msys_bash" -ArgumentList ("-lc", "`"pushd $openssl_path; ANDROID_NDK_ROOT=$ndk_path PATH=${cc_path}:`$PATH CC=clang make -f $openssl_path/Makefile build_generated`"") + CheckExitCode $make + + Pop-Location + Remove-item C:\Utils\tmp -Recurse -Confirm:$false } - $configure = Start-Process -NoNewWindow -Wait -PassThru -ErrorAction Stop -FilePath "$msys_bash" -ArgumentList ("-lc", "`"pushd $openssl_path; ANDROID_NDK_ROOT=$ndkPath PATH=${cc_path}:`$PATH CC=clang $openssl_path/Configure shared android-arm`"") - CheckExitCode $configure +} - $make = Start-Process -NoNewWindow -Wait -PassThru -ErrorAction Stop -FilePath "$msys_bash" -ArgumentList ("-lc", "`"pushd $openssl_path; ANDROID_NDK_ROOT=$ndkPath PATH=${cc_path}:`$PATH CC=clang make -f $openssl_path/Makefile build_generated`"") - CheckExitCode $make +# Install NDK Default version +Install $ndk_version_default $prebuilt_sha1_ndk_default - Pop-Location - Remove-item C:\Utils\tmp -Recurse -Confirm:$false +if (Test-Path -Path ${destination_prefix}-${ndk_version_latest}) { + Write-Host "OpenSSL for Android Latest version is the same than Default. Installation done." +} else { + # Install NDK Latest version + Install $ndk_version_latest $prebuilt_sha1_ndk_latest } -Set-EnvironmentVariable "OPENSSL_ANDROID_HOME" "$destination" -Write-Output "Android OpenSSL = $version" >> ~/versions.txt +Set-EnvironmentVariable "OPENSSL_ANDROID_HOME_DEFAULT" "${destination_prefix}-${ndk_version_default}" +Set-EnvironmentVariable "OPENSSL_ANDROID_HOME_LATEST" "${destination_prefix}-${ndk_version_latest}" +Write-Output "Android OpenSSL = $openssl_version" >> ~/versions.txt diff --git a/coin/provisioning/common/windows/android.ps1 b/coin/provisioning/common/windows/android.ps1 index fa774153..b594238c 100644 --- a/coin/provisioning/common/windows/android.ps1 +++ b/coin/provisioning/common/windows/android.ps1 @@ -1,41 +1,5 @@ -############################################################################ -## -## Copyright (C) 2020 The Qt Company Ltd. -## Contact: https://www.qt.io/licensing/ -## -## This file is part of the provisioning scripts of the Qt Toolkit. -## -## $QT_BEGIN_LICENSE:LGPL$ -## Commercial License Usage -## Licensees holding valid commercial Qt licenses may use this file in -## accordance with the commercial license agreement provided with the -## Software or, alternatively, in accordance with the terms contained in -## a written agreement between you and The Qt Company. For licensing terms -## and conditions see https://www.qt.io/terms-conditions. For further -## information use the contact form at https://www.qt.io/contact-us. -## -## GNU Lesser General Public License Usage -## Alternatively, this file may be used under the terms of the GNU Lesser -## General Public License version 3 as published by the Free Software -## Foundation and appearing in the file LICENSE.LGPL3 included in the -## packaging of this file. Please review the following information to -## ensure the GNU Lesser General Public License version 3 requirements -## will be met: https://www.gnu.org/licenses/lgpl-3.0.html. -## -## GNU General Public License Usage -## Alternatively, this file may be used under the terms of the GNU -## General Public License version 2.0 or (at your option) the GNU General -## Public license version 3 or any later version approved by the KDE Free -## Qt Foundation. The licenses are as published by the Free Software -## Foundation and appearing in the file LICENSE.GPL2 and LICENSE.GPL3 -## included in the packaging of this file. Please review the following -## information to ensure the GNU General Public License requirements will -## be met: https://www.gnu.org/licenses/gpl-2.0.html and -## https://www.gnu.org/licenses/gpl-3.0.html. -## -## $QT_END_LICENSE$ -## -############################################################################# +# 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 . "$PSScriptRoot\helpers.ps1" @@ -46,23 +10,26 @@ # That's why we need to use Andoid-21 API version in Qt 5.9. # NDK -$ndkVersion = "r22b" -$ndkCachedUrl = "\\ci-files01-hki.intra.qt.io\provisioning\android\android-ndk-$ndkVersion-windows-x86_64.zip" -$ndkOfficialUrl = "https://dl.google.com/android/repository/android-ndk-$ndkVersion-windows-x86_64.zip" -$ndkChecksum = "96ba1a049303cf6bf3ee84cfd64d6bcd43486a50" -$ndkFolder = "c:\Utils\Android\android-ndk-$ndkVersion" -$ndkZip = "c:\Windows\Temp\android_ndk_$ndkVersion.zip" +$ndkVersionLatest = "r26b" +$ndkVersionDefault = $ndkVersionLatest +$ndkChecksumLatest = "17453c61a59e848cffb8634f2c7b322417f1732e" +$ndkChecksumDefault = $ndkChecksumLatest +$ndkCachedUrlLatest = "\\ci-files01-hki.ci.qt.io\provisioning\android\android-ndk-$ndkVersionLatest-windows.zip" +$ndkOfficialUrlLatest = "https://dl.google.com/android/repository/android-ndk-$ndkVersionLatest-windows.zip" +$ndkCachedUrlDefault = "\\ci-files01-hki.ci.qt.io\provisioning\android\android-ndk-$ndkVersionDefault-windows.zip" +$ndkOfficialUrlDefault = "https://dl.google.com/android/repository/android-ndk-$ndkVersionDefault-windows.zip" +$ndkZip = "C:\Windows\Temp\android_ndk.zip" # SDK $toolsVersion = "2.1" $toolsFile = "commandlinetools-win-6609375_latest.zip" $sdkApi = "ANDROID_API_VERSION" -$sdkApiLevel = "android-31" -$sdkBuildToolsVersion = "31.0.0" -$toolsCachedUrl= "\\ci-files01-hki.intra.qt.io\provisioning\android\$toolsFile" +$sdkApiLevel = "android-34" +$sdkBuildToolsVersion = "34.0.0" +$toolsCachedUrl= "\\ci-files01-hki.ci.qt.io\provisioning\android\$toolsFile" $toolsOfficialUrl = "https://dl.google.com/android/repository/$toolsFile" $toolsChecksum = "e2e19c2ff584efa87ef0cfdd1987f92881323208" -$toolsFolder = "c:\Utils\Android\cmdline-tools" +$cmdFolder = "c:\Utils\Android\cmdline-tools" $sdkZip = "c:\Windows\Temp\$toolsFile" @@ -71,19 +38,38 @@ function Install($1, $2, $3, $4) { $zip = $2 $checksum = $3 $offcialUrl = $4 + $tempExtractDir = "C:\Windows\Temp\android_extract" Download $offcialUrl $cacheUrl $zip Verify-Checksum $zip "$checksum" - Extract-7Zip $zip C:\Utils\Android + Extract-7Zip $zip $tempExtractDir + $baseDirectory = (Get-ChildItem $tempExtractDir -Attributes D | Select-Object -First 1).Name + Move-Item -Path ($tempExtractDir + "\" + $baseDirectory) -Destination "C:\Utils\Android\$baseDirectory" -Force + Remove $zip + + return "C:\Utils\Android\$baseDirectory" } -Write-Host "Installing Android NDK $nkdVersion" -Install $ndkCachedUrl $ndkZip $ndkChecksum $ndkOfficialUrl -Set-EnvironmentVariable "ANDROID_NDK_ROOT" $ndkFolder +New-Item -ItemType Directory -Path C:\Utils\Android\ +New-Item -ItemType Directory -Path C:\Windows\Temp\android_extract +Write-Host "Installing Android NDK $ndkVersionDefault" +$ndkFolderDefault = Install $ndkCachedUrlDefault $ndkZip $ndkChecksumDefault $ndkOfficialUrlDefault +Set-EnvironmentVariable "ANDROID_NDK_ROOT_DEFAULT" $ndkFolderDefault +# To be used by vcpkg +Set-EnvironmentVariable "ANDROID_NDK_HOME" $ndkFolderDefault +$env:ANDROID_NDK_HOME = "$ndkFolderDefault" + +if ($ndkVersionDefault -eq $ndkVersionLatest) { + Write-Host "Android Latest version is the same than Default. NDK installation done." +} else { + Write-Host "Installing Android NDK $nkdVersionLatest" + $ndkFolderLatest = Install $ndkCachedUrlLatest $ndkZip $ndkChecksumLatest $ndkOfficialUrlLatest + Set-EnvironmentVariable "ANDROID_NDK_ROOT_LATEST" $ndkFolderLatest +} -Install $toolsCachedUrl $sdkZip $toolsChecksum $sdkOfficialUrl -New-Item -ItemType directory -Path $toolsFolder -Move-Item -Path C:\Utils\Android\tools -Destination $toolsFolder\ +$toolsFolder = Install $toolsCachedUrl $sdkZip $toolsChecksum $toolsOfficialUrl +New-Item -ItemType directory -Path $cmdFolder +Move-Item -Path $toolsFolder -Destination $cmdFolder\ Set-EnvironmentVariable "ANDROID_SDK_ROOT" "C:\Utils\Android" Set-EnvironmentVariable "ANDROID_API_VERSION" $sdkApiLevel @@ -106,7 +92,7 @@ Out-File -FilePath C:\Utils\Android\licenses\android-sdk-license -Encoding utf8 # Attempt to catch all errors of sdkmanager.bat, even when hidden behind a pipeline. $ErrorActionPreference = "Stop" -cd $toolsFolder\tools\bin\ +cd $cmdFolder\tools\bin\ $sdkmanager_args += "platforms;$sdkApiLevel", "platform-tools", "build-tools;$sdkBuildToolsVersion", "--sdk_root=C:\Utils\Android" $command = 'for($i=0;$i -lt 6;$i++) { $response += "y`n"}; $response | .\sdkmanager.bat @sdkmanager_args | Out-Null' Invoke-Expression $command @@ -117,4 +103,4 @@ cmd /c "dir C:\Utils\android" Write-Output "Android SDK tools= $toolsVersion" >> ~/versions.txt Write-Output "Android SDK Build Tools = $sdkBuildToolsVersion" >> ~/versions.txt Write-Output "Android SDK Api Level = $sdkApiLevel" >> ~/versions.txt -Write-Output "Android NDK = $ndkVersion" >> ~/versions.txt +Write-Output "Android NDK = $ndkVersionDefault" >> ~/versions.txt diff --git a/coin/provisioning/common/windows/cmake.ps1 b/coin/provisioning/common/windows/cmake.ps1 index f5778eb9..af1e2872 100644 --- a/coin/provisioning/common/windows/cmake.ps1 +++ b/coin/provisioning/common/windows/cmake.ps1 @@ -1,59 +1,45 @@ -############################################################################# -## -## Copyright (C) 2019 The Qt Company Ltd. -## Contact: https://www.qt.io/licensing/ -## -## This file is part of the provisioning scripts of the Qt Toolkit. -## -## $QT_BEGIN_LICENSE:LGPL$ -## Commercial License Usage -## Licensees holding valid commercial Qt licenses may use this file in -## accordance with the commercial license agreement provided with the -## Software or, alternatively, in accordance with the terms contained in -## a written agreement between you and The Qt Company. For licensing terms -## and conditions see https://www.qt.io/terms-conditions. For further -## information use the contact form at https://www.qt.io/contact-us. -## -## GNU Lesser General Public License Usage -## Alternatively, this file may be used under the terms of the GNU Lesser -## General Public License version 3 as published by the Free Software -## Foundation and appearing in the file LICENSE.LGPL3 included in the -## packaging of this file. Please review the following information to -## ensure the GNU Lesser General Public License version 3 requirements -## will be met: https://www.gnu.org/licenses/lgpl-3.0.html. -## -## GNU General Public License Usage -## Alternatively, this file may be used under the terms of the GNU -## General Public License version 2.0 or (at your option) the GNU General -## Public license version 3 or any later version approved by the KDE Free -## Qt Foundation. The licenses are as published by the Free Software -## Foundation and appearing in the file LICENSE.GPL2 and LICENSE.GPL3 -## included in the packaging of this file. Please review the following -## information to ensure the GNU General Public License requirements will -## be met: https://www.gnu.org/licenses/gpl-2.0.html and -## https://www.gnu.org/licenses/gpl-3.0.html. -## -## $QT_END_LICENSE$ -## -############################################################################# +# Copyright (C) 2019 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\helpers.ps1" -$majorminorversion = "3.21" -$version = "3.21.1" - -$zip = Get-DownloadLocation ("cmake-" + $version + "-windows-i386.zip") -$officialurl = "https://cmake.org/files/v" + $majorminorversion + "/cmake-" + $version + "-windows-i386.zip" -$cachedurl = "\\ci-files01-hki.intra.qt.io\provisioning\cmake\cmake-" + $version + "-windows-i386.zip" +$majorminorversion = "3.27" +$version = "3.27.7" + +$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 "7271b8c568f428af433f3aae80c292ef868993c5" +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/conan.ps1 b/coin/provisioning/common/windows/conan.ps1 index 50b731a0..22247897 100644 --- a/coin/provisioning/common/windows/conan.ps1 +++ b/coin/provisioning/common/windows/conan.ps1 @@ -1,45 +1,9 @@ -############################################################################ -## -## Copyright (C) 2021 The Qt Company Ltd. -## Contact: https://www.qt.io/licensing/ -## -## This file is part of the provisioning scripts of the Qt Toolkit. -## -## $QT_BEGIN_LICENSE:LGPL$ -## Commercial License Usage -## Licensees holding valid commercial Qt licenses may use this file in -## accordance with the commercial license agreement provided with the -## Software or, alternatively, in accordance with the terms contained in -## a written agreement between you and The Qt Company. For licensing terms -## and conditions see https://www.qt.io/terms-conditions. For further -## information use the contact form at https://www.qt.io/contact-us. -## -## GNU Lesser General Public License Usage -## Alternatively, this file may be used under the terms of the GNU Lesser -## General Public License version 3 as published by the Free Software -## Foundation and appearing in the file LICENSE.LGPL3 included in the -## packaging of this file. Please review the following information to -## ensure the GNU Lesser General Public License version 3 requirements -## will be met: https://www.gnu.org/licenses/lgpl-3.0.html. -## -## GNU General Public License Usage -## Alternatively, this file may be used under the terms of the GNU -## General Public License version 2.0 or (at your option) the GNU General -## Public license version 3 or any later version approved by the KDE Free -## Qt Foundation. The licenses are as published by the Free Software -## Foundation and appearing in the file LICENSE.GPL2 and LICENSE.GPL3 -## included in the packaging of this file. Please review the following -## information to ensure the GNU General Public License requirements will -## be met: https://www.gnu.org/licenses/gpl-2.0.html and -## https://www.gnu.org/licenses/gpl-3.0.html. -## -## $QT_END_LICENSE$ -## -############################################################################ +# 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 . "$PSScriptRoot\helpers.ps1" -$scriptsPath = "C:\Python36\Scripts" +$scriptsPath = [System.Environment]::GetEnvironmentVariable('PIP3_PATH', [System.EnvironmentVariableTarget]::Machine) $version = "1.39.0" Run-Executable "$scriptsPath\pip3.exe" "install conan==$version" Write-Output "Conan = $version" >> ~\versions.txt @@ -51,8 +15,8 @@ Set-EnvironmentVariable "CONAN_V2_MODE" "1" # This is temporary solution for installing packages provided by Conan until we have fixed Conan setup for this -$url_conan = "\\ci-files01-hki.intra.qt.io\provisioning\windows\.conan.zip" -$url_conan_home = "\\ci-files01-hki.intra.qt.io\provisioning\windows\.conanhome.zip" +$url_conan = "\\ci-files01-hki.ci.qt.io\provisioning\windows\.conan.zip" +$url_conan_home = "\\ci-files01-hki.ci.qt.io\provisioning\windows\.conanhome.zip" $sha1_conan_compressed = "1abbe43e7a29ddd9906328702b5bc5231deeb721" $sha1_conanhome_compressed = "f44c2ae21cb1c7dc139572e399b7b0eaf492af03" $conan_compressed = "C:\.conan.zip" diff --git a/coin/provisioning/common/windows/disable-autoreboot.ps1 b/coin/provisioning/common/windows/disable-autoreboot.ps1 index 47257280..d13b6b9d 100644 --- a/coin/provisioning/common/windows/disable-autoreboot.ps1 +++ b/coin/provisioning/common/windows/disable-autoreboot.ps1 @@ -1,41 +1,5 @@ -############################################################################ -## -## Copyright (C) 2017 The Qt Company Ltd. -## Contact: https://www.qt.io/licensing/ -## -## This file is part of the provisioning scripts of the Qt Toolkit. -## -## $QT_BEGIN_LICENSE:LGPL$ -## Commercial License Usage -## Licensees holding valid commercial Qt licenses may use this file in -## accordance with the commercial license agreement provided with the -## Software or, alternatively, in accordance with the terms contained in -## a written agreement between you and The Qt Company. For licensing terms -## and conditions see https://www.qt.io/terms-conditions. For further -## information use the contact form at https://www.qt.io/contact-us. -## -## GNU Lesser General Public License Usage -## Alternatively, this file may be used under the terms of the GNU Lesser -## General Public License version 3 as published by the Free Software -## Foundation and appearing in the file LICENSE.LGPL3 included in the -## packaging of this file. Please review the following information to -## ensure the GNU Lesser General Public License version 3 requirements -## will be met: https://www.gnu.org/licenses/lgpl-3.0.html. -## -## GNU General Public License Usage -## Alternatively, this file may be used under the terms of the GNU -## General Public License version 2.0 or (at your option) the GNU General -## Public license version 3 or any later version approved by the KDE Free -## Qt Foundation. The licenses are as published by the Free Software -## Foundation and appearing in the file LICENSE.GPL2 and LICENSE.GPL3 -## included in the packaging of this file. Please review the following -## information to ensure the GNU General Public License requirements will -## be met: https://www.gnu.org/licenses/gpl-2.0.html and -## https://www.gnu.org/licenses/gpl-3.0.html. -## -## $QT_END_LICENSE$ -## -############################################################################# +# 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 . "$PSScriptRoot\helpers.ps1" Get-WmiObject Win32_OSRecoveryConfiguration -EnableAllPrivileges | Set-WmiInstance -Arguments @{ AutoReboot=$False } diff --git a/coin/provisioning/common/windows/disable-defragment.ps1 b/coin/provisioning/common/windows/disable-defragment.ps1 index fd7870c2..bb449e56 100644 --- a/coin/provisioning/common/windows/disable-defragment.ps1 +++ b/coin/provisioning/common/windows/disable-defragment.ps1 @@ -1,41 +1,5 @@ -############################################################################# -## -## Copyright (C) 2019 The Qt Company Ltd. -## Contact: https://www.qt.io/licensing/ -## -## This file is part of the provisioning scripts of the Qt Toolkit. -## -## $QT_BEGIN_LICENSE:LGPL$ -## Commercial License Usage -## Licensees holding valid commercial Qt licenses may use this file in -## accordance with the commercial license agreement provided with the -## Software or, alternatively, in accordance with the terms contained in -## a written agreement between you and The Qt Company. For licensing terms -## and conditions see https://www.qt.io/terms-conditions. For further -## information use the contact form at https://www.qt.io/contact-us. -## -## GNU Lesser General Public License Usage -## Alternatively, this file may be used under the terms of the GNU Lesser -## General Public License version 3 as published by the Free Software -## Foundation and appearing in the file LICENSE.LGPL3 included in the -## packaging of this file. Please review the following information to -## ensure the GNU Lesser General Public License version 3 requirements -## will be met: https://www.gnu.org/licenses/lgpl-3.0.html. -## -## GNU General Public License Usage -## Alternatively, this file may be used under the terms of the GNU -## General Public License version 2.0 or (at your option) the GNU General -## Public license version 3 or any later version approved by the KDE Free -## Qt Foundation. The licenses are as published by the Free Software -## Foundation and appearing in the file LICENSE.GPL2 and LICENSE.GPL3 -## included in the packaging of this file. Please review the following -## information to ensure the GNU General Public License requirements will -## be met: https://www.gnu.org/licenses/gpl-2.0.html and -## https://www.gnu.org/licenses/gpl-3.0.html. -## -## $QT_END_LICENSE$ -## -############################################################################# +# Copyright (C) 2019 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 # Windows 7 does not have Get-ScheduledTask and Unregister-ScheduledTask # thus needing its own version. diff --git a/coin/provisioning/common/windows/disable-sleep.ps1 b/coin/provisioning/common/windows/disable-sleep.ps1 index e147c830..c6c3c814 100644 --- a/coin/provisioning/common/windows/disable-sleep.ps1 +++ b/coin/provisioning/common/windows/disable-sleep.ps1 @@ -1,41 +1,5 @@ -############################################################################ -## -## Copyright (C) 2017 The Qt Company Ltd. -## Contact: https://www.qt.io/licensing/ -## -## This file is part of the provisioning scripts of the Qt Toolkit. -## -## $QT_BEGIN_LICENSE:LGPL$ -## Commercial License Usage -## Licensees holding valid commercial Qt licenses may use this file in -## accordance with the commercial license agreement provided with the -## Software or, alternatively, in accordance with the terms contained in -## a written agreement between you and The Qt Company. For licensing terms -## and conditions see https://www.qt.io/terms-conditions. For further -## information use the contact form at https://www.qt.io/contact-us. -## -## GNU Lesser General Public License Usage -## Alternatively, this file may be used under the terms of the GNU Lesser -## General Public License version 3 as published by the Free Software -## Foundation and appearing in the file LICENSE.LGPL3 included in the -## packaging of this file. Please review the following information to -## ensure the GNU Lesser General Public License version 3 requirements -## will be met: https://www.gnu.org/licenses/lgpl-3.0.html. -## -## GNU General Public License Usage -## Alternatively, this file may be used under the terms of the GNU -## General Public License version 2.0 or (at your option) the GNU General -## Public license version 3 or any later version approved by the KDE Free -## Qt Foundation. The licenses are as published by the Free Software -## Foundation and appearing in the file LICENSE.GPL2 and LICENSE.GPL3 -## included in the packaging of this file. Please review the following -## information to ensure the GNU General Public License requirements will -## be met: https://www.gnu.org/licenses/gpl-2.0.html and -## https://www.gnu.org/licenses/gpl-3.0.html. -## -## $QT_END_LICENSE$ -## -############################################################################# +# 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 . "$PSScriptRoot\helpers.ps1" # This script prevents Windows from going to sleep diff --git a/coin/provisioning/common/windows/disable-uac.ps1 b/coin/provisioning/common/windows/disable-uac.ps1 index b27355c6..c84b998d 100644 --- a/coin/provisioning/common/windows/disable-uac.ps1 +++ b/coin/provisioning/common/windows/disable-uac.ps1 @@ -1,41 +1,5 @@ -############################################################################ -## -## Copyright (C) 2017 The Qt Company Ltd. -## Contact: https://www.qt.io/licensing/ -## -## This file is part of the provisioning scripts of the Qt Toolkit. -## -## $QT_BEGIN_LICENSE:LGPL$ -## Commercial License Usage -## Licensees holding valid commercial Qt licenses may use this file in -## accordance with the commercial license agreement provided with the -## Software or, alternatively, in accordance with the terms contained in -## a written agreement between you and The Qt Company. For licensing terms -## and conditions see https://www.qt.io/terms-conditions. For further -## information use the contact form at https://www.qt.io/contact-us. -## -## GNU Lesser General Public License Usage -## Alternatively, this file may be used under the terms of the GNU Lesser -## General Public License version 3 as published by the Free Software -## Foundation and appearing in the file LICENSE.LGPL3 included in the -## packaging of this file. Please review the following information to -## ensure the GNU Lesser General Public License version 3 requirements -## will be met: https://www.gnu.org/licenses/lgpl-3.0.html. -## -## GNU General Public License Usage -## Alternatively, this file may be used under the terms of the GNU -## General Public License version 2.0 or (at your option) the GNU General -## Public license version 3 or any later version approved by the KDE Free -## Qt Foundation. The licenses are as published by the Free Software -## Foundation and appearing in the file LICENSE.GPL2 and LICENSE.GPL3 -## included in the packaging of this file. Please review the following -## information to ensure the GNU General Public License requirements will -## be met: https://www.gnu.org/licenses/gpl-2.0.html and -## https://www.gnu.org/licenses/gpl-3.0.html. -## -## $QT_END_LICENSE$ -## -############################################################################# +# 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 . "$PSScriptRoot\helpers.ps1" # This script disables the Windows UAC diff --git a/coin/provisioning/common/windows/disable-windefender.ps1 b/coin/provisioning/common/windows/disable-windefender.ps1 index 89199496..ca74e95f 100644 --- a/coin/provisioning/common/windows/disable-windefender.ps1 +++ b/coin/provisioning/common/windows/disable-windefender.ps1 @@ -1,41 +1,5 @@ -########################################################################### -## -## Copyright (C) 2019 The Qt Company Ltd. -## Contact: https://www.qt.io/licensing/ -## -## This file is part of the provisioning scripts of the Qt Toolkit. -## -## $QT_BEGIN_LICENSE:LGPL$ -## Commercial License Usage -## Licensees holding valid commercial Qt licenses may use this file in -## accordance with the commercial license agreement provided with the -## Software or, alternatively, in accordance with the terms contained in -## a written agreement between you and The Qt Company. For licensing terms -## and conditions see https://www.qt.io/terms-conditions. For further -## information use the contact form at https://www.qt.io/contact-us. -## -## GNU Lesser General Public License Usage -## Alternatively, this file may be used under the terms of the GNU Lesser -## General Public License version 3 as published by the Free Software -## Foundation and appearing in the file LICENSE.LGPL3 included in the -## packaging of this file. Please review the following information to -## ensure the GNU Lesser General Public License version 3 requirements -## will be met: https://www.gnu.org/licenses/lgpl-3.0.html. -## -## GNU General Public License Usage -## Alternatively, this file may be used under the terms of the GNU -## General Public License version 2.0 or (at your option) the GNU General -## Public license version 3 or any later version approved by the KDE Free -## Qt Foundation. The licenses are as published by the Free Software -## Foundation and appearing in the file LICENSE.GPL2 and LICENSE.GPL3 -## included in the packaging of this file. Please review the following -## information to ensure the GNU General Public License requirements will -## be met: https://www.gnu.org/licenses/gpl-2.0.html and -## https://www.gnu.org/licenses/gpl-3.0.html. -## -## $QT_END_LICENSE$ -## -############################################################################# +# Copyright (C) 2019 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 # Turning off win defender. # 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/disable-windows-updates.ps1 b/coin/provisioning/common/windows/disable-windows-updates.ps1 index 8fd1b9a1..a55d5803 100644 --- a/coin/provisioning/common/windows/disable-windows-updates.ps1 +++ b/coin/provisioning/common/windows/disable-windows-updates.ps1 @@ -1,41 +1,5 @@ -############################################################################ -## -## Copyright (C) 2017 The Qt Company Ltd. -## Contact: https://www.qt.io/licensing/ -## -## This file is part of the provisioning scripts of the Qt Toolkit. -## -## $QT_BEGIN_LICENSE:LGPL$ -## Commercial License Usage -## Licensees holding valid commercial Qt licenses may use this file in -## accordance with the commercial license agreement provided with the -## Software or, alternatively, in accordance with the terms contained in -## a written agreement between you and The Qt Company. For licensing terms -## and conditions see https://www.qt.io/terms-conditions. For further -## information use the contact form at https://www.qt.io/contact-us. -## -## GNU Lesser General Public License Usage -## Alternatively, this file may be used under the terms of the GNU Lesser -## General Public License version 3 as published by the Free Software -## Foundation and appearing in the file LICENSE.LGPL3 included in the -## packaging of this file. Please review the following information to -## ensure the GNU Lesser General Public License version 3 requirements -## will be met: https://www.gnu.org/licenses/lgpl-3.0.html. -## -## GNU General Public License Usage -## Alternatively, this file may be used under the terms of the GNU -## General Public License version 2.0 or (at your option) the GNU General -## Public license version 3 or any later version approved by the KDE Free -## Qt Foundation. The licenses are as published by the Free Software -## Foundation and appearing in the file LICENSE.GPL2 and LICENSE.GPL3 -## included in the packaging of this file. Please review the following -## information to ensure the GNU General Public License requirements will -## be met: https://www.gnu.org/licenses/gpl-2.0.html and -## https://www.gnu.org/licenses/gpl-3.0.html. -## -## $QT_END_LICENSE$ -## -############################################################################# +# 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 disables the automatic Windows updates diff --git a/coin/provisioning/common/windows/dxsdk.ps1 b/coin/provisioning/common/windows/dxsdk.ps1 index 35b7d8de..e4a40108 100644 --- a/coin/provisioning/common/windows/dxsdk.ps1 +++ b/coin/provisioning/common/windows/dxsdk.ps1 @@ -4,7 +4,7 @@ $package = "DXSDK_Jun10.exe" -$cachedUrl = "\\ci-files01-hki.intra.qt.io\provisioning\windows\$package" +$cachedUrl = "\\ci-files01-hki.ci.qt.io\provisioning\windows\$package" $officialUrl = "https://download.microsoft.com/download/A/E/7/AE743F1F-632B-4809-87A9-AA1BB3458E31/$package" $sdkChecksumSha1 = "8fe98c00fde0f524760bb9021f438bd7d9304a69" $package_path = "C:\Windows\Temp\$package" diff --git a/coin/provisioning/common/windows/emsdk.ps1 b/coin/provisioning/common/windows/emsdk.ps1 index 70970555..e1b92fd3 100644 --- a/coin/provisioning/common/windows/emsdk.ps1 +++ b/coin/provisioning/common/windows/emsdk.ps1 @@ -1,66 +1,49 @@ -############################################################################ -## -## Copyright (C) 2021 The Qt Company Ltd. -## Contact: https://www.qt.io/licensing/ -## -## This file is part of the provisioning scripts of the Qt Toolkit. -## -## $QT_BEGIN_LICENSE:LGPL$ -## Commercial License Usage -## Licensees holding valid commercial Qt licenses may use this file in -## accordance with the commercial license agreement provided with the -## Software or, alternatively, in accordance with the terms contained in -## a written agreement between you and The Qt Company. For licensing terms -## and conditions see https://www.qt.io/terms-conditions. For further -## information use the contact form at https://www.qt.io/contact-us. -## -## GNU Lesser General Public License Usage -## Alternatively, this file may be used under the terms of the GNU Lesser -## General Public License version 3 as published by the Free Software -## Foundation and appearing in the file LICENSE.LGPL3 included in the -## packaging of this file. Please review the following information to -## ensure the GNU Lesser General Public License version 3 requirements -## will be met: https://www.gnu.org/licenses/lgpl-3.0.html. -## -## GNU General Public License Usage -## Alternatively, this file may be used under the terms of the GNU -## General Public License version 2.0 or (at your option) the GNU General -## Public license version 3 or any later version approved by the KDE Free -## Qt Foundation. The licenses are as published by the Free Software -## Foundation and appearing in the file LICENSE.GPL2 and LICENSE.GPL3 -## included in the packaging of this file. Please review the following -## information to ensure the GNU General Public License requirements will -## be met: https://www.gnu.org/licenses/gpl-2.0.html and -## https://www.gnu.org/licenses/gpl-3.0.html. -## -## $QT_END_LICENSE$ -## -############################################################################ +# 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 . "$PSScriptRoot\helpers.ps1" # This script will install emscripten needed by WebAssembly -$version = "3.0.0" -$versionNode = "14.15.5" -$versionWinPython = "3.9.2-1" -$versionJre = "8.152" +$version = "3.1.50" +$zipVersion = $version -replace '\.', "_" +$temp = "$env:tmp" +$cacheUrl = "https://ci-files01-hki.ci.qt.io/input/emsdk/emsdk_windows_${zipVersion}.zip" +$sha = "40dc636688166ecdb476da40d02c491ee5032f7b" # Make sure python is in the path Prepend-Path "C:\Python27" cd "C:\\Utils" -C:\PROGRA~1\Git\bin\git clone https://github.com/emscripten-core/emsdk.git $installLocationEmsdk = "C:\\Utils\\emsdk" -cd $installLocationEmsdk -.\emsdk install $version -.\emsdk activate $version - -Set-EnvironmentVariable "EMSDK" "$installLocationEmsdk" -Set-EnvironmentVariable "EM_CONFIG" "$installLocationEmsdk\.emscripten" -Set-EnvironmentVariable "EMSDK_NODE" "$installLocationEmsdk\node\${versionNode}_64bit\bin\node.exe" -Set-EnvironmentVariable "EMSDK_PYTHON" "$installLocationEmsdk\python\${versionWinPython}_64bit\python.exe" -Set-EnvironmentVariable "EMSDK_JAVA_HOME" "$installLocationEmsdk\java\${versionJre}_64bit" +try { + Write-Host "Fetching from cached location" + Download $cacheUrl $cacheUrl ${temp}\${zipVersion}.zip + Verify-Checksum ${temp}\${zipVersion}.zip $sha + Extract-7Zip ${temp}\${zipVersion}.zip C:\Utils\ + cd $installLocationEmsdk + .\emsdk activate $version +} catch { + Write-Host "Can't find cached emsdk. Cloning it" + C:\PROGRA~1\Git\bin\git clone https://github.com/emscripten-core/emsdk.git + cd $installLocationEmsdk + .\emsdk install $version + .\emsdk activate $version +} + +$versionWinPython = $($Env:EMSDK_PYTHON -split ('python\\') -split ('_64bit'))[1] +$versionNode = $($Env:EMSDK_NODE -split ('node\\') -split ('_64bit'))[1] +$versionJre = $($Env:EMSDK_JAVA_HOME -split ('java\\') -split ('_64bit'))[1] + +# Set these environment variables permanently. +# Note! Using 'emsdk_env.bat --permanent' doesn't set these permanently +Set-EnvironmentVariable "EMSDK" "$env:EMSDK" +Set-EnvironmentVariable "EM_CONFIG" "$env:EM_CONFIG" +Set-EnvironmentVariable "EMSDK_NODE" "$env:EMSDK_NODE" +Set-EnvironmentVariable "EMSDK_PYTHON" "$env:EMSDK_PYTHON" +# In this case JAVA_HOME is the one emsdk install/activate set. +# We need to use EMSDK_JAVA_HOME so that we don't override JAVA_HOME which comes from install-jdk.ps1 +Set-EnvironmentVariable "EMSDK_JAVA_HOME" "$env:JAVA_HOME" Set-EnvironmentVariable "EMSDK_PATH" "$installLocationEmsdk;$installLocationEmsdk\node\${versionNode}_64bit\bin;$installLocationEmsdk\upstream\emscripten;$PATH" Add-Path "$env:EMSDK_PATH" diff --git a/coin/provisioning/common/windows/exceutequeueditems.ps1 b/coin/provisioning/common/windows/exceutequeueditems.ps1 index 97042b0b..0d6a7267 100644 --- a/coin/provisioning/common/windows/exceutequeueditems.ps1 +++ b/coin/provisioning/common/windows/exceutequeueditems.ps1 @@ -1,45 +1,30 @@ -############################################################################# -## -## Copyright (C) 2018 The Qt Company Ltd. -## Contact: https://www.qt.io/licensing/ -## -## This file is part of the provisioning scripts of the Qt Toolkit. -## -## $QT_BEGIN_LICENSE:LGPL$ -## Commercial License Usage -## Licensees holding valid commercial Qt licenses may use this file in -## accordance with the commercial license agreement provided with the -## Software or, alternatively, in accordance with the terms contained in -## a written agreement between you and The Qt Company. For licensing terms -## and conditions see https://www.qt.io/terms-conditions. For further -## information use the contact form at https://www.qt.io/contact-us. -## -## GNU Lesser General Public License Usage -## Alternatively, this file may be used under the terms of the GNU Lesser -## General Public License version 3 as published by the Free Software -## Foundation and appearing in the file LICENSE.LGPL3 included in the -## packaging of this file. Please review the following information to -## ensure the GNU Lesser General Public License version 3 requirements -## will be met: https://www.gnu.org/licenses/lgpl-3.0.html. -## -## GNU General Public License Usage -## Alternatively, this file may be used under the terms of the GNU -## General Public License version 2.0 or (at your option) the GNU General -## Public license version 3 or any later version approved by the KDE Free -## Qt Foundation. The licenses are as published by the Free Software -## Foundation and appearing in the file LICENSE.GPL2 and LICENSE.GPL3 -## included in the packaging of this file. Please review the following -## information to ensure the GNU General Public License requirements will -## be met: https://www.gnu.org/licenses/gpl-2.0.html and -## https://www.gnu.org/licenses/gpl-3.0.html. -## -## $QT_END_LICENSE$ -## -############################################################################# +# Copyright (C) 2018 The Qt Company Ltd. +# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only . "$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/fbx_windows.ps1 b/coin/provisioning/common/windows/fbx_windows.ps1 index 0daebb87..41b8768e 100644 --- a/coin/provisioning/common/windows/fbx_windows.ps1 +++ b/coin/provisioning/common/windows/fbx_windows.ps1 @@ -1,41 +1,5 @@ -############################################################################ -## -## Copyright (C) 2017 The Qt Company Ltd. -## Contact: https://www.qt.io/licensing/ -## -## This file is part of the provisioning scripts of the Qt Toolkit. -## -## $QT_BEGIN_LICENSE:LGPL$ -## Commercial License Usage -## Licensees holding valid commercial Qt licenses may use this file in -## accordance with the commercial license agreement provided with the -## Software or, alternatively, in accordance with the terms contained in -## a written agreement between you and The Qt Company. For licensing terms -## and conditions see https://www.qt.io/terms-conditions. For further -## information use the contact form at https://www.qt.io/contact-us. -## -## GNU Lesser General Public License Usage -## Alternatively, this file may be used under the terms of the GNU Lesser -## General Public License version 3 as published by the Free Software -## Foundation and appearing in the file LICENSE.LGPL3 included in the -## packaging of this file. Please review the following information to -## ensure the GNU Lesser General Public License version 3 requirements -## will be met: https://www.gnu.org/licenses/lgpl-3.0.html. -## -## GNU General Public License Usage -## Alternatively, this file may be used under the terms of the GNU -## General Public License version 2.0 or (at your option) the GNU General -## Public license version 3 or any later version approved by the KDE Free -## Qt Foundation. The licenses are as published by the Free Software -## Foundation and appearing in the file LICENSE.GPL2 and LICENSE.GPL3 -## included in the packaging of this file. Please review the following -## information to ensure the GNU General Public License requirements will -## be met: https://www.gnu.org/licenses/gpl-2.0.html and -## https://www.gnu.org/licenses/gpl-3.0.html. -## -## $QT_END_LICENSE$ -## -############################################################################# +# 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 . "$PSScriptRoot\helpers.ps1" @@ -46,7 +10,7 @@ $version = "2016.1.2" $name = "fbx20161_2_fbxsdk_vs2015_win_nospace" $packageName = "$name.7z" $installerName = "$name.exe" -$cacheUrl = "\\ci-files01-hki.intra.qt.io\provisioning\fbx\$packageName" +$cacheUrl = "\\ci-files01-hki.ci.qt.io\provisioning\fbx\$packageName" $sha1 = "de80edc255ffd5ce86ba25869dad72b4c809fd41" # The executable is an interactive installer only. We can't run it in a script silently. diff --git a/coin/provisioning/common/windows/grpc.ps1 b/coin/provisioning/common/windows/grpc.ps1 new file mode 100644 index 00000000..7acbe896 --- /dev/null +++ b/coin/provisioning/common/windows/grpc.ps1 @@ -0,0 +1,122 @@ +# 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 + +. "$PSScriptRoot\helpers.ps1" + +# Here we build gRPC libraries for MinGW and MSVC. +# Since it's a c++ library we need both msvc and mingw because they mangle symbols differently. +# For MSVC it builds with both debug and release configurations because of the visual c++ runtime. +# For MinGW we only need one, so we only build with release. +# The function below takes care of the common part of building - invoking cmake, +# calling ninja and installing it to a directory which we set an environment variable to. +# Because we have two compilers we also have two env. vars. and then each +# config in CI has the gRPC_ROOT set to the appropriate one. +function build-install-grpc { + param( + [string]$CC, + [string]$CXX, + [string]$BuildType, + [string]$Postfix # Used for install-path and the environment variable name + ) + $installPrefix = "C:\Utils\grpc" + $installPath = "${installPrefix}-$Postfix" + $envVariableName = "Protobuf_ROOT_$Postfix" + $protobufRoot = (Get-Item -Path "Env:$envVariableName").Value + Write-Output "Configuring and building gRPC for $CXX" + $oldCC = $env:CC + $oldCXX = $env:CXX + $env:CC = $CC + $env:CXX = $CXX + Remove build-grpc + mkdir build-grpc + Push-Location build-grpc + $configureOptions = @( + # add postfix for multi-config + "-DCMAKE_DEBUG_POSTFIX=d" + "-DCMAKE_RELWITHDEBINFO_POSTFIX=rd" + # plugins + "-DgRPC_BUILD_GRPC_CSHARP_PLUGIN=OFF" + "-DgRPC_BUILD_GRPC_NODE_PLUGIN=OFF" + "-DgRPC_BUILD_GRPC_OBJECTIVE_C_PLUGIN=OFF" + "-DgRPC_BUILD_GRPC_PHP_PLUGIN=OFF" + "-DgRPC_BUILD_GRPC_PYTHON_PLUGIN=OFF" + "-DgRPC_BUILD_GRPC_RUBY_PLUGIN=OFF" + # extensions + "-DgRPC_BUILD_CSHARP_EXT=OFF" + # general + "-DgRPC_BUILD_TESTS=OFF" + "-DgRPC_PROTOBUF_PROVIDER=package" + "-DgRPC_SSL_PROVIDER=package" + # protobuf + "-DProtobuf_USE_STATIC_LIBS=ON" + "-DCMAKE_PREFIX_PATH=$protobufRoot" + ) + cmake .. -G"Ninja Multi-Config" -DCMAKE_CONFIGURATION_TYPES="$BuildType" -DCMAKE_INSTALL_PREFIX="$installPath" $extraCMakeArgs $configureOptions + $result = $LASTEXITCODE + if ($result -eq 0) { + # ninja install:all # This is broken and does not work + foreach ($config in $BuildType.split(";")) { + ninja -f "build-$config.ninja" install + } + $result = $LASTEXITCODE + } + $env:CC = $oldCC + $env:CXX = $oldCXX + Set-EnvironmentVariable "gRPC_ROOT_$Postfix" "$installPath" + Pop-Location + Remove build-grpc + if ($result -ne 0) { + throw "Build exited with $result" + } +} + + +# Ensures a tool is in path or adds it to path if the $Path supplied to it +# contains it. Will throw if it's not found at all +function Find-Tool { + param( + [string]$Name, + [string]$Path + ) + # Is tool missing from path? + if (!(Get-Command $Name -ErrorAction SilentlyContinue)) { + # Is tool in the $Path directory? + if (Test-Path "$Path\$Name" -ErrorAction SilentlyContinue) { + $env:Path += ";$Path" + } + else { + throw "Cannot find $Name in path or $Name in $Path, something is configured wrong" + } + } +} +# This script is fairly late in provisioning so both of these should be present! +Find-Tool -Name "cmake.exe" -Path "C:\CMake\bin" +Find-Tool -Name "ninja.exe" -Path "C:\Utils\Ninja" + +$version="1.50.1" +$sha1="be1b0c3dbfbc9714824921f50dffb7cf044da5ab" +$internalUrl="http://ci-files01-hki.ci.qt.io/input/automotive_suite/grpc-all-$version.zip" +$externalUrl="" + +$basedir = "$env:HOMEDRIVE\$env:HOMEPATH\grpc" +mkdir $basedir +$targetDir = "$basedir\grpc-$version" +$targetFile = "$targetDir.zip" +Download $externalUrl $internalUrl $targetFile +Verify-Checksum $targetFile $sha1 +Extract-7Zip $targetFile $basedir +Remove $targetFile + +Push-Location $targetDir + +### gRPC supports only MSVC compiler + +EnterVSDevShell + +# We pass along an extra argument to stop gRPC linking with the static runtime to match Protobuf config +build-install-grpc -CC "cl" -CXX "cl" -BuildType "Release;RelWithDebInfo;Debug" -Postfix "msvc" -ExtraArguments @("-DgRPC_MSVC_STATIC_RUNTIME=OFF") + +Pop-Location +Remove $basedir + +Write-Output "gRPC = $version" >> ~/versions.txt diff --git a/coin/provisioning/common/windows/helpers.ps1 b/coin/provisioning/common/windows/helpers.ps1 index 8599791d..ad01c499 100644 --- a/coin/provisioning/common/windows/helpers.ps1 +++ b/coin/provisioning/common/windows/helpers.ps1 @@ -148,7 +148,7 @@ function Download if ($CachedUrl.StartsWith("http")) { Invoke-WebRequest -UseBasicParsing $CachedUrl -OutFile $Destination } else { - Copy-Item $CachedUrl $Destination + Copy-Item $CachedUrl $Destination -errorAction stop } } catch { Write-Host "Cached download failed: Downloading from official location: $OfficialUrl" @@ -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 } @@ -274,3 +296,87 @@ function DeleteSchedulerTask { Write-Host "Disabling $Task from Task Scheduler" SCHTASKS /DELETE /TN "Microsoft\Windows\$Task" /F } + +function GetVsProperty { + Param ( + [string]$Component = 'Microsoft.VisualStudio.Component.VC.CoreIde', + [string]$Property, + [switch]$Latest + ) + + $vsWhereProcessInfo = New-Object System.Diagnostics.ProcessStartInfo + $vsWhereProcessInfo.FileName = "${Env:ProgramFiles(x86)}\Microsoft Visual Studio\Installer\vswhere.exe" + $vsWhereProcessInfo.RedirectStandardError = $true + $vsWhereProcessInfo.RedirectStandardOutput = $true + $vsWhereProcessInfo.UseShellExecute = $false + + # -sort: sorts the instances from newest version and last installed to oldest + $vsWhereProcessInfo.Arguments = " -nologo -sort -products * -requires $Component -property $Property" + if ($Latest) { + # -latest: return only the newest version and last installed + $vsWhereProcessInfo.Arguments += ' -latest' + } + + $vsWhereProcess = New-Object System.Diagnostics.Process + $vsWhereProcess.StartInfo = $vsWhereProcessInfo + + $vsWhereProcess.Start() | Out-Null + $vsWhereProcess.WaitForExit() + + $standardOutput = $vsWhereProcess.StandardOutput.ReadToEnd() + if ([string]::IsNullOrEmpty($standardOutput)) { + throw "vswhere could not find property '$Property'" + } + + $exitCode = $vsWhereProcess.ExitCode + if ($exitCode -ne 0) { + $standardError = $vsWhereProcess.StandardError.ReadToEnd() + throw "vswhere failed with exit code $exitCode ($standardError)" + } + + return $standardOutput.Split([Environment]::NewLine, [StringSplitOptions]::RemoveEmptyEntries) | Select-Object -Last 1 +} + +function GetVsInstallationPath { + Param ( + [switch]$Latest + ) + + return GetVsProperty -Property 'installationPath' @PSBoundParameters +} + +function EnterVSDevShell { + Param ( + [string]$HostArch = "amd64", + [string]$Arch = "amd64" + ) + + # We pick the oldest build tools we can find and use that to be compatible with it and any newer version: + # If MSVC has an ABI break this will stop working, and yet another build must be added. + $VSPath = GetVsInstallationPath + + Write-Host "Enter VisualStudio developer shell (-host_arch=$HostArch -arch=$Arch -VsInstallPath='$VSPath')" + try { + Import-Module "$VSPath\Common7\Tools\Microsoft.VisualStudio.DevShell.dll" + Enter-VsDevShell -VsInstallPath $VSPath -DevCmdArguments "-host_arch=$HostArch -arch=$Arch -no_logo" + } catch { + Write-Host "Failed to enter VisualStudio DevShell" + return $false + } + return $true +} + +function Invoke-MtCommand { + param( + [String] $vcVarsScript, + [String] $arch, + [String] $manifest, + [String] $executable + ) + $tempFile = [IO.Path]::GetTempFileName() + Add-Content -Path $tempFile -Value $manifest + $cmdLine = """$vcVarsScript"" $arch & mt.exe -manifest ""$tempFile"" -outputresource:""$executable"";1" + Write-Output Executing $cmdLine + & $Env:SystemRoot\system32\cmd.exe /c $cmdLine | Write-Output + Remove-Item $tempFile +} diff --git a/coin/provisioning/common/windows/install-azure-tool.ps1 b/coin/provisioning/common/windows/install-azure-tool.ps1 index 0d2e2ef9..9f82f54e 100644 --- a/coin/provisioning/common/windows/install-azure-tool.ps1 +++ b/coin/provisioning/common/windows/install-azure-tool.ps1 @@ -1,41 +1,5 @@ -############################################################################# -## -## Copyright (C) 2020 The Qt Company Ltd. -## Contact: https://www.qt.io/licensing/ -## -## This file is part of the provisioning scripts of the Qt Toolkit. -## -## $QT_BEGIN_LICENSE:LGPL$ -## Commercial License Usage -## Licensees holding valid commercial Qt licenses may use this file in -## accordance with the commercial license agreement provided with the -## Software or, alternatively, in accordance with the terms contained in -## a written agreement between you and The Qt Company. For licensing terms -## and conditions see https://www.qt.io/terms-conditions. For further -## information use the contact form at https://www.qt.io/contact-us. -## -## GNU Lesser General Public License Usage -## Alternatively, this file may be used under the terms of the GNU Lesser -## General Public License version 3 as published by the Free Software -## Foundation and appearing in the file LICENSE.LGPL3 included in the -## packaging of this file. Please review the following information to -## ensure the GNU Lesser General Public License version 3 requirements -## will be met: https://www.gnu.org/licenses/lgpl-3.0.html. -## -## GNU General Public License Usage -## Alternatively, this file may be used under the terms of the GNU -## General Public License version 2.0 or (at your option) the GNU General -## Public license version 3 or any later version approved by the KDE Free -## Qt Foundation. The licenses are as published by the Free Software -## Foundation and appearing in the file LICENSE.GPL2 and LICENSE.GPL3 -## included in the packaging of this file. Please review the following -## information to ensure the GNU General Public License requirements will -## be met: https://www.gnu.org/licenses/gpl-2.0.html and -## https://www.gnu.org/licenses/gpl-3.0.html. -## -## $QT_END_LICENSE$ -## -############################################################################# +# 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 . "$PSScriptRoot\helpers.ps1" # This script will install Azure singtool using Dotnet SDK diff --git a/coin/provisioning/common/windows/install-breakpad.ps1 b/coin/provisioning/common/windows/install-breakpad.ps1 index 994e8991..6bdb4b9f 100644 --- a/coin/provisioning/common/windows/install-breakpad.ps1 +++ b/coin/provisioning/common/windows/install-breakpad.ps1 @@ -1,41 +1,5 @@ -############################################################################ -## -## Copyright (C) 2019 The Qt Company Ltd. -## Contact: https://www.qt.io/licensing/ -## -## This file is part of the provisioning scripts of the Qt Toolkit. -## -## $QT_BEGIN_LICENSE:LGPL$ -## Commercial License Usage -## Licensees holding valid commercial Qt licenses may use this file in -## accordance with the commercial license agreement provided with the -## Software or, alternatively, in accordance with the terms contained in -## a written agreement between you and The Qt Company. For licensing terms -## and conditions see https://www.qt.io/terms-conditions. For further -## information use the contact form at https://www.qt.io/contact-us. -## -## GNU Lesser General Public License Usage -## Alternatively, this file may be used under the terms of the GNU Lesser -## General Public License version 3 as published by the Free Software -## Foundation and appearing in the file LICENSE.LGPL3 included in the -## packaging of this file. Please review the following information to -## ensure the GNU Lesser General Public License version 3 requirements -## will be met: https://www.gnu.org/licenses/lgpl-3.0.html. -## -## GNU General Public License Usage -## Alternatively, this file may be used under the terms of the GNU -## General Public License version 2.0 or (at your option) the GNU General -## Public license version 3 or any later version approved by the KDE Free -## Qt Foundation. The licenses are as published by the Free Software -## Foundation and appearing in the file LICENSE.GPL2 and LICENSE.GPL3 -## included in the packaging of this file. Please review the following -## information to ensure the GNU General Public License requirements will -## be met: https://www.gnu.org/licenses/gpl-2.0.html and -## https://www.gnu.org/licenses/gpl-3.0.html. -## -## $QT_END_LICENSE$ -## -############################################################################ +# Copyright (C) 2019 The Qt Company Ltd. +# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only # This script install breakpad from sources. # for manual install.. remember to checkout correct version @@ -56,12 +20,12 @@ $breakpad_commit_sha="b988fa74ec18de6214b18f723e48331d9a7802ae" $breakpad_tar="breakpad_$breakpad_commit_sha.tar.gz" -$breakpad_tar_url="http://ci-files01-hki.intra.qt.io/input/breakpad/$breakpad_tar" +$breakpad_tar_url="http://ci-files01-hki.ci.qt.io/input/breakpad/$breakpad_tar" $breakpad_tar_sha="a2d404d2aebc947cdac5840a9bccd65dfafae24c" $linux_syscall_support_commit_sha1="93426bda6535943ff1525d0460aab5cc0870ccaf" $linux_syscall_support_tar="linux-syscall-support_$linux_syscall_support_commit_sha1.tar.gz" -$linux_syscall_support_tar_url="http://ci-files01-hki.intra.qt.io/input/linux-syscall-support/$linux_syscall_support_tar" +$linux_syscall_support_tar_url="http://ci-files01-hki.ci.qt.io/input/linux-syscall-support/$linux_syscall_support_tar" $linux_syscall_support_tar_sha="62565be0920f3661e138d68026b79fbbdc2a11e4" $targetBreakpad="$env:tmp\$breakpad_tar" diff --git a/coin/provisioning/common/windows/install-dependencywalker.ps1 b/coin/provisioning/common/windows/install-dependencywalker.ps1 index 1d015ffa..3d541f4f 100644 --- a/coin/provisioning/common/windows/install-dependencywalker.ps1 +++ b/coin/provisioning/common/windows/install-dependencywalker.ps1 @@ -1,55 +1,35 @@ -############################################################################ -## -## Copyright (C) 2017 The Qt Company Ltd. -## Contact: https://www.qt.io/licensing/ -## -## This file is part of the provisioning scripts of the Qt Toolkit. -## -## $QT_BEGIN_LICENSE:LGPL$ -## Commercial License Usage -## Licensees holding valid commercial Qt licenses may use this file in -## accordance with the commercial license agreement provided with the -## Software or, alternatively, in accordance with the terms contained in -## a written agreement between you and The Qt Company. For licensing terms -## and conditions see https://www.qt.io/terms-conditions. For further -## information use the contact form at https://www.qt.io/contact-us. -## -## GNU Lesser General Public License Usage -## Alternatively, this file may be used under the terms of the GNU Lesser -## General Public License version 3 as published by the Free Software -## Foundation and appearing in the file LICENSE.LGPL3 included in the -## packaging of this file. Please review the following information to -## ensure the GNU Lesser General Public License version 3 requirements -## will be met: https://www.gnu.org/licenses/lgpl-3.0.html. -## -## GNU General Public License Usage -## Alternatively, this file may be used under the terms of the GNU -## General Public License version 2.0 or (at your option) the GNU General -## Public license version 3 or any later version approved by the KDE Free -## Qt Foundation. The licenses are as published by the Free Software -## Foundation and appearing in the file LICENSE.GPL2 and LICENSE.GPL3 -## included in the packaging of this file. Please review the following -## information to ensure the GNU General Public License requirements will -## be met: https://www.gnu.org/licenses/gpl-2.0.html and -## https://www.gnu.org/licenses/gpl-3.0.html. -## -## $QT_END_LICENSE$ -## -############################################################################# +# 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 . "$PSScriptRoot\helpers.ps1" # This script will install Dependency Walker 2.2.6000 $version = "2.2.6000" -if (Is64BitWinHost) { - $arch = "_x64" - $sha1 = "4831D2A8376D64110FF9CD18799FE6C69509D3EA" -} else { - $arch = "_x86" - $sha1 = "bfec714057e8449b0246051be99ba46a7760bab9" +$cpu_arch = Get-CpuArchitecture +switch ($cpu_arch) { + x64 { + $arch = "_x64" + $sha1 = "4831D2A8376D64110FF9CD18799FE6C69509D3EA" + $nuitka_arch = "x86_64" + } + arm64 { + # There is no ARM64 version of Dependency Walker + # just use the x64 version + $arch = "_x64" + $sha1 = "4831D2A8376D64110FF9CD18799FE6C69509D3EA" + $nuitka_arch = "arm64" + } + x86 { + $arch = "_x86" + $sha1 = "bfec714057e8449b0246051be99ba46a7760bab9" + $nuitka_arch = "x86" + } + default { + throw "Unknown architecture $cpu_arch" + } } -$url_cache = "\\ci-files01-hki.intra.qt.io\provisioning\windows\depends22" + $arch + ".zip" +$url_cache = "\\ci-files01-hki.ci.qt.io\provisioning\windows\depends22" + $arch + ".zip" $url_official = "http://www.dependencywalker.com/depends22" + $arch + ".zip" $dependsPackage = "C:\Windows\Temp\depends-$version.zip" @@ -62,6 +42,10 @@ Verify-Checksum $dependsPackage $sha1 Extract-7Zip $dependsPackage $TARGETDIR +# Copy the content also into the cache location of nuitka +# This makes it usable without the need to download it again +Copy-Item -Path $TARGETDIR -Destination "$env:LOCALAPPDATA\Nuitka\Nuitka\Cache\downloads\depends\$nuitka_arch" -Recurse + Write-Host "Cleaning $dependsPackage.." Remove "$dependsPackage" diff --git a/coin/provisioning/common/windows/install-dotnet.ps1 b/coin/provisioning/common/windows/install-dotnet.ps1 index 7f3065de..aea40e86 100644 --- a/coin/provisioning/common/windows/install-dotnet.ps1 +++ b/coin/provisioning/common/windows/install-dotnet.ps1 @@ -1,52 +1,16 @@ -############################################################################# -## -## Copyright (C) 2020 The Qt Company Ltd. -## Contact: https://www.qt.io/licensing/ -## -## This file is part of the provisioning scripts of the Qt Toolkit. -## -## $QT_BEGIN_LICENSE:LGPL$ -## Commercial License Usage -## Licensees holding valid commercial Qt licenses may use this file in -## accordance with the commercial license agreement provided with the -## Software or, alternatively, in accordance with the terms contained in -## a written agreement between you and The Qt Company. For licensing terms -## and conditions see https://www.qt.io/terms-conditions. For further -## information use the contact form at https://www.qt.io/contact-us. -## -## GNU Lesser General Public License Usage -## Alternatively, this file may be used under the terms of the GNU Lesser -## General Public License version 3 as published by the Free Software -## Foundation and appearing in the file LICENSE.LGPL3 included in the -## packaging of this file. Please review the following information to -## ensure the GNU Lesser General Public License version 3 requirements -## will be met: https://www.gnu.org/licenses/lgpl-3.0.html. -## -## GNU General Public License Usage -## Alternatively, this file may be used under the terms of the GNU -## General Public License version 2.0 or (at your option) the GNU General -## Public license version 3 or any later version approved by the KDE Free -## Qt Foundation. The licenses are as published by the Free Software -## Foundation and appearing in the file LICENSE.GPL2 and LICENSE.GPL3 -## included in the packaging of this file. Please review the following -## information to ensure the GNU General Public License requirements will -## be met: https://www.gnu.org/licenses/gpl-2.0.html and -## https://www.gnu.org/licenses/gpl-3.0.html. -## -## $QT_END_LICENSE$ -## -############################################################################# +# 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 . "$PSScriptRoot\helpers.ps1" # This script will install Dotnet SDK which is required for Azure installation $version = "2.1" if (Is64BitWinHost) { - $urlCache = "http://ci-files01-hki.intra.qt.io/input/windows/dotnet-sdk-2.1.809-win-x64.exe" + $urlCache = "http://ci-files01-hki.ci.qt.io/input/windows/dotnet-sdk-2.1.809-win-x64.exe" $urlOfficial = "https://download.visualstudio.microsoft.com/download/pr/c980b6fb-e570-4c73-b344-e4dae6573777/f844ac1a4c6ea5de7227a701786126fd/dotnet-sdk-2.1.809-win-x64.exe" $sha1 = "343e80c2ab558a30696dbe03ad2288bf435d5cd8" } else { - $urlCache = "http://ci-files01-hki.intra.qt.io/input/windows/dotnet-sdk-2.1.809-win-x86.exe" + $urlCache = "http://ci-files01-hki.ci.qt.io/input/windows/dotnet-sdk-2.1.809-win-x86.exe" $urlOfficial = "https://download.visualstudio.microsoft.com/download/pr/cf86a2f3-f6b2-4959-8e41-cf84b0d2f294/a61e834f56abe2dc2e12599e1a60c10b/dotnet-sdk-2.1.809-win-x86.exe" $sha1 = "b38a4e1392f17aed110508a1687f1c65b9d86161" } diff --git a/coin/provisioning/common/windows/install-ffmpeg.ps1 b/coin/provisioning/common/windows/install-ffmpeg.ps1 new file mode 100644 index 00000000..f8ad9f15 --- /dev/null +++ b/coin/provisioning/common/windows/install-ffmpeg.ps1 @@ -0,0 +1,169 @@ +# 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 + +. "$PSScriptRoot\helpers.ps1" + +# This script will install FFmpeg +$msys = "C:\Utils\msys64\usr\bin\bash" + +$version = "n6.1.1" +$ffmpeg_name = "ffmpeg-" + $version; +$sha1 = "7AECCED8A0366BE407329B4E176167534233DA12" + +$url_cached = "https://ci-files01-hki.ci.qt.io/input/ffmpeg/" + $version + ".zip" +$url_public = "https://github.com/FFmpeg/FFmpeg/archive/refs/tags/" +$version + ".zip" +$download_location = "C:\Windows\Temp\" + $ffmpeg_name + ".zip" +$unzip_location = "C:\" + +Write-Host "Fetching FFmpeg $version..." + +Download $url_public $url_cached $download_location +Verify-Checksum $download_location $sha1 +Extract-7Zip $download_location $unzip_location +Remove $download_location + +$config = Get-Content "$PSScriptRoot\..\shared\ffmpeg_config_options.txt" +Write-Host "FFmpeg configuration $config" + +function InstallFfmpeg { + Param ( + [string]$buildSystem, + [string]$msystem, + [string]$additionalPath, + [string]$ffmpegDirEnvVar, + [string]$toolchain, + [bool]$shared + ) + + Write-Host "Configure and compile ffmpeg for $buildSystem" + + $oldPath = $env:PATH + + if ($additionalPath) { $env:PATH = "$additionalPath;$env:PATH" } + $env:MSYS2_PATH_TYPE = "inherit" + $env:MSYSTEM = $msystem + + $cmd = "cd /c/$ffmpeg_name" + $cmd += " && mkdir -p build/$buildSystem && cd build/$buildSystem" + $cmd += " && ../../configure --prefix=installed $config" + if ($toolchain) { $cmd += " --toolchain=$toolchain" } + if ($shared) { $cmd += " --enable-shared --disable-static" } + $cmd += " && make install -j" + + Write-Host "MSYS cmd:" + Write-Host $cmd + $buildResult = Start-Process -NoNewWindow -Wait -PassThru -ErrorAction Stop -FilePath "$msys" -ArgumentList ("-lc", "`"$cmd`"") + + $env:PATH = $oldPath + + if ($buildResult.ExitCode) { + Write-Host "Failed to build ffmpeg for $buildSystem" + return $false + } + + Set-EnvironmentVariable $ffmpegDirEnvVar "C:\$ffmpeg_name\build\$buildSystem\installed" + return $true +} + +function InstallMingwFfmpeg { + $mingwPath = [System.Environment]::GetEnvironmentVariable("MINGW_PATH", [System.EnvironmentVariableTarget]::Machine) + return InstallFfmpeg -buildSystem "mingw" -msystem "MINGW" -additionalPath "$mingwPath\bin" -ffmpegDirEnvVar "FFMPEG_DIR_MINGW" -shared $true +} + + +function InstallMsvcFfmpeg { + 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 $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 + Write-Host "Rename libraries lib*.a -> *.lib" + try { + $msvcDir = [System.Environment]::GetEnvironmentVariable("FFMPEG_DIR_MSVC", [System.EnvironmentVariableTarget]::Machine) + Get-ChildItem "$msvcDir\lib\lib*.a" | ForEach-Object { + $NewName = $_.Name -replace 'lib(\w+).a$', '$1.lib' + $Destination = Join-Path -Path $_.Directory.FullName -ChildPath $NewName + Move-Item -Path $_.FullName -Destination $Destination -Force + } + } catch { + Write-Host "Failed to rename libraries lib*.a -> *.lib" + return $false + } + } + + return $result +} + + +function InstallLlvmMingwFfmpeg { + return InstallFfmpeg -buildSystem "llvm-mingw" -msystem "CLANG64" -ffmpegDirEnvVar "FFMPEG_DIR_LLVM_MINGW" -additionalPath "C:\llvm-mingw\bin" -shared $true +} + +function InstallAndroidArmv7 { + + $target_toolchain_arch="armv7a-linux-androideabi" + $target_arch="armv7-a" + $target_cpu="armv7-a" + $api_version="24" + + $ndkVersionLatest = "r26b" + $ndkFolderLatest = "/c/Utils/Android/android-ndk-$ndkVersionLatest" + + $toolchain="${ndkFolderLatest}/toolchains/llvm/prebuilt/windows-x86_64" + $toolchain_bin="${toolchain}/bin" + $sysroot="${toolchain}/sysroot" + $cxx="${toolchain_bin}/${target_toolchain_arch}${api_version}-clang++" + $cc="${toolchain_bin}/${target_toolchain_arch}${api_version}-clang" + $ld="${toolchain_bin}/ld.exe" + $ar="${toolchain_bin}/llvm-ar.exe" + $ranlib="${toolchain_bin}/llvm-ranlib.exe" + $nm="${toolchain_bin}/llvm-nm.exe" + $strip="${toolchain_bin}/llvm-strip.exe" + $openssl_path = [System.Environment]::GetEnvironmentVariable("OPENSSL_ANDROID_HOME_DEFAULT", [System.EnvironmentVariableTarget]::Machine) + $openssl_path = $openssl_path.Replace("\", "/") + + $config = Get-Content "$PSScriptRoot\..\shared\ffmpeg_config_options.txt" + $config += " --enable-cross-compile --target-os=android --enable-jni --enable-mediacodec --enable-openssl --enable-pthreads --enable-neon --disable-asm --disable-indev=android_camera" + $config += " --arch=$target_arch --cpu=${target_cpu} --sysroot=${sysroot} --sysinclude=${sysroot}/usr/include/" + $config += " --cc=${cc} --cxx=${cxx} --ar=${ar} --ranlib=${ranlib}" + $config += " --extra-cflags=-I$envOPENSSL_ANDROID_HOME_DEFAULT/include --extra-ldflags=-L$env:OPENSSL_ANDROID_HOME_DEFAULT/armeabi-v7a" + $config += " --extra-cflags=-I${openssl_path}/include --extra-ldflags=-L${openssl_path}/armeabi-v7a" + + return InstallFfmpeg -buildSystem "android-arm" -msystem "ANDROID_CLANG" -ffmpegDirEnvVar "FFMPEG_DIR_ANDROID_ARMV7" +} + +$mingwRes = InstallMingwFfmpeg +$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 $msvcArm64Res -and $llvmMingwRes -and $androidArmV7Res) { 0 } else { 1 }) diff --git a/coin/provisioning/common/windows/install-git.ps1 b/coin/provisioning/common/windows/install-git.ps1 index 56098d15..47c2cc03 100644 --- a/coin/provisioning/common/windows/install-git.ps1 +++ b/coin/provisioning/common/windows/install-git.ps1 @@ -1,55 +1,19 @@ -############################################################################# -## -## Copyright (C) 2021 The Qt Company Ltd. -## Contact: https://www.qt.io/licensing/ -## -## This file is part of the provisioning scripts of the Qt Toolkit. -## -## $QT_BEGIN_LICENSE:LGPL$ -## Commercial License Usage -## Licensees holding valid commercial Qt licenses may use this file in -## accordance with the commercial license agreement provided with the -## Software or, alternatively, in accordance with the terms contained in -## a written agreement between you and The Qt Company. For licensing terms -## and conditions see https://www.qt.io/terms-conditions. For further -## information use the contact form at https://www.qt.io/contact-us. -## -## GNU Lesser General Public License Usage -## Alternatively, this file may be used under the terms of the GNU Lesser -## General Public License version 3 as published by the Free Software -## Foundation and appearing in the file LICENSE.LGPL3 included in the -## packaging of this file. Please review the following information to -## ensure the GNU Lesser General Public License version 3 requirements -## will be met: https://www.gnu.org/licenses/lgpl-3.0.html. -## -## GNU General Public License Usage -## Alternatively, this file may be used under the terms of the GNU -## General Public License version 2.0 or (at your option) the GNU General -## Public license version 3 or any later version approved by the KDE Free -## Qt Foundation. The licenses are as published by the Free Software -## Foundation and appearing in the file LICENSE.GPL2 and LICENSE.GPL3 -## included in the packaging of this file. Please review the following -## information to ensure the GNU General Public License requirements will -## be met: https://www.gnu.org/licenses/gpl-2.0.html and -## https://www.gnu.org/licenses/gpl-3.0.html. -## -## $QT_END_LICENSE$ -## -############################################################################# +# 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 . "$PSScriptRoot\helpers.ps1" -# Install Git version 2.31.0 +# Install Git -$version = "2.31.0" +$version = "2.36.1" if (Is64BitWinHost) { $arch = "-64-bit" - $sha1 = "495d78f8d961e030944d9cb53af80d909d493c3f" + $sha1 = "594bdfc4e7704fb03fe14b7c0613087dfa3d4416" } else { $arch = "-32-bit" - $sha1 = "e57c040aea297b363aefaf26424f2e7a84a4a173" + $sha1 = "1bbe040254c236607ccb84e14a3f608b1a4e959a" } $gitPackage = "C:\Windows\Temp\Git-" + $version + $arch + ".exe" -$url_cache = "\\ci-files01-hki.intra.qt.io\provisioning\windows\Git-" + $version + $arch + ".exe" +$url_cache = "\\ci-files01-hki.ci.qt.io\provisioning\windows\Git-" + $version + $arch + ".exe" $url_official = "https://github.com/git-for-windows/git/releases/download/v" + $version + ".windows.1/Git-" + $version + $arch + ".exe" Write-Host "Fetching Git $version..." diff --git a/coin/provisioning/common/windows/install-gnuwin32.ps1 b/coin/provisioning/common/windows/install-gnuwin32.ps1 index a467b4e9..a6e300e6 100644 --- a/coin/provisioning/common/windows/install-gnuwin32.ps1 +++ b/coin/provisioning/common/windows/install-gnuwin32.ps1 @@ -1,41 +1,5 @@ -############################################################################ -## -## Copyright (C) 2019 The Qt Company Ltd. -## Contact: https://www.qt.io/licensing/ -## -## This file is part of the provisioning scripts of the Qt Toolkit. -## -## $QT_BEGIN_LICENSE:LGPL$ -## Commercial License Usage -## Licensees holding valid commercial Qt licenses may use this file in -## accordance with the commercial license agreement provided with the -## Software or, alternatively, in accordance with the terms contained in -## a written agreement between you and The Qt Company. For licensing terms -## and conditions see https://www.qt.io/terms-conditions. For further -## information use the contact form at https://www.qt.io/contact-us. -## -## GNU Lesser General Public License Usage -## Alternatively, this file may be used under the terms of the GNU Lesser -## General Public License version 3 as published by the Free Software -## Foundation and appearing in the file LICENSE.LGPL3 included in the -## packaging of this file. Please review the following information to -## ensure the GNU Lesser General Public License version 3 requirements -## will be met: https://www.gnu.org/licenses/lgpl-3.0.html. -## -## GNU General Public License Usage -## Alternatively, this file may be used under the terms of the GNU -## General Public License version 2.0 or (at your option) the GNU General -## Public license version 3 or any later version approved by the KDE Free -## Qt Foundation. The licenses are as published by the Free Software -## Foundation and appearing in the file LICENSE.GPL2 and LICENSE.GPL3 -## included in the packaging of this file. Please review the following -## information to ensure the GNU General Public License requirements will -## be met: https://www.gnu.org/licenses/gpl-2.0.html and -## https://www.gnu.org/licenses/gpl-3.0.html. -## -## $QT_END_LICENSE$ -## -############################################################################ +# Copyright (C) 2019 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\helpers.ps1" # This script will install gnuwin32 @@ -43,7 +7,7 @@ $prog = "gnuwin32" $zipPackage = "$prog.zip" $temp = "$env:tmp" -$internalUrl = "http://ci-files01-hki.intra.qt.io/input/windows/$prog/$zipPackage" +$internalUrl = "http://ci-files01-hki.ci.qt.io/input/windows/$prog/$zipPackage" $externalUrl = "http://download.qt.io/development_releases/$prog/$zipPackage" Download $externalUrl $internalUrl "$temp\$zipPackage" Verify-Checksum "$temp\$zipPackage" "d7a34a385ccde2374b8a2ca3369e5b8a1452c5a5" diff --git a/coin/provisioning/common/windows/install-jdk.ps1 b/coin/provisioning/common/windows/install-jdk.ps1 index dc3a5acd..dc19551d 100644 --- a/coin/provisioning/common/windows/install-jdk.ps1 +++ b/coin/provisioning/common/windows/install-jdk.ps1 @@ -1,41 +1,5 @@ -############################################################################ -## -## Copyright (C) 2021 The Qt Company Ltd. -## Contact: https://www.qt.io/licensing/ -## -## This file is part of the provisioning scripts of the Qt Toolkit. -## -## $QT_BEGIN_LICENSE:LGPL$ -## Commercial License Usage -## Licensees holding valid commercial Qt licenses may use this file in -## accordance with the commercial license agreement provided with the -## Software or, alternatively, in accordance with the terms contained in -## a written agreement between you and The Qt Company. For licensing terms -## and conditions see https://www.qt.io/terms-conditions. For further -## information use the contact form at https://www.qt.io/contact-us. -## -## GNU Lesser General Public License Usage -## Alternatively, this file may be used under the terms of the GNU Lesser -## General Public License version 3 as published by the Free Software -## Foundation and appearing in the file LICENSE.LGPL3 included in the -## packaging of this file. Please review the following information to -## ensure the GNU Lesser General Public License version 3 requirements -## will be met: https://www.gnu.org/licenses/lgpl-3.0.html. -## -## GNU General Public License Usage -## Alternatively, this file may be used under the terms of the GNU -## General Public License version 2.0 or (at your option) the GNU General -## Public license version 3 or any later version approved by the KDE Free -## Qt Foundation. The licenses are as published by the Free Software -## Foundation and appearing in the file LICENSE.GPL2 and LICENSE.GPL3 -## included in the packaging of this file. Please review the following -## information to ensure the GNU General Public License requirements will -## be met: https://www.gnu.org/licenses/gpl-2.0.html and -## https://www.gnu.org/licenses/gpl-3.0.html. -## -## $QT_END_LICENSE$ -## -############################################################################# +# 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 . "$PSScriptRoot\helpers.ps1" @@ -45,19 +9,24 @@ if (Is64BitWinHost) { $version = "11.0.12" $arch = "x64" $sha1 = "135ffd1c350509729551876232a5354070732e92" + $installdir = "C:\Program Files\Java\jdk-$version" + $url_cache = "\\ci-files01-hki.ci.qt.io\provisioning\windows\jdk-" + $version + "-windows-" + $arch + ".exe" } else { - $version = "8u144" - $arch = "i586" - $sha1 = "3b9ab95914514eaefd72b815c5d9dd84c8e216fc" + $version = "11.0.11.9" + $arch = "x86-32" + $sha1 = "a861e994208ee85bf83a76105f6858feeb6fbb33" + $installdir = "C:\Program Files\AdoptOpenJDK\jdk-$version-hotspot" + $url_cache = "\\ci-files01-hki.ci.qt.io\provisioning\windows\OpenJDK11U-jdk_x86-32_windows_hotspot_11.0.11_9.msi" } -$installdir = "C:\Program Files\Java\jdk-$version" - -$url_cache = "\\ci-files01-hki.intra.qt.io\provisioning\windows\jdk-" + $version + "-windows-" + $arch + ".exe" # NOTE! Official URL is behind login portal. It can't be used whit this script instead it need to be fetched to $url_cache first # java 11: https://www.oracle.com/java/technologies/downloads/#java11-windows # java 8: $official_url = "http://download.oracle.com/otn-pub/java/jdk/8u144-b01/090f390dda5b47b9b721c7dfaa008135/jdk-" + $version + "-windows-" + $arch + ".exe" -$javaPackage = "C:\Windows\Temp\jdk-$version.exe" +if (Is64BitWinHost) { + $javaPackage = "C:\Windows\Temp\jdk-$version.exe" +} else { + $javaPackage = "C:\Windows\Temp\jdk-$version.msi" +} Write-Host "Fetching Java SE $version..." $ProgressPreference = 'SilentlyContinue' @@ -65,7 +34,11 @@ Write-Host "...from local cache" Download $url_cache $url_cache $javaPackage Verify-Checksum $javaPackage $sha1 -Run-Executable "$javaPackage" "/s SPONSORS=0" +if (Is64BitWinHost) { + Run-Executable "$javaPackage" "/s SPONSORS=0" +} else { + Run-Executable "msiexec" "/quiet /i $javaPackage" +} Remove "$javaPackage" Write-Host "Remove Java update from startup" diff --git a/coin/provisioning/common/windows/install-jq.ps1 b/coin/provisioning/common/windows/install-jq.ps1 new file mode 100644 index 00000000..6f5bd333 --- /dev/null +++ b/coin/provisioning/common/windows/install-jq.ps1 @@ -0,0 +1,31 @@ +# Copyright (C) 2019 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\helpers.ps1" + +# This script installs jq + +$jqProgram = "jq" +$jqVersion = "1.6" +$jqExeSHA1 = "2b7ae7b902aa251b55f2fd73ad5b067d2215ce78" +$jqInstallLocation = "C:\Utils\jq" +$jqExe = "C:\Windows\Temp\jq.exe" +$jqCacheURL = "\\ci-files01-hki.ci.qt.io\provisioning\jq\jq-win64-$jqVersion.exe" +$jqOfficialURL = "https://github.com/jqlang/jq/releases/download/jq-$jqVersion/jq-win64.exe" + +Download "$jqOfficialURL" "$jqCacheURL" "$jqExe" +Verify-Checksum $jqExe $jqExeSHA1 +New-Item -Path "C:\Utils" -Name "jq" -ItemType "directory" -Force +Move-Item -Path "$jqExe" -Destination "$jqInstallLocation" -Force + +if(![System.IO.File]::Exists("$jqInstallLocation\jq.exe")){ + Write-Host "Can't find $jqInstallLocation\jq.exe." + exit 1 +} + +# Add jq to Path. It is necessary to prepend it to $env:Path as well, to make +# it available during provisioning +Prepend-Path "$jqInstallLocation" +$env:Path = "$jqInstallLocation;$env:Path" + +Write-Output "jq = $jqVersion" >> ~/versions.txt diff --git a/coin/provisioning/common/windows/install-mcuxpresso.ps1 b/coin/provisioning/common/windows/install-mcuxpresso.ps1 index d74f4b69..b3fa2b4c 100644 --- a/coin/provisioning/common/windows/install-mcuxpresso.ps1 +++ b/coin/provisioning/common/windows/install-mcuxpresso.ps1 @@ -1,41 +1,5 @@ -############################################################################ -## -## Copyright (C) 2020 The Qt Company Ltd. -## Contact: https://www.qt.io/licensing/ -## -## This file is part of the provisioning scripts of the Qt Toolkit. -## -## $QT_BEGIN_LICENSE:LGPL$ -## Commercial License Usage -## Licensees holding valid commercial Qt licenses may use this file in -## accordance with the commercial license agreement provided with the -## Software or, alternatively, in accordance with the terms contained in -## a written agreement between you and The Qt Company. For licensing terms -## and conditions see https://www.qt.io/terms-conditions. For further -## information use the contact form at https://www.qt.io/contact-us. -## -## GNU Lesser General Public License Usage -## Alternatively, this file may be used under the terms of the GNU Lesser -## General Public License version 3 as published by the Free Software -## Foundation and appearing in the file LICENSE.LGPL3 included in the -## packaging of this file. Please review the following information to -## ensure the GNU Lesser General Public License version 3 requirements -## will be met: https://www.gnu.org/licenses/lgpl-3.0.html. -## -## GNU General Public License Usage -## Alternatively, this file may be used under the terms of the GNU -## General Public License version 2.0 or (at your option) the GNU General -## Public license version 3 or any later version approved by the KDE Free -## Qt Foundation. The licenses are as published by the Free Software -## Foundation and appearing in the file LICENSE.GPL2 and LICENSE.GPL3 -## included in the packaging of this file. Please review the following -## information to ensure the GNU General Public License requirements will -## be met: https://www.gnu.org/licenses/gpl-2.0.html and -## https://www.gnu.org/licenses/gpl-3.0.html. -## -## $QT_END_LICENSE$ -## -############################################################################# +# 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 . "$PSScriptRoot\helpers.ps1" @@ -43,7 +7,7 @@ # MCUXpresso IDE provides the tools for flashing and onboard debugging $version = "11.2.0_4120" -$url = "http://ci-files01-hki.intra.qt.io/input/windows/MCUXpressoIDE_$version.zip" +$url = "http://ci-files01-hki.ci.qt.io/input/windows/MCUXpressoIDE_$version.zip" $zip = "C:\Windows\Temp\MCUXpressoIDE_$version.zip" Download $url $url $zip diff --git a/coin/provisioning/common/windows/install-mingw.ps1 b/coin/provisioning/common/windows/install-mingw.ps1 index 0eb37e96..d42eeaab 100644 --- a/coin/provisioning/common/windows/install-mingw.ps1 +++ b/coin/provisioning/common/windows/install-mingw.ps1 @@ -1,41 +1,5 @@ -############################################################################ -## -## Copyright (C) 2021 The Qt Company Ltd. -## Contact: https://www.qt.io/licensing/ -## -## This file is part of the provisioning scripts of the Qt Toolkit. -## -## $QT_BEGIN_LICENSE:LGPL$ -## Commercial License Usage -## Licensees holding valid commercial Qt licenses may use this file in -## accordance with the commercial license agreement provided with the -## Software or, alternatively, in accordance with the terms contained in -## a written agreement between you and The Qt Company. For licensing terms -## and conditions see https://www.qt.io/terms-conditions. For further -## information use the contact form at https://www.qt.io/contact-us. -## -## GNU Lesser General Public License Usage -## Alternatively, this file may be used under the terms of the GNU Lesser -## General Public License version 3 as published by the Free Software -## Foundation and appearing in the file LICENSE.LGPL3 included in the -## packaging of this file. Please review the following information to -## ensure the GNU Lesser General Public License version 3 requirements -## will be met: https://www.gnu.org/licenses/lgpl-3.0.html. -## -## GNU General Public License Usage -## Alternatively, this file may be used under the terms of the GNU -## General Public License version 2.0 or (at your option) the GNU General -## Public license version 3 or any later version approved by the KDE Free -## Qt Foundation. The licenses are as published by the Free Software -## Foundation and appearing in the file LICENSE.GPL2 and LICENSE.GPL3 -## included in the packaging of this file. Please review the following -## information to ensure the GNU General Public License requirements will -## be met: https://www.gnu.org/licenses/gpl-2.0.html and -## https://www.gnu.org/licenses/gpl-3.0.html. -## -## $QT_END_LICENSE$ -## -############################################################################ +# 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 . "$PSScriptRoot\helpers.ps1" @@ -46,15 +10,19 @@ function InstallMinGW [string] $sha1 = $(BadParam("SHA1 checksum of the file")) ) - $null, $null, $arch, $version, $null, $threading, $ex_handling, $build_ver, $revision = $release.split('-') + if ($release -like "*11.2.0*") { + $null, $null, $arch, $version, $null, $threading, $ex_handling, $build_ver, $revision = $release.split('-') + $url_original = "https://github.com/cristianadam/mingw-builds/releases/download/v" + $version + "-" + $revision + "/" + $arch + "-" + $version + "-release-" + $threading + "-" + $ex_handling + "-" + $build_ver + "-" + $revision + ".7z" + } + else { + $null, $null, $arch, $version, $null, $threading, $ex_handling, $runtime_library, $build_ver, $revision = $release.split('-') + $url_original = "https://github.com/niXman/mingw-builds-binaries/releases/download/" + $version + "-" + $build_ver + "-" + $revision + "/" + $arch + "-" + $version + "-release-" + $threading + "-" + $ex_handling + "-" + $runtime_library + "-" + $build_ver + "-" + $revision + ".7z" + } if ($arch -eq "x86_64") { $win_arch = "Win64" } - $envvar = "MINGW$version" - $envvar = $envvar -replace '["."]' + $envvar = "MINGW_PATH" $targetdir = "C:\$envvar" - - $url_original = "https://github.com/cristianadam/mingw-builds/releases/download/v" + $version + "-" + $revision + "/" + $arch + "-" + $version + "-release-" + $threading + "-" + $ex_handling + "-" + $build_ver + "-" + $revision + ".7z" - $url_cache = "\\ci-files01-hki.intra.qt.io\provisioning\windows\" + $release + ".7z" + $url_cache = "https://ci-files01-hki.ci.qt.io/input/windows/" + $release + ".7z" $mingwPackage = "C:\Windows\Temp\MinGW-$version.zip" Download $url_original $url_cache $mingwPackage Verify-Checksum $mingwPackage $sha1 diff --git a/coin/provisioning/common/windows/install-msys2.ps1 b/coin/provisioning/common/windows/install-msys2.ps1 index 535a399e..7a79d4ab 100644 --- a/coin/provisioning/common/windows/install-msys2.ps1 +++ b/coin/provisioning/common/windows/install-msys2.ps1 @@ -1,58 +1,22 @@ -############################################################################ -## -## Copyright (C) 2020 The Qt Company Ltd. -## Contact: https://www.qt.io/licensing/ -## -## This file is part of the provisioning scripts of the Qt Toolkit. -## -## $QT_BEGIN_LICENSE:LGPL$ -## Commercial License Usage -## Licensees holding valid commercial Qt licenses may use this file in -## accordance with the commercial license agreement provided with the -## Software or, alternatively, in accordance with the terms contained in -## a written agreement between you and The Qt Company. For licensing terms -## and conditions see https://www.qt.io/terms-conditions. For further -## information use the contact form at https://www.qt.io/contact-us. -## -## GNU Lesser General Public License Usage -## Alternatively, this file may be used under the terms of the GNU Lesser -## General Public License version 3 as published by the Free Software -## Foundation and appearing in the file LICENSE.LGPL3 included in the -## packaging of this file. Please review the following information to -## ensure the GNU Lesser General Public License version 3 requirements -## will be met: https://www.gnu.org/licenses/lgpl-3.0.html. -## -## GNU General Public License Usage -## Alternatively, this file may be used under the terms of the GNU -## General Public License version 2.0 or (at your option) the GNU General -## Public license version 3 or any later version approved by the KDE Free -## Qt Foundation. The licenses are as published by the Free Software -## Foundation and appearing in the file LICENSE.GPL2 and LICENSE.GPL3 -## included in the packaging of this file. Please review the following -## information to ensure the GNU General Public License requirements will -## be met: https://www.gnu.org/licenses/gpl-2.0.html and -## https://www.gnu.org/licenses/gpl-3.0.html. -## -## $QT_END_LICENSE$ -## -############################################################################# +# 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 . "$PSScriptRoot\helpers.ps1" # This script will installs msys2 -$version = "20200903" +$version = "20240113" $prog = "msys2" $arch = "x86_64" -$sha1 = "5a1644585fac2d58855d48b4ba4a92579a14cf03" +$sha1 = "b46c08fd901da0fdba1dc30422a322766d7d03c6" $sha1_prebuilt = "d86d45d72228f53f7ae060771bc95b6f54c703c8" $folder = "msys64" $package_prebuilt = $folder + "_" + $version + "_prebuilt.7z" $package = $prog + "-base-" + $arch + "-" + $version + ".tar.xz" -$url_cache_prebuilt = "\\ci-files01-hki.intra.qt.io\provisioning\windows\$package_prebuilt" -$url_cache = "\\ci-files01-hki.intra.qt.io\provisioning\windows\$package" +$url_cache_prebuilt = "\\ci-files01-hki.ci.qt.io\provisioning\windows\$package_prebuilt" +$url_cache = "https://ci-files01-hki.ci.qt.io/input/windows/$package" $url_official = "http://repo.msys2.org/distrib/$arch/$package" $TargetLocation = "C:\Utils" @@ -69,9 +33,9 @@ if ((Test-Path $url_cache_prebuilt)) { Extract-tar_gz $PackagePath $TargetLocation $msys = "$TargetLocation\$folder\msys2_shell.cmd" - # install perl + # install perl make and yasm # Run these without 'Run-Executable' function. When using the function the gpg-agent will lock the needed tmp*.tmp file. - cmd /c "$msys `"-l`" `"-c`" `"rm -rf /etc/pacman.d/gnupg;pacman-key --init;pacman-key --populate msys2;pacman -S --noconfirm perl make`"" + cmd /c "$msys `"-l`" `"-c`" `"rm -rf /etc/pacman.d/gnupg;pacman-key --init;pacman-key --populate msys2;pacman-key --refresh;pacman -S --noconfirm perl make yasm diffutils`"" Start-Sleep -s 60 cmd /c "$msys `"-l`" `"-c`" `"echo y | cpan -i Text::Template Test::More`"" diff --git a/coin/provisioning/common/windows/install-notepad++.ps1 b/coin/provisioning/common/windows/install-notepad++.ps1 index 175bcbb4..17e86d27 100644 --- a/coin/provisioning/common/windows/install-notepad++.ps1 +++ b/coin/provisioning/common/windows/install-notepad++.ps1 @@ -1,56 +1,37 @@ -############################################################################ -## -## Copyright (C) 2017 The Qt Company Ltd. -## Contact: https://www.qt.io/licensing/ -## -## This file is part of the provisioning scripts of the Qt Toolkit. -## -## $QT_BEGIN_LICENSE:LGPL$ -## Commercial License Usage -## Licensees holding valid commercial Qt licenses may use this file in -## accordance with the commercial license agreement provided with the -## Software or, alternatively, in accordance with the terms contained in -## a written agreement between you and The Qt Company. For licensing terms -## and conditions see https://www.qt.io/terms-conditions. For further -## information use the contact form at https://www.qt.io/contact-us. -## -## GNU Lesser General Public License Usage -## Alternatively, this file may be used under the terms of the GNU Lesser -## General Public License version 3 as published by the Free Software -## Foundation and appearing in the file LICENSE.LGPL3 included in the -## packaging of this file. Please review the following information to -## ensure the GNU Lesser General Public License version 3 requirements -## will be met: https://www.gnu.org/licenses/lgpl-3.0.html. -## -## GNU General Public License Usage -## Alternatively, this file may be used under the terms of the GNU -## General Public License version 2.0 or (at your option) the GNU General -## Public license version 3 or any later version approved by the KDE Free -## Qt Foundation. The licenses are as published by the Free Software -## Foundation and appearing in the file LICENSE.GPL2 and LICENSE.GPL3 -## included in the packaging of this file. Please review the following -## information to ensure the GNU General Public License requirements will -## be met: https://www.gnu.org/licenses/gpl-2.0.html and -## https://www.gnu.org/licenses/gpl-3.0.html. -## -## $QT_END_LICENSE$ -## -############################################################################# +# 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 . "$PSScriptRoot\helpers.ps1" # 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.intra.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 new file mode 100644 index 00000000..1f746b14 --- /dev/null +++ b/coin/provisioning/common/windows/install-openssh.ps1 @@ -0,0 +1,48 @@ +# 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 +. "$PSScriptRoot\helpers.ps1" + +# Install Openssh + +$version = "v9.2.2.0p1-Beta" + +$temp = "$env:tmp" +$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 + +Write-Host "Extracting the package" +Extract-7Zip "$temp\$zipPackage" C:\"Program Files" + +Write-Host "Installing $zipPackage $version..." +$path = "C:\Program Files\" + $zipPackage + "\install-sshd.ps1" + +# Installation done as shown at https://github.com/PowerShell/Win32-OpenSSH/wiki/Install-Win32-OpenSSH +powershell.exe -ExecutionPolicy Bypass -File $path +netsh advfirewall firewall add rule name=sshd dir=in action=allow protocol=TCP localport=22 +net start sshd +Set-Service sshd -StartupType Automatic diff --git a/coin/provisioning/common/windows/install-protobuf.ps1 b/coin/provisioning/common/windows/install-protobuf.ps1 deleted file mode 100644 index 52e1f240..00000000 --- a/coin/provisioning/common/windows/install-protobuf.ps1 +++ /dev/null @@ -1,70 +0,0 @@ -############################################################################# -## -## Copyright (C) 2021 The Qt Company Ltd. -## Contact: https://www.qt.io/licensing/ -## -## This file is part of the provisioning scripts of the Qt Toolkit. -## -## $QT_BEGIN_LICENSE:LGPL$ -## Commercial License Usage -## Licensees holding valid commercial Qt licenses may use this file in -## accordance with the commercial license agreement provided with the -## Software or, alternatively, in accordance with the terms contained in -## a written agreement between you and The Qt Company. For licensing terms -## and conditions see https://www.qt.io/terms-conditions. For further -## information use the contact form at https://www.qt.io/contact-us. -## -## GNU Lesser General Public License Usage -## Alternatively, this file may be used under the terms of the GNU Lesser -## General Public License version 3 as published by the Free Software -## Foundation and appearing in the file LICENSE.LGPL3 included in the -## packaging of this file. Please review the following information to -## ensure the GNU Lesser General Public License version 3 requirements -## will be met: https://www.gnu.org/licenses/lgpl-3.0.html. -## -## GNU General Public License Usage -## Alternatively, this file may be used under the terms of the GNU -## General Public License version 2.0 or (at your option) the GNU General -## Public license version 3 or any later version approved by the KDE Free -## Qt Foundation. The licenses are as published by the Free Software -## Foundation and appearing in the file LICENSE.GPL2 and LICENSE.GPL3 -## included in the packaging of this file. Please review the following -## information to ensure the GNU General Public License requirements will -## be met: https://www.gnu.org/licenses/gpl-2.0.html and -## https://www.gnu.org/licenses/gpl-3.0.html. -## -## $QT_END_LICENSE$ -## -############################################################################# -. "$PSScriptRoot\helpers.ps1" - -# This script will install Google's Protocol Buffers -# Script requires Cmake to be installed and strawberry-perl not to be installed - -$version = "3.6.1" -$sha1 = "44b8ba225f3b4dc45fb56d5881ec6a91329802b6" -$officialUrl = "https://github.com/protocolbuffers/protobuf/releases/download/v$version/protobuf-all-$version.zip" -$cachedUrl = "http://ci-files01-hki.intra.qt.io/input/automotive_suite/protobuf-all-$version.zip" -$zip = "C:\Utils\protobuf-all-$version.zip" -$installationFolder = "C:\Utils\protobuf" - -Write-Host "Installing Protocol Buffers" -Add-Path "C:\CMake\bin" -Download "$officialUrl" "$cachedUrl" "$zip" -Verify-Checksum "$zip" "$sha1" -Extract-7Zip "$zip" C:\Utils -New-Item -ItemType directory -Force -Path "C:\Utils\protobuf-$version\cmake\build" -New-Item -ItemType directory -Force -Path "C:\Utils\protobuf-$version\cmake\build\release" -New-Item -ItemType directory -Force -Path "$installationFolder" -cd "C:\Utils\protobuf-$version\cmake\build\release" -cmd /c "`"C:\\Program Files (x86)\\Microsoft Visual Studio\\2017\\Professional\\VC\\Auxiliary\\Build\\vcvars64.bat`" && cmake -G `"NMake Makefiles`" -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=$installationFolder ../.. && nmake && nmake install" -if(![System.IO.File]::Exists("$installationFolder\bin\protoc.exe")){ - Write-Host "Can't find $installationFolder\bin\protoc.exe. Installation probably failed!" - exit 1 -} - -Remove "$zip" - -Add-Path "$installationFolder\bin" -Set-EnvironmentVariable PROTOBUF_INCLUDE "$installationFolder\include" -Set-EnvironmentVariable PROTOBUF_LIB "$installationFolder\lib" diff --git a/coin/provisioning/common/windows/install-ruby.ps1 b/coin/provisioning/common/windows/install-ruby.ps1 index 53b8c834..53c8faf5 100644 --- a/coin/provisioning/common/windows/install-ruby.ps1 +++ b/coin/provisioning/common/windows/install-ruby.ps1 @@ -1,41 +1,5 @@ -############################################################################ -## -## Copyright (C) 2017 The Qt Company Ltd. -## Contact: https://www.qt.io/licensing/ -## -## This file is part of the provisioning scripts of the Qt Toolkit. -## -## $QT_BEGIN_LICENSE:LGPL$ -## Commercial License Usage -## Licensees holding valid commercial Qt licenses may use this file in -## accordance with the commercial license agreement provided with the -## Software or, alternatively, in accordance with the terms contained in -## a written agreement between you and The Qt Company. For licensing terms -## and conditions see https://www.qt.io/terms-conditions. For further -## information use the contact form at https://www.qt.io/contact-us. -## -## GNU Lesser General Public License Usage -## Alternatively, this file may be used under the terms of the GNU Lesser -## General Public License version 3 as published by the Free Software -## Foundation and appearing in the file LICENSE.LGPL3 included in the -## packaging of this file. Please review the following information to -## ensure the GNU Lesser General Public License version 3 requirements -## will be met: https://www.gnu.org/licenses/lgpl-3.0.html. -## -## GNU General Public License Usage -## Alternatively, this file may be used under the terms of the GNU -## General Public License version 2.0 or (at your option) the GNU General -## Public license version 3 or any later version approved by the KDE Free -## Qt Foundation. The licenses are as published by the Free Software -## Foundation and appearing in the file LICENSE.GPL2 and LICENSE.GPL3 -## included in the packaging of this file. Please review the following -## information to ensure the GNU General Public License requirements will -## be met: https://www.gnu.org/licenses/gpl-2.0.html and -## https://www.gnu.org/licenses/gpl-3.0.html. -## -## $QT_END_LICENSE$ -## -############################################################################# +# 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 . "$PSScriptRoot\helpers.ps1" @@ -49,7 +13,7 @@ if (Is64BitWinHost) { $arch = "-x86" $sha1 = "2639a481c3b5ad11f57d5523cc41ca884286089e" } -$url_cache = "\\ci-files01-hki.intra.qt.io\provisioning\windows\rubyinstaller-" + $version + $arch + ".exe" +$url_cache = "\\ci-files01-hki.ci.qt.io\provisioning\windows\rubyinstaller-" + $version + $arch + ".exe" $url_official = "https://github.com/oneclick/rubyinstaller2/releases/download/rubyinstaller-" + $version + "/rubyinstaller-" + $version + $arch + ".exe" $rubyPackage = "C:\Windows\Temp\rubyinstaller-$version.exe" diff --git a/coin/provisioning/common/windows/install-sccache.ps1 b/coin/provisioning/common/windows/install-sccache.ps1 index 57bcf140..b8f1605c 100644 --- a/coin/provisioning/common/windows/install-sccache.ps1 +++ b/coin/provisioning/common/windows/install-sccache.ps1 @@ -1,41 +1,5 @@ -############################################################################# -## -## Copyright (C) 2017 The Qt Company Ltd. -## Contact: https://www.qt.io/licensing/ -## -## This file is part of the provisioning scripts of the Qt Toolkit. -## -## $QT_BEGIN_LICENSE:LGPL$ -## Commercial License Usage -## Licensees holding valid commercial Qt licenses may use this file in -## accordance with the commercial license agreement provided with the -## Software or, alternatively, in accordance with the terms contained in -## a written agreement between you and The Qt Company. For licensing terms -## and conditions see https://www.qt.io/terms-conditions. For further -## information use the contact form at https://www.qt.io/contact-us. -## -## GNU Lesser General Public License Usage -## Alternatively, this file may be used under the terms of the GNU Lesser -## General Public License version 3 as published by the Free Software -## Foundation and appearing in the file LICENSE.LGPL3 included in the -## packaging of this file. Please review the following information to -## ensure the GNU Lesser General Public License version 3 requirements -## will be met: https://www.gnu.org/licenses/lgpl-3.0.html. -## -## GNU General Public License Usage -## Alternatively, this file may be used under the terms of the GNU -## General Public License version 2.0 or (at your option) the GNU General -## Public license version 3 or any later version approved by the KDE Free -## Qt Foundation. The licenses are as published by the Free Software -## Foundation and appearing in the file LICENSE.GPL2 and LICENSE.GPL3 -## included in the packaging of this file. Please review the following -## information to ensure the GNU General Public License requirements will -## be met: https://www.gnu.org/licenses/gpl-2.0.html and -## https://www.gnu.org/licenses/gpl-3.0.html. -## -## $QT_END_LICENSE$ -## -############################################################################# +# 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 # Install mozilla sccache @@ -50,7 +14,7 @@ param( $basename = "sccache-" + $version + "-" + $arch $zipfile = $basename + ".tar.gz" $tempfile = "C:\Windows\Temp\" + $zipfile -$urlCache = "http://ci-files01-hki.intra.qt.io/input/sccache/" + $zipfile +$urlCache = "http://ci-files01-hki.ci.qt.io/input/sccache/" + $zipfile $urlOfficial = "https://github.com/mozilla/sccache/releases/download/" + $version + "/" + $zipfile $targetFolder = "C:\Program Files\" diff --git a/coin/provisioning/common/windows/install-sed.ps1 b/coin/provisioning/common/windows/install-sed.ps1 index d60efb18..8b9c9671 100644 --- a/coin/provisioning/common/windows/install-sed.ps1 +++ b/coin/provisioning/common/windows/install-sed.ps1 @@ -1,41 +1,5 @@ -############################################################################ -## -## Copyright (C) 2019 The Qt Company Ltd. -## Contact: https://www.qt.io/licensing/ -## -## This file is part of the provisioning scripts of the Qt Toolkit. -## -## $QT_BEGIN_LICENSE:LGPL$ -## Commercial License Usage -## Licensees holding valid commercial Qt licenses may use this file in -## accordance with the commercial license agreement provided with the -## Software or, alternatively, in accordance with the terms contained in -## a written agreement between you and The Qt Company. For licensing terms -## and conditions see https://www.qt.io/terms-conditions. For further -## information use the contact form at https://www.qt.io/contact-us. -## -## GNU Lesser General Public License Usage -## Alternatively, this file may be used under the terms of the GNU Lesser -## General Public License version 3 as published by the Free Software -## Foundation and appearing in the file LICENSE.LGPL3 included in the -## packaging of this file. Please review the following information to -## ensure the GNU Lesser General Public License version 3 requirements -## will be met: https://www.gnu.org/licenses/lgpl-3.0.html. -## -## GNU General Public License Usage -## Alternatively, this file may be used under the terms of the GNU -## General Public License version 2.0 or (at your option) the GNU General -## Public license version 3 or any later version approved by the KDE Free -## Qt Foundation. The licenses are as published by the Free Software -## Foundation and appearing in the file LICENSE.GPL2 and LICENSE.GPL3 -## included in the packaging of this file. Please review the following -## information to ensure the GNU General Public License requirements will -## be met: https://www.gnu.org/licenses/gpl-2.0.html and -## https://www.gnu.org/licenses/gpl-3.0.html. -## -## $QT_END_LICENSE$ -## -############################################################################# +# Copyright (C) 2019 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\helpers.ps1" @@ -47,8 +11,8 @@ $sha1 = "dfd3d1dae27a24784d7ab40eb074196509fa48fe" $dep_sha1 = "f7edbd7152d8720c95d46dd128b87b8ba48a5d6f" $pkg = "$prog-$version-bin.zip" $dep_pkg = "$prog-$version-dep.zip" -$cached_url = "http://ci-files01-hki.intra.qt.io/input/windows/gnuwin32/$pkg" -$dep_cached_url = "http://ci-files01-hki.intra.qt.io/input/windows/gnuwin32/$dep_pkg" +$cached_url = "http://ci-files01-hki.ci.qt.io/input/windows/gnuwin32/$pkg" +$dep_cached_url = "http://ci-files01-hki.ci.qt.io/input/windows/gnuwin32/$dep_pkg" $install_location = "c:\Utils\$prog" $tmp_location = "c:\users\qt\downloads" diff --git a/coin/provisioning/common/windows/install-sevenzip.ps1 b/coin/provisioning/common/windows/install-sevenzip.ps1 index 7b130a73..47a34e2b 100644 --- a/coin/provisioning/common/windows/install-sevenzip.ps1 +++ b/coin/provisioning/common/windows/install-sevenzip.ps1 @@ -1,58 +1,36 @@ -############################################################################ -## -## Copyright (C) 2017 The Qt Company Ltd. -## Contact: https://www.qt.io/licensing/ -## -## This file is part of the provisioning scripts of the Qt Toolkit. -## -## $QT_BEGIN_LICENSE:LGPL$ -## Commercial License Usage -## Licensees holding valid commercial Qt licenses may use this file in -## accordance with the commercial license agreement provided with the -## Software or, alternatively, in accordance with the terms contained in -## a written agreement between you and The Qt Company. For licensing terms -## and conditions see https://www.qt.io/terms-conditions. For further -## information use the contact form at https://www.qt.io/contact-us. -## -## GNU Lesser General Public License Usage -## Alternatively, this file may be used under the terms of the GNU Lesser -## General Public License version 3 as published by the Free Software -## Foundation and appearing in the file LICENSE.LGPL3 included in the -## packaging of this file. Please review the following information to -## ensure the GNU Lesser General Public License version 3 requirements -## will be met: https://www.gnu.org/licenses/lgpl-3.0.html. -## -## GNU General Public License Usage -## Alternatively, this file may be used under the terms of the GNU -## General Public License version 2.0 or (at your option) the GNU General -## Public license version 3 or any later version approved by the KDE Free -## Qt Foundation. The licenses are as published by the Free Software -## Foundation and appearing in the file LICENSE.GPL2 and LICENSE.GPL3 -## included in the packaging of this file. Please review the following -## information to ensure the GNU General Public License requirements will -## be met: https://www.gnu.org/licenses/gpl-2.0.html and -## https://www.gnu.org/licenses/gpl-3.0.html. -## -## $QT_END_LICENSE$ -## -############################################################################# +# 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 . "$PSScriptRoot\helpers.ps1" # This script installs 7-Zip -$version = "16.04" -$nonDottedVersion = "1604" - -if (Is64BitWinHost) { - $arch = "-x64" - $sha1 = "338A5CC5200E98EDD644FC21807FDBE59910C4D0" -} else { - $arch = "" - $sha1 = "dd1cb1163c5572951c9cd27f5a8dd550b33c58a4" +$version = "23.01" +$nonDottedVersion = "2301" + +$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 = "\\ci-files01-hki.intra.qt.io\provisioning\windows\7z" + $nonDottedVersion + $arch + ".exe" +$url_cache = "https://ci-files01-hki.ci.qt.io/input/windows/7z" + $nonDottedVersion + $arch + ".exe" $url_official = "http://www.7-zip.org/a/7z" + $nonDottedVersion + $arch + ".exe" $7zPackage = "C:\Windows\Temp\7zip-$nonDottedVersion.exe" $7zTargetLocation = "C:\Utils\sevenzip\" diff --git a/coin/provisioning/common/windows/install-stm32cubeprogrammer.ps1 b/coin/provisioning/common/windows/install-stm32cubeprogrammer.ps1 index 2b79ee59..4df207ce 100644 --- a/coin/provisioning/common/windows/install-stm32cubeprogrammer.ps1 +++ b/coin/provisioning/common/windows/install-stm32cubeprogrammer.ps1 @@ -1,41 +1,5 @@ -############################################################################ -## -## Copyright (C) 2021 The Qt Company Ltd. -## Contact: https://www.qt.io/licensing/ -## -## This file is part of the provisioning scripts of the Qt Toolkit. -## -## $QT_BEGIN_LICENSE:LGPL$ -## Commercial License Usage -## Licensees holding valid commercial Qt licenses may use this file in -## accordance with the commercial license agreement provided with the -## Software or, alternatively, in accordance with the terms contained in -## a written agreement between you and The Qt Company. For licensing terms -## and conditions see https://www.qt.io/terms-conditions. For further -## information use the contact form at https://www.qt.io/contact-us. -## -## GNU Lesser General Public License Usage -## Alternatively, this file may be used under the terms of the GNU Lesser -## General Public License version 3 as published by the Free Software -## Foundation and appearing in the file LICENSE.LGPL3 included in the -## packaging of this file. Please review the following information to -## ensure the GNU Lesser General Public License version 3 requirements -## will be met: https://www.gnu.org/licenses/lgpl-3.0.html. -## -## GNU General Public License Usage -## Alternatively, this file may be used under the terms of the GNU -## General Public License version 2.0 or (at your option) the GNU General -## Public license version 3 or any later version approved by the KDE Free -## Qt Foundation. The licenses are as published by the Free Software -## Foundation and appearing in the file LICENSE.GPL2 and LICENSE.GPL3 -## included in the packaging of this file. Please review the following -## information to ensure the GNU General Public License requirements will -## be met: https://www.gnu.org/licenses/gpl-2.0.html and -## https://www.gnu.org/licenses/gpl-3.0.html. -## -## $QT_END_LICENSE$ -## -############################################################################# +# 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 . "$PSScriptRoot\helpers.ps1" @@ -43,7 +7,7 @@ # Official donwload from https://www.st.com/en/development-tools/stm32cubeprog.html $version ="2_5_0" -$url = "http://ci-files01-hki.intra.qt.io/input/windows/STMicroelectronics_v${version}.zip" +$url = "http://ci-files01-hki.ci.qt.io/input/windows/STMicroelectronics_v${version}.zip" $zip = "C:\Windows\Temp\STMicroelectronics_v${version}.zip" Download $url $url $zip diff --git a/coin/provisioning/common/windows/install-strawberry-perl.ps1 b/coin/provisioning/common/windows/install-strawberry-perl.ps1 index 5783fdbc..94cef218 100644 --- a/coin/provisioning/common/windows/install-strawberry-perl.ps1 +++ b/coin/provisioning/common/windows/install-strawberry-perl.ps1 @@ -1,41 +1,5 @@ -############################################################################ -## -## Copyright (C) 2020 The Qt Company Ltd. -## Contact: https://www.qt.io/licensing/ -## -## This file is part of the provisioning scripts of the Qt Toolkit. -## -## $QT_BEGIN_LICENSE:LGPL$ -## Commercial License Usage -## Licensees holding valid commercial Qt licenses may use this file in -## accordance with the commercial license agreement provided with the -## Software or, alternatively, in accordance with the terms contained in -## a written agreement between you and The Qt Company. For licensing terms -## and conditions see https://www.qt.io/terms-conditions. For further -## information use the contact form at https://www.qt.io/contact-us. -## -## GNU Lesser General Public License Usage -## Alternatively, this file may be used under the terms of the GNU Lesser -## General Public License version 3 as published by the Free Software -## Foundation and appearing in the file LICENSE.LGPL3 included in the -## packaging of this file. Please review the following information to -## ensure the GNU Lesser General Public License version 3 requirements -## will be met: https://www.gnu.org/licenses/lgpl-3.0.html. -## -## GNU General Public License Usage -## Alternatively, this file may be used under the terms of the GNU -## General Public License version 2.0 or (at your option) the GNU General -## Public license version 3 or any later version approved by the KDE Free -## Qt Foundation. The licenses are as published by the Free Software -## Foundation and appearing in the file LICENSE.GPL2 and LICENSE.GPL3 -## included in the packaging of this file. Please review the following -## information to ensure the GNU General Public License requirements will -## be met: https://www.gnu.org/licenses/gpl-2.0.html and -## https://www.gnu.org/licenses/gpl-3.0.html. -## -## $QT_END_LICENSE$ -## -############################################################################# +# 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 . "$PSScriptRoot\helpers.ps1" @@ -50,7 +14,7 @@ if (Is64BitWinHost) { $sha1 = "6ad89c6358a174c048f113bfd274d2d0378d60aa" } $installer_name = "strawberry-perl-" + $version + $arch + ".msi" -$url_cache = "\\ci-files01-hki.intra.qt.io\provisioning\windows\" + $installer_name +$url_cache = "\\ci-files01-hki.ci.qt.io\provisioning\windows\" + $installer_name $url_official = "http://strawberryperl.com/download/" + $version + "/" + $installer_name $strawberryPackage = "C:\Windows\Temp\" + $installer_name diff --git a/coin/provisioning/common/windows/install-vcpkg-ports-android.ps1 b/coin/provisioning/common/windows/install-vcpkg-ports-android.ps1 new file mode 100644 index 00000000..646f36cd --- /dev/null +++ b/coin/provisioning/common/windows/install-vcpkg-ports-android.ps1 @@ -0,0 +1,23 @@ +# 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 +. "$PSScriptRoot\helpers.ps1" + +Write-Host "Installing vcpkg android ports" +$vcpkgExe = "$env:VCPKG_ROOT\vcpkg.exe" +$vcpkgRoot = "$env:VCPKG_ROOT" + +Set-Location -Path "$PSScriptRoot\vcpkg" +Copy-Item "$PSScriptRoot\..\shared\vcpkg-configuration.json" -Destination "$PSScriptRoot\vcpkg" + +Run-Executable "$vcpkgExe" "install --triplet armeabi-v7a-android-qt --x-install-root armeabi-v7a-android-qt-tmp --debug" + +New-Item -Path "$vcpkgRoot" -Name "installed" -ItemType "directory" -Force +Copy-Item -Path "armeabi-v7a-android-qt-tmp\*" -Destination "$vcpkgRoot\installed" -Recurse -Force + +$versions = jq.exe -r '.overrides[] | \"vcpkg \(.name) for android = \(.version)\"' vcpkg.json +$versions = $versions.Replace("vcpkg", "`nvcpkg") +Write-Output "$versions" >> ~/versions.txt + +Remove-Item -Path "armeabi-v7a-android-qt-tmp" -Recurse -Force + +Set-Location "$PSScriptRoot" diff --git a/coin/provisioning/common/windows/install-vcpkg-ports.ps1 b/coin/provisioning/common/windows/install-vcpkg-ports.ps1 new file mode 100644 index 00000000..55eae4be --- /dev/null +++ b/coin/provisioning/common/windows/install-vcpkg-ports.ps1 @@ -0,0 +1,26 @@ +# 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 +. "$PSScriptRoot\helpers.ps1" + +Write-Host "Installing vcpkg ports" +$vcpkgExe = "$env:VCPKG_ROOT\vcpkg.exe" +$vcpkgRoot = "$env:VCPKG_ROOT" + +Set-Location -Path "$PSScriptRoot\vcpkg" +Copy-Item "$PSScriptRoot\..\shared\vcpkg-configuration.json" -Destination "$PSScriptRoot\vcpkg" + +Run-Executable "$vcpkgExe" "install --triplet x64-windows-qt --x-install-root x64-windows-qt-tmp --debug" +Run-Executable "$vcpkgExe" "install --triplet arm64-windows-qt --x-install-root arm64-windows-qt-tmp --debug" + +New-Item -Path "$vcpkgRoot" -Name "installed" -ItemType "directory" -Force +Copy-Item -Path "x64-windows-qt-tmp\*" -Destination "$vcpkgRoot\installed" -Recurse -Force +Copy-Item -Path "arm64-windows-qt-tmp\*" -Destination "$vcpkgRoot\installed" -Recurse -Force + +$versions = jq.exe -r '.overrides[] | \"vcpkg \(.name) = \(.version)\"' vcpkg.json +$versions = $versions.Replace("vcpkg", "`nvcpkg") +Write-Output "$versions" >> ~/versions.txt + +Remove-Item -Path "x64-windows-qt-tmp" -Recurse -Force +Remove-Item -Path "arm64-windows-qt-tmp" -Recurse -Force + +Set-Location "$PSScriptRoot" diff --git a/coin/provisioning/common/windows/install-vcpkg.ps1 b/coin/provisioning/common/windows/install-vcpkg.ps1 new file mode 100644 index 00000000..f5d1dad3 --- /dev/null +++ b/coin/provisioning/common/windows/install-vcpkg.ps1 @@ -0,0 +1,58 @@ +# 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 +. "$PSScriptRoot\helpers.ps1" + +# This script will install vcpkg + +Write-Host "Installing vcpkg" + +$n = Get-Content "$PSScriptRoot\..\shared\vcpkg_version.txt" +$n = $n.Split('=') +$vcpkgVersion = $n[1] +$nonDottedVersion = $vcpkgVersion.Replace(".", "") + +# Download vcpkg +$vcpkgRoot = "C:\Utils\vcpkg-$vcpkgVersion" +$vcpkgRepo = Get-Content -Path "$PSScriptRoot\..\shared\vcpkg_registry_mirror.txt" | Select-Object -First 1 + +Write-Host "Cloning the vcpkg repo" +git.exe clone "$vcpkgRepo" "$vcpkgRoot" +git.exe -C "$vcpkgRoot" checkout "tags/$vcpkgVersion" + +# Download vcpkg-tool, i.e., vcpkg.exe + +$n = Get-Content "$PSScriptRoot\..\shared\vcpkg_tool_release_tag.txt" +$n = $n.Split('=') +$vcpkgExeReleaseTag = $n[1] +$nonDottedReleaseTag = $vcpkgExeReleaseTag.replace('-', "") + +$vcpkgExeOfficialUrl = "https://github.com/microsoft/vcpkg-tool/releases/download/$vcpkgExeReleaseTag/vcpkg.exe" +$vcpkgExeCacheUrl = "\\ci-files01-hki.ci.qt.io\provisioning\vcpkg\vcpkg-$nonDottedReleaseTag-windows-x64.exe" +$vcpkgExeSHA1 = "F74DCDE7F6F5082EF6DC31FED486FAD69BE8D442" +$vcpkgExe = "C:\Windows\Temp\vcpkg.exe" + +Download "$vcpkgExeOfficialUrl" "$vcpkgExeCacheUrl" "$vcpkgExe" +Verify-Checksum $vcpkgExe $vcpkgExeSHA1 +Move-Item "$vcpkgExe" -Destination "$vcpkgRoot" -Force + +if(![System.IO.File]::Exists("$vcpkgRoot\vcpkg.exe")){ + Write-Host "Can't find $vcpkgRoot\vcpkg.exe." + exit 1 +} + +# Disable telemetry +Set-Content -Value "" -Path "$vcpkgRoot\vcpkg.disable-metrics" -Force + +# Setting VCPKG_ROOT using Set-EnvironmentVariable makes the variable only +# available during build time. In order to make it available during the +# provisioning, we need to directly set it via $env:VCPKG_ROOT as well. +Set-EnvironmentVariable "VCPKG_ROOT" "$vcpkgRoot" +$env:VCPKG_ROOT = "$vcpkgRoot" + +# Set a source for vcpkg Binary and Asset Cache +# The `coin/provisioning/common/windows/mount-vcpkg-cache-drive.ps1` script is +# mounting the SMB share located in `vcpkg-server.ci.qt.io/vcpkg` to drive V:\ +$env:VCPKG_BINARY_SOURCES = "files,V:/binaries,readwrite" +$env:X_VCPKG_ASSET_SOURCES = "x-azurl,file:///V:/assets,,readwrite" + +Write-Output "vcpkg = $vcpkgVersion" >> ~/versions.txt diff --git a/coin/provisioning/common/windows/install_telegraf.ps1 b/coin/provisioning/common/windows/install_telegraf.ps1 index 16f76cb9..3090a25e 100644 --- a/coin/provisioning/common/windows/install_telegraf.ps1 +++ b/coin/provisioning/common/windows/install_telegraf.ps1 @@ -1,41 +1,5 @@ -############################################################################# -## -## Copyright (C) 2019 The Qt Company Ltd. -## Contact: https://www.qt.io/licensing/ -## -## This file is part of the provisioning scripts of the Qt Toolkit. -## -## $QT_BEGIN_LICENSE:LGPL$ -## Commercial License Usage -## Licensees holding valid commercial Qt licenses may use this file in -## accordance with the commercial license agreement provided with the -## Software or, alternatively, in accordance with the terms contained in -## a written agreement between you and The Qt Company. For licensing terms -## and conditions see https://www.qt.io/terms-conditions. For further -## information use the contact form at https://www.qt.io/contact-us. -## -## GNU Lesser General Public License Usage -## Alternatively, this file may be used under the terms of the GNU Lesser -## General Public License version 3 as published by the Free Software -## Foundation and appearing in the file LICENSE.LGPL3 included in the -## packaging of this file. Please review the following information to -## ensure the GNU Lesser General Public License version 3 requirements -## will be met: https://www.gnu.org/licenses/lgpl-3.0.html. -## -## GNU General Public License Usage -## Alternatively, this file may be used under the terms of the GNU -## General Public License version 2.0 or (at your option) the GNU General -## Public license version 3 or any later version approved by the KDE Free -## Qt Foundation. The licenses are as published by the Free Software -## Foundation and appearing in the file LICENSE.GPL2 and LICENSE.GPL3 -## included in the packaging of this file. Please review the following -## information to ensure the GNU General Public License requirements will -## be met: https://www.gnu.org/licenses/gpl-2.0.html and -## https://www.gnu.org/licenses/gpl-3.0.html. -## -## $QT_END_LICENSE$ -## -############################################################################# +# Copyright (C) 2019 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" @@ -43,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.intra.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/jom.ps1 b/coin/provisioning/common/windows/jom.ps1 index 7cb60229..77216b85 100644 --- a/coin/provisioning/common/windows/jom.ps1 +++ b/coin/provisioning/common/windows/jom.ps1 @@ -3,7 +3,7 @@ $version = "1_1_2" $zip = Get-DownloadLocation "jom_$version.zip" -Download http://download.qt.io/official_releases/jom/jom_$version.zip http://ci-files01-hki.intra.qt.io/input/windows/jom_$version.zip $zip +Download http://download.qt.io/official_releases/jom/jom_$version.zip http://ci-files01-hki.ci.qt.io/input/windows/jom_$version.zip $zip Verify-Checksum $zip "80EE5678E714DE99DDAF5F7593AB04DB1C7928E4" Extract-7Zip $zip C:\Utils\Jom diff --git a/coin/provisioning/common/windows/libclang-v100-dyn.ps1 b/coin/provisioning/common/windows/libclang-v100-dyn.ps1 index 2b0caa18..3bb19670 100644 --- a/coin/provisioning/common/windows/libclang-v100-dyn.ps1 +++ b/coin/provisioning/common/windows/libclang-v100-dyn.ps1 @@ -26,7 +26,7 @@ function install() { $zip = "c:\users\qt\downloads\libclang-dyn.7z" $script:OfficialUrl = "https://download.qt.io/development_releases/prebuilt/libclang/libclang-release_$libclang_version-based-windows-$toolchain`_$archVer.7z" - $script:CachedUrl = "http://ci-files01-hki.intra.qt.io/input/libclang/dynamic/libclang-release_$libclang_version-based-windows-$toolchain`_$archVer.7z" + $script:CachedUrl = "http://ci-files01-hki.ci.qt.io/input/libclang/dynamic/libclang-release_$libclang_version-based-windows-$toolchain`_$archVer.7z" Download $OfficialUrl $CachedUrl $zip Verify-Checksum $zip $sha1 diff --git a/coin/provisioning/common/windows/libclang.ps1 b/coin/provisioning/common/windows/libclang.ps1 index ba7a7d80..57f42057 100644 --- a/coin/provisioning/common/windows/libclang.ps1 +++ b/coin/provisioning/common/windows/libclang.ps1 @@ -5,7 +5,7 @@ param( ) . "$PSScriptRoot\helpers.ps1" -$libclang_version="12.0" +$libclang_version="15.0.0" Write-Output "libClang = $libclang_version" >> ~/versions.txt # PySide versions following 5.6 use a C++ parser based on Clang (http://clang.org/). @@ -14,7 +14,6 @@ Write-Output "libClang = $libclang_version" >> ~/versions.txt # Starting from Qt 5.11 QDoc requires Clang to parse C++ $baseDestination = "C:\Utils\libclang-" + $libclang_version + "-" + $toolchain -$libclang_version = $libclang_version -replace '["."]' function install() { @@ -26,7 +25,7 @@ function install() { $zip = "c:\users\qt\downloads\libclang.7z" $script:OfficialUrl = "https://download.qt.io/development_releases/prebuilt/libclang/qt/libclang-release_$libclang_version-based-windows-$toolchain`_$archVer.7z" - $script:CachedUrl = "http://ci-files01-hki.intra.qt.io/input/libclang/qt/libclang-release_$libclang_version-based-windows-$toolchain`_$archVer.7z" + $script:CachedUrl = "http://ci-files01-hki.ci.qt.io/input/libclang/qt/libclang-release_$libclang_version-based-windows-$toolchain`_$archVer.7z" Download $OfficialUrl $CachedUrl $zip Verify-Checksum $zip $sha1 @@ -39,7 +38,7 @@ $toolchainSuffix = "" if ( $toolchain -eq "vs2019" ) { if ( $archVer -eq 64 ) { - $sha1 = "44fabbd45b4b7e659c49347c156bae09d7aaffdc" + $sha1 = "e7c2d27f0e99d63e49225cb1be18c76a1e2a124b" } else { $sha1 = "" @@ -49,7 +48,7 @@ if ( $toolchain -eq "vs2019" ) { if ( $toolchain -eq "mingw" ) { if ( $archVer -eq 64 ) { - $sha1 = "9333170111aa90af6e1db824cd964dba227a4710" + $sha1 = "6c9300051533d5648ffe3e8ae1eb00decae8e6bf" } else { $sha1 = "" @@ -63,9 +62,3 @@ if ( $setDefault ) { Set-EnvironmentVariable "LLVM_INSTALL_DIR" ($baseDestination + "-$archVer") } Set-EnvironmentVariable ("LLVM_INSTALL_DIR_${toolchainSuffix}") ($baseDestination + "-$archVer") - -if ( $libclang_version -eq "120" ) { - # This is a hacked static build of libclang which requires special - # handling on the qdoc side. - Set-EnvironmentVariable "QDOC_USE_STATIC_LIBCLANG" "1" -} diff --git a/coin/provisioning/common/windows/libusb.ps1 b/coin/provisioning/common/windows/libusb.ps1 index 8b0342e1..d654d4bf 100644 --- a/coin/provisioning/common/windows/libusb.ps1 +++ b/coin/provisioning/common/windows/libusb.ps1 @@ -1,56 +1,20 @@ -############################################################################# -## -## Copyright (C) 2017 The Qt Company Ltd. -## Contact: https://www.qt.io/licensing/ -## -## This file is part of the provisioning scripts of the Qt Toolkit. -## -## $QT_BEGIN_LICENSE:LGPL$ -## Commercial License Usage -## Licensees holding valid commercial Qt licenses may use this file in -## accordance with the commercial license agreement provided with the -## Software or, alternatively, in accordance with the terms contained in -## a written agreement between you and The Qt Company. For licensing terms -## and conditions see https://www.qt.io/terms-conditions. For further -## information use the contact form at https://www.qt.io/contact-us. -## -## GNU Lesser General Public License Usage -## Alternatively, this file may be used under the terms of the GNU Lesser -## General Public License version 3 as published by the Free Software -## Foundation and appearing in the file LICENSE.LGPL3 included in the -## packaging of this file. Please review the following information to -## ensure the GNU Lesser General Public License version 3 requirements -## will be met: https://www.gnu.org/licenses/lgpl-3.0.html. -## -## GNU General Public License Usage -## Alternatively, this file may be used under the terms of the GNU -## General Public License version 2.0 or (at your option) the GNU General -## Public license version 3 or any later version approved by the KDE Free -## Qt Foundation. The licenses are as published by the Free Software -## Foundation and appearing in the file LICENSE.GPL2 and LICENSE.GPL3 -## included in the packaging of this file. Please review the following -## information to ensure the GNU General Public License requirements will -## be met: https://www.gnu.org/licenses/gpl-2.0.html and -## https://www.gnu.org/licenses/gpl-3.0.html. -## -## $QT_END_LICENSE$ -## -############################################################################# +# 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 # libusb-1.0 is needed by qt-apps/qdb . "$PSScriptRoot\helpers.ps1" -$archive = Get-DownloadLocation "libusb-1.0.24.7z" +$archive = Get-DownloadLocation "libusb-1.0.26.7z" $libusb_location = "C:\Utils\libusb-1.0" -Copy-Item \\ci-files01-hki.intra.qt.io\provisioning\libusb-1.0\libusb-1.0.24.7z $archive -Verify-Checksum $archive "1ACAAD5C8F5190A10958867101A5FEEF1FFA1CD8" +Copy-Item \\ci-files01-hki.ci.qt.io\provisioning\libusb-1.0\libusb-1.0.26.7z $archive +Verify-Checksum $archive "89b50c7d6085350ed809a12b19131ff4f608b2f2" Extract-7Zip $archive $libusb_location # Tell qt-apps/qdb build system where to find libusb Set-EnvironmentVariable "LIBUSB_PATH" $libusb_location -Write-Output "libusb = libusb-1.0.24" >> ~/versions.txt +Write-Output "libusb = libusb-1.0.26" >> ~/versions.txt diff --git a/coin/provisioning/common/windows/longpath.ps1 b/coin/provisioning/common/windows/longpath.ps1 new file mode 100644 index 00000000..31666ef4 --- /dev/null +++ b/coin/provisioning/common/windows/longpath.ps1 @@ -0,0 +1,2 @@ +New-ItemProperty -Path "HKLM:\SYSTEM\CurrentControlSet\Control\FileSystem" -Name "LongPathsEnabled" -Value 1 -PropertyType DWORD -Force + diff --git a/coin/provisioning/common/windows/mesa_llvmpipe.ps1 b/coin/provisioning/common/windows/mesa_llvmpipe.ps1 index 283a92b2..cae1dab8 100644 --- a/coin/provisioning/common/windows/mesa_llvmpipe.ps1 +++ b/coin/provisioning/common/windows/mesa_llvmpipe.ps1 @@ -1,51 +1,15 @@ -############################################################################# -## -## Copyright (C) 2020 The Qt Company Ltd. -## Contact: https://www.qt.io/licensing/ -## -## This file is part of the provisioning scripts of the Qt Toolkit. -## -## $QT_BEGIN_LICENSE:LGPL$ -## Commercial License Usage -## Licensees holding valid commercial Qt licenses may use this file in -## accordance with the commercial license agreement provided with the -## Software or, alternatively, in accordance with the terms contained in -## a written agreement between you and The Qt Company. For licensing terms -## and conditions see https://www.qt.io/terms-conditions. For further -## information use the contact form at https://www.qt.io/contact-us. -## -## GNU Lesser General Public License Usage -## Alternatively, this file may be used under the terms of the GNU Lesser -## General Public License version 3 as published by the Free Software -## Foundation and appearing in the file LICENSE.LGPL3 included in the -## packaging of this file. Please review the following information to -## ensure the GNU Lesser General Public License version 3 requirements -## will be met: https://www.gnu.org/licenses/lgpl-3.0.html. -## -## GNU General Public License Usage -## Alternatively, this file may be used under the terms of the GNU -## General Public License version 2.0 or (at your option) the GNU General -## Public license version 3 or any later version approved by the KDE Free -## Qt Foundation. The licenses are as published by the Free Software -## Foundation and appearing in the file LICENSE.GPL2 and LICENSE.GPL3 -## included in the packaging of this file. Please review the following -## information to ensure the GNU General Public License requirements will -## be met: https://www.gnu.org/licenses/gpl-2.0.html and -## https://www.gnu.org/licenses/gpl-3.0.html. -## -## $QT_END_LICENSE$ -## -############################################################################# +# 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 . "$PSScriptRoot\helpers.ps1" $version = "11_2_2" $package = "C:\Windows\temp\opengl32sw.7z" -$mesaOpenglSha1_64 = "0ed35efbc8112282be5d0c87c37fde2d15e81998" -$mesaOpenglUrl_64_cache = "http://ci-files01-hki.intra.qt.io/input/windows/opengl32sw-64-mesa_$version-signed.7z" -$mesaOpenglUrl_64_alt = "http://download.qt.io/development_releases/prebuilt/llvmpipe/windows/opengl32sw-64-mesa_$version-signed.7z" -$mesaOpenglSha1_32 = "96bd6ca0d7fd249fb61531dca888965ffd20f53c" -$mesaOpenglUrl_32_cache = "http://ci-files01-hki.intra.qt.io/input/windows/opengl32sw-32-mesa_$version-signed.7z" -$mesaOpenglUrl_32_alt = "http://download.qt.io/development_releases/prebuilt/llvmpipe/windows/opengl32sw-32-mesa_$version-signed.7z" +$mesaOpenglSha1_64 = "58f948746696b17a594b2f542e87b0e831b28dc3" +$mesaOpenglUrl_64_cache = "http://ci-files01-hki.ci.qt.io/input/windows/opengl32sw-64-mesa_$version-signed_sha256.7z" +$mesaOpenglUrl_64_alt = "http://download.qt.io/development_releases/prebuilt/llvmpipe/windows/opengl32sw-64-mesa_$version-signed_sha256.7z" +$mesaOpenglSha1_32 = "974f468acaa0018d46607e2100f1214fecd35bd4" +$mesaOpenglUrl_32_cache = "http://ci-files01-hki.ci.qt.io/input/windows/opengl32sw-32-mesa_$version-signed_sha256.7z" +$mesaOpenglUrl_32_alt = "http://download.qt.io/development_releases/prebuilt/llvmpipe/windows/opengl32sw-32-mesa_$version-signed_sha256.7z" function Extract-Mesa { diff --git a/coin/provisioning/common/windows/mimersql.ps1 b/coin/provisioning/common/windows/mimersql.ps1 new file mode 100644 index 00000000..b5e041d0 --- /dev/null +++ b/coin/provisioning/common/windows/mimersql.ps1 @@ -0,0 +1,31 @@ +# 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 + +. "$PSScriptRoot\helpers.ps1" + +# This script will install Mimer SQL + + +$version = "1107b" + +$url_cache = "https://ci-files01-hki.ci.qt.io/input/windows/MimerSQLInstaller_x64_" + $version + ".exe" +$url_official = "https://install.mimer.com/qt/windows_" + $version + "/MimerSQLInstaller_x64.exe" +$mimersqlPackage = "C:\Windows\Temp\MimerSQLInstaller_x64_" + $version + ".exe" +$sha1 = "A709A06EA1D897B13FA10DBDD4BE3BD0FEB04B28" +$mimer_dir="c:\MimerSQL" + +Download $url_official $url_cache $mimersqlPackage +Verify-Checksum $mimersqlPackage $sha1 +Run-Executable "$mimersqlPackage" "/install InstallFolder=$mimer_dir /passive" + +Set-EnvironmentVariable "MIMERSQL_DEV_ROOT" "$mimer_dir\dev" + +Write-Host "Cleaning $mimersqlPackage.." +#Remove "$mimersqlPackage" +Remove "$mimer_dir\dev\include\odbcinst.h" +Remove "$mimer_dir\dev\include\Sql.h" +Remove "$mimer_dir\dev\include\sqlext.h" +Remove "$mimer_dir\dev\include\sqltypes.h" +Remove "$mimer_dir\dev\include\sqlucode.h" + +Write-Output "Mimer SQL = $version" >> ~\versions.txt diff --git a/coin/provisioning/common/windows/mount-vcpkg-cache-drive.ps1 b/coin/provisioning/common/windows/mount-vcpkg-cache-drive.ps1 new file mode 100644 index 00000000..25a7536c --- /dev/null +++ b/coin/provisioning/common/windows/mount-vcpkg-cache-drive.ps1 @@ -0,0 +1,20 @@ +# 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 + +$credentialsFile = "$env:USERPROFILE\vcpkg_samba_credentials" + +# Extract username and password from the credentials +$username = "vcpkg" +$securePassword = Get-Content -Path "$credentialsFile" -TotalCount 1 | ConvertTo-SecureString -AsPlainText -Force + +# Create a PSCredential object +$credential = New-Object PSCredential -ArgumentList $username, $securePassword + +# Mount the SMB share +# Check if the mount was successful +if (New-PSDrive -Persist -Scope Global -Name V -PSProvider FileSystem -Root \\vcpkg-server.ci.qt.io\vcpkg -Credential $credential) +{ + Write-Host "SMB share mounted successfully!" +} else { + Write-Host "Failed to mount SMB share." +} diff --git a/coin/provisioning/common/windows/mqtt_broker.ps1 b/coin/provisioning/common/windows/mqtt_broker.ps1 index 1853eeb9..4161ddea 100644 --- a/coin/provisioning/common/windows/mqtt_broker.ps1 +++ b/coin/provisioning/common/windows/mqtt_broker.ps1 @@ -1,41 +1,5 @@ -############################################################################# -## -## Copyright (C) 2017 The Qt Company Ltd. -## Contact: https://www.qt.io/licensing/ -## -## This file is part of the provisioning scripts of the Qt Toolkit. -## -## $QT_BEGIN_LICENSE:LGPL$ -## Commercial License Usage -## Licensees holding valid commercial Qt licenses may use this file in -## accordance with the commercial license agreement provided with the -## Software or, alternatively, in accordance with the terms contained in -## a written agreement between you and The Qt Company. For licensing terms -## and conditions see https://www.qt.io/terms-conditions. For further -## information use the contact form at https://www.qt.io/contact-us. -## -## GNU Lesser General Public License Usage -## Alternatively, this file may be used under the terms of the GNU Lesser -## General Public License version 3 as published by the Free Software -## Foundation and appearing in the file LICENSE.LGPL3 included in the -## packaging of this file. Please review the following information to -## ensure the GNU Lesser General Public License version 3 requirements -## will be met: https://www.gnu.org/licenses/lgpl-3.0.html. -## -## GNU General Public License Usage -## Alternatively, this file may be used under the terms of the GNU -## General Public License version 2.0 or (at your option) the GNU General -## Public license version 3 or any later version approved by the KDE Free -## Qt Foundation. The licenses are as published by the Free Software -## Foundation and appearing in the file LICENSE.GPL2 and LICENSE.GPL3 -## included in the packaging of this file. Please review the following -## information to ensure the GNU General Public License requirements will -## be met: https://www.gnu.org/licenses/gpl-2.0.html and -## https://www.gnu.org/licenses/gpl-3.0.html. -## -## $QT_END_LICENSE$ -## -############################################################################# +# 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 . "$PSScriptRoot\helpers.ps1" @@ -44,7 +8,7 @@ $zip = Get-DownloadLocation "pahotest.zip" $commitSHA = "20bad2475c27a6e1d24a56d90a9fceb40963261e" $sha1 = "a0ac88715c2aebb9573a113dc13925a90da19233" -$internalUrl = "http://ci-files01-hki.intra.qt.io/input/mqtt_broker/paho.mqtt.testing-$commitSHA.zip" +$internalUrl = "http://ci-files01-hki.ci.qt.io/input/mqtt_broker/paho.mqtt.testing-$commitSHA.zip" $externalUrl = "https://github.com/eclipse/paho.mqtt.testing/archive/$commitSHA.zip" Download $externalUrl $internalUrl $zip diff --git a/coin/provisioning/common/windows/msvc-2013-update5.ps1 b/coin/provisioning/common/windows/msvc-2013-update5.ps1 index 52aba390..c75ca030 100644 --- a/coin/provisioning/common/windows/msvc-2013-update5.ps1 +++ b/coin/provisioning/common/windows/msvc-2013-update5.ps1 @@ -1,48 +1,12 @@ -############################################################################# -## -## Copyright (C) 2017 The Qt Company Ltd. -## Contact: https://www.qt.io/licensing/ -## -## This file is part of the provisioning scripts of the Qt Toolkit. -## -## $QT_BEGIN_LICENSE:LGPL$ -## Commercial License Usage -## Licensees holding valid commercial Qt licenses may use this file in -## accordance with the commercial license agreement provided with the -## Software or, alternatively, in accordance with the terms contained in -## a written agreement between you and The Qt Company. For licensing terms -## and conditions see https://www.qt.io/terms-conditions. For further -## information use the contact form at https://www.qt.io/contact-us. -## -## GNU Lesser General Public License Usage -## Alternatively, this file may be used under the terms of the GNU Lesser -## General Public License version 3 as published by the Free Software -## Foundation and appearing in the file LICENSE.LGPL3 included in the -## packaging of this file. Please review the following information to -## ensure the GNU Lesser General Public License version 3 requirements -## will be met: https://www.gnu.org/licenses/lgpl-3.0.html. -## -## GNU General Public License Usage -## Alternatively, this file may be used under the terms of the GNU -## General Public License version 2.0 or (at your option) the GNU General -## Public license version 3 or any later version approved by the KDE Free -## Qt Foundation. The licenses are as published by the Free Software -## Foundation and appearing in the file LICENSE.GPL2 and LICENSE.GPL3 -## included in the packaging of this file. Please review the following -## information to ensure the GNU General Public License requirements will -## be met: https://www.gnu.org/licenses/gpl-2.0.html and -## https://www.gnu.org/licenses/gpl-3.0.html. -## -## $QT_END_LICENSE$ -## -############################################################################# +# 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 . "$PSScriptRoot\helpers.ps1" # Install Visual Studio 2013 update 5 $version = "2013 Update 5 (KB2829760)" $package = "C:\Windows\Temp\vs12-kb2829760.exe" -$url_cache = "\\ci-files01-hki.intra.qt.io\provisioning\windows\VS2013.5.exe" +$url_cache = "\\ci-files01-hki.ci.qt.io\provisioning\windows\VS2013.5.exe" Write-Host "Fetching patch for Visual Studio $version..." Copy-Item $url_cache $package diff --git a/coin/provisioning/common/windows/msys.ps1 b/coin/provisioning/common/windows/msys.ps1 index 58aa060b..a7414788 100644 --- a/coin/provisioning/common/windows/msys.ps1 +++ b/coin/provisioning/common/windows/msys.ps1 @@ -3,7 +3,7 @@ # This script will install msys which is needed for configuring openssl for Android $version = "1.0.11" -$url = "\\ci-files01-hki.intra.qt.io\provisioning\windows\msys-$version.7z" +$url = "\\ci-files01-hki.ci.qt.io\provisioning\windows\msys-$version.7z" $zip = Get-DownloadLocation ("msys-$version.7z") $sha1 = "22cd76f1263db8c72727a9537228c481ff33c285" diff --git a/coin/provisioning/common/windows/mysql.ps1 b/coin/provisioning/common/windows/mysql.ps1 index 18a9ce88..10a8b633 100644 --- a/coin/provisioning/common/windows/mysql.ps1 +++ b/coin/provisioning/common/windows/mysql.ps1 @@ -1,89 +1,37 @@ -############################################################################# -## -## Copyright (C) 2019 The Qt Company Ltd. -## Contact: https://www.qt.io/licensing/ -## -## This file is part of the provisioning scripts of the Qt Toolkit. -## -## $QT_BEGIN_LICENSE:LGPL$ -## Commercial License Usage -## Licensees holding valid commercial Qt licenses may use this file in -## accordance with the commercial license agreement provided with the -## Software or, alternatively, in accordance with the terms contained in -## a written agreement between you and The Qt Company. For licensing terms -## and conditions see https://www.qt.io/terms-conditions. For further -## information use the contact form at https://www.qt.io/contact-us. -## -## GNU Lesser General Public License Usage -## Alternatively, this file may be used under the terms of the GNU Lesser -## General Public License version 3 as published by the Free Software -## Foundation and appearing in the file LICENSE.LGPL3 included in the -## packaging of this file. Please review the following information to -## ensure the GNU Lesser General Public License version 3 requirements -## will be met: https://www.gnu.org/licenses/lgpl-3.0.html. -## -## GNU General Public License Usage -## Alternatively, this file may be used under the terms of the GNU -## General Public License version 2.0 or (at your option) the GNU General -## Public license version 3 or any later version approved by the KDE Free -## Qt Foundation. The licenses are as published by the Free Software -## Foundation and appearing in the file LICENSE.GPL2 and LICENSE.GPL3 -## included in the packaging of this file. Please review the following -## information to ensure the GNU General Public License requirements will -## be met: https://www.gnu.org/licenses/gpl-2.0.html and -## https://www.gnu.org/licenses/gpl-3.0.html. -## -## $QT_END_LICENSE$ -## -############################################################################# +# 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 . "$PSScriptRoot\helpers.ps1" # This script installs MySQL $version. # Both x86 and x64 versions needed when x86 integrations are done on x64 machine -$version = "5.7.25" -$baseNameX64 = "mysql-$version-winx64" -$packagex64 = "C:\Windows\temp\$baseNameX64.zip" -$baseNameX86 = "mysql-$version-win32" -$packagex86 = "C:\Windows\temp\$baseNameX86.zip" -$installFolder = "C:\Utils\my_sql" - -function DownloadAndInstall -{ - Param ( - [string]$internalUrl, - [string]$package, - [string]$installPath +$version = "8.0.36" +$installFolder = "C:\Utils" +$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( + [string]$officialUrl, + [string]$cacheUrl, + [string]$zip, + [string]$sha ) - Write-Host "Fetching from URL ..." - Copy-Item $internalUrl $package - - $zipDir = [io.path]::GetFileNameWithoutExtension($package) - Extract-7Zip $package $installPath "$zipDir\lib $zipDir\bin $zipDir\share $zipDir\include" - - Remove "$package" -} - -if (Is64BitWinHost) { - # Install x64 bit version - $architecture = "x64" - $internalUrl = "\\ci-files01-hki.intra.qt.io\provisioning\windows\mysql-$version-winx64.zip" - - DownloadAndInstall $internalUrl $packagex64 $installFolder - - Set-EnvironmentVariable "MYSQL_INCLUDE_x64" "$installFolder\$baseNameX64\include" - Set-EnvironmentVariable "MYSQL_LIB_x64" "$installFolder\$baseNameX64\lib" + Download $officialUrl $cacheURl $zip + Verify-Checksum $zip $sha + Extract-7Zip $zip $installFolder + Remove $zip } -# Install x86 bit version -$architecture = "x86" -$internalUrl = "\\ci-files01-hki.intra.qt.io\provisioning\windows\mysql-$version-win32.zip" -DownloadAndInstall $internalUrl $packagex86 $installFolder +Install $officialUrl $cacheURl $zip $sha -Set-EnvironmentVariable "MYSQL_INCLUDE_x86" "$installFolder\$baseNameX86\include" -Set-EnvironmentVariable "MYSQL_LIB_x86" "$installFolder\$baseNameX86\lib" +# 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-${version}-winx64" +Set-EnvironmentVariable "ENV_MySQL_LIBRARY_DIR" "${installFolder}\mysql-${version}-winx64\lib" -# Store version information to ~/versions.txt, which is used to print version information to provision log. Write-Output "MySQL = $version" >> ~/versions.txt diff --git a/coin/provisioning/common/windows/ninja.ps1 b/coin/provisioning/common/windows/ninja.ps1 index e1a29412..956e7835 100644 --- a/coin/provisioning/common/windows/ninja.ps1 +++ b/coin/provisioning/common/windows/ninja.ps1 @@ -1,13 +1,63 @@ . "$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.intra.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"?> +<assembly manifestVersion="1.0" xmlns="urn:schemas-microsoft-com:asm.v1"> + <application> + <windowsSettings> + <activeCodePage xmlns="http://schemas.microsoft.com/SMI/2019/WindowsSettings">UTF-8</activeCodePage> + <longPathAware xmlns="http://schemas.microsoft.com/SMI/2016/WindowsSettings">true</longPathAware> + </windowsSettings> + </application> +</assembly> +"@ + + +$vs2019 = [System.IO.File]::Exists("C:\Program Files (x86)\Microsoft Visual Studio\2019\Professional\VC\Auxiliary\Build\vcvarsall.bat") + +if($vs2019) { +Invoke-MtCommand "C:\Program Files (x86)\Microsoft Visual Studio\2019\Professional\VC\Auxiliary\Build\vcvarsall.bat" amd64 $manifest "C:\Utils\Ninja\ninja.exe" +} 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 f1b2ff61..3dc6ffe5 100644 --- a/coin/provisioning/common/windows/nodejs.ps1 +++ b/coin/provisioning/common/windows/nodejs.ps1 @@ -1,65 +1,44 @@ -############################################################################# -## -## Copyright (C) 2020 The Qt Company Ltd. -## Contact: https://www.qt.io/licensing/ -## -## This file is part of the provisioning scripts of the Qt Toolkit. -## -## $QT_BEGIN_LICENSE:LGPL$ -## Commercial License Usage -## Licensees holding valid commercial Qt licenses may use this file in -## accordance with the commercial license agreement provided with the -## Software or, alternatively, in accordance with the terms contained in -## a written agreement between you and The Qt Company. For licensing terms -## and conditions see https://www.qt.io/terms-conditions. For further -## information use the contact form at https://www.qt.io/contact-us. -## -## GNU Lesser General Public License Usage -## Alternatively, this file may be used under the terms of the GNU Lesser -## General Public License version 3 as published by the Free Software -## Foundation and appearing in the file LICENSE.LGPL3 included in the -## packaging of this file. Please review the following information to -## ensure the GNU Lesser General Public License version 3 requirements -## will be met: https://www.gnu.org/licenses/lgpl-3.0.html. -## -## GNU General Public License Usage -## Alternatively, this file may be used under the terms of the GNU -## General Public License version 2.0 or (at your option) the GNU General -## Public license version 3 or any later version approved by the KDE Free -## Qt Foundation. The licenses are as published by the Free Software -## Foundation and appearing in the file LICENSE.GPL2 and LICENSE.GPL3 -## included in the packaging of this file. Please review the following -## information to ensure the GNU General Public License requirements will -## be met: https://www.gnu.org/licenses/gpl-2.0.html and -## https://www.gnu.org/licenses/gpl-3.0.html. -## -## $QT_END_LICENSE$ -## -############################################################################# +# 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 . "$PSScriptRoot\helpers.ps1" # This script will install Node.js # Needed by QtWebengine -$version = "12.18.0" -if (Is64BitWinHost) { - $arch = "x64" - $sha1 = "457b1527d249ee471a9445953a906cb10c75378d" -} else { - $arch = "x86" - $sha1 = "58801900f5bddca9c00feed6b84fed729426fc92" +$version = "20.7.0" +$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.zip" +$package = "C:\Windows\temp\nodejs-$version.7z" $targetFolder = "C:\Utils" $installFolder = "C:\Utils\node-v$version-win-$arch" -$externalUrl = "https://nodejs.org/dist/v$version/node-v$version-win-$arch.zip" -$internalUrl = "http://ci-files01-hki.intra.qt.io/input/windows/node-v$version-win-$arch.zip" +$externalUrl = "https://nodejs.org/dist/v$version/node-v$version-win-$arch.7z" +$internalUrl = "http://ci-files01-hki.ci.qt.io/input/windows/node-v$version-win-$arch.7z" Write-Host "Installing Node.js" Download $externalUrl $internalUrl $package -Verify-Checksum $package $sha1 +Verify-Checksum $package $sha256 "sha256" Extract-7Zip $package $targetFolder Add-Path $installFolder Remove $package diff --git a/coin/provisioning/common/windows/opcua_unifiedautomation.ps1 b/coin/provisioning/common/windows/opcua_unifiedautomation.ps1 index ee6b8c0d..4542b34c 100644 --- a/coin/provisioning/common/windows/opcua_unifiedautomation.ps1 +++ b/coin/provisioning/common/windows/opcua_unifiedautomation.ps1 @@ -1,41 +1,5 @@ -############################################################################# -## -## Copyright (C) 2019 The Qt Company Ltd. -## Contact: https://www.qt.io/licensing/ -## -## This file is part of the provisioning scripts of the Qt Toolkit. -## -## $QT_BEGIN_LICENSE:LGPL$ -## Commercial License Usage -## Licensees holding valid commercial Qt licenses may use this file in -## accordance with the commercial license agreement provided with the -## Software or, alternatively, in accordance with the terms contained in -## a written agreement between you and The Qt Company. For licensing terms -## and conditions see https://www.qt.io/terms-conditions. For further -## information use the contact form at https://www.qt.io/contact-us. -## -## GNU Lesser General Public License Usage -## Alternatively, this file may be used under the terms of the GNU Lesser -## General Public License version 3 as published by the Free Software -## Foundation and appearing in the file LICENSE.LGPL3 included in the -## packaging of this file. Please review the following information to -## ensure the GNU Lesser General Public License version 3 requirements -## will be met: https://www.gnu.org/licenses/lgpl-3.0.html. -## -## GNU General Public License Usage -## Alternatively, this file may be used under the terms of the GNU -## General Public License version 2.0 or (at your option) the GNU General -## Public license version 3 or any later version approved by the KDE Free -## Qt Foundation. The licenses are as published by the Free Software -## Foundation and appearing in the file LICENSE.GPL2 and LICENSE.GPL3 -## included in the packaging of this file. Please review the following -## information to ensure the GNU General Public License requirements will -## be met: https://www.gnu.org/licenses/gpl-2.0.html and -## https://www.gnu.org/licenses/gpl-3.0.html. -## -## $QT_END_LICENSE$ -## -############################################################################# +# Copyright (C) 2019 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\helpers.ps1" @@ -50,7 +14,7 @@ function DownloadAndInstallUA $zip = Get-DownloadLocation "uasdkcpp.zip" Write-Host "UACPPSDK: Downloading Unified Automation CPP installer..." - $internalUrl = "http://ci-files01-hki.intra.qt.io/input/opcua_uacpp/$InstallerFileName.zip" + $internalUrl = "http://ci-files01-hki.ci.qt.io/input/opcua_uacpp/$InstallerFileName.zip" # No public download link exists $externalUrl = $internalUrl diff --git a/coin/provisioning/common/windows/openssl-arm64.ps1 b/coin/provisioning/common/windows/openssl-arm64.ps1 index f57d4b20..16627039 100644 --- a/coin/provisioning/common/windows/openssl-arm64.ps1 +++ b/coin/provisioning/common/windows/openssl-arm64.ps1 @@ -1,41 +1,5 @@ -############################################################################# -## -## Copyright (C) 2021 The Qt Company Ltd. -## Contact: https://www.qt.io/licensing/ -## -## This file is part of the provisioning scripts of the Qt Toolkit. -## -## $QT_BEGIN_LICENSE:LGPL$ -## Commercial License Usage -## Licensees holding valid commercial Qt licenses may use this file in -## accordance with the commercial license agreement provided with the -## Software or, alternatively, in accordance with the terms contained in -## a written agreement between you and The Qt Company. For licensing terms -## and conditions see https://www.qt.io/terms-conditions. For further -## information use the contact form at https://www.qt.io/contact-us. -## -## GNU Lesser General Public License Usage -## Alternatively, this file may be used under the terms of the GNU Lesser -## General Public License version 3 as published by the Free Software -## Foundation and appearing in the file LICENSE.LGPL3 included in the -## packaging of this file. Please review the following information to -## ensure the GNU Lesser General Public License version 3 requirements -## will be met: https://www.gnu.org/licenses/lgpl-3.0.html. -## -## GNU General Public License Usage -## Alternatively, this file may be used under the terms of the GNU -## General Public License version 2.0 or (at your option) the GNU General -## Public license version 3 or any later version approved by the KDE Free -## Qt Foundation. The licenses are as published by the Free Software -## Foundation and appearing in the file LICENSE.GPL2 and LICENSE.GPL3 -## included in the packaging of this file. Please review the following -## information to ensure the GNU General Public License requirements will -## be met: https://www.gnu.org/licenses/gpl-2.0.html and -## https://www.gnu.org/licenses/gpl-3.0.html. -## -## $QT_END_LICENSE$ -## -############################################################################# +# 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 . "$PSScriptRoot\helpers.ps1" @@ -46,7 +10,10 @@ # From Visual studio 'C++ Universal Windows Platform support for v142 build tools (ARM64)' and 'Windows Universal C Runtime' were installed # cd C:\Program Files (x86)\Microsoft Visual Studio\2019\Professional\VC\Auxiliary\Build # call vcvarsamd64_arm64 -# +# curl -o C:\Utils\openssl-3.0.7.zip http://ci-files01-hki.ci.qt.io/input/openssl/openssl-3.0.7.zip +# cd C:\Utils +# C:\Utils\sevenzip\7z.exe x C:\Utils\openssl-3.0.7.zip +# cd C:\Utils\openssl-3.0.7 # perl Configure no-asm VC-WIN64-ARM --debug --prefix=C:\openssl_arm64\ --openssldir=C:\openssl_arm64\ # nmake # nmake install @@ -56,9 +23,9 @@ # nmake install ################################################################################################################################################# -$version = "1_1_1_k" -$url = "\\ci-files01-hki.intra.qt.io\provisioning\openssl\openssl-$version-arm64.zip" -$sha1 = "e31f6d3a4af225f9314830aad099bb8e5d4a7ff1" +$version = "3_0_7" +$url = "\\ci-files01-hki.ci.qt.io\provisioning\openssl\openssl-$version-arm64.zip" +$sha1 = "19be15069d981b4a96f5715f039df7aaa7456d52" $installFolder = "C:\openssl_arm64" $zip_package = "C:\Windows\Temp\$version.zip" @@ -68,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/openssl.ps1 b/coin/provisioning/common/windows/openssl.ps1 index be1ba236..8f59f9d2 100644 --- a/coin/provisioning/common/windows/openssl.ps1 +++ b/coin/provisioning/common/windows/openssl.ps1 @@ -1,48 +1,12 @@ -############################################################################# -## -## Copyright (C) 2021 The Qt Company Ltd. -## Contact: https://www.qt.io/licensing/ -## -## This file is part of the provisioning scripts of the Qt Toolkit. -## -## $QT_BEGIN_LICENSE:LGPL$ -## Commercial License Usage -## Licensees holding valid commercial Qt licenses may use this file in -## accordance with the commercial license agreement provided with the -## Software or, alternatively, in accordance with the terms contained in -## a written agreement between you and The Qt Company. For licensing terms -## and conditions see https://www.qt.io/terms-conditions. For further -## information use the contact form at https://www.qt.io/contact-us. -## -## GNU Lesser General Public License Usage -## Alternatively, this file may be used under the terms of the GNU Lesser -## General Public License version 3 as published by the Free Software -## Foundation and appearing in the file LICENSE.LGPL3 included in the -## packaging of this file. Please review the following information to -## ensure the GNU Lesser General Public License version 3 requirements -## will be met: https://www.gnu.org/licenses/lgpl-3.0.html. -## -## GNU General Public License Usage -## Alternatively, this file may be used under the terms of the GNU -## General Public License version 2.0 or (at your option) the GNU General -## Public license version 3 or any later version approved by the KDE Free -## Qt Foundation. The licenses are as published by the Free Software -## Foundation and appearing in the file LICENSE.GPL2 and LICENSE.GPL3 -## included in the packaging of this file. Please review the following -## information to ensure the GNU General Public License requirements will -## be met: https://www.gnu.org/licenses/gpl-2.0.html and -## https://www.gnu.org/licenses/gpl-3.0.html. -## -## $QT_END_LICENSE$ -## -############################################################################# +# 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 . "$PSScriptRoot\helpers.ps1" # This script installs OpenSSL $version. # Both x86 and x64 versions needed when x86 integrations are done on x64 machine -$version = "1_1_1k" +$version = "3_0_7" $packagex64 = "C:\Windows\Temp\Win64OpenSSL-$version.exe" $packagex86 = "C:\Windows\Temp\Win32OpenSSL-$version.exe" @@ -52,8 +16,8 @@ if (Is64BitWinHost) { $architecture = "x64" $installFolder = "C:\openssl" $externalUrl = "https://slproweb.com/download/Win64OpenSSL-$version.exe" - $internalUrl = "\\ci-files01-hki.intra.qt.io\provisioning\openssl\Win64OpenSSL-$version.exe" - $sha1 = "ab5367a1f46a3779a870fe2c1a99e03f8ffa3041" + $internalUrl = "\\ci-files01-hki.ci.qt.io\provisioning\openssl\Win64OpenSSL-$version.exe" + $sha1 = "2fb73f233bc565939312782b8157bebc26a5e17b" Write-Host "Fetching from URL ..." Download $externalUrl $internalUrl $packagex64 @@ -67,6 +31,7 @@ if (Is64BitWinHost) { Set-EnvironmentVariable "OPENSSL_CONF_x64" "$installFolder\bin\openssl.cfg" Set-EnvironmentVariable "OPENSSL_INCLUDE_x64" "$installFolder\include" Set-EnvironmentVariable "OPENSSL_LIB_x64" "$installFolder\lib" + Prepend-Path "$installFolder\bin" } # Install x86 bit version @@ -79,8 +44,8 @@ if (Is64BitWinHost) { } $externalUrl = "https://slproweb.com/download/Win32OpenSSL-$version.exe" -$internalUrl = "\\ci-files01-hki.intra.qt.io\provisioning\openssl\Win32OpenSSL-$version.exe" -$sha1 = "49f5b7fe01d686f706071c9a00d19bd69f2e7371" +$internalUrl = "\\ci-files01-hki.ci.qt.io\provisioning\openssl\Win32OpenSSL-$version.exe" +$sha1 = "ddead693fa279ad6b1baf123b3af51a9ef289dc1" Write-Host "Fetching from URL ..." Download $externalUrl $internalUrl $packagex86 diff --git a/coin/provisioning/common/windows/postgresql.ps1 b/coin/provisioning/common/windows/postgresql.ps1 index 11fea057..3bb99d47 100644 --- a/coin/provisioning/common/windows/postgresql.ps1 +++ b/coin/provisioning/common/windows/postgresql.ps1 @@ -1,41 +1,5 @@ -############################################################################# -## -## Copyright (C) 2020 The Qt Company Ltd. -## Contact: https://www.qt.io/licensing/ -## -## This file is part of the provisioning scripts of the Qt Toolkit. -## -## $QT_BEGIN_LICENSE:LGPL$ -## Commercial License Usage -## Licensees holding valid commercial Qt licenses may use this file in -## accordance with the commercial license agreement provided with the -## Software or, alternatively, in accordance with the terms contained in -## a written agreement between you and The Qt Company. For licensing terms -## and conditions see https://www.qt.io/terms-conditions. For further -## information use the contact form at https://www.qt.io/contact-us. -## -## GNU Lesser General Public License Usage -## Alternatively, this file may be used under the terms of the GNU Lesser -## General Public License version 3 as published by the Free Software -## Foundation and appearing in the file LICENSE.LGPL3 included in the -## packaging of this file. Please review the following information to -## ensure the GNU Lesser General Public License version 3 requirements -## will be met: https://www.gnu.org/licenses/lgpl-3.0.html. -## -## GNU General Public License Usage -## Alternatively, this file may be used under the terms of the GNU -## General Public License version 2.0 or (at your option) the GNU General -## Public license version 3 or any later version approved by the KDE Free -## Qt Foundation. The licenses are as published by the Free Software -## Foundation and appearing in the file LICENSE.GPL2 and LICENSE.GPL3 -## included in the packaging of this file. Please review the following -## information to ensure the GNU General Public License requirements will -## be met: https://www.gnu.org/licenses/gpl-2.0.html and -## https://www.gnu.org/licenses/gpl-3.0.html. -## -## $QT_END_LICENSE$ -## -############################################################################# +# 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 . "$PSScriptRoot\helpers.ps1" @@ -51,7 +15,7 @@ if (Is64BitWinHost) { $architecture = "x64" $installFolder = "C:\Utils\postgresql" $externalUrl = "http://get.enterprisedb.com/postgresql/postgresql-$version-windows-x64-binaries.zip" - $internalUrl = "\\ci-files01-hki.intra.qt.io\provisioning\windows\postgresql-$version-windows-x64-binaries.zip" + $internalUrl = "\\ci-files01-hki.ci.qt.io\provisioning\windows\postgresql-$version-windows-x64-binaries.zip" $sha1 = "5dd604f91973112209362b5abbbd1220c026f645" Write-Host "Fetching from URL ..." @@ -73,7 +37,7 @@ if (Is64BitWinHost) { # Install x86 bit version $architecture = "x86" $externalUrl = "http://get.enterprisedb.com/postgresql/postgresql-$version-windows-binaries.zip" -$internalUrl = "\\ci-files01-hki.intra.qt.io\provisioning\windows\postgresql-$version-windows-binaries.zip" +$internalUrl = "\\ci-files01-hki.ci.qt.io\provisioning\windows\postgresql-$version-windows-binaries.zip" $sha1 = "46309190e60eead99c2d39c1dd18a91f2104d000" if (Is64BitWinHost) { $installFolder = "C:\Utils\postgresql$architecture" diff --git a/coin/provisioning/common/windows/protobuf.ps1 b/coin/provisioning/common/windows/protobuf.ps1 new file mode 100644 index 00000000..c0f7b257 --- /dev/null +++ b/coin/provisioning/common/windows/protobuf.ps1 @@ -0,0 +1,118 @@ +# 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 + +. "$PSScriptRoot\helpers.ps1" + +# Here we build protobuf libraries for MinGW and MSVC. +# Since it's a c++ library we need both msvc and mingw because they mangle symbols differently. +# For MSVC it builds with both debug and release configurations because of the visual c++ runtime. +# For MinGW we only need one, so we only build with release. +# The function below takes care of the common part of building - invoking cmake, +# calling ninja and installing it to a directory which we set an environment variable to. +# Because we have two compilers we also have two env. vars. and then each +# config in CI has the Protobuf_ROOT set to the appropriate one. +function build-install-protobuf { + param( + [string]$CC, + [string]$CXX, + [string]$BuildType, + [string]$Postfix, # Used for install-path and the environment variable name + [string[]]$ExtraArguments = @() + ) + $installPrefix = "C:\Utils\protobuf" + $installPath = "${installPrefix}-$Postfix" + Write-Output "Configuring and building protobuf for $CXX" + $oldCC = $env:CC + $oldCXX = $env:CXX + $env:CC = $CC + $env:CXX = $CXX + mkdir build + Push-Location build + cmake .. -G"Ninja Multi-Config" -DCMAKE_CONFIGURATION_TYPES="$BuildType" -DCMAKE_INSTALL_PREFIX="$installPath" -Dprotobuf_BUILD_TESTS=OFF -Dprotobuf_WITH_ZLIB=OFF -DCMAKE_DEBUG_POSTFIX="d" -DCMAKE_RELWITHDEBINFO_POSTFIX="rd" $ExtraArguments + # ninja install:all # This is broken and does not work + foreach ($config in $BuildType.split(";")) { + ninja -f "build-$config.ninja" install + } + $env:CC = $oldCC + $env:CXX = $oldCXX + Set-EnvironmentVariable "Protobuf_ROOT_$Postfix" "$installPath" + # Set environment variable without "Machine" scope to be used by grpc.ps1 script + [Environment]::SetEnvironmentVariable("Protobuf_ROOT_$Postfix", "$installPath") + Pop-Location + Remove build +} + +function Find-Tool { + param( + [string]$Name, + [string]$Path + ) + # Is tool missing from path? + if (!(Get-Command $Name -ErrorAction SilentlyContinue)) { + # Is tool in the $Path directory? + if (Test-Path "$Path\$Name") { + $env:Path += ";$Path" + } + else { + throw "Cannot find $Name in path or $Name in $Name, something is configured wrong" + } + } +} +# This script is fairly late in provisioning so both of these should be present! +Find-Tool -Name "cmake.exe" -Path "C:\CMake\bin" +Find-Tool -Name "ninja.exe" -Path "C:\Utils\Ninja" + +$version = "21.9" +$sha1 = "3226a0e49d048759b702ae524da79387c59f05cc" +$internalUrl = "http://ci-files01-hki.ci.qt.io/input/protobuf/protobuf-all-$version.zip" +$externalUrl = "https://github.com/protocolbuffers/protobuf/releases/download/v$version/protobuf-all-$version.zip" + +$targetDir = "$env:HOMEDRIVE\$env:HOMEPATH\protobuf-$version" +$targetFile = "$targetDir.zip" +Download $externalUrl $internalUrl $targetFile +Verify-Checksum $targetFile $sha1 +Extract-7Zip $targetFile (Join-Path $env:HOMEDRIVE $env:HOMEPATH) +Remove $targetFile + + +# cd into the cmake directory where the CMakeLists.txt file is located +# then we build in a build\ subfolder there for simplicity's sake +Push-Location $targetDir + +### MinGW + +# Check if mingw is where we expect it to be and add it to path: +$mingwPath = [System.Environment]::GetEnvironmentVariable("MINGW_PATH", [System.EnvironmentVariableTarget]::Machine) + "\bin" +if (!(Test-Path $mingwPath)) { + throw "Cannot find mingw in $mingwPath, something is configured wrong" +} + +$oldPath = $env:Path +$env:Path = "$mingwPath;$env:Path" +build-install-protobuf -CC "gcc" -CXX "g++" -BuildType "Release;RelWithDebInfo;Debug" -Postfix "mingw" +$env:Path = $oldPath + +### LLVM MinGW + +$llvmMingwPath = "C:\llvm-mingw" +if (!(Test-Path $llvmMingwPath)) { + throw "Cannot find llvm-mingw in $llvmMingwPath, something is configured wrong" +} + +$oldPath = $env:Path +$env:Path = "$llvmMingwPath\bin;$env:Path" +build-install-protobuf -CC "clang" -CXX "clang++" -BuildType "Release;RelWithDebInfo;Debug" -Postfix "llvm_mingw" +$env:Path = $oldPath + +### MSVC + +EnterVSDevShell + +# We pass along an extra argument to stop protobuf linking with the static runtime +build-install-protobuf -CC "cl" -CXX "cl" -BuildType "Release;RelWithDebInfo;Debug" -Postfix "msvc" -ExtraArguments @("-Dprotobuf_MSVC_STATIC_RUNTIME=OFF") + +$env:Path = $oldPath +Pop-Location +Remove $targetDir + +Write-Output "Protobuf = $version" >> ~/versions.txt diff --git a/coin/provisioning/common/windows/python.ps1 b/coin/provisioning/common/windows/python.ps1 deleted file mode 100644 index f1c5fc6a..00000000 --- a/coin/provisioning/common/windows/python.ps1 +++ /dev/null @@ -1,119 +0,0 @@ -############################################################################# -## -## Copyright (C) 2020 The Qt Company Ltd. -## Contact: https://www.qt.io/licensing/ -## -## This file is part of the provisioning scripts of the Qt Toolkit. -## -## $QT_BEGIN_LICENSE:LGPL$ -## Commercial License Usage -## Licensees holding valid commercial Qt licenses may use this file in -## accordance with the commercial license agreement provided with the -## Software or, alternatively, in accordance with the terms contained in -## a written agreement between you and The Qt Company. For licensing terms -## and conditions see https://www.qt.io/terms-conditions. For further -## information use the contact form at https://www.qt.io/contact-us. -## -## GNU Lesser General Public License Usage -## Alternatively, this file may be used under the terms of the GNU Lesser -## General Public License version 3 as published by the Free Software -## Foundation and appearing in the file LICENSE.LGPL3 included in the -## packaging of this file. Please review the following information to -## ensure the GNU Lesser General Public License version 3 requirements -## will be met: https://www.gnu.org/licenses/lgpl-3.0.html. -## -## GNU General Public License Usage -## Alternatively, this file may be used under the terms of the GNU -## General Public License version 2.0 or (at your option) the GNU General -## Public license version 3 or any later version approved by the KDE Free -## Qt Foundation. The licenses are as published by the Free Software -## Foundation and appearing in the file LICENSE.GPL2 and LICENSE.GPL3 -## included in the packaging of this file. Please review the following -## information to ensure the GNU General Public License requirements will -## be met: https://www.gnu.org/licenses/gpl-2.0.html and -## https://www.gnu.org/licenses/gpl-3.0.html. -## -## $QT_END_LICENSE$ -## -############################################################################# - -# 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.intra.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" - -# 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 c7481f2f..46f75d7c 100644 --- a/coin/provisioning/common/windows/python3.ps1 +++ b/coin/provisioning/common/windows/python3.ps1 @@ -1,42 +1,6 @@ -############################################################################# -## -## Copyright (C) 2019 The Qt Company Ltd. -## Copyright (C) 2017 Pelagicore AG -## Contact: https://www.qt.io/licensing/ -## -## This file is part of the provisioning scripts of the Qt Toolkit. -## -## $QT_BEGIN_LICENSE:LGPL$ -## Commercial License Usage -## Licensees holding valid commercial Qt licenses may use this file in -## accordance with the commercial license agreement provided with the -## Software or, alternatively, in accordance with the terms contained in -## a written agreement between you and The Qt Company. For licensing terms -## and conditions see https://www.qt.io/terms-conditions. For further -## information use the contact form at https://www.qt.io/contact-us. -## -## GNU Lesser General Public License Usage -## Alternatively, this file may be used under the terms of the GNU Lesser -## General Public License version 3 as published by the Free Software -## Foundation and appearing in the file LICENSE.LGPL3 included in the -## packaging of this file. Please review the following information to -## ensure the GNU Lesser General Public License version 3 requirements -## will be met: https://www.gnu.org/licenses/lgpl-3.0.html. -## -## GNU General Public License Usage -## Alternatively, this file may be used under the terms of the GNU -## General Public License version 2.0 or (at your option) the GNU General -## Public license version 3 or any later version approved by the KDE Free -## Qt Foundation. The licenses are as published by the Free Software -## Foundation and appearing in the file LICENSE.GPL2 and LICENSE.GPL3 -## included in the packaging of this file. Please review the following -## information to ensure the GNU General Public License requirements will -## be met: https://www.gnu.org/licenses/gpl-2.0.html and -## https://www.gnu.org/licenses/gpl-3.0.html. -## -## $QT_END_LICENSE$ -## -############################################################################# +# Copyright (C) 2019 The Qt Company Ltd. +# Copyright (C) 2017 Pelagicore AG +# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only # This script installs Python $version. # Python3 is required for building some qt modules. @@ -52,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.intra.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.intra.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..." @@ -96,19 +73,11 @@ if (IsProxyEnabled) { Write-Host "Upgrade pip3 to the latest version available." Run-Executable "$install_path\python.exe" "-m pip install --upgrade pip" +Write-Host "Configure pip" +Run-Executable "$install_path\python.exe" "-m pip config --user set global.index https://ci-files01-hki.ci.qt.io/input/python_module_cache" +Run-Executable "$install_path\python.exe" "-m pip config --user set global.extra-index-url https://pypi.org/simple/" Run-Executable "$install_path\Scripts\pip3.exe" "$pip_args install virtualenv wheel html5lib" -# Install all needed packages in a special wheel cache directory -$python3_wheel_dir="$install_path\python3-wheels" -Run-Executable "$install_path\Scripts\pip3.exe" "$pip_args wheel --wheel-dir $python3_wheel_dir -r $PSScriptRoot\..\shared\requirements.txt" - -Set-EnvironmentVariable "PYTHON3_WHEEL_CACHE-$version-$archVer" "$python3_wheel_dir" -# PYTHON3_WHEEL_CACHE is already in use so we should keep it pointing to 64 bit default -# wheel cache -if (($setDefault) -And ($archVer -eq 64)) { - Set-EnvironmentVariable "PYTHON3_WHEEL_CACHE" "$python3_wheel_dir" -} - # Install PyPDF2 for QSR documentation Run-Executable "$install_path\Scripts\pip3.exe" "$pip_args install PyPDF2" diff --git a/coin/provisioning/common/windows/qnx710.ps1 b/coin/provisioning/common/windows/qnx710.ps1 new file mode 100644 index 00000000..c720619c --- /dev/null +++ b/coin/provisioning/common/windows/qnx710.ps1 @@ -0,0 +1,56 @@ +# Copyright (C) 2021 The Qt Company Ltd. +# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only + +# This script installs QNX 7. + +. "$PSScriptRoot\helpers.ps1" + +$tempFolder = "c:\Windows\Temp" + +function DownloadAndExtract($1, $2, $3, $4, $5) { + $url = $1 + $sha = $2 + $file = $3 + $folder = $4 + $cachedUrl = $5 + + Download $url $cachedUrl "$tempFolder\$file" + Verify-Checksum "$tempFolder\$file" "$sha" + Extract-tar_gz "$tempFolder\$file" $folder +} + +$aarch64le_toolchain = "$PSScriptRoot\..\shared\cmake_toolchain_files\qnx-toolchain-aarch64le.cmake" +$armv7le_toolchain = "$PSScriptRoot\..\shared\cmake_toolchain_files\qnx-toolchain-armv7le.cmake" +$x8664_toolchain = "$PSScriptRoot\..\shared\cmake_toolchain_files\qnx-toolchain-x8664.cmake" + +$targetFolder = "C:\Utils\" +$folderName = "qnx710" +$targetPath = "$targetFolder$folderName" + +# QNX SDP +$cachedUrl = "\\ci-files01-hki.ci.qt.io\provisioning\qnx\qnx710-windows-linux-20240417.tar.xz" +$sourceFile = "http://ci-files01-hki.ci.qt.io/input/qnx/qnx710-windows-linux-20240417.tar.xz" +$targetFile = "qnx710.tar.xz" +$sha1 = "cd2d35004fb2798089e29d9e1226691426632da0" +DownloadAndExtract $sourceFile $sha1 $targetFile $targetFolder $cachedUrl + +Copy-Item $aarch64le_toolchain $targetPath +Copy-Item $armv7le_toolchain $targetPath +Copy-Item $x8664_toolchain $targetPath + +cmd /c "dir $targetPath" + +# Verify that we have last files in tars +if (-not (test-path $targetPath\qnxsdp-env.bat)) { + throw "QNX SDP installation failed!" +} +if (-not (test-path $targetPath\qnx-toolchain-x8664.cmake)) { + throw "QNX toolchain installation failed!" +} + +# Set env variables +Set-EnvironmentVariable "QNX_710" "$targetPath" +Set-EnvironmentVariable "QNX_710_CMAKE" "C:/Utils/$folderName" + +Write-Output "QNX SDP = 7.1.0" >> ~\versions.txt + diff --git a/coin/provisioning/common/windows/set-network-test-server.ps1 b/coin/provisioning/common/windows/set-network-test-server.ps1 index f314494c..938ef99a 100644 --- a/coin/provisioning/common/windows/set-network-test-server.ps1 +++ b/coin/provisioning/common/windows/set-network-test-server.ps1 @@ -1,41 +1,5 @@ -############################################################################ -## -## Copyright (C) 2017 The Qt Company Ltd. -## Contact: https://www.qt.io/licensing/ -## -## This file is part of the provisioning scripts of the Qt Toolkit. -## -## $QT_BEGIN_LICENSE:LGPL$ -## Commercial License Usage -## Licensees holding valid commercial Qt licenses may use this file in -## accordance with the commercial license agreement provided with the -## Software or, alternatively, in accordance with the terms contained in -## a written agreement between you and The Qt Company. For licensing terms -## and conditions see https://www.qt.io/terms-conditions. For further -## information use the contact form at https://www.qt.io/contact-us. -## -## GNU Lesser General Public License Usage -## Alternatively, this file may be used under the terms of the GNU Lesser -## General Public License version 3 as published by the Free Software -## Foundation and appearing in the file LICENSE.LGPL3 included in the -## packaging of this file. Please review the following information to -## ensure the GNU Lesser General Public License version 3 requirements -## will be met: https://www.gnu.org/licenses/lgpl-3.0.html. -## -## GNU General Public License Usage -## Alternatively, this file may be used under the terms of the GNU -## General Public License version 2.0 or (at your option) the GNU General -## Public license version 3 or any later version approved by the KDE Free -## Qt Foundation. The licenses are as published by the Free Software -## Foundation and appearing in the file LICENSE.GPL2 and LICENSE.GPL3 -## included in the packaging of this file. Please review the following -## information to ensure the GNU General Public License requirements will -## be met: https://www.gnu.org/licenses/gpl-2.0.html and -## https://www.gnu.org/licenses/gpl-3.0.html. -## -## $QT_END_LICENSE$ -## -############################################################################# +# 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 . "$PSScriptRoot\helpers.ps1" diff --git a/coin/provisioning/common/windows/set-proxy.ps1 b/coin/provisioning/common/windows/set-proxy.ps1 index 4fcd073f..f2a89e43 100644 --- a/coin/provisioning/common/windows/set-proxy.ps1 +++ b/coin/provisioning/common/windows/set-proxy.ps1 @@ -1,41 +1,5 @@ -############################################################################# -## -## Copyright (C) 2017 The Qt Company Ltd. -## Contact: https://www.qt.io/licensing/ -## -## This file is part of the provisioning scripts of the Qt Toolkit. -## -## $QT_BEGIN_LICENSE:LGPL$ -## Commercial License Usage -## Licensees holding valid commercial Qt licenses may use this file in -## accordance with the commercial license agreement provided with the -## Software or, alternatively, in accordance with the terms contained in -## a written agreement between you and The Qt Company. For licensing terms -## and conditions see https://www.qt.io/terms-conditions. For further -## information use the contact form at https://www.qt.io/contact-us. -## -## GNU Lesser General Public License Usage -## Alternatively, this file may be used under the terms of the GNU Lesser -## General Public License version 3 as published by the Free Software -## Foundation and appearing in the file LICENSE.LGPL3 included in the -## packaging of this file. Please review the following information to -## ensure the GNU Lesser General Public License version 3 requirements -## will be met: https://www.gnu.org/licenses/lgpl-3.0.html. -## -## GNU General Public License Usage -## Alternatively, this file may be used under the terms of the GNU -## General Public License version 2.0 or (at your option) the GNU General -## Public license version 3 or any later version approved by the KDE Free -## Qt Foundation. The licenses are as published by the Free Software -## Foundation and appearing in the file LICENSE.GPL2 and LICENSE.GPL3 -## included in the packaging of this file. Please review the following -## information to ensure the GNU General Public License requirements will -## be met: https://www.gnu.org/licenses/gpl-2.0.html and -## https://www.gnu.org/licenses/gpl-3.0.html. -## -## $QT_END_LICENSE$ -## -############################################################################# +# 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 $n = Get-Content "$PSScriptRoot\..\shared\http_proxy.txt" $n = $n.Split('=') diff --git a/coin/provisioning/common/windows/share-test-folders.ps1 b/coin/provisioning/common/windows/share-test-folders.ps1 new file mode 100644 index 00000000..36b02e82 --- /dev/null +++ b/coin/provisioning/common/windows/share-test-folders.ps1 @@ -0,0 +1,40 @@ +# Copyright (C) 2022 The Qt Company Ltd. +# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only + +# This script creates and shares folders so that we can run I/O tests with +# UNC paths, without depending on an SBM server + +$readonly='testshare' +$writable='testsharewritable' +$readonlypath="${env:SystemDrive}\${readonly}" +$writablepath="${env:SystemDrive}\${writable}" + +Write-Host "******************** Creating folders ${readonlpath} and ${writablepath}" + +if ($(Test-Path -Path $readonlypath)) { + Remove-SmbShare -Name $readonly -Force + Remove-Item -Path $readonlypath -Force -Recurse +} +if ($(Test-Path -Path $writablepath)) { + Remove-SmbShare -Name $writable -Force + Remove-Item -Path $writablepath -Force -Recurse +} + +New-Item ${readonlypath} -ItemType Directory +New-Item "${readonlypath}\tmp" -ItemType Directory +New-SmbShare -Name ${readonly} -Path ${readonlypath} -ReadAccess Users +# As expected by tst_networkselftest, exactly 34 bytes +"This is 34 bytes. Do not change..." ` + | Out-File -Encoding ascii -FilePath "${readonlypath}\test.pri" -NoNewline +New-Item "${readonlypath}\readme.txt" -ItemType File + +New-Item ${writablepath} -ItemType Directory +New-SmbShare -Name ${writable} -Path ${writablepath} -ChangeAccess Users + +Write-Host "******************** File system content" +dir ${env:SystemDrive} +cd "\\${env:COMPUTERNAME}\${readonly}" +dir +cd "\\${env:COMPUTERNAME}\${writable}" +dir +Write-Host "******************** Done Content" diff --git a/coin/provisioning/common/windows/squish-coco.ps1 b/coin/provisioning/common/windows/squish-coco.ps1 index 5587fb03..160bc654 100644 --- a/coin/provisioning/common/windows/squish-coco.ps1 +++ b/coin/provisioning/common/windows/squish-coco.ps1 @@ -1,41 +1,5 @@ -############################################################################ -## -## Copyright (C) 2018 The Qt Company Ltd. -## Contact: http://www.qt.io/licensing/ -## -## This file is part of the provisioning scripts of the Qt Toolkit. -## -## $QT_BEGIN_LICENSE:LGPL$ -## Commercial License Usage -## Licensees holding valid commercial Qt licenses may use this file in -## accordance with the commercial license agreement provided with the -## Software or, alternatively, in accordance with the terms contained in -## a written agreement between you and The Qt Company. For licensing terms -## and conditions see https://www.qt.io/terms-conditions. For further -## information use the contact form at https://www.qt.io/contact-us. -## -## GNU Lesser General Public License Usage -## Alternatively, this file may be used under the terms of the GNU Lesser -## General Public License version 3 as published by the Free Software -## Foundation and appearing in the file LICENSE.LGPL3 included in the -## packaging of this file. Please review the following information to -## ensure the GNU Lesser General Public License version 3 requirements -## will be met: https://www.gnu.org/licenses/lgpl-3.0.html. -## -## GNU General Public License Usage -## Alternatively, this file may be used under the terms of the GNU -## General Public License version 2.0 or (at your option) the GNU General -## Public license version 3 or any later version approved by the KDE Free -## Qt Foundation. The licenses are as published by the Free Software -## Foundation and appearing in the file LICENSE.GPL2 and LICENSE.GPL3 -## included in the packaging of this file. Please review the following -## information to ensure the GNU General Public License requirements will -## be met: https://www.gnu.org/licenses/gpl-2.0.html and -## https://www.gnu.org/licenses/gpl-3.0.html. -## -## $QT_END_LICENSE$ -## -############################################################################# +# Copyright (C) 2018 The Qt Company Ltd. +# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only # This script installs Squish Coco for RTA @@ -43,7 +7,7 @@ $coco_version="4.2.2" -$url="http://ci-files01-hki.intra.qt.io/input/coco/SquishCocoSetup_" + $coco_version + "_Windows_x64.exe" +$url="http://ci-files01-hki.ci.qt.io/input/coco/SquishCocoSetup_" + $coco_version + "_Windows_x64.exe" $sha1="d6f9f3c20df086ec9a7e13a068f4446442ae5d51" $installer="C:\Windows\Temp\SquishCocoSetup_" + $coco_version + "_Windows_x64.exe" diff --git a/coin/provisioning/common/windows/squishInstall.ps1 b/coin/provisioning/common/windows/squishInstall.ps1 index 8d36a267..ec4d240a 100644 --- a/coin/provisioning/common/windows/squishInstall.ps1 +++ b/coin/provisioning/common/windows/squishInstall.ps1 @@ -1,56 +1,22 @@ -############################################################################# -## -## Copyright (C) 2021 The Qt Company Ltd. -## Contact: https://www.qt.io/licensing/ -## -## This file is part of the provisioning scripts of the Qt Toolkit. -## -## $QT_BEGIN_LICENSE:LGPL$ -## Commercial License Usage -## Licensees holding valid commercial Qt licenses may use this file in -## accordance with the commercial license agreement provided with the -## Software or, alternatively, in accordance with the terms contained in -## a written agreement between you and The Qt Company. For licensing terms -## and conditions see https://www.qt.io/terms-conditions. For further -## information use the contact form at https://www.qt.io/contact-us. -## -## GNU Lesser General Public License Usage -## Alternatively, this file may be used under the terms of the GNU Lesser -## General Public License version 3 as published by the Free Software -## Foundation and appearing in the file LICENSE.LGPL3 included in the -## packaging of this file. Please review the following information to -## ensure the GNU Lesser General Public License version 3 requirements -## will be met: https://www.gnu.org/licenses/lgpl-3.0.html. -## -## GNU General Public License Usage -## Alternatively, this file may be used under the terms of the GNU -## General Public License version 2.0 or (at your option) the GNU General -## Public license version 3 or any later version approved by the KDE Free -## Qt Foundation. The licenses are as published by the Free Software -## Foundation and appearing in the file LICENSE.GPL2 and LICENSE.GPL3 -## included in the packaging of this file. Please review the following -## information to ensure the GNU General Public License requirements will -## be met: https://www.gnu.org/licenses/gpl-2.0.html and -## https://www.gnu.org/licenses/gpl-3.0.html. -## -## $QT_END_LICENSE$ -## -############################################################################# +# 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 . "$PSScriptRoot\helpers.ps1" # This script will pre-installed squish package for Windows. # Squish is need by Release Test Automation (RTA) -$version = "6.7-20210614-1625" -$qtBranch = "61x" +$version = "7.2.1" +$qtBranch = "66x" $targetDir = "C:\Utils\squish" $squishPackage = "C:\Utils\rta_squish" -$squishUrl = "\\ci-files01-hki.intra.qt.io\provisioning\squish\jenkins_build\stable" -$licenseUrl = "\\ci-files01-hki.intra.qt.io\provisioning\squish\coin\515x" +$squishUrl = "\\ci-files01-hki.ci.qt.io\provisioning\squish\jenkins_build\stable" +$licenseBranch="squish_license" +$licenseUrl = "\\ci-files01-hki.ci.qt.io\provisioning\squish\coin\$licenseBranch" +$testSuiteUrl="\\ci-files01-hki.ci.qt.io\provisioning\squish\coin\suite_test_squish" # Squish license -$licensePackage = ".squish-3-license" +$licensePackage = ".squish-license" Write-Host "Installing Squish license to home directory" Copy-Item $licenseUrl\$licensePackage ~\$licensePackage @@ -67,7 +33,7 @@ if (($OSVersion -eq "Windows 10 Enterprise") -or ($OSVersion -eq "Windows 10 Pro # In Windows 11 case $OSVersion is 'Windows 10 Pro' $winVersion = "win10" if (Is64BitWinHost) { - $sha1 = "0ce4f94ebff488fedef29e9ed62b400a8b5014fb" + $sha1 = "eed4ed4936fbbacb11e0d8a00ff190e1ea808eeb" } } else { $winVersion = "n/a" @@ -75,10 +41,12 @@ if (($OSVersion -eq "Windows 10 Enterprise") -or ($OSVersion -eq "Windows 10 Pro $squishArchive = "prebuild-squish-$version-$qtBranch-$winVersion-$arch.zip" Copy-Item "$squishUrl\$squishArchive" "C:\Utils" +Copy-Item -Recurse "$testSuiteUrl" "C:\Utils" Verify-Checksum "C:\Utils\$squishArchive" $sha1 Extract-7Zip "C:\Utils\$squishArchive" "C:\Utils" -Rename-Item "$squishPackage" "$targetDir" + +Remove-Item "C:\Utils\prebuild*" Write-Host "Verifying Squish Installation for following targets:" get-childitem "$targetDir" -Filter squishrunner.exe -Recurse | % { $_.FullName } -get-childitem "$targetDir" -Filter squishrunner.exe -Recurse | % { if (cmd /c $_.FullName --testsuite "$targetDir\suite_test_squish" |Select-String -Pattern "Squish test run successfully") { Write-Host "Squish tested successfully"} else { [Environment]::Exit(1) } } +get-childitem "$targetDir" -Filter squishrunner.exe -Recurse | % { if (cmd /c $_.FullName --testsuite "C:\Utils\suite_test_squish" |Select-String -Pattern "Squish test run successfully") { Write-Host "Squish tested successfully"} else { [Environment]::Exit(1) } } diff --git a/coin/provisioning/common/windows/telegraf_password.ps1 b/coin/provisioning/common/windows/telegraf_password.ps1 index 6d46da0f..36a4f523 100644 --- a/coin/provisioning/common/windows/telegraf_password.ps1 +++ b/coin/provisioning/common/windows/telegraf_password.ps1 @@ -1,41 +1,5 @@ -############################################################################# -## -## Copyright (C) 2019 The Qt Company Ltd. -## Contact: https://www.qt.io/licensing/ -## -## This file is part of the provisioning scripts of the Qt Toolkit. -## -## $QT_BEGIN_LICENSE:LGPL$ -## Commercial License Usage -## Licensees holding valid commercial Qt licenses may use this file in -## accordance with the commercial license agreement provided with the -## Software or, alternatively, in accordance with the terms contained in -## a written agreement between you and The Qt Company. For licensing terms -## and conditions see https://www.qt.io/terms-conditions. For further -## information use the contact form at https://www.qt.io/contact-us. -## -## GNU Lesser General Public License Usage -## Alternatively, this file may be used under the terms of the GNU Lesser -## General Public License version 3 as published by the Free Software -## Foundation and appearing in the file LICENSE.LGPL3 included in the -## packaging of this file. Please review the following information to -## ensure the GNU Lesser General Public License version 3 requirements -## will be met: https://www.gnu.org/licenses/lgpl-3.0.html. -## -## GNU General Public License Usage -## Alternatively, this file may be used under the terms of the GNU -## General Public License version 2.0 or (at your option) the GNU General -## Public license version 3 or any later version approved by the KDE Free -## Qt Foundation. The licenses are as published by the Free Software -## Foundation and appearing in the file LICENSE.GPL2 and LICENSE.GPL3 -## included in the packaging of this file. Please review the following -## information to ensure the GNU General Public License requirements will -## be met: https://www.gnu.org/licenses/gpl-2.0.html and -## https://www.gnu.org/licenses/gpl-3.0.html. -## -## $QT_END_LICENSE$ -## -############################################################################# +# Copyright (C) 2019 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\helpers.ps1" diff --git a/coin/provisioning/common/windows/unset-proxy.ps1 b/coin/provisioning/common/windows/unset-proxy.ps1 index 22352efc..fa9e74d1 100644 --- a/coin/provisioning/common/windows/unset-proxy.ps1 +++ b/coin/provisioning/common/windows/unset-proxy.ps1 @@ -1,41 +1,5 @@ -############################################################################# -## -## Copyright (C) 2017 The Qt Company Ltd. -## Contact: https://www.qt.io/licensing/ -## -## This file is part of the provisioning scripts of the Qt Toolkit. -## -## $QT_BEGIN_LICENSE:LGPL$ -## Commercial License Usage -## Licensees holding valid commercial Qt licenses may use this file in -## accordance with the commercial license agreement provided with the -## Software or, alternatively, in accordance with the terms contained in -## a written agreement between you and The Qt Company. For licensing terms -## and conditions see https://www.qt.io/terms-conditions. For further -## information use the contact form at https://www.qt.io/contact-us. -## -## GNU Lesser General Public License Usage -## Alternatively, this file may be used under the terms of the GNU Lesser -## General Public License version 3 as published by the Free Software -## Foundation and appearing in the file LICENSE.LGPL3 included in the -## packaging of this file. Please review the following information to -## ensure the GNU Lesser General Public License version 3 requirements -## will be met: https://www.gnu.org/licenses/lgpl-3.0.html. -## -## GNU General Public License Usage -## Alternatively, this file may be used under the terms of the GNU -## General Public License version 2.0 or (at your option) the GNU General -## Public license version 3 or any later version approved by the KDE Free -## Qt Foundation. The licenses are as published by the Free Software -## Foundation and appearing in the file LICENSE.GPL2 and LICENSE.GPL3 -## included in the packaging of this file. Please review the following -## information to ensure the GNU General Public License requirements will -## be met: https://www.gnu.org/licenses/gpl-2.0.html and -## https://www.gnu.org/licenses/gpl-3.0.html. -## -## $QT_END_LICENSE$ -## -############################################################################# +# 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 Write-Host "Disabling proxy" # A bit-mask is needed to disable "Automatically detect settings" from LAN diff --git a/coin/provisioning/common/windows/update-msvc2019.ps1 b/coin/provisioning/common/windows/update-msvc2019.ps1 index f2722d53..30f96594 100644 --- a/coin/provisioning/common/windows/update-msvc2019.ps1 +++ b/coin/provisioning/common/windows/update-msvc2019.ps1 @@ -1,41 +1,5 @@ -############################################################################ -## -## Copyright (C) 2021 The Qt Company Ltd. -## Contact: https://www.qt.io/licensing/ -## -## This file is part of the provisioning scripts of the Qt Toolkit. -## -## $QT_BEGIN_LICENSE:LGPL$ -## Commercial License Usage -## Licensees holding valid commercial Qt licenses may use this file in -## accordance with the commercial license agreement provided with the -## Software or, alternatively, in accordance with the terms contained in -## a written agreement between you and The Qt Company. For licensing terms -## and conditions see https://www.qt.io/terms-conditions. For further -## information use the contact form at https://www.qt.io/contact-us. -## -## GNU Lesser General Public License Usage -## Alternatively, this file may be used under the terms of the GNU Lesser -## General Public License version 3 as published by the Free Software -## Foundation and appearing in the file LICENSE.LGPL3 included in the -## packaging of this file. Please review the following information to -## ensure the GNU Lesser General Public License version 3 requirements -## will be met: https://www.gnu.org/licenses/lgpl-3.0.html. -## -## GNU General Public License Usage -## Alternatively, this file may be used under the terms of the GNU -## General Public License version 2.0 or (at your option) the GNU General -## Public license version 3 or any later version approved by the KDE Free -## Qt Foundation. The licenses are as published by the Free Software -## Foundation and appearing in the file LICENSE.GPL2 and LICENSE.GPL3 -## included in the packaging of this file. Please review the following -## information to ensure the GNU General Public License requirements will -## be met: https://www.gnu.org/licenses/gpl-2.0.html and -## https://www.gnu.org/licenses/gpl-3.0.html. -## -## $QT_END_LICENSE$ -## -############################################################################# +# 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 . "$PSScriptRoot\helpers.ps1" @@ -43,13 +7,15 @@ # NOTE! Visual Studio is pre-installed to tier 1 image so this script won't install the whole Visual Studio. See ../../../pre-provisioning/qtci-windows-10-x86_64/msvc2019.txt # MSVC 2019 online installers can be found from here https://docs.microsoft.com/en-us/visualstudio/releases/2019/history#installing-an-earlier-release -$version = "16.11.8" -$urlCache_vsInstaller = "\\ci-files01-hki.intra.qt.io\provisioning\windows\msvc\vs2019_Professional_$version.exe" -$urlOfficial_vsInstaller = "https://download.visualstudio.microsoft.com/download/pr/b763973d-da6e-4025-834d-d8bc48e7d37f/e122bff0bac32d630b335db65fb61c7da25fea28b7ae58fd65cb2e170ef94f2c/vs_Professional.exe" -$sha1_vsInstaller = "993f4e9ece89dd5d8daac3c241f97e24a464f78c" -$urlCache_buildToolsInstaller = "\\ci-files01-hki.intra.qt.io\provisioning\windows\msvc\vs2019_BuildTools_$version.exe" -$urlOfficial_buildToolsInstaller = "https://download.visualstudio.microsoft.com/download/pr/b763973d-da6e-4025-834d-d8bc48e7d37f/4c9d3173a35956d1cf87e0fa8a9c79a0195e6e2acfe39f1ab92522d54a3bebb9/vs_BuildTools.exe" -$sha1_buildToolsInstaller = "9a7d0dd58b68a31305c1ffa0181e5b64d2b48d3b" +# NOTE! Currenlty Buildtools are not updated. There seems to be an issue with installer. When it's run twice it get stuck and can't be run again. + +$version = "16.11.10" +$urlCache_vsInstaller = "\\ci-files01-hki.ci.qt.io\provisioning\windows\msvc\vs2019_Professional_$version.exe" +$urlOfficial_vsInstaller = "https://download.visualstudio.microsoft.com/download/pr/791f3d28-7e20-45d9-9373-5dcfbdd1f6db/cd440cf67c0cf1519131d1d51a396e44c5b4f7b68b541c9f35c05a310d692f0a/vs_Professional.exe" +$sha1_vsInstaller = "d4f3b3b7dc28dcc3f25474cd1ca1e39fca7dcf3f" +$urlCache_buildToolsInstaller = "\\ci-files01-hki.ci.qt.io\provisioning\windows\msvc\vs2019_BuildTools_$version.exe" +# $urlOfficial_buildToolsInstaller = "https://download.visualstudio.microsoft.com/download/pr/791f3d28-7e20-45d9-9373-5dcfbdd1f6db/d5eabc3f4472d5ab18662648c8b6a08ea0553699819b88f89d84ec42d12f6ad7/vs_BuildTools.exe" +# $sha1_buildToolsInstaller = "69889f45d229de8e0e76b6d9e05964477eee2e78" $installerPath = "C:\Windows\Temp\installer.exe" function Install { @@ -64,14 +30,70 @@ function Install { Write-Host "Installing msvc 2019 $version" Download $urlOfficial $urlCache $installerPath Verify-Checksum $installerPath $sha1 + # We have to update the installer bootstrapper before calling the actual installer. + # Otherwise installation might fail silently + Run-Executable "$installerPath" "--quiet --update" Run-Executable "$installerPath" "update --passive --wait" Remove-Item -Force -Path $installerPath } +function Get-Vswhere-Property { + Param ( + [ValidateSet(2017, 2019, 2022)] + [int] $vsYear = $(BadParam("Visual Studio Year")), + + [ValidatePattern("Professional|Build *Tools|Community|Enterprise")] + [string] $vsEdition = $(BadParam("Visual Studio Edition")), + + [string] $property = $(BadParam("vswhere property")) + ) + + $range = switch ($vsYear) + { + 2017 { "[15.0,16`)" } + 2019 { "[16.0,17`)" } + 2022 { "[17.0,18`)" } + } + + $vsEdition = $vsEdition -replace " ","" + + $vswhereInfo = New-Object System.Diagnostics.ProcessStartInfo + $vswhereInfo.FileName = "${Env:ProgramFiles(x86)}\Microsoft Visual Studio\Installer\vswhere.exe" + $vswhereInfo.RedirectStandardError = $true + $vswhereInfo.RedirectStandardOutput = $true + $vswhereInfo.UseShellExecute = $false + $vswhereInfo.Arguments = "-version $range", "-latest", ` + "-products Microsoft.VisualStudio.Product.$vsEdition", "-property $property" + $vswhereProcess = New-Object System.Diagnostics.Process + $vswhereProcess.StartInfo = $vswhereInfo + $vswhereProcess.Start() | Out-Null + $vswhereProcess.WaitForExit() + $stdout = $vswhereProcess.StandardOutput.ReadToEnd() + if ([string]::IsNullOrEmpty($stdout)) + { + throw "VS edition or property $property not found by vswhere" + } + $stderr = $vswhereProcess.StandardError.ReadToEnd() + $vsExit = $vswhereProcess.ExitCode + if ($vsExit -ne 0) + { + throw "vswhere failed with exit code $vsExit. stderr: $stderr" + } + return $stdout +} + Install $urlOfficial_vsInstaller $urlCache_vsInstaller $sha1_vsInstaller -Install $urlOfficial_buildToolsInstaller $urlCache_buildToolsInstaller $sha1_buildToolsInstaller +# Install $urlOfficial_buildToolsInstaller $urlCache_buildToolsInstaller $sha1_buildToolsInstaller + +$msvc2019Version = Get-Vswhere-Property 2019 "Professional" catalog_productDisplayVersion +$msvc2019Complete = Get-Vswhere-Property 2019 "Professional" isComplete +$msvc2019Launchable = Get-Vswhere-Property 2019 "Professional" isLaunchable -$msvc2019Version = (cmd /c "C:\Program Files (x86)\Microsoft Visual Studio\Installer\vswhere.exe" -latest -property catalog_productDisplayVersion 2`>`&1) +if($msvc2019Version -ne $version -or [int]$msvc2019Complete -ne 1 ` + -or [int]$msvc2019Launchable -ne 1) { + throw "MSVC 2019 update failed. msvc2019Version: $($msvc2019Version) ` + msvc2019Complete: $($msvc2019Complete) msvc2019Launchable: $($msvc2019Launchable)" +} Write-Output "Visual Studio 2019 = $msvc2019Version" >> ~\versions.txt Write-Output "Visual Studio 2019 Build Tools = $version" >> ~\versions.txt diff --git a/coin/provisioning/common/windows/vc_redist.ps1 b/coin/provisioning/common/windows/vc_redist.ps1 index 62814b10..69eab4d2 100644 --- a/coin/provisioning/common/windows/vc_redist.ps1 +++ b/coin/provisioning/common/windows/vc_redist.ps1 @@ -1,42 +1,6 @@ -############################################################################# -## -## Copyright (C) 2017 The Qt Company Ltd. -## Copyright (C) 2017 Pelagicore AG -## Contact: https://www.qt.io/licensing/ -## -## This file is part of the provisioning scripts of the Qt Toolkit. -## -## $QT_BEGIN_LICENSE:LGPL$ -## Commercial License Usage -## Licensees holding valid commercial Qt licenses may use this file in -## accordance with the commercial license agreement provided with the -## Software or, alternatively, in accordance with the terms contained in -## a written agreement between you and The Qt Company. For licensing terms -## and conditions see https://www.qt.io/terms-conditions. For further -## information use the contact form at https://www.qt.io/contact-us. -## -## GNU Lesser General Public License Usage -## Alternatively, this file may be used under the terms of the GNU Lesser -## General Public License version 3 as published by the Free Software -## Foundation and appearing in the file LICENSE.LGPL3 included in the -## packaging of this file. Please review the following information to -## ensure the GNU Lesser General Public License version 3 requirements -## will be met: https://www.gnu.org/licenses/lgpl-3.0.html. -## -## GNU General Public License Usage -## Alternatively, this file may be used under the terms of the GNU -## General Public License version 2.0 or (at your option) the GNU General -## Public license version 3 or any later version approved by the KDE Free -## Qt Foundation. The licenses are as published by the Free Software -## Foundation and appearing in the file LICENSE.GPL2 and LICENSE.GPL3 -## included in the packaging of this file. Please review the following -## information to ensure the GNU General Public License requirements will -## be met: https://www.gnu.org/licenses/gpl-2.0.html and -## https://www.gnu.org/licenses/gpl-3.0.html. -## -## $QT_END_LICENSE$ -## -############################################################################# +# Copyright (C) 2017 The Qt Company Ltd. +# Copyright (C) 2017 Pelagicore AG +# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only . "$PSScriptRoot\helpers.ps1" @@ -47,12 +11,12 @@ if (Is64BitWinHost) { Write-Host "Running in 64 bit system" $arch = "x64" $externalUrl = "https://download.microsoft.com/download/9/3/F/93FCF1E7-E6A4-478B-96E7-D4B285925B00/vc_redist.x64.exe" - $internalUrl = "http://ci-files01-hki.intra.qt.io/input/windows/vc_redist.x64.exe" + $internalUrl = "http://ci-files01-hki.ci.qt.io/input/windows/vc_redist.x64.exe" $sha1 = "3155cb0f146b927fcc30647c1a904cd162548c8c" } else { $arch = "x86" $externalUrl = "https://download.microsoft.com/download/9/3/F/93FCF1E7-E6A4-478B-96E7-D4B285925B00/vc_redist.x86.exe" - $internalUrl = "http://ci-files01-hki.intra.qt.io/input/windows/vc_redist.x86.exe" + $internalUrl = "http://ci-files01-hki.ci.qt.io/input/windows/vc_redist.x86.exe" $sha1 = "bfb74e498c44d3a103ca3aa2831763fb417134d1" } diff --git a/coin/provisioning/common/windows/vcpkg/vcpkg.json b/coin/provisioning/common/windows/vcpkg/vcpkg.json new file mode 100644 index 00000000..70cb16fb --- /dev/null +++ b/coin/provisioning/common/windows/vcpkg/vcpkg.json @@ -0,0 +1,12 @@ +{ + "overrides": [ + { + "name": "openssl", + "version": "3.0.7", + "port-version": 2 + } + ], + "dependencies": [ + "openssl" + ] +} diff --git a/coin/provisioning/common/windows/vulkansdk.ps1 b/coin/provisioning/common/windows/vulkansdk.ps1 index 6af8aa56..aeeff696 100644 --- a/coin/provisioning/common/windows/vulkansdk.ps1 +++ b/coin/provisioning/common/windows/vulkansdk.ps1 @@ -1,41 +1,5 @@ -############################################################################ -## -## Copyright (C) 2021 The Qt Company Ltd. -## Contact: https://www.qt.io/licensing/ -## -## This file is part of the provisioning scripts of the Qt Toolkit. -## -## $QT_BEGIN_LICENSE:LGPL$ -## Commercial License Usage -## Licensees holding valid commercial Qt licenses may use this file in -## accordance with the commercial license agreement provided with the -## Software or, alternatively, in accordance with the terms contained in -## a written agreement between you and The Qt Company. For licensing terms -## and conditions see https://www.qt.io/terms-conditions. For further -## information use the contact form at https://www.qt.io/contact-us. -## -## GNU Lesser General Public License Usage -## Alternatively, this file may be used under the terms of the GNU Lesser -## General Public License version 3 as published by the Free Software -## Foundation and appearing in the file LICENSE.LGPL3 included in the -## packaging of this file. Please review the following information to -## ensure the GNU Lesser General Public License version 3 requirements -## will be met: https://www.gnu.org/licenses/lgpl-3.0.html. -## -## GNU General Public License Usage -## Alternatively, this file may be used under the terms of the GNU -## General Public License version 2.0 or (at your option) the GNU General -## Public license version 3 or any later version approved by the KDE Free -## Qt Foundation. The licenses are as published by the Free Software -## Foundation and appearing in the file LICENSE.GPL2 and LICENSE.GPL3 -## included in the packaging of this file. Please review the following -## information to ensure the GNU General Public License requirements will -## be met: https://www.gnu.org/licenses/gpl-2.0.html and -## https://www.gnu.org/licenses/gpl-3.0.html. -## -## $QT_END_LICENSE$ -## -############################################################################# +# 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 . "$PSScriptRoot\helpers.ps1" @@ -45,7 +9,7 @@ $version = "1.2.182.0" $vulkanPackage = "C:\Windows\Temp\vulkan-installer-$version.exe" $sha1 = "1b662f338bfbfdd00fb9b0c09113eacb94f68a0e" -Download "https://sdk.lunarg.com/sdk/download/1.2.182.0/windows/VulkanSDK-$version-Installer.exe" "\\ci-files01-hki.intra.qt.io\provisioning\windows\VulkanSDK-$version-Installer.exe" $vulkanPackage +Download "https://sdk.lunarg.com/sdk/download/1.2.182.0/windows/VulkanSDK-$version-Installer.exe" "\\ci-files01-hki.ci.qt.io\provisioning\windows\VulkanSDK-$version-Installer.exe" $vulkanPackage Verify-Checksum "$vulkanPackage" "$sha1" Run-Executable $vulkanPackage "/S" diff --git a/coin/provisioning/common/windows/win10sdk.ps1 b/coin/provisioning/common/windows/win10sdk.ps1 index dd75cf71..f5c87846 100644 --- a/coin/provisioning/common/windows/win10sdk.ps1 +++ b/coin/provisioning/common/windows/win10sdk.ps1 @@ -1,47 +1,11 @@ -############################################################################ -## -## Copyright (C) 2018 The Qt Company Ltd. -## Contact: https://www.qt.io/licensing/ -## -## This file is part of the provisioning scripts of the Qt Toolkit. -## -## $QT_BEGIN_LICENSE:LGPL$ -## Commercial License Usage -## Licensees holding valid commercial Qt licenses may use this file in -## accordance with the commercial license agreement provided with the -## Software or, alternatively, in accordance with the terms contained in -## a written agreement between you and The Qt Company. For licensing terms -## and conditions see https://www.qt.io/terms-conditions. For further -## information use the contact form at https://www.qt.io/contact-us. -## -## GNU Lesser General Public License Usage -## Alternatively, this file may be used under the terms of the GNU Lesser -## General Public License version 3 as published by the Free Software -## Foundation and appearing in the file LICENSE.LGPL3 included in the -## packaging of this file. Please review the following information to -## ensure the GNU Lesser General Public License version 3 requirements -## will be met: https://www.gnu.org/licenses/lgpl-3.0.html. -## -## GNU General Public License Usage -## Alternatively, this file may be used under the terms of the GNU -## General Public License version 2.0 or (at your option) the GNU General -## Public license version 3 or any later version approved by the KDE Free -## Qt Foundation. The licenses are as published by the Free Software -## Foundation and appearing in the file LICENSE.GPL2 and LICENSE.GPL3 -## included in the packaging of this file. Please review the following -## information to ensure the GNU General Public License requirements will -## be met: https://www.gnu.org/licenses/gpl-2.0.html and -## https://www.gnu.org/licenses/gpl-3.0.html. -## -## $QT_END_LICENSE$ -## -############################################################################# +# Copyright (C) 2018 The Qt Company Ltd. +# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only . "$PSScriptRoot\helpers.ps1" # This script will install Windows 10 SDK -$url_cache = "\\ci-files01-hki.intra.qt.io\provisioning\windows\winsdksetup.exe" +$url_cache = "\\ci-files01-hki.ci.qt.io\provisioning\windows\winsdksetup.exe" $url_official = "https://download.microsoft.com/download/8/C/3/8C37C5CE-C6B9-4CC8-8B5F-149A9C976035/windowssdk/winsdksetup.exe" $package = "C:\Windows\Temp\winsdksetup.exe" $sha1 = "db237323f1779fb143e7cdc558e4345e7004489e" diff --git a/coin/provisioning/common/windows/winrtrunner.ps1 b/coin/provisioning/common/windows/winrtrunner.ps1 index 6c092917..bb29e1a6 100644 --- a/coin/provisioning/common/windows/winrtrunner.ps1 +++ b/coin/provisioning/common/windows/winrtrunner.ps1 @@ -2,7 +2,7 @@ $zip = Get-DownloadLocation "winrtrunner.zip" $url = "http://download.qt.io/development_releases/prebuilt/winrtrunner/winrtrunner_2018-07-06.zip" -$url_cache = "\\ci-files01-hki.intra.qt.io\provisioning\windows\winrtrunner\winrtrunner_2018-07-06.zip" +$url_cache = "\\ci-files01-hki.ci.qt.io\provisioning\windows\winrtrunner\winrtrunner_2018-07-06.zip" Download $url $url_cache $zip Verify-Checksum $zip "93548e8c3fb8fded2474996ef5e0163f489ce8cf" diff --git a/coin/provisioning/qtci-linux-CentOS-8.3-x86_64/01-remove_network_manager_secret_key.sh b/coin/provisioning/qtci-linux-CentOS-8.3-x86_64/01-remove_network_manager_secret_key.sh deleted file mode 100755 index 5ed44f2d..00000000 --- a/coin/provisioning/qtci-linux-CentOS-8.3-x86_64/01-remove_network_manager_secret_key.sh +++ /dev/null @@ -1,9 +0,0 @@ -#!/usr/bin/env bash - -# Ipv6 link local becomes tentative and dadfailed if two systems has the same secret_key -# New unique secret key will be created automatically during start up. -# https://access.redhat.com/solutions/3553581 -echo "Removing secret_key" -sudo rm -f "/var/lib/NetworkManager/secret_key" - - diff --git a/coin/provisioning/qtci-linux-CentOS-8.3-x86_64/01-remove_stable-privacy.sh b/coin/provisioning/qtci-linux-CentOS-8.3-x86_64/01-remove_stable-privacy.sh deleted file mode 100755 index 4d0cb666..00000000 --- a/coin/provisioning/qtci-linux-CentOS-8.3-x86_64/01-remove_stable-privacy.sh +++ /dev/null @@ -1,44 +0,0 @@ -#!/usr/bin/env bash - -############################################################################# -## -## Copyright (C) 2020 The Qt Company Ltd. -## Contact: https://www.qt.io/licensing/ -## -## This file is part of the provisioning scripts of the Qt Toolkit. -## -## $QT_BEGIN_LICENSE:LGPL$ -## Commercial License Usage -## Licensees holding valid commercial Qt licenses may use this file in -## accordance with the commercial license agreement provided with the -## Software or, alternatively, in accordance with the terms contained in -## a written agreement between you and The Qt Company. For licensing terms -## and conditions see https://www.qt.io/terms-conditions. For further -## information use the contact form at https://www.qt.io/contact-us. -## -## GNU Lesser General Public License Usage -## Alternatively, this file may be used under the terms of the GNU Lesser -## General Public License version 3 as published by the Free Software -## Foundation and appearing in the file LICENSE.LGPL3 included in the -## packaging of this file. Please review the following information to -## ensure the GNU Lesser General Public License version 3 requirements -## will be met: https://www.gnu.org/licenses/lgpl-3.0.html. -## -## GNU General Public License Usage -## Alternatively, this file may be used under the terms of the GNU -## General Public License version 2.0 or (at your option) the GNU General -## Public license version 3 or any later version approved by the KDE Free -## Qt Foundation. The licenses are as published by the Free Software -## Foundation and appearing in the file LICENSE.GPL2 and LICENSE.GPL3 -## included in the packaging of this file. Please review the following -## information to ensure the GNU General Public License requirements will -## be met: https://www.gnu.org/licenses/gpl-2.0.html and -## https://www.gnu.org/licenses/gpl-3.0.html. -## -## $QT_END_LICENSE$ -## -############################################################################# -set -ex - -echo "Change default stable-secret to based on MAC" -sudo sed -i '/^IPV6_ADDR_GEN_MODE/d' "/etc/sysconfig/network-scripts/ifcfg-ens192" diff --git a/coin/provisioning/qtci-linux-CentOS-8.3-x86_64/01-systemsetup.sh b/coin/provisioning/qtci-linux-CentOS-8.3-x86_64/01-systemsetup.sh deleted file mode 100755 index 9f81abeb..00000000 --- a/coin/provisioning/qtci-linux-CentOS-8.3-x86_64/01-systemsetup.sh +++ /dev/null @@ -1,65 +0,0 @@ -#!/usr/bin/env bash - -############################################################################# -## -## Copyright (C) 2017 The Qt Company Ltd. -## Contact: https://www.qt.io/licensing/ -## -## This file is part of the provisioning scripts of the Qt Toolkit. -## -## $QT_BEGIN_LICENSE:LGPL$ -## Commercial License Usage -## Licensees holding valid commercial Qt licenses may use this file in -## accordance with the commercial license agreement provided with the -## Software or, alternatively, in accordance with the terms contained in -## a written agreement between you and The Qt Company. For licensing terms -## and conditions see https://www.qt.io/terms-conditions. For further -## information use the contact form at https://www.qt.io/contact-us. -## -## GNU Lesser General Public License Usage -## Alternatively, this file may be used under the terms of the GNU Lesser -## General Public License version 3 as published by the Free Software -## Foundation and appearing in the file LICENSE.LGPL3 included in the -## packaging of this file. Please review the following information to -## ensure the GNU Lesser General Public License version 3 requirements -## will be met: https://www.gnu.org/licenses/lgpl-3.0.html. -## -## GNU General Public License Usage -## Alternatively, this file may be used under the terms of the GNU -## General Public License version 2.0 or (at your option) the GNU General -## Public license version 3 or any later version approved by the KDE Free -## Qt Foundation. The licenses are as published by the Free Software -## Foundation and appearing in the file LICENSE.GPL2 and LICENSE.GPL3 -## included in the packaging of this file. Please review the following -## information to ensure the GNU General Public License requirements will -## be met: https://www.gnu.org/licenses/gpl-2.0.html and -## https://www.gnu.org/licenses/gpl-3.0.html. -## -## $QT_END_LICENSE$ -## -############################################################################# - -set -ex - -BASEDIR=$(dirname "$0") -# shellcheck source=../common/shared/network_test_server_ip.txt -source "$BASEDIR/../common/shared/network_test_server_ip.txt" - -echo "Set Network Test Server address to $network_test_server_ip in /etc/hosts" -echo "$network_test_server_ip qt-test-server qt-test-server.qt-test-net" | sudo tee -a /etc/hosts -echo "Set DISPLAY" -echo 'export DISPLAY=":0"' >> ~/.bashrc -# for current session -export DISPLAY=:0 - -# Set timezone to UTC. -sudo timedatectl set-timezone Etc/UTC -# disable Automatic screen lock -gsettings set org.gnome.desktop.screensaver lock-enabled false -# disable blank screen power saving -gsettings set org.gnome.desktop.session idle-delay 0 - -# Set Wayland enable as false. CentOS may start using Wayland instead of x-session randomly if this is not set -echo "Setting Wayland enable as false" -sudo sed -i 's/#WaylandEnable=false/WaylandEnable=false/g' /etc/gdm/custom.conf - diff --git a/coin/provisioning/qtci-linux-CentOS-8.3-x86_64/03-enable-repos.sh b/coin/provisioning/qtci-linux-CentOS-8.3-x86_64/03-enable-repos.sh deleted file mode 100755 index aa875421..00000000 --- a/coin/provisioning/qtci-linux-CentOS-8.3-x86_64/03-enable-repos.sh +++ /dev/null @@ -1,90 +0,0 @@ -#!/usr/bin/env bash - -############################################################################# -## -## Copyright (C) 2020 The Qt Company Ltd. -## Contact: https://www.qt.io/licensing/ -## -## This file is part of the provisioning scripts of the Qt Toolkit. -## -## $QT_BEGIN_LICENSE:LGPL$ -## Commercial License Usage -## Licensees holding valid commercial Qt licenses may use this file in -## accordance with the commercial license agreement provided with the -## Software or, alternatively, in accordance with the terms contained in -## a written agreement between you and The Qt Company. For licensing terms -## and conditions see https://www.qt.io/terms-conditions. For further -## information use the contact form at https://www.qt.io/contact-us. -## -## GNU Lesser General Public License Usage -## Alternatively, this file may be used under the terms of the GNU Lesser -## General Public License version 3 as published by the Free Software -## Foundation and appearing in the file LICENSE.LGPL3 included in the -## packaging of this file. Please review the following information to -## ensure the GNU Lesser General Public License version 3 requirements -## will be met: https://www.gnu.org/licenses/lgpl-3.0.html. -## -## GNU General Public License Usage -## Alternatively, this file may be used under the terms of the GNU -## General Public License version 2.0 or (at your option) the GNU General -## Public license version 3 or any later version approved by the KDE Free -## Qt Foundation. The licenses are as published by the Free Software -## Foundation and appearing in the file LICENSE.GPL2 and LICENSE.GPL3 -## included in the packaging of this file. Please review the following -## information to ensure the GNU General Public License requirements will -## be met: https://www.gnu.org/licenses/gpl-2.0.html and -## https://www.gnu.org/licenses/gpl-3.0.html. -## -## $QT_END_LICENSE$ -## -############################################################################# - -set -ex - -sudo rm -f /etc/yum.repos.d/*.repo - -sudo tee "/etc/yum.repos.d/local.repo" > /dev/null <<EOC -[BaseOS] -name = Qt Centos-8 - Base -metadata_expire = 86400 -baseurl = http://repo-clones.ci.qt.io/repos/centos/8/BaseOS/x86_64/os/ -gpgkey = file:///etc/pki/rpm-gpg/RPM-GPG-KEY-centosofficial -enabled = 1 -gpgcheck = 1 - -[AppStream] -name = Qt Centos-8 - AppStream -metadata_expire = 86400 -baseurl = http://repo-clones.ci.qt.io/repos/centos/8/AppStream/x86_64/os/ -gpgkey = file:///etc/pki/rpm-gpg/RPM-GPG-KEY-centosofficial -enabled = 1 -gpgcheck = 1 - -[PowerTools] -name = Qt Centos-8 - PowerTools -metadata_expire = 86400 -baseurl = http://repo-clones.ci.qt.io/repos/centos/8/PowerTools/x86_64/os/ -gpgkey = file:///etc/pki/rpm-gpg/RPM-GPG-KEY-centosofficial -enabled = 1 -gpgcheck = 1 - -[epel] -name = Qt Centos-8 - EPEL -metadata_expire = 86400 -baseurl = http://repo-clones.ci.qt.io/repos/centos/epel/8/Everything/x86_64/ -enabled = 1 -gpgcheck = 1 -gpgkey = http://repo-clones.ci.qt.io/repos/centos/epel/RPM-GPG-KEY-EPEL-8 - -[epel-playground] -name = Qt Centos-8 - EPEL Playground -metadata_expire = 86400 -baseurl = http://repo-clones.ci.qt.io/repos/centos/epel/playground/8/Everything/x86_64/os/ -enabled = 1 -gpgcheck = 1 -gpgkey = http://repo-clones.ci.qt.io/repos/centos/epel/RPM-GPG-KEY-EPEL-8 -EOC - -sudo yum clean all -# As well as this fetching the repository data, we also get a printout of the used repos -sudo yum repolist diff --git a/coin/provisioning/qtci-linux-CentOS-8.3-x86_64/03-install-gcc-toolset.sh b/coin/provisioning/qtci-linux-CentOS-8.3-x86_64/03-install-gcc-toolset.sh deleted file mode 100755 index fdc8a13f..00000000 --- a/coin/provisioning/qtci-linux-CentOS-8.3-x86_64/03-install-gcc-toolset.sh +++ /dev/null @@ -1,47 +0,0 @@ -#!/usr/bin/env bash - -############################################################################# -## -## Copyright (C) 2021 The Qt Company Ltd. -## Contact: https://www.qt.io/licensing/ -## -## This file is part of the provisioning scripts of the Qt Toolkit. -## -## $QT_BEGIN_LICENSE:LGPL$ -## Commercial License Usage -## Licensees holding valid commercial Qt licenses may use this file in -## accordance with the commercial license agreement provided with the -## Software or, alternatively, in accordance with the terms contained in -## a written agreement between you and The Qt Company. For licensing terms -## and conditions see https://www.qt.io/terms-conditions. For further -## information use the contact form at https://www.qt.io/contact-us. -## -## GNU Lesser General Public License Usage -## Alternatively, this file may be used under the terms of the GNU Lesser -## General Public License version 3 as published by the Free Software -## Foundation and appearing in the file LICENSE.LGPL3 included in the -## packaging of this file. Please review the following information to -## ensure the GNU Lesser General Public License version 3 requirements -## will be met: https://www.gnu.org/licenses/lgpl-3.0.html. -## -## GNU General Public License Usage -## Alternatively, this file may be used under the terms of the GNU -## General Public License version 2.0 or (at your option) the GNU General -## Public license version 3 or any later version approved by the KDE Free -## Qt Foundation. The licenses are as published by the Free Software -## Foundation and appearing in the file LICENSE.GPL2 and LICENSE.GPL3 -## included in the packaging of this file. Please review the following -## information to ensure the GNU General Public License requirements will -## be met: https://www.gnu.org/licenses/gpl-2.0.html and -## https://www.gnu.org/licenses/gpl-3.0.html. -## -## $QT_END_LICENSE$ -## -############################################################################# - -set -ex - -sudo yum -y install gcc-toolset-9 - -echo "source /opt/rh/gcc-toolset-9/enable" >> ~/.bashrc - diff --git a/coin/provisioning/qtci-linux-CentOS-8.3-x86_64/04-install-packages.sh b/coin/provisioning/qtci-linux-CentOS-8.3-x86_64/04-install-packages.sh deleted file mode 100755 index 24becb90..00000000 --- a/coin/provisioning/qtci-linux-CentOS-8.3-x86_64/04-install-packages.sh +++ /dev/null @@ -1,166 +0,0 @@ -#!/usr/bin/env bash - -############################################################################# -## -## Copyright (C) 2020 The Qt Company Ltd. -## Contact: https://www.qt.io/licensing/ -## -## This file is part of the provisioning scripts of the Qt Toolkit. -## -## $QT_BEGIN_LICENSE:LGPL$ -## Commercial License Usage -## Licensees holding valid commercial Qt licenses may use this file in -## accordance with the commercial license agreement provided with the -## Software or, alternatively, in accordance with the terms contained in -## a written agreement between you and The Qt Company. For licensing terms -## and conditions see https://www.qt.io/terms-conditions. For further -## information use the contact form at https://www.qt.io/contact-us. -## -## GNU Lesser General Public License Usage -## Alternatively, this file may be used under the terms of the GNU Lesser -## General Public License version 3 as published by the Free Software -## Foundation and appearing in the file LICENSE.LGPL3 included in the -## packaging of this file. Please review the following information to -## ensure the GNU Lesser General Public License version 3 requirements -## will be met: https://www.gnu.org/licenses/lgpl-3.0.html. -## -## GNU General Public License Usage -## Alternatively, this file may be used under the terms of the GNU -## General Public License version 2.0 or (at your option) the GNU General -## Public license version 3 or any later version approved by the KDE Free -## Qt Foundation. The licenses are as published by the Free Software -## Foundation and appearing in the file LICENSE.GPL2 and LICENSE.GPL3 -## included in the packaging of this file. Please review the following -## information to ensure the GNU General Public License requirements will -## be met: https://www.gnu.org/licenses/gpl-2.0.html and -## https://www.gnu.org/licenses/gpl-3.0.html. -## -## $QT_END_LICENSE$ -## -############################################################################# - -set -ex - -# Remove update notifications and packagekit running in the background -sudo yum -y remove PackageKit gnome-software - -installPackages=() -installPackages+=(git) -installPackages+=(zlib-devel) -installPackages+=(glib2-devel) -installPackages+=(openssl-devel) -installPackages+=(freetype-devel) -installPackages+=(fontconfig-devel) -# cmake build -installPackages+=(ninja-build) -installPackages+=(pcre2-devel) -installPackages+=(double-conversion-devel) -installPackages+=(zstd) -# EGL support -installPackages+=(mesa-libEGL-devel) -installPackages+=(mesa-libGL-devel) -installPackages+=(libxkbfile-devel) -# Xinput2 -installPackages+=(libXi-devel) -installPackages+=(mysql-server) -installPackages+=(mysql) -installPackages+=(mysql-devel) -installPackages+=(postgresql-devel) -installPackages+=(cups-devel) -installPackages+=(dbus-devel) -# gstreamer 1 for QtMultimedia -# Note! gstreamer1-plugins-bad-free needs to be upgraded or it will conflicts with gstreamer1-plugins-base-devel -installPackages+=(gstreamer1-plugins-bad-free) -installPackages+=(gstreamer1-devel) -installPackages+=(gstreamer1-plugins-base-devel) -# gtk3 style for QtGui/QStyle -installPackages+=(gtk3-devel) -# libusb1 for tqtc-boot2qt/qdb -installPackages+=(libusbx-devel) -# speech-dispatcher-devel for QtSpeech, otherwise it has no backend on Linux -installPackages+=(speech-dispatcher-devel) -# Python 2 devel and pip. python-pip requires the EPEL repository to be added -installPackages+=(python2-devel python2-pip) -# Python 3 with python-devel, pip and virtualenv -installPackages+=(python36) -installPackages+=(python36-devel) -# WebEngine -installPackages+=(bison) -installPackages+=(flex) -installPackages+=(gperf) -installPackages+=(alsa-lib-devel) -installPackages+=(pulseaudio-libs-devel) -installPackages+=(libXtst-devel) -installPackages+=(nspr-devel) -installPackages+=(nss-devel) -# For Android builds -installPackages+=(java-1.8.0-openjdk-devel) -# For receiving shasum -installPackages+=(perl-Digest-SHA) -# INTEGRITY requirements -installPackages+=(glibc.i686) -# Enable Qt Bluetooth -installPackages+=(bluez-libs-devel) -# QtWebKit -installPackages+=(libxml2-devel) -installPackages+=(libxslt-devel) -# For building Wayland from source -installPackages+=(libffi-devel) -# QtWayland -installPackages+=(mesa-libwayland-egl) -installPackages+=(mesa-libwayland-egl-devel) -installPackages+=(libwayland-client) -installPackages+=(libwayland-cursor) -installPackages+=(libwayland-server) -# Jenkins -installPackages+=(chrpath) -# libxkbcommon -installPackages+=(libxkbcommon-devel) -installPackages+=(libxkbcommon-x11-devel) -# xcb-util-* libraries -installPackages+=(xcb-util-devel) -installPackages+=(xcb-util-image-devel) -installPackages+=(xcb-util-keysyms-devel) -installPackages+=(xcb-util-wm-devel) -installPackages+=(xcb-util-renderutil-devel) -# ODBC support -installPackages+=(unixODBC-devel) -installPackages+=(unixODBC) -# Vulkan support -installPackages+=(vulkan-devel) -installPackages+=(vulkan-tools) -# Conan: For Python build -installPackages+=(xz-devel) -installPackages+=(zlib-devel) -installPackages+=(libffi-devel) -installPackages+=(libsqlite3x-devel) -# Build.pl -installPackages+=(perl-Data-Dumper) -# In RedHat these come with Devtoolset -installPackages+=(gcc) -installPackages+=(gcc-c++) -installPackages+=(libstdc++-static) -installPackages+=(make) -# Open source VMware Tools -installPackages+=(open-vm-tools) - -sudo yum -y install "${installPackages[@]}" - -sudo ln -s /usr/bin/python2 /usr/bin/python - -# We shouldn't use yum to install virtualenv. The one found from package repo is not -# working, but we can use installed pip -sudo pip3 install --upgrade pip -sudo pip3 install virtualenv wheel - -sudo /usr/bin/pip3 install wheel -# Install all needed packages in a special wheel cache directory -/usr/bin/pip3 wheel --wheel-dir "$HOME/python3-wheels" -r "${BASH_SOURCE%/*}/../common/shared/requirements.txt" - -# shellcheck source=../common/unix/SetEnvVar.sh -source "${BASH_SOURCE%/*}/../common/unix/SetEnvVar.sh" -SetEnvVar "PYTHON3_WHEEL_CACHE" "$HOME/python3-wheels" - -OpenSSLVersion="$(openssl version |cut -b 9-14)" -echo "OpenSSL = $OpenSSLVersion" >> ~/versions.txt - diff --git a/coin/provisioning/qtci-linux-CentOS-8.3-x86_64/04-p7zip.sh b/coin/provisioning/qtci-linux-CentOS-8.3-x86_64/04-p7zip.sh deleted file mode 100755 index b5678342..00000000 --- a/coin/provisioning/qtci-linux-CentOS-8.3-x86_64/04-p7zip.sh +++ /dev/null @@ -1,52 +0,0 @@ -#!/usr/bin/env bash - -############################################################################# -## -## Copyright (C) 2017 The Qt Company Ltd. -## Contact: https://www.qt.io/licensing/ -## -## This file is part of the provisioning scripts of the Qt Toolkit. -## -## $QT_BEGIN_LICENSE:LGPL$ -## Commercial License Usage -## Licensees holding valid commercial Qt licenses may use this file in -## accordance with the commercial license agreement provided with the -## Software or, alternatively, in accordance with the terms contained in -## a written agreement between you and The Qt Company. For licensing terms -## and conditions see https://www.qt.io/terms-conditions. For further -## information use the contact form at https://www.qt.io/contact-us. -## -## GNU Lesser General Public License Usage -## Alternatively, this file may be used under the terms of the GNU Lesser -## General Public License version 3 as published by the Free Software -## Foundation and appearing in the file LICENSE.LGPL3 included in the -## packaging of this file. Please review the following information to -## ensure the GNU Lesser General Public License version 3 requirements -## will be met: https://www.gnu.org/licenses/lgpl-3.0.html. -## -## GNU General Public License Usage -## Alternatively, this file may be used under the terms of the GNU -## General Public License version 2.0 or (at your option) the GNU General -## Public license version 3 or any later version approved by the KDE Free -## Qt Foundation. The licenses are as published by the Free Software -## Foundation and appearing in the file LICENSE.GPL2 and LICENSE.GPL3 -## included in the packaging of this file. Please review the following -## information to ensure the GNU General Public License requirements will -## be met: https://www.gnu.org/licenses/gpl-2.0.html and -## https://www.gnu.org/licenses/gpl-3.0.html. -## -## $QT_END_LICENSE$ -## -############################################################################# - -set -ex - -name="p7zip" -version="7-11" -sudo yum -y install "$name" - -# Link 7za to 7z so we can use existing installation scripts -sudo ln -s /usr/bin/7za /usr/bin/7z - -echo "$name = $version" >> ~/versions.txt - diff --git a/coin/provisioning/qtci-linux-CentOS-8.3-x86_64/05-libclang-v100-dyn.sh b/coin/provisioning/qtci-linux-CentOS-8.3-x86_64/05-libclang-v100-dyn.sh deleted file mode 100755 index fbf34ddd..00000000 --- a/coin/provisioning/qtci-linux-CentOS-8.3-x86_64/05-libclang-v100-dyn.sh +++ /dev/null @@ -1,6 +0,0 @@ -#!/usr/bin/env bash -set -ex - -BASEDIR=$(dirname "$0") -# shellcheck source=../common/unix/libclang-v100-dyn.sh -"$BASEDIR/../common/unix/libclang-v100-dyn.sh" diff --git a/coin/provisioning/qtci-linux-CentOS-8.3-x86_64/05-libclang.sh b/coin/provisioning/qtci-linux-CentOS-8.3-x86_64/05-libclang.sh deleted file mode 100755 index 7074cbc1..00000000 --- a/coin/provisioning/qtci-linux-CentOS-8.3-x86_64/05-libclang.sh +++ /dev/null @@ -1,6 +0,0 @@ -#!/usr/bin/env bash -set -ex - -BASEDIR=$(dirname "$0") -# shellcheck source=../common/unix/libclang.sh -"$BASEDIR/../common/unix/libclang.sh" diff --git a/coin/provisioning/qtci-linux-CentOS-8.3-x86_64/07-qnx_710.sh b/coin/provisioning/qtci-linux-CentOS-8.3-x86_64/07-qnx_710.sh deleted file mode 100755 index bd5f8d57..00000000 --- a/coin/provisioning/qtci-linux-CentOS-8.3-x86_64/07-qnx_710.sh +++ /dev/null @@ -1,45 +0,0 @@ -#!/usr/bin/env bash - -############################################################################# -## -## Copyright (C) 2021 The Qt Company Ltd. -## Contact: https://www.qt.io/licensing/ -## -## This file is part of the provisioning scripts of the Qt Toolkit. -## -## $QT_BEGIN_LICENSE:LGPL$ -## Commercial License Usage -## Licensees holding valid commercial Qt licenses may use this file in -## accordance with the commercial license agreement provided with the -## Software or, alternatively, in accordance with the terms contained in -## a written agreement between you and The Qt Company. For licensing terms -## and conditions see https://www.qt.io/terms-conditions. For further -## information use the contact form at https://www.qt.io/contact-us. -## -## GNU Lesser General Public License Usage -## Alternatively, this file may be used under the terms of the GNU Lesser -## General Public License version 3 as published by the Free Software -## Foundation and appearing in the file LICENSE.LGPL3 included in the -## packaging of this file. Please review the following information to -## ensure the GNU Lesser General Public License version 3 requirements -## will be met: https://www.gnu.org/licenses/lgpl-3.0.html. -## -## GNU General Public License Usage -## Alternatively, this file may be used under the terms of the GNU -## General Public License version 2.0 or (at your option) the GNU General -## Public license version 3 or any later version approved by the KDE Free -## Qt Foundation. The licenses are as published by the Free Software -## Foundation and appearing in the file LICENSE.GPL2 and LICENSE.GPL3 -## included in the packaging of this file. Please review the following -## information to ensure the GNU General Public License requirements will -## be met: https://www.gnu.org/licenses/gpl-2.0.html and -## https://www.gnu.org/licenses/gpl-3.0.html. -## -## $QT_END_LICENSE$ -## -############################################################################# - -set -ex - -# shellcheck source=../common/linux/qnx_700.sh -source "${BASH_SOURCE%/*}/../common/linux/qnx_710.sh" diff --git a/coin/provisioning/qtci-linux-CentOS-8.3-x86_64/08-integrity.sh b/coin/provisioning/qtci-linux-CentOS-8.3-x86_64/08-integrity.sh deleted file mode 100755 index 00a9c984..00000000 --- a/coin/provisioning/qtci-linux-CentOS-8.3-x86_64/08-integrity.sh +++ /dev/null @@ -1,45 +0,0 @@ -#!/usr/bin/env bash - -############################################################################# -## -## Copyright (C) 2017 The Qt Company Ltd. -## Contact: https://www.qt.io/licensing/ -## -## This file is part of the provisioning scripts of the Qt Toolkit. -## -## $QT_BEGIN_LICENSE:LGPL$ -## Commercial License Usage -## Licensees holding valid commercial Qt licenses may use this file in -## accordance with the commercial license agreement provided with the -## Software or, alternatively, in accordance with the terms contained in -## a written agreement between you and The Qt Company. For licensing terms -## and conditions see https://www.qt.io/terms-conditions. For further -## information use the contact form at https://www.qt.io/contact-us. -## -## GNU Lesser General Public License Usage -## Alternatively, this file may be used under the terms of the GNU Lesser -## General Public License version 3 as published by the Free Software -## Foundation and appearing in the file LICENSE.LGPL3 included in the -## packaging of this file. Please review the following information to -## ensure the GNU Lesser General Public License version 3 requirements -## will be met: https://www.gnu.org/licenses/lgpl-3.0.html. -## -## GNU General Public License Usage -## Alternatively, this file may be used under the terms of the GNU -## General Public License version 2.0 or (at your option) the GNU General -## Public license version 3 or any later version approved by the KDE Free -## Qt Foundation. The licenses are as published by the Free Software -## Foundation and appearing in the file LICENSE.GPL2 and LICENSE.GPL3 -## included in the packaging of this file. Please review the following -## information to ensure the GNU General Public License requirements will -## be met: https://www.gnu.org/licenses/gpl-2.0.html and -## https://www.gnu.org/licenses/gpl-3.0.html. -## -## $QT_END_LICENSE$ -## -############################################################################# - -set -ex - -# shellcheck source=../common/linux/integrity.sh -source "${BASH_SOURCE%/*}/../common/linux/integrity.sh" diff --git a/coin/provisioning/qtci-linux-CentOS-8.3-x86_64/09-disable_selinux.sh b/coin/provisioning/qtci-linux-CentOS-8.3-x86_64/09-disable_selinux.sh deleted file mode 100755 index 34747e07..00000000 --- a/coin/provisioning/qtci-linux-CentOS-8.3-x86_64/09-disable_selinux.sh +++ /dev/null @@ -1,45 +0,0 @@ -#!/usr/bin/env bash - -############################################################################# -## -## Copyright (C) 2017 The Qt Company Ltd. -## Contact: https://www.qt.io/licensing/ -## -## This file is part of the provisioning scripts of the Qt Toolkit. -## -## $QT_BEGIN_LICENSE:LGPL$ -## Commercial License Usage -## Licensees holding valid commercial Qt licenses may use this file in -## accordance with the commercial license agreement provided with the -## Software or, alternatively, in accordance with the terms contained in -## a written agreement between you and The Qt Company. For licensing terms -## and conditions see https://www.qt.io/terms-conditions. For further -## information use the contact form at https://www.qt.io/contact-us. -## -## GNU Lesser General Public License Usage -## Alternatively, this file may be used under the terms of the GNU Lesser -## General Public License version 3 as published by the Free Software -## Foundation and appearing in the file LICENSE.LGPL3 included in the -## packaging of this file. Please review the following information to -## ensure the GNU Lesser General Public License version 3 requirements -## will be met: https://www.gnu.org/licenses/lgpl-3.0.html. -## -## GNU General Public License Usage -## Alternatively, this file may be used under the terms of the GNU -## General Public License version 2.0 or (at your option) the GNU General -## Public license version 3 or any later version approved by the KDE Free -## Qt Foundation. The licenses are as published by the Free Software -## Foundation and appearing in the file LICENSE.GPL2 and LICENSE.GPL3 -## included in the packaging of this file. Please review the following -## information to ensure the GNU General Public License requirements will -## be met: https://www.gnu.org/licenses/gpl-2.0.html and -## https://www.gnu.org/licenses/gpl-3.0.html. -## -## $QT_END_LICENSE$ -## -############################################################################# - -set -ex - -# shellcheck source=../common/linux/disable_selinux.sh -source "${BASH_SOURCE%/*}/../common/linux/disable_selinux.sh" diff --git a/coin/provisioning/qtci-linux-CentOS-8.3-x86_64/22-mqtt_broker.sh b/coin/provisioning/qtci-linux-CentOS-8.3-x86_64/22-mqtt_broker.sh deleted file mode 100755 index e0875b37..00000000 --- a/coin/provisioning/qtci-linux-CentOS-8.3-x86_64/22-mqtt_broker.sh +++ /dev/null @@ -1,43 +0,0 @@ -#!/usr/bin/env bash - -############################################################################# -## -## Copyright (C) 2017 The Qt Company Ltd. -## Contact: https://www.qt.io/licensing/ -## -## This file is part of the provisioning scripts of the Qt Toolkit. -## -## $QT_BEGIN_LICENSE:LGPL$ -## Commercial License Usage -## Licensees holding valid commercial Qt licenses may use this file in -## accordance with the commercial license agreement provided with the -## Software or, alternatively, in accordance with the terms contained in -## a written agreement between you and The Qt Company. For licensing terms -## and conditions see https://www.qt.io/terms-conditions. For further -## information use the contact form at https://www.qt.io/contact-us. -## -## GNU Lesser General Public License Usage -## Alternatively, this file may be used under the terms of the GNU Lesser -## General Public License version 3 as published by the Free Software -## Foundation and appearing in the file LICENSE.LGPL3 included in the -## packaging of this file. Please review the following information to -## ensure the GNU Lesser General Public License version 3 requirements -## will be met: https://www.gnu.org/licenses/lgpl-3.0.html. -## -## GNU General Public License Usage -## Alternatively, this file may be used under the terms of the GNU -## General Public License version 2.0 or (at your option) the GNU General -## Public license version 3 or any later version approved by the KDE Free -## Qt Foundation. The licenses are as published by the Free Software -## Foundation and appearing in the file LICENSE.GPL2 and LICENSE.GPL3 -## included in the packaging of this file. Please review the following -## information to ensure the GNU General Public License requirements will -## be met: https://www.gnu.org/licenses/gpl-2.0.html and -## https://www.gnu.org/licenses/gpl-3.0.html. -## -## $QT_END_LICENSE$ -## -############################################################################# - -# shellcheck source=../common/unix/mqtt_broker.sh -source "${BASH_SOURCE%/*}/../common/unix/mqtt_broker.sh" diff --git a/coin/provisioning/qtci-linux-CentOS-8.3-x86_64/30-fbx.sh b/coin/provisioning/qtci-linux-CentOS-8.3-x86_64/30-fbx.sh deleted file mode 100755 index d8df4375..00000000 --- a/coin/provisioning/qtci-linux-CentOS-8.3-x86_64/30-fbx.sh +++ /dev/null @@ -1,6 +0,0 @@ -#!/usr/bin/env bash - -set -ex - -BASEDIR=$(dirname "$0") -"$BASEDIR/../common/linux/fbx_linux.sh" diff --git a/coin/provisioning/qtci-linux-CentOS-8.3-x86_64/30-install_icu.sh b/coin/provisioning/qtci-linux-CentOS-8.3-x86_64/30-install_icu.sh deleted file mode 100755 index 055cefb8..00000000 --- a/coin/provisioning/qtci-linux-CentOS-8.3-x86_64/30-install_icu.sh +++ /dev/null @@ -1,82 +0,0 @@ -#!/usr/bin/env bash - -############################################################################# -## -## Copyright (C) 2018 The Qt Company Ltd. -## Contact: https://www.qt.io/licensing/ -## -## This file is part of the provisioning scripts of the Qt Toolkit. -## -## $QT_BEGIN_LICENSE:LGPL$ -## Commercial License Usage -## Licensees holding valid commercial Qt licenses may use this file in -## accordance with the commercial license agreement provided with the -## Software or, alternatively, in accordance with the terms contained in -## a written agreement between you and The Qt Company. For licensing terms -## and conditions see https://www.qt.io/terms-conditions. For further -## information use the contact form at https://www.qt.io/contact-us. -## -## GNU Lesser General Public License Usage -## Alternatively, this file may be used under the terms of the GNU Lesser -## General Public License version 3 as published by the Free Software -## Foundation and appearing in the file LICENSE.LGPL3 included in the -## packaging of this file. Please review the following information to -## ensure the GNU Lesser General Public License version 3 requirements -## will be met: https://www.gnu.org/licenses/lgpl-3.0.html. -## -## GNU General Public License Usage -## Alternatively, this file may be used under the terms of the GNU -## General Public License version 2.0 or (at your option) the GNU General -## Public license version 3 or any later version approved by the KDE Free -## Qt Foundation. The licenses are as published by the Free Software -## Foundation and appearing in the file LICENSE.GPL2 and LICENSE.GPL3 -## included in the packaging of this file. Please review the following -## information to ensure the GNU General Public License requirements will -## be met: https://www.gnu.org/licenses/gpl-2.0.html and -## https://www.gnu.org/licenses/gpl-3.0.html. -## -## $QT_END_LICENSE$ -## -############################################################################# - -# shellcheck source=../common/unix/DownloadURL.sh -source "${BASH_SOURCE%/*}/../common/unix/DownloadURL.sh" - -set -ex - -# This script will install ICU - -icuVersion="56.1" -icuLocation="/usr/lib64" -sha1="6dd9ca6b185681a7ddc4bb94fd7fced27647a21c" -baseBinaryPackageURL="http://ci-files01-hki.intra.qt.io/input/icu/$icuVersion/icu-linux-g++-Rhel7.2-x64.7z" -baseBinaryPackageExternalURL="http://master.qt.io/development_releases/prebuilt/icu/prebuilt/$icuVersion/icu-linux-g++-Rhel7.2-x64.7z" - -sha1Dev="bffde26cdea752bee0edd281820c57f1adac3864" -develPackageURL="http://ci-files01-hki.intra.qt.io/input/icu/$icuVersion/icu-linux-g++-Rhel7.2-x64-devel.7z" -develPackageExternalURL="http://master.qt.io/development_releases/prebuilt/icu/prebuilt/$icuVersion/icu-linux-g++-Rhel7.2-x64-devel.7z" - -echo "Installing custom ICU $icuVersion $sha1 packages on CentOS to $icuLocation" - -targetFile=$(mktemp) -DownloadURL "$baseBinaryPackageURL" "$baseBinaryPackageExternalURL" "$sha1" "$targetFile" -sudo 7z x -y -o/usr/lib64 "$targetFile" -sudo rm "$targetFile" - -echo "Installing custom ICU devel packages on CentOS" - -tempDir=$(mktemp -d) - -targetFile=$(mktemp) -DownloadURL "$develPackageURL" "$develPackageExternalURL" "$sha1Dev" "$targetFile" -7z x -y -o"$tempDir" "$targetFile" - -sudo cp -a "$tempDir"/lib/* /usr/lib64 -sudo cp -a "$tempDir"/* /usr/ - -sudo rm "$targetFile" -sudo rm -fr "$tempDir" - -sudo /sbin/ldconfig - -echo "ICU = $icuVersion" >> ~/versions.txt diff --git a/coin/provisioning/qtci-linux-CentOS-8.3-x86_64/35-install-breakpad.sh b/coin/provisioning/qtci-linux-CentOS-8.3-x86_64/35-install-breakpad.sh deleted file mode 100755 index 74dd1579..00000000 --- a/coin/provisioning/qtci-linux-CentOS-8.3-x86_64/35-install-breakpad.sh +++ /dev/null @@ -1,6 +0,0 @@ -#!/usr/bin/env bash - -set -ex - -# shellcheck source=../common/unix/install-breakpad.sh -source "${BASH_SOURCE%/*}/../common/unix/install-breakpad.sh" diff --git a/coin/provisioning/qtci-linux-CentOS-8.3-x86_64/40-android_linux.sh b/coin/provisioning/qtci-linux-CentOS-8.3-x86_64/40-android_linux.sh deleted file mode 100755 index 1e01ed19..00000000 --- a/coin/provisioning/qtci-linux-CentOS-8.3-x86_64/40-android_linux.sh +++ /dev/null @@ -1,45 +0,0 @@ -#!/usr/bin/env bash - -############################################################################# -## -## Copyright (C) 2017 The Qt Company Ltd. -## Contact: https://www.qt.io/licensing/ -## -## This file is part of the provisioning scripts of the Qt Toolkit. -## -## $QT_BEGIN_LICENSE:LGPL$ -## Commercial License Usage -## Licensees holding valid commercial Qt licenses may use this file in -## accordance with the commercial license agreement provided with the -## Software or, alternatively, in accordance with the terms contained in -## a written agreement between you and The Qt Company. For licensing terms -## and conditions see https://www.qt.io/terms-conditions. For further -## information use the contact form at https://www.qt.io/contact-us. -## -## GNU Lesser General Public License Usage -## Alternatively, this file may be used under the terms of the GNU Lesser -## General Public License version 3 as published by the Free Software -## Foundation and appearing in the file LICENSE.LGPL3 included in the -## packaging of this file. Please review the following information to -## ensure the GNU Lesser General Public License version 3 requirements -## will be met: https://www.gnu.org/licenses/lgpl-3.0.html. -## -## GNU General Public License Usage -## Alternatively, this file may be used under the terms of the GNU -## General Public License version 2.0 or (at your option) the GNU General -## Public license version 3 or any later version approved by the KDE Free -## Qt Foundation. The licenses are as published by the Free Software -## Foundation and appearing in the file LICENSE.GPL2 and LICENSE.GPL3 -## included in the packaging of this file. Please review the following -## information to ensure the GNU General Public License requirements will -## be met: https://www.gnu.org/licenses/gpl-2.0.html and -## https://www.gnu.org/licenses/gpl-3.0.html. -## -## $QT_END_LICENSE$ -## -############################################################################# - -set -ex - -# shellcheck source=../common/linux/android_linux.sh -source "${BASH_SOURCE%/*}/../common/linux/android_linux.sh" diff --git a/coin/provisioning/qtci-linux-CentOS-8.3-x86_64/40-install-cmake.sh b/coin/provisioning/qtci-linux-CentOS-8.3-x86_64/40-install-cmake.sh deleted file mode 100755 index 8a7033a2..00000000 --- a/coin/provisioning/qtci-linux-CentOS-8.3-x86_64/40-install-cmake.sh +++ /dev/null @@ -1,49 +0,0 @@ -#!/usr/bin/env bash - -############################################################################# -## -## Copyright (C) 2017 The Qt Company Ltd. -## Contact: https://www.qt.io/licensing/ -## -## This file is part of the provisioning scripts of the Qt Toolkit. -## -## $QT_BEGIN_LICENSE:LGPL$ -## Commercial License Usage -## Licensees holding valid commercial Qt licenses may use this file in -## accordance with the commercial license agreement provided with the -## Software or, alternatively, in accordance with the terms contained in -## a written agreement between you and The Qt Company. For licensing terms -## and conditions see https://www.qt.io/terms-conditions. For further -## information use the contact form at https://www.qt.io/contact-us. -## -## GNU Lesser General Public License Usage -## Alternatively, this file may be used under the terms of the GNU Lesser -## General Public License version 3 as published by the Free Software -## Foundation and appearing in the file LICENSE.LGPL3 included in the -## packaging of this file. Please review the following information to -## ensure the GNU Lesser General Public License version 3 requirements -## will be met: https://www.gnu.org/licenses/lgpl-3.0.html. -## -## GNU General Public License Usage -## Alternatively, this file may be used under the terms of the GNU -## General Public License version 2.0 or (at your option) the GNU General -## Public license version 3 or any later version approved by the KDE Free -## Qt Foundation. The licenses are as published by the Free Software -## Foundation and appearing in the file LICENSE.GPL2 and LICENSE.GPL3 -## included in the packaging of this file. Please review the following -## information to ensure the GNU General Public License requirements will -## be met: https://www.gnu.org/licenses/gpl-2.0.html and -## https://www.gnu.org/licenses/gpl-3.0.html. -## -## $QT_END_LICENSE$ -## -############################################################################# - -# This script installs CMake 3.6.2 - -set -ex - -# CMake is needed for autotests that verify that Qt can be built with CMake - -# shellcheck source=../common/linux/cmake_linux.sh -source "${BASH_SOURCE%/*}/../common/linux/cmake_linux.sh" diff --git a/coin/provisioning/qtci-linux-CentOS-8.3-x86_64/50-openssl_for_android_linux.sh b/coin/provisioning/qtci-linux-CentOS-8.3-x86_64/50-openssl_for_android_linux.sh deleted file mode 100755 index 05306ed1..00000000 --- a/coin/provisioning/qtci-linux-CentOS-8.3-x86_64/50-openssl_for_android_linux.sh +++ /dev/null @@ -1,44 +0,0 @@ -#!/usr/bin/env bash - -############################################################################# -## -## Copyright (C) 2021 The Qt Company Ltd. -## Contact: https://www.qt.io/licensing/ -## -## This file is part of the provisioning scripts of the Qt Toolkit. -## -## $QT_BEGIN_LICENSE:LGPL$ -## Commercial License Usage -## Licensees holding valid commercial Qt licenses may use this file in -## accordance with the commercial license agreement provided with the -## Software or, alternatively, in accordance with the terms contained in -## a written agreement between you and The Qt Company. For licensing terms -## and conditions see https://www.qt.io/terms-conditions. For further -## information use the contact form at https://www.qt.io/contact-us. -## -## GNU Lesser General Public License Usage -## Alternatively, this file may be used under the terms of the GNU Lesser -## General Public License version 3 as published by the Free Software -## Foundation and appearing in the file LICENSE.LGPL3 included in the -## packaging of this file. Please review the following information to -## ensure the GNU Lesser General Public License version 3 requirements -## will be met: https://www.gnu.org/licenses/lgpl-3.0.html. -## -## GNU General Public License Usage -## Alternatively, this file may be used under the terms of the GNU -## General Public License version 2.0 or (at your option) the GNU General -## Public license version 3 or any later version approved by the KDE Free -## Qt Foundation. The licenses are as published by the Free Software -## Foundation and appearing in the file LICENSE.GPL2 and LICENSE.GPL3 -## included in the packaging of this file. Please review the following -## information to ensure the GNU General Public License requirements will -## be met: https://www.gnu.org/licenses/gpl-2.0.html and -## https://www.gnu.org/licenses/gpl-3.0.html. -## -## $QT_END_LICENSE$ -## -############################################################################# -set -ex - -# shellcheck source=../common/unix/openssl_for_android.sh -source "${BASH_SOURCE%/*}/../common/unix/openssl_for_android.sh" diff --git a/coin/provisioning/qtci-linux-CentOS-8.3-x86_64/60-install_protobuff.sh b/coin/provisioning/qtci-linux-CentOS-8.3-x86_64/60-install_protobuff.sh deleted file mode 100755 index 2f55353a..00000000 --- a/coin/provisioning/qtci-linux-CentOS-8.3-x86_64/60-install_protobuff.sh +++ /dev/null @@ -1,46 +0,0 @@ -#!/usr/bin/env bash - -############################################################################# -## -## Copyright (C) 2018 The Qt Company Ltd. -## Contact: https://www.qt.io/licensing/ -## -## This file is part of the provisioning scripts of the Qt Toolkit. -## -## $QT_BEGIN_LICENSE:LGPL$ -## Commercial License Usage -## Licensees holding valid commercial Qt licenses may use this file in -## accordance with the commercial license agreement provided with the -## Software or, alternatively, in accordance with the terms contained in -## a written agreement between you and The Qt Company. For licensing terms -## and conditions see https://www.qt.io/terms-conditions. For further -## information use the contact form at https://www.qt.io/contact-us. -## -## GNU Lesser General Public License Usage -## Alternatively, this file may be used under the terms of the GNU Lesser -## General Public License version 3 as published by the Free Software -## Foundation and appearing in the file LICENSE.LGPL3 included in the -## packaging of this file. Please review the following information to -## ensure the GNU Lesser General Public License version 3 requirements -## will be met: https://www.gnu.org/licenses/lgpl-3.0.html. -## -## GNU General Public License Usage -## Alternatively, this file may be used under the terms of the GNU -## General Public License version 2.0 or (at your option) the GNU General -## Public license version 3 or any later version approved by the KDE Free -## Qt Foundation. The licenses are as published by the Free Software -## Foundation and appearing in the file LICENSE.GPL2 and LICENSE.GPL3 -## included in the packaging of this file. Please review the following -## information to ensure the GNU General Public License requirements will -## be met: https://www.gnu.org/licenses/gpl-2.0.html and -## https://www.gnu.org/licenses/gpl-3.0.html. -## -## $QT_END_LICENSE$ -## -############################################################################# - -set -ex - -# shellcheck source=../common/unix/install_protobuff.sh -source "${BASH_SOURCE%/*}/../common/unix/install_protobuff.sh" - diff --git a/coin/provisioning/qtci-linux-CentOS-8.3-x86_64/70-install_QemuGA.sh b/coin/provisioning/qtci-linux-CentOS-8.3-x86_64/70-install_QemuGA.sh deleted file mode 100755 index a5c865a1..00000000 --- a/coin/provisioning/qtci-linux-CentOS-8.3-x86_64/70-install_QemuGA.sh +++ /dev/null @@ -1,47 +0,0 @@ -#!/usr/bin/env bash - -############################################################################# -## -## Copyright (C) 2020 The Qt Company Ltd. -## Contact: https://www.qt.io/licensing/ -## -## This file is part of the provisioning scripts of the Qt Toolkit. -## -## $QT_BEGIN_LICENSE:LGPL$ -## Commercial License Usage -## Licensees holding valid commercial Qt licenses may use this file in -## accordance with the commercial license agreement provided with the -## Software or, alternatively, in accordance with the terms contained in -## a written agreement between you and The Qt Company. For licensing terms -## and conditions see https://www.qt.io/terms-conditions. For further -## information use the contact form at https://www.qt.io/contact-us. -## -## GNU Lesser General Public License Usage -## Alternatively, this file may be used under the terms of the GNU Lesser -## General Public License version 3 as published by the Free Software -## Foundation and appearing in the file LICENSE.LGPL3 included in the -## packaging of this file. Please review the following information to -## ensure the GNU Lesser General Public License version 3 requirements -## will be met: https://www.gnu.org/licenses/lgpl-3.0.html. -## -## GNU General Public License Usage -## Alternatively, this file may be used under the terms of the GNU -## General Public License version 2.0 or (at your option) the GNU General -## Public license version 3 or any later version approved by the KDE Free -## Qt Foundation. The licenses are as published by the Free Software -## Foundation and appearing in the file LICENSE.GPL2 and LICENSE.GPL3 -## included in the packaging of this file. Please review the following -## information to ensure the GNU General Public License requirements will -## be met: https://www.gnu.org/licenses/gpl-2.0.html and -## https://www.gnu.org/licenses/gpl-3.0.html. -## -## $QT_END_LICENSE$ -## -############################################################################# - -# This script installs QEMU Guest Agent - -set -ex - -sudo yum -y install qemu-guest-agent -sudo systemctl start qemu-guest-agent diff --git a/coin/provisioning/qtci-linux-CentOS-8.3-x86_64/70-install_dwz.sh b/coin/provisioning/qtci-linux-CentOS-8.3-x86_64/70-install_dwz.sh deleted file mode 100755 index 947e7bde..00000000 --- a/coin/provisioning/qtci-linux-CentOS-8.3-x86_64/70-install_dwz.sh +++ /dev/null @@ -1,48 +0,0 @@ -#!/usr/bin/env bash - -############################################################################# -## -## Copyright (C) 2020 Konstantin Tokarev <annulen@yandex.ru> -## Contact: https://www.qt.io/licensing/ -## -## This file is part of the provisioning scripts of the Qt Toolkit. -## -## $QT_BEGIN_LICENSE:LGPL$ -## Commercial License Usage -## Licensees holding valid commercial Qt licenses may use this file in -## accordance with the commercial license agreement provided with the -## Software or, alternatively, in accordance with the terms contained in -## a written agreement between you and The Qt Company. For licensing terms -## and conditions see https://www.qt.io/terms-conditions. For further -## information use the contact form at https://www.qt.io/contact-us. -## -## GNU Lesser General Public License Usage -## Alternatively, this file may be used under the terms of the GNU Lesser -## General Public License version 3 as published by the Free Software -## Foundation and appearing in the file LICENSE.LGPL3 included in the -## packaging of this file. Please review the following information to -## ensure the GNU Lesser General Public License version 3 requirements -## will be met: https://www.gnu.org/licenses/lgpl-3.0.html. -## -## GNU General Public License Usage -## Alternatively, this file may be used under the terms of the GNU -## General Public License version 2.0 or (at your option) the GNU General -## Public license version 3 or any later version approved by the KDE Free -## Qt Foundation. The licenses are as published by the Free Software -## Foundation and appearing in the file LICENSE.GPL2 and LICENSE.GPL3 -## included in the packaging of this file. Please review the following -## information to ensure the GNU General Public License requirements will -## be met: https://www.gnu.org/licenses/gpl-2.0.html and -## https://www.gnu.org/licenses/gpl-3.0.html. -## -## $QT_END_LICENSE$ -## -############################################################################# - -set -ex - -sudo yum -y install elfutils-libelf-devel - -# shellcheck source=../common/linux/install_dwz.sh -source "${BASH_SOURCE%/*}/../common/linux/install_dwz.sh" - diff --git a/coin/provisioning/qtci-linux-CentOS-8.3-x86_64/90-mimer.sh b/coin/provisioning/qtci-linux-CentOS-8.3-x86_64/90-mimer.sh new file mode 100755 index 00000000..bff2a7c7 --- /dev/null +++ b/coin/provisioning/qtci-linux-CentOS-8.3-x86_64/90-mimer.sh @@ -0,0 +1,8 @@ +#!/usr/bin/env bash +# Copyright (C) 2022 The Qt Company Ltd. +# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only + +set -ex + +BASEDIR=$(dirname "$0") +"$BASEDIR/../common/linux/mimersql.sh" "openssl-1" "rpm" diff --git a/coin/provisioning/qtci-linux-CentOS-8.3-x86_64/99-version.sh b/coin/provisioning/qtci-linux-CentOS-8.3-x86_64/99-version.sh deleted file mode 100755 index 87825b16..00000000 --- a/coin/provisioning/qtci-linux-CentOS-8.3-x86_64/99-version.sh +++ /dev/null @@ -1,54 +0,0 @@ -#!/usr/bin/env bash - -############################################################################# -## -## Copyright (C) 2018 The Qt Company Ltd. -## Contact: https://www.qt.io/licensing/ -## -## This file is part of the provisioning scripts of the Qt Toolkit. -## -## $QT_BEGIN_LICENSE:LGPL$ -## Commercial License Usage -## Licensees holding valid commercial Qt licenses may use this file in -## accordance with the commercial license agreement provided with the -## Software or, alternatively, in accordance with the terms contained in -## a written agreement between you and The Qt Company. For licensing terms -## and conditions see https://www.qt.io/terms-conditions. For further -## information use the contact form at https://www.qt.io/contact-us. -## -## GNU Lesser General Public License Usage -## Alternatively, this file may be used under the terms of the GNU Lesser -## General Public License version 3 as published by the Free Software -## Foundation and appearing in the file LICENSE.LGPL3 included in the -## packaging of this file. Please review the following information to -## ensure the GNU Lesser General Public License version 3 requirements -## will be met: https://www.gnu.org/licenses/lgpl-3.0.html. -## -## GNU General Public License Usage -## Alternatively, this file may be used under the terms of the GNU -## General Public License version 2.0 or (at your option) the GNU General -## Public license version 3 or any later version approved by the KDE Free -## Qt Foundation. The licenses are as published by the Free Software -## Foundation and appearing in the file LICENSE.GPL2 and LICENSE.GPL3 -## included in the packaging of this file. Please review the following -## information to ensure the GNU General Public License requirements will -## be met: https://www.gnu.org/licenses/gpl-2.0.html and -## https://www.gnu.org/licenses/gpl-3.0.html. -## -## $QT_END_LICENSE$ -## -############################################################################# - -# This script needs to be called last during provisioning so that the software information will show up last in provision log. - -# Storage installed RPM packages information - -set -ex - -# shellcheck disable=SC2129 -echo "*********************************************" >> ~/versions.txt -echo "***** All installed RPM packages *****" >> ~/versions.txt -rpm -q -a | sort >> ~/versions.txt -echo "*********************************************" >> ~/versions.txt - -"$(dirname "$0")/../common/linux/version.sh" diff --git a/coin/provisioning/qtci-linux-Debian-11.6-aarch64/01-disable_auto_suspend.sh b/coin/provisioning/qtci-linux-Debian-11.6-aarch64/01-disable_auto_suspend.sh new file mode 100755 index 00000000..8ad69bfa --- /dev/null +++ b/coin/provisioning/qtci-linux-Debian-11.6-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-Debian-11.6-aarch64/01-systemsetup.sh b/coin/provisioning/qtci-linux-Debian-11.6-aarch64/01-systemsetup.sh new file mode 100755 index 00000000..98744822 --- /dev/null +++ b/coin/provisioning/qtci-linux-Debian-11.6-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-Debian-11.6-aarch64/02-apt.sh b/coin/provisioning/qtci-linux-Debian-11.6-aarch64/02-apt.sh new file mode 100755 index 00000000..2ce4aef9 --- /dev/null +++ b/coin/provisioning/qtci-linux-Debian-11.6-aarch64/02-apt.sh @@ -0,0 +1,263 @@ +#!/usr/bin/env bash +# Copyright (C) 2021 The Qt Company Ltd. +# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only + +# 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 tee "/etc/apt/apt.conf.d/20auto-upgrades" > /dev/null <<-EOC + APT::Periodic::Update-Package-Lists "0"; + APT::Periodic::Unattended-Upgrade "1"; +EOC + +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 + + +echo "Using public repositories for now. Repo-clones isn't set yet for Debian use" +# (ping -c 3 repo-clones.ci.qt.io && set_internal_repo) || echo "Internal package repository not found. Using public repositories." +echo "deb http://deb.debian.org/debian bullseye-backports main" | sudo tee -a /etc/apt/sources.list +echo "deb-src http://deb.debian.org/debian bullseye-backports main" | sudo tee -a /etc/apt/sources.list + +# Make sure needed ca-certificates are available +installPackages+=(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+=(libegl1-mesa-dev) +installPackages+=(libfontconfig1-dev) +installPackages+=(libgbm-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) +# 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-bad1.0-dev) +installPackages+=(gstreamer1.0-libav) +installPackages+=(gstreamer1.0-plugins-base) +installPackages+=(gstreamer1.0-plugins-good) +installPackages+=(gstreamer1.0-plugins-bad) +installPackages+=(gstreamer1.0-plugins-rtp) +installPackages+=(gstreamer1.0-plugins-ugly) +installPackages+=(libgstreamer-gl1.0-0) +installPackages+=(gir1.2-gst-plugins-base-1.0) +installPackages+=(gir1.2-gst-plugins-bad-1.0) + +## Support for cross-building to x86 (needed by WebEngine boot2qt builds) +#installPackages+=(g++-multilib) +## python3 development package +installPackages+=(python3-dev) +installPackages+=(python3-pip) +installPackages+=(python3-venv) +installPackages+=(virtualenv) +## Automates interactive applications (Needed by RTA to automate configure testing) +installPackages+=(expect) +installPackages+=(mesa-common-dev) +installPackages+=(libgl1-mesa-glx) +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-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) +installPackages+=(dkms) +# Needed for qtspeech +installPackages+=(libspeechd-dev) +#Pypdf for PDF reading in RTA tests +installPackages+=(python3-pypdf2) +# Needed for b2qt +installPackages+=(git-lfs) +installPackages+=(chrpath) +installPackages+=(gawk) +installPackages+=(texinfo) +# Needed for Poppler test in QtWebEngine +installPackages+=(libpoppler-cpp-dev) +# Needed for QtCore +installPackages+=(libdouble-conversion-dev) +installPackages+=(libpcre2-dev) +# Needed for 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) +# 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 building debian packages +installPackages+=(sbuild) +installPackages+=(ubuntu-dev-tools) +installPackages+=(apt-cacher-ng) +installPackages+=(devscripts) +installPackages+=(piuparts) +installPackages+=(ubuntu-dev-tools) +installPackages+=(libcurl4-openssl-dev) +installPackages+=(libexpat1-dev) +installPackages+=(libjsoncpp-dev) +installPackages+=(zlib1g-dev) +installPackages+=(libarchive-dev) +installPackages+=(libncurses5-dev) +installPackages+=(librhash-dev) +installPackages+=(libuv1-dev) +installPackages+=(python3-sphinx:native) +installPackages+=(dh-elpa) +installPackages+=(dh-sequence-sphinxdoc) +installPackages+=(debhelper-compat) +installPackages+=(default-libmysqlclient-dev) +installPackages+=(dh-exec) +installPackages+=(libcups2-dev) +installPackages+=(libdbus-1-dev) +installPackages+=(libegl-dev) +installPackages+=(libfontconfig-dev) +installPackages+=(libfreetype-dev) +installPackages+=(libgl-dev) +installPackages+=(libglib2.0-dev) +installPackages+=(libglx-dev) +installPackages+=(libgss-dev) +installPackages+=(libgtk-3-dev) +installPackages+=(libicu-dev) +installPackages+=(libpq-dev) +installPackages+=(libsqlite3-dev) +installPackages+=(libssl-dev) +installPackages+=(libvulkan-dev) +installPackages+=(libx11-dev) +installPackages+=(libx11-xcb-dev) +installPackages+=(libxcb-glx0-dev) +installPackages+=(libxcb-icccm4-dev) +installPackages+=(libxcb-image0-dev) +installPackages+=(libxcb-keysyms1-dev) +installPackages+=(libxcb-randr0-dev) +installPackages+=(libxcb-render-util0-dev) +installPackages+=(libxcb-render0-dev) +installPackages+=(libxcb-shape0-dev) +installPackages+=(libxcb-shm0-dev) +installPackages+=(libxcb-sync-dev) +installPackages+=(libxcb-util-dev) +installPackages+=(libxcb-xfixes0-dev) +installPackages+=(libxcb-xinerama0-dev) +installPackages+=(libxcb-xinput-dev) +installPackages+=(libxcb-xkb-dev) +installPackages+=(libxcb1-dev) +installPackages+=(libxext-dev) +installPackages+=(libxfixes-dev) +installPackages+=(libxi-dev) +installPackages+=(libxkbcommon-dev) +installPackages+=(libxkbcommon-x11-dev) +installPackages+=(libxrender-dev) +installPackages+=(ninja-build) +installPackages+=(pkg-config) +installPackages+=(pkg-kde-tools) +installPackages+=(unixodbc-dev) +installPackages+=(zlib1g-dev) +installPackages+=(libusb-1.0-0-dev) + + +echo "Running update for apt" +waitLoop +sudo apt-get update +echo "Installing packages" +waitLoop +sudo DEBIAN_FRONTEND=noninteractive apt-get -q -y install "${installPackages[@]}" +sudo DEBIAN_FRONTEND=noninteractive apt-get -q -y install cmake apt-cacher-ng -t bullseye-backports + +# Disable keyring password prompt +keyring --disable + +# 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-Debian-11.6-aarch64/02-disable-notifications.sh b/coin/provisioning/qtci-linux-Debian-11.6-aarch64/02-disable-notifications.sh new file mode 100755 index 00000000..1b9ed6c9 --- /dev/null +++ b/coin/provisioning/qtci-linux-Debian-11.6-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-Debian-11.6-aarch64/02-disable-ntp.sh b/coin/provisioning/qtci-linux-Debian-11.6-aarch64/02-disable-ntp.sh new file mode 100755 index 00000000..1995aa14 --- /dev/null +++ b/coin/provisioning/qtci-linux-Debian-11.6-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-Debian-11.6-aarch64/02-remove-apport.sh b/coin/provisioning/qtci-linux-Debian-11.6-aarch64/02-remove-apport.sh new file mode 100755 index 00000000..879f3ffb --- /dev/null +++ b/coin/provisioning/qtci-linux-Debian-11.6-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-Debian-11.6-aarch64/02-remove-update_notifier.sh b/coin/provisioning/qtci-linux-Debian-11.6-aarch64/02-remove-update_notifier.sh new file mode 100755 index 00000000..f4a5119f --- /dev/null +++ b/coin/provisioning/qtci-linux-Debian-11.6-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-Debian-11.6-aarch64/03-install-nodejs.sh b/coin/provisioning/qtci-linux-Debian-11.6-aarch64/03-install-nodejs.sh new file mode 100755 index 00000000..07121a36 --- /dev/null +++ b/coin/provisioning/qtci-linux-Debian-11.6-aarch64/03-install-nodejs.sh @@ -0,0 +1,6 @@ +#!/usr/bin/env bash +# Copyright (C) 2023 The Qt Company Ltd. +# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only + +# shellcheck source=../common/linux/install-nodejs.sh +source "${BASH_SOURCE%/*}/../common/linux/install-nodejs.sh" diff --git a/coin/provisioning/qtci-linux-Debian-11.6-aarch64/04-libclang.sh b/coin/provisioning/qtci-linux-Debian-11.6-aarch64/04-libclang.sh new file mode 100755 index 00000000..fac8d4e7 --- /dev/null +++ b/coin/provisioning/qtci-linux-Debian-11.6-aarch64/04-libclang.sh @@ -0,0 +1,6 @@ +#!/usr/bin/env bash +#Copyright (C) 2023 The Qt Company Ltd +#SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only + +BASEDIR=$(dirname "$0") +"$BASEDIR/../common/unix/libclang.sh" diff --git a/coin/provisioning/qtci-linux-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/30-install_icu.sh b/coin/provisioning/qtci-linux-Debian-11.6-aarch64/30-install_icu.sh new file mode 100755 index 00000000..9343eae0 --- /dev/null +++ b/coin/provisioning/qtci-linux-Debian-11.6-aarch64/30-install_icu.sh @@ -0,0 +1,35 @@ +#!/usr/bin/env bash +# Copyright (C) 2023 The Qt Company Ltd. +# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only + +# shellcheck source=../common/unix/DownloadURL.sh +source "${BASH_SOURCE%/*}/../common/unix/DownloadURL.sh" + +set -ex + +# This script will install ICU + +icuVersion="73.2" +icuLocationLib="/usr/local" +sha1="84b4acc6062a75d795e272d222cc682cd2f33cdd" + +sha1Dev="94c27ce0c7cbd310e7746d08f54bb7318e297c31" +develPackageURL="http://ci-files01-hki.ci.qt.io/input/icu/$icuVersion/icu-linux-g++-Debian11.6-aarch64-devel.7z" +develPackageExternalURL="http://master.qt.io/development_releases/prebuilt/icu/prebuilt/$icuVersion/icu-linux-g++-Debian11.6-aarch64-devel.7z" + +echo "Installing custom ICU $icuVersion $sha1 packages on Debian to $icuLocationLib" + +tempDir=$(mktemp -d) + +targetFile=$(mktemp) +DownloadURL "$develPackageURL" "$develPackageExternalURL" "$sha1Dev" "$targetFile" +7z x -y -o"$tempDir" "$targetFile" + +sudo cp -a "$tempDir"/* "$icuLocationLib" + +sudo rm "$targetFile" +sudo rm -fr "$tempDir" + +sudo /sbin/ldconfig + +echo "ICU = $icuVersion" >> ~/versions.txt diff --git a/coin/provisioning/qtci-linux-Debian-11.6-aarch64/60-install_protobuf.sh b/coin/provisioning/qtci-linux-Debian-11.6-aarch64/60-install_protobuf.sh new file mode 100644 index 00000000..e5236960 --- /dev/null +++ b/coin/provisioning/qtci-linux-Debian-11.6-aarch64/60-install_protobuf.sh @@ -0,0 +1,5 @@ +#!/usr/bin/env bash +# Copyright (C) 2024 The Qt Company Ltd. +# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only + +sudo DEBIAN_FRONTEND=noninteractive apt -q -y install libprotobuf-dev libgrpc-dev libprotoc-dev protobuf-compiler 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 new file mode 100755 index 00000000..8991bcca --- /dev/null +++ b/coin/provisioning/qtci-linux-Debian-11.6-aarch64/92-sbuild.sh @@ -0,0 +1,64 @@ +#!/usr/bin/env bash +# Copyright (C) 2021 The Qt Company Ltd. +# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only + +set -ex + +# Setups sbuild environment + +tee ~/.sbuildrc << EOF +############################################################################## +# PACKAGE BUILD RELATED (additionally produce _source.changes) +############################################################################## +# -d +\$distribution = 'stable'; +# -A +\$build_arch_all = 1; +# -s +\$build_source = 1; +# -v +\$verbose = 1; +# parallel build +\$ENV{'DEB_BUILD_OPTIONS'} = 'parallel=8'; +############################################################################## +# POST-BUILD RELATED (turn off functionality by setting variables to 0) +############################################################################## +\$run_lintian = 1; +\$lintian_opts = ['-i', '-I']; +\$run_piuparts = 0; +\$piuparts_opts = ['--schroot', 'stable-arm64-sbuild', '--no-eatmydata']; +\$run_autopkgtest = 0; +\$autopkgtest_root_args = ''; +\$autopkgtest_opts = [ '--', 'schroot', '%r-%a-sbuild' ]; + +############################################################################## +# PERL MAGIC +############################################################################## +1; +EOF + +# Add user group +sudo sbuild-adduser "$LOGNAME" +newgrp sbuild + +# Create chroot for debian stable +sudo sbuild-createchroot --include=eatmydata,ccache,gnupg,ca-certificates stable /srv/chroot/stable-arm64 + +echo "Create chroot for Ubuntu Jammy" +# First we need update the deboostrap scripts +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 +tar xzvf debootstrap_1.0.134~bpo12+1.tar.gz +cd debootstrap +sudo make install +cd +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" + +# Update chroot. +sudo sbuild-update -udcar stable +sudo sbuild-update -udcar jammy diff --git a/coin/provisioning/qtci-linux-Debian-11.6-aarch64/93-download-files-for-sbuild.sh b/coin/provisioning/qtci-linux-Debian-11.6-aarch64/93-download-files-for-sbuild.sh new file mode 100755 index 00000000..b31a86f2 --- /dev/null +++ b/coin/provisioning/qtci-linux-Debian-11.6-aarch64/93-download-files-for-sbuild.sh @@ -0,0 +1,21 @@ +#!/usr/bin/env bash +# Copyright (C) 2023 The Qt Company Ltd. +# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only + +# Get required deb files for sbuild to build qt debian packages for Ubuntu focal +mkdir -p /home/qt/debian_packages +cd /home/qt/debian_packages || exit +# Backported cmake 3.24 +wget https://ci-files01-hki.intra.qt.io/input/debian/cmake/arm64-jammy/cmake-3.24-deb.tar.gz +tar xzf cmake-3.24-deb.tar.gz +# get rest of ready made Ubuntu arm debian packages +# so that sbuild can find those + +wget http://ci-files01-hki.ci.qt.io/input/debian/icu/arm64-jammy/libicu-56.1-qt_56.1-1_arm64.deb +wget http://ci-files01-hki.ci.qt.io/input/debian/icu/arm64-jammy/libicu-56.1-qt-dev_56.1-1_arm64.deb + + + + + + diff --git a/coin/provisioning/qtci-linux-Debian-11.6-aarch64/99-enable_test_stacktraces.sh b/coin/provisioning/qtci-linux-Debian-11.6-aarch64/99-enable_test_stacktraces.sh new file mode 100755 index 00000000..600b7850 --- /dev/null +++ b/coin/provisioning/qtci-linux-Debian-11.6-aarch64/99-enable_test_stacktraces.sh @@ -0,0 +1,8 @@ +#!/usr/bin/env bash +#Copyright (C) 2023 The Qt Company Ltd +#SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only + +set -ex + +BASEDIR=$(dirname "$0") +"$BASEDIR"/../common/linux/enable_test_stacktraces.sh diff --git a/coin/provisioning/qtci-linux-RHEL-8.2-x86_64/01-disable-automounting.sh b/coin/provisioning/qtci-linux-RHEL-8.2-x86_64/01-disable-automounting.sh index 496aec53..aeac4768 100755 --- a/coin/provisioning/qtci-linux-RHEL-8.2-x86_64/01-disable-automounting.sh +++ b/coin/provisioning/qtci-linux-RHEL-8.2-x86_64/01-disable-automounting.sh @@ -1,43 +1,6 @@ #!/usr/bin/env bash - -############################################################################# -## -## Copyright (C) 2021 The Qt Company Ltd. -## Contact: https://www.qt.io/licensing/ -## -## This file is part of the provisioning scripts of the Qt Toolkit. -## -## $QT_BEGIN_LICENSE:LGPL$ -## Commercial License Usage -## Licensees holding valid commercial Qt licenses may use this file in -## accordance with the commercial license agreement provided with the -## Software or, alternatively, in accordance with the terms contained in -## a written agreement between you and The Qt Company. For licensing terms -## and conditions see https://www.qt.io/terms-conditions. For further -## information use the contact form at https://www.qt.io/contact-us. -## -## GNU Lesser General Public License Usage -## Alternatively, this file may be used under the terms of the GNU Lesser -## General Public License version 3 as published by the Free Software -## Foundation and appearing in the file LICENSE.LGPL3 included in the -## packaging of this file. Please review the following information to -## ensure the GNU Lesser General Public License version 3 requirements -## will be met: https://www.gnu.org/licenses/lgpl-3.0.html. -## -## GNU General Public License Usage -## Alternatively, this file may be used under the terms of the GNU -## General Public License version 2.0 or (at your option) the GNU General -## Public license version 3 or any later version approved by the KDE Free -## Qt Foundation. The licenses are as published by the Free Software -## Foundation and appearing in the file LICENSE.GPL2 and LICENSE.GPL3 -## included in the packaging of this file. Please review the following -## information to ensure the GNU General Public License requirements will -## be met: https://www.gnu.org/licenses/gpl-2.0.html and -## https://www.gnu.org/licenses/gpl-3.0.html. -## -## $QT_END_LICENSE$ -## -############################################################################# +# 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 diff --git a/coin/provisioning/qtci-linux-RHEL-8.2-x86_64/01-refresh-subscription-manager.sh b/coin/provisioning/qtci-linux-RHEL-8.2-x86_64/01-refresh-subscription-manager.sh index 7afbfbde..88f675df 100755 --- a/coin/provisioning/qtci-linux-RHEL-8.2-x86_64/01-refresh-subscription-manager.sh +++ b/coin/provisioning/qtci-linux-RHEL-8.2-x86_64/01-refresh-subscription-manager.sh @@ -1,47 +1,10 @@ #!/usr/bin/env bash - -############################################################################# -## -## Copyright (C) 2020 The Qt Company Ltd. -## Contact: https://www.qt.io/licensing/ -## -## This file is part of the provisioning scripts of the Qt Toolkit. -## -## $QT_BEGIN_LICENSE:LGPL$ -## Commercial License Usage -## Licensees holding valid commercial Qt licenses may use this file in -## accordance with the commercial license agreement provided with the -## Software or, alternatively, in accordance with the terms contained in -## a written agreement between you and The Qt Company. For licensing terms -## and conditions see https://www.qt.io/terms-conditions. For further -## information use the contact form at https://www.qt.io/contact-us. -## -## GNU Lesser General Public License Usage -## Alternatively, this file may be used under the terms of the GNU Lesser -## General Public License version 3 as published by the Free Software -## Foundation and appearing in the file LICENSE.LGPL3 included in the -## packaging of this file. Please review the following information to -## ensure the GNU Lesser General Public License version 3 requirements -## will be met: https://www.gnu.org/licenses/lgpl-3.0.html. -## -## GNU General Public License Usage -## Alternatively, this file may be used under the terms of the GNU -## General Public License version 2.0 or (at your option) the GNU General -## Public license version 3 or any later version approved by the KDE Free -## Qt Foundation. The licenses are as published by the Free Software -## Foundation and appearing in the file LICENSE.GPL2 and LICENSE.GPL3 -## included in the packaging of this file. Please review the following -## information to ensure the GNU General Public License requirements will -## be met: https://www.gnu.org/licenses/gpl-2.0.html and -## https://www.gnu.org/licenses/gpl-3.0.html. -## -## $QT_END_LICENSE$ -## -############################################################################# +# 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 set -e -curl --retry 5 --retry-delay 10 --retry-max-time 60 http://ci-files01-hki.intra.qt.io/input/semisecure/redhat_ak.sh -o "/tmp/redhat_ak.sh" &>/dev/null +curl --retry 5 --retry-delay 10 --retry-max-time 60 http://ci-files01-hki.ci.qt.io/input/semisecure/redhat_ak.sh -o "/tmp/redhat_ak.sh" &>/dev/null sudo chmod 755 /tmp/redhat_ak.sh /tmp/redhat_ak.sh diff --git a/coin/provisioning/qtci-linux-RHEL-8.2-x86_64/01-remove_network_manager_secret_key.sh b/coin/provisioning/qtci-linux-RHEL-8.2-x86_64/01-remove_network_manager_secret_key.sh index 5ed44f2d..7f9790ae 100755 --- a/coin/provisioning/qtci-linux-RHEL-8.2-x86_64/01-remove_network_manager_secret_key.sh +++ b/coin/provisioning/qtci-linux-RHEL-8.2-x86_64/01-remove_network_manager_secret_key.sh @@ -1,4 +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 # Ipv6 link local becomes tentative and dadfailed if two systems has the same secret_key # New unique secret key will be created automatically during start up. diff --git a/coin/provisioning/qtci-linux-RHEL-8.2-x86_64/01-remove_stable-privacy.sh b/coin/provisioning/qtci-linux-RHEL-8.2-x86_64/01-remove_stable-privacy.sh index 4d0cb666..969b47f0 100755 --- a/coin/provisioning/qtci-linux-RHEL-8.2-x86_64/01-remove_stable-privacy.sh +++ b/coin/provisioning/qtci-linux-RHEL-8.2-x86_64/01-remove_stable-privacy.sh @@ -1,43 +1,6 @@ #!/usr/bin/env bash - -############################################################################# -## -## Copyright (C) 2020 The Qt Company Ltd. -## Contact: https://www.qt.io/licensing/ -## -## This file is part of the provisioning scripts of the Qt Toolkit. -## -## $QT_BEGIN_LICENSE:LGPL$ -## Commercial License Usage -## Licensees holding valid commercial Qt licenses may use this file in -## accordance with the commercial license agreement provided with the -## Software or, alternatively, in accordance with the terms contained in -## a written agreement between you and The Qt Company. For licensing terms -## and conditions see https://www.qt.io/terms-conditions. For further -## information use the contact form at https://www.qt.io/contact-us. -## -## GNU Lesser General Public License Usage -## Alternatively, this file may be used under the terms of the GNU Lesser -## General Public License version 3 as published by the Free Software -## Foundation and appearing in the file LICENSE.LGPL3 included in the -## packaging of this file. Please review the following information to -## ensure the GNU Lesser General Public License version 3 requirements -## will be met: https://www.gnu.org/licenses/lgpl-3.0.html. -## -## GNU General Public License Usage -## Alternatively, this file may be used under the terms of the GNU -## General Public License version 2.0 or (at your option) the GNU General -## Public license version 3 or any later version approved by the KDE Free -## Qt Foundation. The licenses are as published by the Free Software -## Foundation and appearing in the file LICENSE.GPL2 and LICENSE.GPL3 -## included in the packaging of this file. Please review the following -## information to ensure the GNU General Public License requirements will -## be met: https://www.gnu.org/licenses/gpl-2.0.html and -## https://www.gnu.org/licenses/gpl-3.0.html. -## -## $QT_END_LICENSE$ -## -############################################################################# +# 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 set -ex echo "Change default stable-secret to based on MAC" diff --git a/coin/provisioning/qtci-linux-RHEL-8.2-x86_64/01-set-ulimit.sh b/coin/provisioning/qtci-linux-RHEL-8.2-x86_64/01-set-ulimit.sh index dadc0781..e951e82a 100755 --- a/coin/provisioning/qtci-linux-RHEL-8.2-x86_64/01-set-ulimit.sh +++ b/coin/provisioning/qtci-linux-RHEL-8.2-x86_64/01-set-ulimit.sh @@ -1,4 +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 set -ex diff --git a/coin/provisioning/qtci-linux-RHEL-8.2-x86_64/01-systemsetup.sh b/coin/provisioning/qtci-linux-RHEL-8.2-x86_64/01-systemsetup.sh index 07e1bc82..434c0651 100755 --- a/coin/provisioning/qtci-linux-RHEL-8.2-x86_64/01-systemsetup.sh +++ b/coin/provisioning/qtci-linux-RHEL-8.2-x86_64/01-systemsetup.sh @@ -1,43 +1,6 @@ #!/usr/bin/env bash - -############################################################################# -## -## Copyright (C) 2021 The Qt Company Ltd. -## Contact: https://www.qt.io/licensing/ -## -## This file is part of the provisioning scripts of the Qt Toolkit. -## -## $QT_BEGIN_LICENSE:LGPL$ -## Commercial License Usage -## Licensees holding valid commercial Qt licenses may use this file in -## accordance with the commercial license agreement provided with the -## Software or, alternatively, in accordance with the terms contained in -## a written agreement between you and The Qt Company. For licensing terms -## and conditions see https://www.qt.io/terms-conditions. For further -## information use the contact form at https://www.qt.io/contact-us. -## -## GNU Lesser General Public License Usage -## Alternatively, this file may be used under the terms of the GNU Lesser -## General Public License version 3 as published by the Free Software -## Foundation and appearing in the file LICENSE.LGPL3 included in the -## packaging of this file. Please review the following information to -## ensure the GNU Lesser General Public License version 3 requirements -## will be met: https://www.gnu.org/licenses/lgpl-3.0.html. -## -## GNU General Public License Usage -## Alternatively, this file may be used under the terms of the GNU -## General Public License version 2.0 or (at your option) the GNU General -## Public license version 3 or any later version approved by the KDE Free -## Qt Foundation. The licenses are as published by the Free Software -## Foundation and appearing in the file LICENSE.GPL2 and LICENSE.GPL3 -## included in the packaging of this file. Please review the following -## information to ensure the GNU General Public License requirements will -## be met: https://www.gnu.org/licenses/gpl-2.0.html and -## https://www.gnu.org/licenses/gpl-3.0.html. -## -## $QT_END_LICENSE$ -## -############################################################################# +# 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 diff --git a/coin/provisioning/qtci-linux-RHEL-8.2-x86_64/03-enable-repos.sh b/coin/provisioning/qtci-linux-RHEL-8.2-x86_64/03-enable-repos.sh index b975e486..4f6c6d18 100755 --- a/coin/provisioning/qtci-linux-RHEL-8.2-x86_64/03-enable-repos.sh +++ b/coin/provisioning/qtci-linux-RHEL-8.2-x86_64/03-enable-repos.sh @@ -1,43 +1,6 @@ #!/usr/bin/env bash - -############################################################################# -## -## Copyright (C) 2021 The Qt Company Ltd. -## Contact: https://www.qt.io/licensing/ -## -## This file is part of the provisioning scripts of the Qt Toolkit. -## -## $QT_BEGIN_LICENSE:LGPL$ -## Commercial License Usage -## Licensees holding valid commercial Qt licenses may use this file in -## accordance with the commercial license agreement provided with the -## Software or, alternatively, in accordance with the terms contained in -## a written agreement between you and The Qt Company. For licensing terms -## and conditions see https://www.qt.io/terms-conditions. For further -## information use the contact form at https://www.qt.io/contact-us. -## -## GNU Lesser General Public License Usage -## Alternatively, this file may be used under the terms of the GNU Lesser -## General Public License version 3 as published by the Free Software -## Foundation and appearing in the file LICENSE.LGPL3 included in the -## packaging of this file. Please review the following information to -## ensure the GNU Lesser General Public License version 3 requirements -## will be met: https://www.gnu.org/licenses/lgpl-3.0.html. -## -## GNU General Public License Usage -## Alternatively, this file may be used under the terms of the GNU -## General Public License version 2.0 or (at your option) the GNU General -## Public license version 3 or any later version approved by the KDE Free -## Qt Foundation. The licenses are as published by the Free Software -## Foundation and appearing in the file LICENSE.GPL2 and LICENSE.GPL3 -## included in the packaging of this file. Please review the following -## information to ensure the GNU General Public License requirements will -## be met: https://www.gnu.org/licenses/gpl-2.0.html and -## https://www.gnu.org/licenses/gpl-3.0.html. -## -## $QT_END_LICENSE$ -## -############################################################################# +# 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 @@ -49,6 +12,11 @@ sudo yum -y remove PackageKit gnome-software sudo subscription-manager config --rhsm.manage_repos=1 sudo subscription-manager refresh +# List available RHEL versions and bind with correct one +sudo subscription-manager release --list +sudo subscription-manager release --set=8.2 +sudo yum clean all + # sudo yum config-manager --enable 'rhceph-4-tools-for-rhel-8-x86_64-rpms' sudo yum config-manager --enable 'codeready-builder-for-rhel-8-x86_64-rpms' sudo yum config-manager --enable 'rhel-8-for-x86_64-baseos-rpms' diff --git a/coin/provisioning/qtci-linux-RHEL-8.2-x86_64/03-install-gcc-toolset.sh b/coin/provisioning/qtci-linux-RHEL-8.2-x86_64/03-install-gcc-toolset.sh index 553ddfeb..f3af4f5b 100755 --- a/coin/provisioning/qtci-linux-RHEL-8.2-x86_64/03-install-gcc-toolset.sh +++ b/coin/provisioning/qtci-linux-RHEL-8.2-x86_64/03-install-gcc-toolset.sh @@ -1,43 +1,6 @@ #!/usr/bin/env bash - -############################################################################# -## -## Copyright (C) 2021 The Qt Company Ltd. -## Contact: https://www.qt.io/licensing/ -## -## This file is part of the provisioning scripts of the Qt Toolkit. -## -## $QT_BEGIN_LICENSE:LGPL$ -## Commercial License Usage -## Licensees holding valid commercial Qt licenses may use this file in -## accordance with the commercial license agreement provided with the -## Software or, alternatively, in accordance with the terms contained in -## a written agreement between you and The Qt Company. For licensing terms -## and conditions see https://www.qt.io/terms-conditions. For further -## information use the contact form at https://www.qt.io/contact-us. -## -## GNU Lesser General Public License Usage -## Alternatively, this file may be used under the terms of the GNU Lesser -## General Public License version 3 as published by the Free Software -## Foundation and appearing in the file LICENSE.LGPL3 included in the -## packaging of this file. Please review the following information to -## ensure the GNU Lesser General Public License version 3 requirements -## will be met: https://www.gnu.org/licenses/lgpl-3.0.html. -## -## GNU General Public License Usage -## Alternatively, this file may be used under the terms of the GNU -## General Public License version 2.0 or (at your option) the GNU General -## Public license version 3 or any later version approved by the KDE Free -## Qt Foundation. The licenses are as published by the Free Software -## Foundation and appearing in the file LICENSE.GPL2 and LICENSE.GPL3 -## included in the packaging of this file. Please review the following -## information to ensure the GNU General Public License requirements will -## be met: https://www.gnu.org/licenses/gpl-2.0.html and -## https://www.gnu.org/licenses/gpl-3.0.html. -## -## $QT_END_LICENSE$ -## -############################################################################# +# 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 diff --git a/coin/provisioning/qtci-linux-RHEL-8.2-x86_64/04-install-packages.sh b/coin/provisioning/qtci-linux-RHEL-8.2-x86_64/04-install-packages.sh index c1de5cf0..fda995ca 100755 --- a/coin/provisioning/qtci-linux-RHEL-8.2-x86_64/04-install-packages.sh +++ b/coin/provisioning/qtci-linux-RHEL-8.2-x86_64/04-install-packages.sh @@ -1,49 +1,15 @@ #!/usr/bin/env bash - -############################################################################# -## -## Copyright (C) 2021 The Qt Company Ltd. -## Contact: https://www.qt.io/licensing/ -## -## This file is part of the provisioning scripts of the Qt Toolkit. -## -## $QT_BEGIN_LICENSE:LGPL$ -## Commercial License Usage -## Licensees holding valid commercial Qt licenses may use this file in -## accordance with the commercial license agreement provided with the -## Software or, alternatively, in accordance with the terms contained in -## a written agreement between you and The Qt Company. For licensing terms -## and conditions see https://www.qt.io/terms-conditions. For further -## information use the contact form at https://www.qt.io/contact-us. -## -## GNU Lesser General Public License Usage -## Alternatively, this file may be used under the terms of the GNU Lesser -## General Public License version 3 as published by the Free Software -## Foundation and appearing in the file LICENSE.LGPL3 included in the -## packaging of this file. Please review the following information to -## ensure the GNU Lesser General Public License version 3 requirements -## will be met: https://www.gnu.org/licenses/lgpl-3.0.html. -## -## GNU General Public License Usage -## Alternatively, this file may be used under the terms of the GNU -## General Public License version 2.0 or (at your option) the GNU General -## Public license version 3 or any later version approved by the KDE Free -## Qt Foundation. The licenses are as published by the Free Software -## Foundation and appearing in the file LICENSE.GPL2 and LICENSE.GPL3 -## included in the packaging of this file. Please review the following -## information to ensure the GNU General Public License requirements will -## be met: https://www.gnu.org/licenses/gpl-2.0.html and -## https://www.gnu.org/licenses/gpl-3.0.html. -## -## $QT_END_LICENSE$ -## -############################################################################# +# 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 # Remove update notifications and packagekit running in the background sudo yum -y remove PackageKit gnome-software +# CI: All platforms should have up-to-date packages when new provision is made +sudo yum -y update + installPackages=() installPackages+=(git) installPackages+=(zlib-devel) @@ -51,6 +17,11 @@ installPackages+=(glib2-devel) installPackages+=(openssl-devel) installPackages+=(freetype-devel) installPackages+=(fontconfig-devel) +installPackages+=(curl-devel) +installPackages+=(expat-devel) +installPackages+=(gettext-devel) +installPackages+=(perl-devel) +installPackages+=(dh-autoreconf) # cmake build installPackages+=(ninja-build) installPackages+=(pcre2-devel) @@ -73,6 +44,9 @@ installPackages+=(dbus-devel) installPackages+=(gstreamer1-plugins-bad-free) installPackages+=(gstreamer1-devel) installPackages+=(gstreamer1-plugins-base-devel) +# for QtMultimedia, ffmpeg +installPackages+=(yasm) +installPackages+=(libva-devel) # gtk3 style for QtGui/QStyle installPackages+=(gtk3-devel) # libusb1 for tqtc-boot2qt/qdb @@ -81,9 +55,6 @@ installPackages+=(libusbx-devel) installPackages+=(speech-dispatcher-devel) # Python 2 devel and pip. python-pip requires the EPEL repository to be added installPackages+=(python2-devel python2-pip) -# Python 3 with python-devel, pip and virtualenv -installPackages+=(python36) -installPackages+=(python36-devel) # WebEngine installPackages+=(bison) installPackages+=(flex) @@ -126,6 +97,9 @@ installPackages+=(xcb-util-image-devel) installPackages+=(xcb-util-keysyms-devel) installPackages+=(xcb-util-wm-devel) installPackages+=(xcb-util-renderutil-devel) +installPackages+=(xcb-util-cursor) +installPackages+=(xcb-util-cursor-devel) + # ODBC support installPackages+=(unixODBC-devel) installPackages+=(unixODBC) @@ -157,16 +131,13 @@ sudo dnf -y module install nodejs:12 # We shouldn't use yum to install virtualenv. The one found from package repo is not # working, but we can use installed pip sudo pip3 install --upgrade pip +# Configure pip +sudo pip config --user set global.index https://ci-files01-hki.ci.qt.io/input/python_module_cache +sudo pip config --user set global.extra-index-url https://pypi.org/simple/ + sudo pip3 install virtualenv wheel sudo /usr/bin/pip3 install wheel -# Install all needed packages in a special wheel cache directory -/usr/bin/pip3 wheel --wheel-dir "$HOME/python3-wheels" -r "${BASH_SOURCE%/*}/../common/shared/requirements.txt" - -# shellcheck source=../common/unix/SetEnvVar.sh -source "${BASH_SOURCE%/*}/../common/unix/SetEnvVar.sh" -SetEnvVar "PYTHON3_WHEEL_CACHE" "$HOME/python3-wheels" OpenSSLVersion="$(openssl version |cut -b 9-14)" echo "OpenSSL = $OpenSSLVersion" >> ~/versions.txt - diff --git a/coin/provisioning/qtci-linux-RHEL-8.2-x86_64/04-p7zip.sh b/coin/provisioning/qtci-linux-RHEL-8.2-x86_64/04-p7zip.sh index 0c7a9930..9a7e899b 100755 --- a/coin/provisioning/qtci-linux-RHEL-8.2-x86_64/04-p7zip.sh +++ b/coin/provisioning/qtci-linux-RHEL-8.2-x86_64/04-p7zip.sh @@ -1,43 +1,6 @@ #!/usr/bin/env bash - -############################################################################# -## -## Copyright (C) 2021 The Qt Company Ltd. -## Contact: https://www.qt.io/licensing/ -## -## This file is part of the provisioning scripts of the Qt Toolkit. -## -## $QT_BEGIN_LICENSE:LGPL$ -## Commercial License Usage -## Licensees holding valid commercial Qt licenses may use this file in -## accordance with the commercial license agreement provided with the -## Software or, alternatively, in accordance with the terms contained in -## a written agreement between you and The Qt Company. For licensing terms -## and conditions see https://www.qt.io/terms-conditions. For further -## information use the contact form at https://www.qt.io/contact-us. -## -## GNU Lesser General Public License Usage -## Alternatively, this file may be used under the terms of the GNU Lesser -## General Public License version 3 as published by the Free Software -## Foundation and appearing in the file LICENSE.LGPL3 included in the -## packaging of this file. Please review the following information to -## ensure the GNU Lesser General Public License version 3 requirements -## will be met: https://www.gnu.org/licenses/lgpl-3.0.html. -## -## GNU General Public License Usage -## Alternatively, this file may be used under the terms of the GNU -## General Public License version 2.0 or (at your option) the GNU General -## Public license version 3 or any later version approved by the KDE Free -## Qt Foundation. The licenses are as published by the Free Software -## Foundation and appearing in the file LICENSE.GPL2 and LICENSE.GPL3 -## included in the packaging of this file. Please review the following -## information to ensure the GNU General Public License requirements will -## be met: https://www.gnu.org/licenses/gpl-2.0.html and -## https://www.gnu.org/licenses/gpl-3.0.html. -## -## $QT_END_LICENSE$ -## -############################################################################# +# 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 source "${BASH_SOURCE%/*}/../common/unix/DownloadURL.sh" set -ex diff --git a/coin/provisioning/qtci-linux-RHEL-8.2-x86_64/05-libclang-v100-dyn.sh b/coin/provisioning/qtci-linux-RHEL-8.2-x86_64/05-libclang-v100-dyn.sh index fbf34ddd..2e08049d 100755 --- a/coin/provisioning/qtci-linux-RHEL-8.2-x86_64/05-libclang-v100-dyn.sh +++ b/coin/provisioning/qtci-linux-RHEL-8.2-x86_64/05-libclang-v100-dyn.sh @@ -1,4 +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 set -ex BASEDIR=$(dirname "$0") diff --git a/coin/provisioning/qtci-linux-RHEL-8.2-x86_64/05-libclang.sh b/coin/provisioning/qtci-linux-RHEL-8.2-x86_64/05-libclang.sh index 7074cbc1..cc68ed1f 100755 --- a/coin/provisioning/qtci-linux-RHEL-8.2-x86_64/05-libclang.sh +++ b/coin/provisioning/qtci-linux-RHEL-8.2-x86_64/05-libclang.sh @@ -1,4 +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 set -ex BASEDIR=$(dirname "$0") diff --git a/coin/provisioning/qtci-linux-RHEL-8.2-x86_64/07-qnx_710.sh b/coin/provisioning/qtci-linux-RHEL-8.2-x86_64/07-qnx_710.sh deleted file mode 100755 index bd5f8d57..00000000 --- a/coin/provisioning/qtci-linux-RHEL-8.2-x86_64/07-qnx_710.sh +++ /dev/null @@ -1,45 +0,0 @@ -#!/usr/bin/env bash - -############################################################################# -## -## Copyright (C) 2021 The Qt Company Ltd. -## Contact: https://www.qt.io/licensing/ -## -## This file is part of the provisioning scripts of the Qt Toolkit. -## -## $QT_BEGIN_LICENSE:LGPL$ -## Commercial License Usage -## Licensees holding valid commercial Qt licenses may use this file in -## accordance with the commercial license agreement provided with the -## Software or, alternatively, in accordance with the terms contained in -## a written agreement between you and The Qt Company. For licensing terms -## and conditions see https://www.qt.io/terms-conditions. For further -## information use the contact form at https://www.qt.io/contact-us. -## -## GNU Lesser General Public License Usage -## Alternatively, this file may be used under the terms of the GNU Lesser -## General Public License version 3 as published by the Free Software -## Foundation and appearing in the file LICENSE.LGPL3 included in the -## packaging of this file. Please review the following information to -## ensure the GNU Lesser General Public License version 3 requirements -## will be met: https://www.gnu.org/licenses/lgpl-3.0.html. -## -## GNU General Public License Usage -## Alternatively, this file may be used under the terms of the GNU -## General Public License version 2.0 or (at your option) the GNU General -## Public license version 3 or any later version approved by the KDE Free -## Qt Foundation. The licenses are as published by the Free Software -## Foundation and appearing in the file LICENSE.GPL2 and LICENSE.GPL3 -## included in the packaging of this file. Please review the following -## information to ensure the GNU General Public License requirements will -## be met: https://www.gnu.org/licenses/gpl-2.0.html and -## https://www.gnu.org/licenses/gpl-3.0.html. -## -## $QT_END_LICENSE$ -## -############################################################################# - -set -ex - -# shellcheck source=../common/linux/qnx_700.sh -source "${BASH_SOURCE%/*}/../common/linux/qnx_710.sh" diff --git a/coin/provisioning/qtci-linux-RHEL-8.2-x86_64/09-disable_selinux.sh b/coin/provisioning/qtci-linux-RHEL-8.2-x86_64/09-disable_selinux.sh index 34747e07..1659419a 100755 --- a/coin/provisioning/qtci-linux-RHEL-8.2-x86_64/09-disable_selinux.sh +++ b/coin/provisioning/qtci-linux-RHEL-8.2-x86_64/09-disable_selinux.sh @@ -1,43 +1,6 @@ #!/usr/bin/env bash - -############################################################################# -## -## Copyright (C) 2017 The Qt Company Ltd. -## Contact: https://www.qt.io/licensing/ -## -## This file is part of the provisioning scripts of the Qt Toolkit. -## -## $QT_BEGIN_LICENSE:LGPL$ -## Commercial License Usage -## Licensees holding valid commercial Qt licenses may use this file in -## accordance with the commercial license agreement provided with the -## Software or, alternatively, in accordance with the terms contained in -## a written agreement between you and The Qt Company. For licensing terms -## and conditions see https://www.qt.io/terms-conditions. For further -## information use the contact form at https://www.qt.io/contact-us. -## -## GNU Lesser General Public License Usage -## Alternatively, this file may be used under the terms of the GNU Lesser -## General Public License version 3 as published by the Free Software -## Foundation and appearing in the file LICENSE.LGPL3 included in the -## packaging of this file. Please review the following information to -## ensure the GNU Lesser General Public License version 3 requirements -## will be met: https://www.gnu.org/licenses/lgpl-3.0.html. -## -## GNU General Public License Usage -## Alternatively, this file may be used under the terms of the GNU -## General Public License version 2.0 or (at your option) the GNU General -## Public license version 3 or any later version approved by the KDE Free -## Qt Foundation. The licenses are as published by the Free Software -## Foundation and appearing in the file LICENSE.GPL2 and LICENSE.GPL3 -## included in the packaging of this file. Please review the following -## information to ensure the GNU General Public License requirements will -## be met: https://www.gnu.org/licenses/gpl-2.0.html and -## https://www.gnu.org/licenses/gpl-3.0.html. -## -## $QT_END_LICENSE$ -## -############################################################################# +# Copyright (C) 2017 The Qt Company Ltd. +# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only set -ex diff --git a/coin/provisioning/qtci-linux-RHEL-8.2-x86_64/22-mqtt_broker.sh b/coin/provisioning/qtci-linux-RHEL-8.2-x86_64/22-mqtt_broker.sh index e0875b37..c81f5c66 100755 --- a/coin/provisioning/qtci-linux-RHEL-8.2-x86_64/22-mqtt_broker.sh +++ b/coin/provisioning/qtci-linux-RHEL-8.2-x86_64/22-mqtt_broker.sh @@ -1,43 +1,6 @@ #!/usr/bin/env bash - -############################################################################# -## -## Copyright (C) 2017 The Qt Company Ltd. -## Contact: https://www.qt.io/licensing/ -## -## This file is part of the provisioning scripts of the Qt Toolkit. -## -## $QT_BEGIN_LICENSE:LGPL$ -## Commercial License Usage -## Licensees holding valid commercial Qt licenses may use this file in -## accordance with the commercial license agreement provided with the -## Software or, alternatively, in accordance with the terms contained in -## a written agreement between you and The Qt Company. For licensing terms -## and conditions see https://www.qt.io/terms-conditions. For further -## information use the contact form at https://www.qt.io/contact-us. -## -## GNU Lesser General Public License Usage -## Alternatively, this file may be used under the terms of the GNU Lesser -## General Public License version 3 as published by the Free Software -## Foundation and appearing in the file LICENSE.LGPL3 included in the -## packaging of this file. Please review the following information to -## ensure the GNU Lesser General Public License version 3 requirements -## will be met: https://www.gnu.org/licenses/lgpl-3.0.html. -## -## GNU General Public License Usage -## Alternatively, this file may be used under the terms of the GNU -## General Public License version 2.0 or (at your option) the GNU General -## Public license version 3 or any later version approved by the KDE Free -## Qt Foundation. The licenses are as published by the Free Software -## Foundation and appearing in the file LICENSE.GPL2 and LICENSE.GPL3 -## included in the packaging of this file. Please review the following -## information to ensure the GNU General Public License requirements will -## be met: https://www.gnu.org/licenses/gpl-2.0.html and -## https://www.gnu.org/licenses/gpl-3.0.html. -## -## $QT_END_LICENSE$ -## -############################################################################# +# 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 # shellcheck source=../common/unix/mqtt_broker.sh source "${BASH_SOURCE%/*}/../common/unix/mqtt_broker.sh" diff --git a/coin/provisioning/qtci-linux-RHEL-8.2-x86_64/30-fbx.sh b/coin/provisioning/qtci-linux-RHEL-8.2-x86_64/30-fbx.sh index d8df4375..16a9bda8 100755 --- a/coin/provisioning/qtci-linux-RHEL-8.2-x86_64/30-fbx.sh +++ b/coin/provisioning/qtci-linux-RHEL-8.2-x86_64/30-fbx.sh @@ -1,4 +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 set -ex diff --git a/coin/provisioning/qtci-linux-RHEL-8.2-x86_64/30-install-conan.sh b/coin/provisioning/qtci-linux-RHEL-8.2-x86_64/30-install-conan.sh index ec54fa54..67a4f911 100755 --- a/coin/provisioning/qtci-linux-RHEL-8.2-x86_64/30-install-conan.sh +++ b/coin/provisioning/qtci-linux-RHEL-8.2-x86_64/30-install-conan.sh @@ -1,4 +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 set -ex diff --git a/coin/provisioning/qtci-linux-RHEL-8.2-x86_64/30-install-git.sh b/coin/provisioning/qtci-linux-RHEL-8.2-x86_64/30-install-git.sh new file mode 100755 index 00000000..7a73f354 --- /dev/null +++ b/coin/provisioning/qtci-linux-RHEL-8.2-x86_64/30-install-git.sh @@ -0,0 +1,8 @@ +#!/usr/bin/env bash +#Copyright (C) 2023 The Qt Company Ltd +#SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only + +set -ex + +BASEDIR=$(dirname "$0") +"$BASEDIR/../common/linux/install-git.sh" diff --git a/coin/provisioning/qtci-linux-RHEL-8.2-x86_64/30-install_icu.sh b/coin/provisioning/qtci-linux-RHEL-8.2-x86_64/30-install_icu.sh index b38845c5..ac47413c 100755 --- a/coin/provisioning/qtci-linux-RHEL-8.2-x86_64/30-install_icu.sh +++ b/coin/provisioning/qtci-linux-RHEL-8.2-x86_64/30-install_icu.sh @@ -1,43 +1,6 @@ #!/usr/bin/env bash - -############################################################################# -## -## Copyright (C) 2021 The Qt Company Ltd. -## Contact: https://www.qt.io/licensing/ -## -## This file is part of the provisioning scripts of the Qt Toolkit. -## -## $QT_BEGIN_LICENSE:LGPL$ -## Commercial License Usage -## Licensees holding valid commercial Qt licenses may use this file in -## accordance with the commercial license agreement provided with the -## Software or, alternatively, in accordance with the terms contained in -## a written agreement between you and The Qt Company. For licensing terms -## and conditions see https://www.qt.io/terms-conditions. For further -## information use the contact form at https://www.qt.io/contact-us. -## -## GNU Lesser General Public License Usage -## Alternatively, this file may be used under the terms of the GNU Lesser -## General Public License version 3 as published by the Free Software -## Foundation and appearing in the file LICENSE.LGPL3 included in the -## packaging of this file. Please review the following information to -## ensure the GNU Lesser General Public License version 3 requirements -## will be met: https://www.gnu.org/licenses/lgpl-3.0.html. -## -## GNU General Public License Usage -## Alternatively, this file may be used under the terms of the GNU -## General Public License version 2.0 or (at your option) the GNU General -## Public license version 3 or any later version approved by the KDE Free -## Qt Foundation. The licenses are as published by the Free Software -## Foundation and appearing in the file LICENSE.GPL2 and LICENSE.GPL3 -## included in the packaging of this file. Please review the following -## information to ensure the GNU General Public License requirements will -## be met: https://www.gnu.org/licenses/gpl-2.0.html and -## https://www.gnu.org/licenses/gpl-3.0.html. -## -## $QT_END_LICENSE$ -## -############################################################################# +# 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 # shellcheck source=../common/unix/DownloadURL.sh source "${BASH_SOURCE%/*}/../common/unix/DownloadURL.sh" @@ -49,11 +12,11 @@ set -ex icuVersion="56.1" icuLocation="/usr/lib64" sha1="6dd9ca6b185681a7ddc4bb94fd7fced27647a21c" -baseBinaryPackageURL="http://ci-files01-hki.intra.qt.io/input/icu/$icuVersion/icu-linux-g++-Rhel7.2-x64.7z" +baseBinaryPackageURL="http://ci-files01-hki.ci.qt.io/input/icu/$icuVersion/icu-linux-g++-Rhel7.2-x64.7z" baseBinaryPackageExternalURL="http://master.qt.io/development_releases/prebuilt/icu/prebuilt/$icuVersion/icu-linux-g++-Rhel7.2-x64.7z" sha1Dev="bffde26cdea752bee0edd281820c57f1adac3864" -develPackageURL="http://ci-files01-hki.intra.qt.io/input/icu/$icuVersion/icu-linux-g++-Rhel7.2-x64-devel.7z" +develPackageURL="http://ci-files01-hki.ci.qt.io/input/icu/$icuVersion/icu-linux-g++-Rhel7.2-x64-devel.7z" develPackageExternalURL="http://master.qt.io/development_releases/prebuilt/icu/prebuilt/$icuVersion/icu-linux-g++-Rhel7.2-x64-devel.7z" echo "Installing custom ICU $icuVersion $sha1 packages on RHEL to $icuLocation" diff --git a/coin/provisioning/qtci-linux-RHEL-8.2-x86_64/35-install-breakpad.sh b/coin/provisioning/qtci-linux-RHEL-8.2-x86_64/35-install-breakpad.sh index 74dd1579..8a9dde56 100755 --- a/coin/provisioning/qtci-linux-RHEL-8.2-x86_64/35-install-breakpad.sh +++ b/coin/provisioning/qtci-linux-RHEL-8.2-x86_64/35-install-breakpad.sh @@ -1,4 +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 set -ex diff --git a/coin/provisioning/qtci-linux-RHEL-8.2-x86_64/40-android_linux.sh b/coin/provisioning/qtci-linux-RHEL-8.2-x86_64/40-android_linux.sh index 1e01ed19..7ac2ce72 100755 --- a/coin/provisioning/qtci-linux-RHEL-8.2-x86_64/40-android_linux.sh +++ b/coin/provisioning/qtci-linux-RHEL-8.2-x86_64/40-android_linux.sh @@ -1,43 +1,6 @@ #!/usr/bin/env bash - -############################################################################# -## -## Copyright (C) 2017 The Qt Company Ltd. -## Contact: https://www.qt.io/licensing/ -## -## This file is part of the provisioning scripts of the Qt Toolkit. -## -## $QT_BEGIN_LICENSE:LGPL$ -## Commercial License Usage -## Licensees holding valid commercial Qt licenses may use this file in -## accordance with the commercial license agreement provided with the -## Software or, alternatively, in accordance with the terms contained in -## a written agreement between you and The Qt Company. For licensing terms -## and conditions see https://www.qt.io/terms-conditions. For further -## information use the contact form at https://www.qt.io/contact-us. -## -## GNU Lesser General Public License Usage -## Alternatively, this file may be used under the terms of the GNU Lesser -## General Public License version 3 as published by the Free Software -## Foundation and appearing in the file LICENSE.LGPL3 included in the -## packaging of this file. Please review the following information to -## ensure the GNU Lesser General Public License version 3 requirements -## will be met: https://www.gnu.org/licenses/lgpl-3.0.html. -## -## GNU General Public License Usage -## Alternatively, this file may be used under the terms of the GNU -## General Public License version 2.0 or (at your option) the GNU General -## Public license version 3 or any later version approved by the KDE Free -## Qt Foundation. The licenses are as published by the Free Software -## Foundation and appearing in the file LICENSE.GPL2 and LICENSE.GPL3 -## included in the packaging of this file. Please review the following -## information to ensure the GNU General Public License requirements will -## be met: https://www.gnu.org/licenses/gpl-2.0.html and -## https://www.gnu.org/licenses/gpl-3.0.html. -## -## $QT_END_LICENSE$ -## -############################################################################# +# Copyright (C) 2017 The Qt Company Ltd. +# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only set -ex diff --git a/coin/provisioning/qtci-linux-RHEL-8.2-x86_64/40-install-cmake.sh b/coin/provisioning/qtci-linux-RHEL-8.2-x86_64/40-install-cmake.sh index 8a7033a2..41139756 100755 --- a/coin/provisioning/qtci-linux-RHEL-8.2-x86_64/40-install-cmake.sh +++ b/coin/provisioning/qtci-linux-RHEL-8.2-x86_64/40-install-cmake.sh @@ -1,43 +1,6 @@ #!/usr/bin/env bash - -############################################################################# -## -## Copyright (C) 2017 The Qt Company Ltd. -## Contact: https://www.qt.io/licensing/ -## -## This file is part of the provisioning scripts of the Qt Toolkit. -## -## $QT_BEGIN_LICENSE:LGPL$ -## Commercial License Usage -## Licensees holding valid commercial Qt licenses may use this file in -## accordance with the commercial license agreement provided with the -## Software or, alternatively, in accordance with the terms contained in -## a written agreement between you and The Qt Company. For licensing terms -## and conditions see https://www.qt.io/terms-conditions. For further -## information use the contact form at https://www.qt.io/contact-us. -## -## GNU Lesser General Public License Usage -## Alternatively, this file may be used under the terms of the GNU Lesser -## General Public License version 3 as published by the Free Software -## Foundation and appearing in the file LICENSE.LGPL3 included in the -## packaging of this file. Please review the following information to -## ensure the GNU Lesser General Public License version 3 requirements -## will be met: https://www.gnu.org/licenses/lgpl-3.0.html. -## -## GNU General Public License Usage -## Alternatively, this file may be used under the terms of the GNU -## General Public License version 2.0 or (at your option) the GNU General -## Public license version 3 or any later version approved by the KDE Free -## Qt Foundation. The licenses are as published by the Free Software -## Foundation and appearing in the file LICENSE.GPL2 and LICENSE.GPL3 -## included in the packaging of this file. Please review the following -## information to ensure the GNU General Public License requirements will -## be met: https://www.gnu.org/licenses/gpl-2.0.html and -## https://www.gnu.org/licenses/gpl-3.0.html. -## -## $QT_END_LICENSE$ -## -############################################################################# +# 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 installs CMake 3.6.2 diff --git a/coin/provisioning/qtci-linux-RHEL-8.2-x86_64/50-openssl_for_android_linux.sh b/coin/provisioning/qtci-linux-RHEL-8.2-x86_64/50-openssl_for_android_linux.sh index 05306ed1..3872e744 100755 --- a/coin/provisioning/qtci-linux-RHEL-8.2-x86_64/50-openssl_for_android_linux.sh +++ b/coin/provisioning/qtci-linux-RHEL-8.2-x86_64/50-openssl_for_android_linux.sh @@ -1,43 +1,6 @@ #!/usr/bin/env bash - -############################################################################# -## -## Copyright (C) 2021 The Qt Company Ltd. -## Contact: https://www.qt.io/licensing/ -## -## This file is part of the provisioning scripts of the Qt Toolkit. -## -## $QT_BEGIN_LICENSE:LGPL$ -## Commercial License Usage -## Licensees holding valid commercial Qt licenses may use this file in -## accordance with the commercial license agreement provided with the -## Software or, alternatively, in accordance with the terms contained in -## a written agreement between you and The Qt Company. For licensing terms -## and conditions see https://www.qt.io/terms-conditions. For further -## information use the contact form at https://www.qt.io/contact-us. -## -## GNU Lesser General Public License Usage -## Alternatively, this file may be used under the terms of the GNU Lesser -## General Public License version 3 as published by the Free Software -## Foundation and appearing in the file LICENSE.LGPL3 included in the -## packaging of this file. Please review the following information to -## ensure the GNU Lesser General Public License version 3 requirements -## will be met: https://www.gnu.org/licenses/lgpl-3.0.html. -## -## GNU General Public License Usage -## Alternatively, this file may be used under the terms of the GNU -## General Public License version 2.0 or (at your option) the GNU General -## Public license version 3 or any later version approved by the KDE Free -## Qt Foundation. The licenses are as published by the Free Software -## Foundation and appearing in the file LICENSE.GPL2 and LICENSE.GPL3 -## included in the packaging of this file. Please review the following -## information to ensure the GNU General Public License requirements will -## be met: https://www.gnu.org/licenses/gpl-2.0.html and -## https://www.gnu.org/licenses/gpl-3.0.html. -## -## $QT_END_LICENSE$ -## -############################################################################# +# Copyright (C) 2021 The Qt Company Ltd. +# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only set -ex # shellcheck source=../common/unix/openssl_for_android.sh diff --git a/coin/provisioning/qtci-linux-RHEL-8.2-x86_64/60-install_protobuf.sh b/coin/provisioning/qtci-linux-RHEL-8.2-x86_64/60-install_protobuf.sh new file mode 100755 index 00000000..3e2b8921 --- /dev/null +++ b/coin/provisioning/qtci-linux-RHEL-8.2-x86_64/60-install_protobuf.sh @@ -0,0 +1,9 @@ +#!/usr/bin/env bash +# Copyright (C) 2018 The Qt Company Ltd. +# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only + +set -ex + +# shellcheck source=../common/unix/install_protobuf.sh +source "${BASH_SOURCE%/*}/../common/unix/install_protobuf.sh" + diff --git a/coin/provisioning/qtci-linux-RHEL-8.2-x86_64/60-install_protobuff.sh b/coin/provisioning/qtci-linux-RHEL-8.2-x86_64/60-install_protobuff.sh deleted file mode 100755 index 2f55353a..00000000 --- a/coin/provisioning/qtci-linux-RHEL-8.2-x86_64/60-install_protobuff.sh +++ /dev/null @@ -1,46 +0,0 @@ -#!/usr/bin/env bash - -############################################################################# -## -## Copyright (C) 2018 The Qt Company Ltd. -## Contact: https://www.qt.io/licensing/ -## -## This file is part of the provisioning scripts of the Qt Toolkit. -## -## $QT_BEGIN_LICENSE:LGPL$ -## Commercial License Usage -## Licensees holding valid commercial Qt licenses may use this file in -## accordance with the commercial license agreement provided with the -## Software or, alternatively, in accordance with the terms contained in -## a written agreement between you and The Qt Company. For licensing terms -## and conditions see https://www.qt.io/terms-conditions. For further -## information use the contact form at https://www.qt.io/contact-us. -## -## GNU Lesser General Public License Usage -## Alternatively, this file may be used under the terms of the GNU Lesser -## General Public License version 3 as published by the Free Software -## Foundation and appearing in the file LICENSE.LGPL3 included in the -## packaging of this file. Please review the following information to -## ensure the GNU Lesser General Public License version 3 requirements -## will be met: https://www.gnu.org/licenses/lgpl-3.0.html. -## -## GNU General Public License Usage -## Alternatively, this file may be used under the terms of the GNU -## General Public License version 2.0 or (at your option) the GNU General -## Public license version 3 or any later version approved by the KDE Free -## Qt Foundation. The licenses are as published by the Free Software -## Foundation and appearing in the file LICENSE.GPL2 and LICENSE.GPL3 -## included in the packaging of this file. Please review the following -## information to ensure the GNU General Public License requirements will -## be met: https://www.gnu.org/licenses/gpl-2.0.html and -## https://www.gnu.org/licenses/gpl-3.0.html. -## -## $QT_END_LICENSE$ -## -############################################################################# - -set -ex - -# shellcheck source=../common/unix/install_protobuff.sh -source "${BASH_SOURCE%/*}/../common/unix/install_protobuff.sh" - diff --git a/coin/provisioning/qtci-linux-RHEL-8.2-x86_64/70-install_QemuGA.sh b/coin/provisioning/qtci-linux-RHEL-8.2-x86_64/70-install_QemuGA.sh index a5c865a1..27ee6f50 100755 --- a/coin/provisioning/qtci-linux-RHEL-8.2-x86_64/70-install_QemuGA.sh +++ b/coin/provisioning/qtci-linux-RHEL-8.2-x86_64/70-install_QemuGA.sh @@ -1,43 +1,6 @@ #!/usr/bin/env bash - -############################################################################# -## -## Copyright (C) 2020 The Qt Company Ltd. -## Contact: https://www.qt.io/licensing/ -## -## This file is part of the provisioning scripts of the Qt Toolkit. -## -## $QT_BEGIN_LICENSE:LGPL$ -## Commercial License Usage -## Licensees holding valid commercial Qt licenses may use this file in -## accordance with the commercial license agreement provided with the -## Software or, alternatively, in accordance with the terms contained in -## a written agreement between you and The Qt Company. For licensing terms -## and conditions see https://www.qt.io/terms-conditions. For further -## information use the contact form at https://www.qt.io/contact-us. -## -## GNU Lesser General Public License Usage -## Alternatively, this file may be used under the terms of the GNU Lesser -## General Public License version 3 as published by the Free Software -## Foundation and appearing in the file LICENSE.LGPL3 included in the -## packaging of this file. Please review the following information to -## ensure the GNU Lesser General Public License version 3 requirements -## will be met: https://www.gnu.org/licenses/lgpl-3.0.html. -## -## GNU General Public License Usage -## Alternatively, this file may be used under the terms of the GNU -## General Public License version 2.0 or (at your option) the GNU General -## Public license version 3 or any later version approved by the KDE Free -## Qt Foundation. The licenses are as published by the Free Software -## Foundation and appearing in the file LICENSE.GPL2 and LICENSE.GPL3 -## included in the packaging of this file. Please review the following -## information to ensure the GNU General Public License requirements will -## be met: https://www.gnu.org/licenses/gpl-2.0.html and -## https://www.gnu.org/licenses/gpl-3.0.html. -## -## $QT_END_LICENSE$ -## -############################################################################# +# Copyright (C) 2020 The Qt Company Ltd. +# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only # This script installs QEMU Guest Agent diff --git a/coin/provisioning/qtci-linux-RHEL-8.2-x86_64/70-install_dwz.sh b/coin/provisioning/qtci-linux-RHEL-8.2-x86_64/70-install_dwz.sh index 947e7bde..ef076d7c 100755 --- a/coin/provisioning/qtci-linux-RHEL-8.2-x86_64/70-install_dwz.sh +++ b/coin/provisioning/qtci-linux-RHEL-8.2-x86_64/70-install_dwz.sh @@ -1,43 +1,6 @@ #!/usr/bin/env bash - -############################################################################# -## -## Copyright (C) 2020 Konstantin Tokarev <annulen@yandex.ru> -## Contact: https://www.qt.io/licensing/ -## -## This file is part of the provisioning scripts of the Qt Toolkit. -## -## $QT_BEGIN_LICENSE:LGPL$ -## Commercial License Usage -## Licensees holding valid commercial Qt licenses may use this file in -## accordance with the commercial license agreement provided with the -## Software or, alternatively, in accordance with the terms contained in -## a written agreement between you and The Qt Company. For licensing terms -## and conditions see https://www.qt.io/terms-conditions. For further -## information use the contact form at https://www.qt.io/contact-us. -## -## GNU Lesser General Public License Usage -## Alternatively, this file may be used under the terms of the GNU Lesser -## General Public License version 3 as published by the Free Software -## Foundation and appearing in the file LICENSE.LGPL3 included in the -## packaging of this file. Please review the following information to -## ensure the GNU Lesser General Public License version 3 requirements -## will be met: https://www.gnu.org/licenses/lgpl-3.0.html. -## -## GNU General Public License Usage -## Alternatively, this file may be used under the terms of the GNU -## General Public License version 2.0 or (at your option) the GNU General -## Public license version 3 or any later version approved by the KDE Free -## Qt Foundation. The licenses are as published by the Free Software -## Foundation and appearing in the file LICENSE.GPL2 and LICENSE.GPL3 -## included in the packaging of this file. Please review the following -## information to ensure the GNU General Public License requirements will -## be met: https://www.gnu.org/licenses/gpl-2.0.html and -## https://www.gnu.org/licenses/gpl-3.0.html. -## -## $QT_END_LICENSE$ -## -############################################################################# +# Copyright (C) 2020 Konstantin Tokarev <annulen@yandex.ru> +# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only set -ex diff --git a/coin/provisioning/qtci-linux-RHEL-8.2-x86_64/90-install-ffmpeg.sh b/coin/provisioning/qtci-linux-RHEL-8.2-x86_64/90-install-ffmpeg.sh new file mode 100755 index 00000000..61da9b7b --- /dev/null +++ b/coin/provisioning/qtci-linux-RHEL-8.2-x86_64/90-install-ffmpeg.sh @@ -0,0 +1,3 @@ +#!/usr/bin/env bash + +source "${BASH_SOURCE%/*}/../common/unix/install-ffmpeg.sh" "linux" diff --git a/coin/provisioning/qtci-linux-RHEL-8.2-x86_64/90-mimer.sh b/coin/provisioning/qtci-linux-RHEL-8.2-x86_64/90-mimer.sh new file mode 100755 index 00000000..bff2a7c7 --- /dev/null +++ b/coin/provisioning/qtci-linux-RHEL-8.2-x86_64/90-mimer.sh @@ -0,0 +1,8 @@ +#!/usr/bin/env bash +# Copyright (C) 2022 The Qt Company Ltd. +# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only + +set -ex + +BASEDIR=$(dirname "$0") +"$BASEDIR/../common/linux/mimersql.sh" "openssl-1" "rpm" diff --git a/coin/provisioning/qtci-linux-RHEL-8.2-x86_64/90-squish.sh b/coin/provisioning/qtci-linux-RHEL-8.2-x86_64/90-squish.sh index e4281588..f803ccc1 100755 --- a/coin/provisioning/qtci-linux-RHEL-8.2-x86_64/90-squish.sh +++ b/coin/provisioning/qtci-linux-RHEL-8.2-x86_64/90-squish.sh @@ -1,4 +1,6 @@ #!/usr/bin/env bash +#Copyright (C) 2023 The Qt Company Ltd +#SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only BASEDIR=$(dirname "$0") "$BASEDIR/../common/unix/squishInstall.sh" diff --git a/coin/provisioning/qtci-linux-RHEL-8.2-x86_64/99-cleanup.sh b/coin/provisioning/qtci-linux-RHEL-8.2-x86_64/99-cleanup.sh new file mode 100755 index 00000000..4d6e16ea --- /dev/null +++ b/coin/provisioning/qtci-linux-RHEL-8.2-x86_64/99-cleanup.sh @@ -0,0 +1,7 @@ +#!/usr/bin/env bash +# Copyright (C) 2022 The Qt Company Ltd. +# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only + +set -ex + +"$(dirname "$0")"/../common/linux/cleanup_cache.sh diff --git a/coin/provisioning/qtci-linux-RHEL-8.2-x86_64/99-version.sh b/coin/provisioning/qtci-linux-RHEL-8.2-x86_64/99-version.sh index 87825b16..00d06674 100755 --- a/coin/provisioning/qtci-linux-RHEL-8.2-x86_64/99-version.sh +++ b/coin/provisioning/qtci-linux-RHEL-8.2-x86_64/99-version.sh @@ -1,43 +1,6 @@ #!/usr/bin/env bash - -############################################################################# -## -## Copyright (C) 2018 The Qt Company Ltd. -## Contact: https://www.qt.io/licensing/ -## -## This file is part of the provisioning scripts of the Qt Toolkit. -## -## $QT_BEGIN_LICENSE:LGPL$ -## Commercial License Usage -## Licensees holding valid commercial Qt licenses may use this file in -## accordance with the commercial license agreement provided with the -## Software or, alternatively, in accordance with the terms contained in -## a written agreement between you and The Qt Company. For licensing terms -## and conditions see https://www.qt.io/terms-conditions. For further -## information use the contact form at https://www.qt.io/contact-us. -## -## GNU Lesser General Public License Usage -## Alternatively, this file may be used under the terms of the GNU Lesser -## General Public License version 3 as published by the Free Software -## Foundation and appearing in the file LICENSE.LGPL3 included in the -## packaging of this file. Please review the following information to -## ensure the GNU Lesser General Public License version 3 requirements -## will be met: https://www.gnu.org/licenses/lgpl-3.0.html. -## -## GNU General Public License Usage -## Alternatively, this file may be used under the terms of the GNU -## General Public License version 2.0 or (at your option) the GNU General -## Public license version 3 or any later version approved by the KDE Free -## Qt Foundation. The licenses are as published by the Free Software -## Foundation and appearing in the file LICENSE.GPL2 and LICENSE.GPL3 -## included in the packaging of this file. Please review the following -## information to ensure the GNU General Public License requirements will -## be met: https://www.gnu.org/licenses/gpl-2.0.html and -## https://www.gnu.org/licenses/gpl-3.0.html. -## -## $QT_END_LICENSE$ -## -############################################################################# +# Copyright (C) 2018 The Qt Company Ltd. +# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only # This script needs to be called last during provisioning so that the software information will show up last in provision log. diff --git a/coin/provisioning/qtci-linux-RHEL-8.4-x86_64/01-disable-automounting.sh b/coin/provisioning/qtci-linux-RHEL-8.4-x86_64/01-disable-automounting.sh index 496aec53..aeac4768 100755 --- a/coin/provisioning/qtci-linux-RHEL-8.4-x86_64/01-disable-automounting.sh +++ b/coin/provisioning/qtci-linux-RHEL-8.4-x86_64/01-disable-automounting.sh @@ -1,43 +1,6 @@ #!/usr/bin/env bash - -############################################################################# -## -## Copyright (C) 2021 The Qt Company Ltd. -## Contact: https://www.qt.io/licensing/ -## -## This file is part of the provisioning scripts of the Qt Toolkit. -## -## $QT_BEGIN_LICENSE:LGPL$ -## Commercial License Usage -## Licensees holding valid commercial Qt licenses may use this file in -## accordance with the commercial license agreement provided with the -## Software or, alternatively, in accordance with the terms contained in -## a written agreement between you and The Qt Company. For licensing terms -## and conditions see https://www.qt.io/terms-conditions. For further -## information use the contact form at https://www.qt.io/contact-us. -## -## GNU Lesser General Public License Usage -## Alternatively, this file may be used under the terms of the GNU Lesser -## General Public License version 3 as published by the Free Software -## Foundation and appearing in the file LICENSE.LGPL3 included in the -## packaging of this file. Please review the following information to -## ensure the GNU Lesser General Public License version 3 requirements -## will be met: https://www.gnu.org/licenses/lgpl-3.0.html. -## -## GNU General Public License Usage -## Alternatively, this file may be used under the terms of the GNU -## General Public License version 2.0 or (at your option) the GNU General -## Public license version 3 or any later version approved by the KDE Free -## Qt Foundation. The licenses are as published by the Free Software -## Foundation and appearing in the file LICENSE.GPL2 and LICENSE.GPL3 -## included in the packaging of this file. Please review the following -## information to ensure the GNU General Public License requirements will -## be met: https://www.gnu.org/licenses/gpl-2.0.html and -## https://www.gnu.org/licenses/gpl-3.0.html. -## -## $QT_END_LICENSE$ -## -############################################################################# +# 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 diff --git a/coin/provisioning/qtci-linux-RHEL-8.4-x86_64/01-refresh-subscription-manager.sh b/coin/provisioning/qtci-linux-RHEL-8.4-x86_64/01-refresh-subscription-manager.sh index 7afbfbde..51417f1b 100755 --- a/coin/provisioning/qtci-linux-RHEL-8.4-x86_64/01-refresh-subscription-manager.sh +++ b/coin/provisioning/qtci-linux-RHEL-8.4-x86_64/01-refresh-subscription-manager.sh @@ -1,47 +1,11 @@ #!/usr/bin/env bash -############################################################################# -## -## Copyright (C) 2020 The Qt Company Ltd. -## Contact: https://www.qt.io/licensing/ -## -## This file is part of the provisioning scripts of the Qt Toolkit. -## -## $QT_BEGIN_LICENSE:LGPL$ -## Commercial License Usage -## Licensees holding valid commercial Qt licenses may use this file in -## accordance with the commercial license agreement provided with the -## Software or, alternatively, in accordance with the terms contained in -## a written agreement between you and The Qt Company. For licensing terms -## and conditions see https://www.qt.io/terms-conditions. For further -## information use the contact form at https://www.qt.io/contact-us. -## -## GNU Lesser General Public License Usage -## Alternatively, this file may be used under the terms of the GNU Lesser -## General Public License version 3 as published by the Free Software -## Foundation and appearing in the file LICENSE.LGPL3 included in the -## packaging of this file. Please review the following information to -## ensure the GNU Lesser General Public License version 3 requirements -## will be met: https://www.gnu.org/licenses/lgpl-3.0.html. -## -## GNU General Public License Usage -## Alternatively, this file may be used under the terms of the GNU -## General Public License version 2.0 or (at your option) the GNU General -## Public license version 3 or any later version approved by the KDE Free -## Qt Foundation. The licenses are as published by the Free Software -## Foundation and appearing in the file LICENSE.GPL2 and LICENSE.GPL3 -## included in the packaging of this file. Please review the following -## information to ensure the GNU General Public License requirements will -## be met: https://www.gnu.org/licenses/gpl-2.0.html and -## https://www.gnu.org/licenses/gpl-3.0.html. -## -## $QT_END_LICENSE$ -## -############################################################################# +# Copyright (C) 2023 The Qt Company Ltd. +# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only set -e -curl --retry 5 --retry-delay 10 --retry-max-time 60 http://ci-files01-hki.intra.qt.io/input/semisecure/redhat_ak.sh -o "/tmp/redhat_ak.sh" &>/dev/null +curl --retry 5 --retry-delay 10 --retry-max-time 60 http://ci-files01-hki.ci.qt.io/input/semisecure/redhat_ak_all_versions.sh -o "/tmp/redhat_ak.sh" &>/dev/null sudo chmod 755 /tmp/redhat_ak.sh /tmp/redhat_ak.sh diff --git a/coin/provisioning/qtci-linux-RHEL-8.4-x86_64/01-remove_network_manager_secret_key.sh b/coin/provisioning/qtci-linux-RHEL-8.4-x86_64/01-remove_network_manager_secret_key.sh index 5ed44f2d..7f9790ae 100755 --- a/coin/provisioning/qtci-linux-RHEL-8.4-x86_64/01-remove_network_manager_secret_key.sh +++ b/coin/provisioning/qtci-linux-RHEL-8.4-x86_64/01-remove_network_manager_secret_key.sh @@ -1,4 +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 # Ipv6 link local becomes tentative and dadfailed if two systems has the same secret_key # New unique secret key will be created automatically during start up. diff --git a/coin/provisioning/qtci-linux-RHEL-8.4-x86_64/01-remove_stable-privacy.sh b/coin/provisioning/qtci-linux-RHEL-8.4-x86_64/01-remove_stable-privacy.sh index 4d0cb666..969b47f0 100755 --- a/coin/provisioning/qtci-linux-RHEL-8.4-x86_64/01-remove_stable-privacy.sh +++ b/coin/provisioning/qtci-linux-RHEL-8.4-x86_64/01-remove_stable-privacy.sh @@ -1,43 +1,6 @@ #!/usr/bin/env bash - -############################################################################# -## -## Copyright (C) 2020 The Qt Company Ltd. -## Contact: https://www.qt.io/licensing/ -## -## This file is part of the provisioning scripts of the Qt Toolkit. -## -## $QT_BEGIN_LICENSE:LGPL$ -## Commercial License Usage -## Licensees holding valid commercial Qt licenses may use this file in -## accordance with the commercial license agreement provided with the -## Software or, alternatively, in accordance with the terms contained in -## a written agreement between you and The Qt Company. For licensing terms -## and conditions see https://www.qt.io/terms-conditions. For further -## information use the contact form at https://www.qt.io/contact-us. -## -## GNU Lesser General Public License Usage -## Alternatively, this file may be used under the terms of the GNU Lesser -## General Public License version 3 as published by the Free Software -## Foundation and appearing in the file LICENSE.LGPL3 included in the -## packaging of this file. Please review the following information to -## ensure the GNU Lesser General Public License version 3 requirements -## will be met: https://www.gnu.org/licenses/lgpl-3.0.html. -## -## GNU General Public License Usage -## Alternatively, this file may be used under the terms of the GNU -## General Public License version 2.0 or (at your option) the GNU General -## Public license version 3 or any later version approved by the KDE Free -## Qt Foundation. The licenses are as published by the Free Software -## Foundation and appearing in the file LICENSE.GPL2 and LICENSE.GPL3 -## included in the packaging of this file. Please review the following -## information to ensure the GNU General Public License requirements will -## be met: https://www.gnu.org/licenses/gpl-2.0.html and -## https://www.gnu.org/licenses/gpl-3.0.html. -## -## $QT_END_LICENSE$ -## -############################################################################# +# 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 set -ex echo "Change default stable-secret to based on MAC" diff --git a/coin/provisioning/qtci-linux-RHEL-8.4-x86_64/01-set-ulimit.sh b/coin/provisioning/qtci-linux-RHEL-8.4-x86_64/01-set-ulimit.sh index dadc0781..e951e82a 100755 --- a/coin/provisioning/qtci-linux-RHEL-8.4-x86_64/01-set-ulimit.sh +++ b/coin/provisioning/qtci-linux-RHEL-8.4-x86_64/01-set-ulimit.sh @@ -1,4 +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 set -ex diff --git a/coin/provisioning/qtci-linux-RHEL-8.4-x86_64/01-systemsetup.sh b/coin/provisioning/qtci-linux-RHEL-8.4-x86_64/01-systemsetup.sh index 369ff6e2..b4bbc865 100755 --- a/coin/provisioning/qtci-linux-RHEL-8.4-x86_64/01-systemsetup.sh +++ b/coin/provisioning/qtci-linux-RHEL-8.4-x86_64/01-systemsetup.sh @@ -1,43 +1,6 @@ #!/usr/bin/env bash - -############################################################################# -## -## Copyright (C) 2021 The Qt Company Ltd. -## Contact: https://www.qt.io/licensing/ -## -## This file is part of the provisioning scripts of the Qt Toolkit. -## -## $QT_BEGIN_LICENSE:LGPL$ -## Commercial License Usage -## Licensees holding valid commercial Qt licenses may use this file in -## accordance with the commercial license agreement provided with the -## Software or, alternatively, in accordance with the terms contained in -## a written agreement between you and The Qt Company. For licensing terms -## and conditions see https://www.qt.io/terms-conditions. For further -## information use the contact form at https://www.qt.io/contact-us. -## -## GNU Lesser General Public License Usage -## Alternatively, this file may be used under the terms of the GNU Lesser -## General Public License version 3 as published by the Free Software -## Foundation and appearing in the file LICENSE.LGPL3 included in the -## packaging of this file. Please review the following information to -## ensure the GNU Lesser General Public License version 3 requirements -## will be met: https://www.gnu.org/licenses/lgpl-3.0.html. -## -## GNU General Public License Usage -## Alternatively, this file may be used under the terms of the GNU -## General Public License version 2.0 or (at your option) the GNU General -## Public license version 3 or any later version approved by the KDE Free -## Qt Foundation. The licenses are as published by the Free Software -## Foundation and appearing in the file LICENSE.GPL2 and LICENSE.GPL3 -## included in the packaging of this file. Please review the following -## information to ensure the GNU General Public License requirements will -## be met: https://www.gnu.org/licenses/gpl-2.0.html and -## https://www.gnu.org/licenses/gpl-3.0.html. -## -## $QT_END_LICENSE$ -## -############################################################################# +# 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 diff --git a/coin/provisioning/qtci-linux-RHEL-8.4-x86_64/03-enable-repos.sh b/coin/provisioning/qtci-linux-RHEL-8.4-x86_64/03-enable-repos.sh index b975e486..4de5f9d8 100755 --- a/coin/provisioning/qtci-linux-RHEL-8.4-x86_64/03-enable-repos.sh +++ b/coin/provisioning/qtci-linux-RHEL-8.4-x86_64/03-enable-repos.sh @@ -1,43 +1,6 @@ #!/usr/bin/env bash - -############################################################################# -## -## Copyright (C) 2021 The Qt Company Ltd. -## Contact: https://www.qt.io/licensing/ -## -## This file is part of the provisioning scripts of the Qt Toolkit. -## -## $QT_BEGIN_LICENSE:LGPL$ -## Commercial License Usage -## Licensees holding valid commercial Qt licenses may use this file in -## accordance with the commercial license agreement provided with the -## Software or, alternatively, in accordance with the terms contained in -## a written agreement between you and The Qt Company. For licensing terms -## and conditions see https://www.qt.io/terms-conditions. For further -## information use the contact form at https://www.qt.io/contact-us. -## -## GNU Lesser General Public License Usage -## Alternatively, this file may be used under the terms of the GNU Lesser -## General Public License version 3 as published by the Free Software -## Foundation and appearing in the file LICENSE.LGPL3 included in the -## packaging of this file. Please review the following information to -## ensure the GNU Lesser General Public License version 3 requirements -## will be met: https://www.gnu.org/licenses/lgpl-3.0.html. -## -## GNU General Public License Usage -## Alternatively, this file may be used under the terms of the GNU -## General Public License version 2.0 or (at your option) the GNU General -## Public license version 3 or any later version approved by the KDE Free -## Qt Foundation. The licenses are as published by the Free Software -## Foundation and appearing in the file LICENSE.GPL2 and LICENSE.GPL3 -## included in the packaging of this file. Please review the following -## information to ensure the GNU General Public License requirements will -## be met: https://www.gnu.org/licenses/gpl-2.0.html and -## https://www.gnu.org/licenses/gpl-3.0.html. -## -## $QT_END_LICENSE$ -## -############################################################################# +# 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 @@ -49,6 +12,11 @@ sudo yum -y remove PackageKit gnome-software sudo subscription-manager config --rhsm.manage_repos=1 sudo subscription-manager refresh +# List available RHEL versions and bind with correct one +sudo subscription-manager release --list +sudo subscription-manager release --set=8.4 +sudo yum clean all + # sudo yum config-manager --enable 'rhceph-4-tools-for-rhel-8-x86_64-rpms' sudo yum config-manager --enable 'codeready-builder-for-rhel-8-x86_64-rpms' sudo yum config-manager --enable 'rhel-8-for-x86_64-baseos-rpms' diff --git a/coin/provisioning/qtci-linux-RHEL-8.4-x86_64/03-install-gcc-toolset.sh b/coin/provisioning/qtci-linux-RHEL-8.4-x86_64/03-install-gcc-toolset.sh index 553ddfeb..f3af4f5b 100755 --- a/coin/provisioning/qtci-linux-RHEL-8.4-x86_64/03-install-gcc-toolset.sh +++ b/coin/provisioning/qtci-linux-RHEL-8.4-x86_64/03-install-gcc-toolset.sh @@ -1,43 +1,6 @@ #!/usr/bin/env bash - -############################################################################# -## -## Copyright (C) 2021 The Qt Company Ltd. -## Contact: https://www.qt.io/licensing/ -## -## This file is part of the provisioning scripts of the Qt Toolkit. -## -## $QT_BEGIN_LICENSE:LGPL$ -## Commercial License Usage -## Licensees holding valid commercial Qt licenses may use this file in -## accordance with the commercial license agreement provided with the -## Software or, alternatively, in accordance with the terms contained in -## a written agreement between you and The Qt Company. For licensing terms -## and conditions see https://www.qt.io/terms-conditions. For further -## information use the contact form at https://www.qt.io/contact-us. -## -## GNU Lesser General Public License Usage -## Alternatively, this file may be used under the terms of the GNU Lesser -## General Public License version 3 as published by the Free Software -## Foundation and appearing in the file LICENSE.LGPL3 included in the -## packaging of this file. Please review the following information to -## ensure the GNU Lesser General Public License version 3 requirements -## will be met: https://www.gnu.org/licenses/lgpl-3.0.html. -## -## GNU General Public License Usage -## Alternatively, this file may be used under the terms of the GNU -## General Public License version 2.0 or (at your option) the GNU General -## Public license version 3 or any later version approved by the KDE Free -## Qt Foundation. The licenses are as published by the Free Software -## Foundation and appearing in the file LICENSE.GPL2 and LICENSE.GPL3 -## included in the packaging of this file. Please review the following -## information to ensure the GNU General Public License requirements will -## be met: https://www.gnu.org/licenses/gpl-2.0.html and -## https://www.gnu.org/licenses/gpl-3.0.html. -## -## $QT_END_LICENSE$ -## -############################################################################# +# 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 diff --git a/coin/provisioning/qtci-linux-RHEL-8.4-x86_64/04-install-packages.sh b/coin/provisioning/qtci-linux-RHEL-8.4-x86_64/04-install-packages.sh index ec2815a5..da03076a 100755 --- a/coin/provisioning/qtci-linux-RHEL-8.4-x86_64/04-install-packages.sh +++ b/coin/provisioning/qtci-linux-RHEL-8.4-x86_64/04-install-packages.sh @@ -1,56 +1,28 @@ #!/usr/bin/env bash - -############################################################################# -## -## Copyright (C) 2021 The Qt Company Ltd. -## Contact: https://www.qt.io/licensing/ -## -## This file is part of the provisioning scripts of the Qt Toolkit. -## -## $QT_BEGIN_LICENSE:LGPL$ -## Commercial License Usage -## Licensees holding valid commercial Qt licenses may use this file in -## accordance with the commercial license agreement provided with the -## Software or, alternatively, in accordance with the terms contained in -## a written agreement between you and The Qt Company. For licensing terms -## and conditions see https://www.qt.io/terms-conditions. For further -## information use the contact form at https://www.qt.io/contact-us. -## -## GNU Lesser General Public License Usage -## Alternatively, this file may be used under the terms of the GNU Lesser -## General Public License version 3 as published by the Free Software -## Foundation and appearing in the file LICENSE.LGPL3 included in the -## packaging of this file. Please review the following information to -## ensure the GNU Lesser General Public License version 3 requirements -## will be met: https://www.gnu.org/licenses/lgpl-3.0.html. -## -## GNU General Public License Usage -## Alternatively, this file may be used under the terms of the GNU -## General Public License version 2.0 or (at your option) the GNU General -## Public license version 3 or any later version approved by the KDE Free -## Qt Foundation. The licenses are as published by the Free Software -## Foundation and appearing in the file LICENSE.GPL2 and LICENSE.GPL3 -## included in the packaging of this file. Please review the following -## information to ensure the GNU General Public License requirements will -## be met: https://www.gnu.org/licenses/gpl-2.0.html and -## https://www.gnu.org/licenses/gpl-3.0.html. -## -## $QT_END_LICENSE$ -## -############################################################################# +# 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 # Remove update notifications and packagekit running in the background sudo yum -y remove PackageKit gnome-software +# CI: All platforms should have up-to-date packages when new provision is made +sudo yum -y update + installPackages=() installPackages+=(git) installPackages+=(zlib-devel) installPackages+=(glib2-devel) -installPackages+=(openssl-devel) +installPackages+=(openssl3) +installPackages+=(openssl3-devel) installPackages+=(freetype-devel) installPackages+=(fontconfig-devel) +installPackages+=(curl-devel) +installPackages+=(expat-devel) +installPackages+=(gettext-devel) +installPackages+=(perl-devel) +installPackages+=(dh-autoreconf) # cmake build installPackages+=(ninja-build) installPackages+=(pcre2-devel) @@ -73,6 +45,9 @@ installPackages+=(dbus-devel) installPackages+=(gstreamer1-plugins-bad-free) installPackages+=(gstreamer1-devel) installPackages+=(gstreamer1-plugins-base-devel) +# for QtMultimedia, ffmpeg +installPackages+=(yasm) +installPackages+=(libva-devel) # gtk3 style for QtGui/QStyle installPackages+=(gtk3-devel) # libusb1 for tqtc-boot2qt/qdb @@ -84,6 +59,9 @@ installPackages+=(python2-devel python2-pip) # Python 3 with python-devel, pip and virtualenv installPackages+=(python36) installPackages+=(python36-devel) +# Python 3.8 for pyside. Qt for Python support for Python 3.6 will be deprecated in within pyside6.3 +installPackages+=(python38) +installPackages+=(python38-devel) # WebEngine installPackages+=(bison) installPackages+=(flex) @@ -91,11 +69,14 @@ installPackages+=(gperftools-libs) installPackages+=(gperf) installPackages+=(alsa-lib-devel) installPackages+=(pulseaudio-libs-devel) +installPackages+=(libdrm-devel) +installPackages+=(libva-devel) installPackages+=(libXtst-devel) installPackages+=(libxshmfence-devel) installPackages+=(nspr-devel) installPackages+=(nss-devel) installPackages+=(python3-html5lib) +installPackages+=(mesa-libgbm-devel) # For Android builds installPackages+=(java-11-openjdk-devel) # For receiving shasum @@ -104,6 +85,8 @@ installPackages+=(perl-Digest-SHA) installPackages+=(glibc.i686) # Enable Qt Bluetooth installPackages+=(bluez-libs-devel) +# QtNfc +installPackages+=(pcsc-lite-devel) # QtWebKit installPackages+=(libxml2-devel) installPackages+=(libxslt-devel) @@ -126,6 +109,9 @@ installPackages+=(xcb-util-image-devel) installPackages+=(xcb-util-keysyms-devel) installPackages+=(xcb-util-wm-devel) installPackages+=(xcb-util-renderutil-devel) +installPackages+=(xcb-util-cursor) +installPackages+=(xcb-util-cursor-devel) + # ODBC support installPackages+=(unixODBC-devel) installPackages+=(unixODBC) @@ -155,16 +141,15 @@ sudo dnf -y module install nodejs:12 # We shouldn't use yum to install virtualenv. The one found from package repo is not # working, but we can use installed pip sudo pip3 install --upgrade pip +# Configure pip +sudo pip config --user set global.index https://ci-files01-hki.ci.qt.io/input/python_module_cache +sudo pip config --user set global.extra-index-url https://pypi.org/simple/ + sudo pip3 install virtualenv wheel +# Just make sure we have virtualenv to run with python3.8 -m virtualenv +sudo python3.8 -m pip install virtualenv wheel sudo /usr/bin/pip3 install wheel -# Install all needed packages in a special wheel cache directory -/usr/bin/pip3 wheel --wheel-dir "$HOME/python3-wheels" -r "${BASH_SOURCE%/*}/../common/shared/requirements.txt" - -# shellcheck source=../common/unix/SetEnvVar.sh -source "${BASH_SOURCE%/*}/../common/unix/SetEnvVar.sh" -SetEnvVar "PYTHON3_WHEEL_CACHE" "$HOME/python3-wheels" -OpenSSLVersion="$(openssl version |cut -b 9-14)" +OpenSSLVersion="$(openssl3 version |cut -b 9-14)" echo "OpenSSL = $OpenSSLVersion" >> ~/versions.txt - diff --git a/coin/provisioning/qtci-linux-RHEL-8.4-x86_64/04-p7zip.sh b/coin/provisioning/qtci-linux-RHEL-8.4-x86_64/04-p7zip.sh index 0c7a9930..9a7e899b 100755 --- a/coin/provisioning/qtci-linux-RHEL-8.4-x86_64/04-p7zip.sh +++ b/coin/provisioning/qtci-linux-RHEL-8.4-x86_64/04-p7zip.sh @@ -1,43 +1,6 @@ #!/usr/bin/env bash - -############################################################################# -## -## Copyright (C) 2021 The Qt Company Ltd. -## Contact: https://www.qt.io/licensing/ -## -## This file is part of the provisioning scripts of the Qt Toolkit. -## -## $QT_BEGIN_LICENSE:LGPL$ -## Commercial License Usage -## Licensees holding valid commercial Qt licenses may use this file in -## accordance with the commercial license agreement provided with the -## Software or, alternatively, in accordance with the terms contained in -## a written agreement between you and The Qt Company. For licensing terms -## and conditions see https://www.qt.io/terms-conditions. For further -## information use the contact form at https://www.qt.io/contact-us. -## -## GNU Lesser General Public License Usage -## Alternatively, this file may be used under the terms of the GNU Lesser -## General Public License version 3 as published by the Free Software -## Foundation and appearing in the file LICENSE.LGPL3 included in the -## packaging of this file. Please review the following information to -## ensure the GNU Lesser General Public License version 3 requirements -## will be met: https://www.gnu.org/licenses/lgpl-3.0.html. -## -## GNU General Public License Usage -## Alternatively, this file may be used under the terms of the GNU -## General Public License version 2.0 or (at your option) the GNU General -## Public license version 3 or any later version approved by the KDE Free -## Qt Foundation. The licenses are as published by the Free Software -## Foundation and appearing in the file LICENSE.GPL2 and LICENSE.GPL3 -## included in the packaging of this file. Please review the following -## information to ensure the GNU General Public License requirements will -## be met: https://www.gnu.org/licenses/gpl-2.0.html and -## https://www.gnu.org/licenses/gpl-3.0.html. -## -## $QT_END_LICENSE$ -## -############################################################################# +# 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 source "${BASH_SOURCE%/*}/../common/unix/DownloadURL.sh" set -ex diff --git a/coin/provisioning/qtci-linux-RHEL-8.4-x86_64/05-libclang-v100-dyn.sh b/coin/provisioning/qtci-linux-RHEL-8.4-x86_64/05-libclang-v100-dyn.sh index fbf34ddd..2e08049d 100755 --- a/coin/provisioning/qtci-linux-RHEL-8.4-x86_64/05-libclang-v100-dyn.sh +++ b/coin/provisioning/qtci-linux-RHEL-8.4-x86_64/05-libclang-v100-dyn.sh @@ -1,4 +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 set -ex BASEDIR=$(dirname "$0") diff --git a/coin/provisioning/qtci-linux-RHEL-8.4-x86_64/05-libclang.sh b/coin/provisioning/qtci-linux-RHEL-8.4-x86_64/05-libclang.sh index 7074cbc1..cc68ed1f 100755 --- a/coin/provisioning/qtci-linux-RHEL-8.4-x86_64/05-libclang.sh +++ b/coin/provisioning/qtci-linux-RHEL-8.4-x86_64/05-libclang.sh @@ -1,4 +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 set -ex BASEDIR=$(dirname "$0") diff --git a/coin/provisioning/qtci-linux-RHEL-8.4-x86_64/07-qnx_710.sh b/coin/provisioning/qtci-linux-RHEL-8.4-x86_64/07-qnx_710.sh deleted file mode 100755 index bd5f8d57..00000000 --- a/coin/provisioning/qtci-linux-RHEL-8.4-x86_64/07-qnx_710.sh +++ /dev/null @@ -1,45 +0,0 @@ -#!/usr/bin/env bash - -############################################################################# -## -## Copyright (C) 2021 The Qt Company Ltd. -## Contact: https://www.qt.io/licensing/ -## -## This file is part of the provisioning scripts of the Qt Toolkit. -## -## $QT_BEGIN_LICENSE:LGPL$ -## Commercial License Usage -## Licensees holding valid commercial Qt licenses may use this file in -## accordance with the commercial license agreement provided with the -## Software or, alternatively, in accordance with the terms contained in -## a written agreement between you and The Qt Company. For licensing terms -## and conditions see https://www.qt.io/terms-conditions. For further -## information use the contact form at https://www.qt.io/contact-us. -## -## GNU Lesser General Public License Usage -## Alternatively, this file may be used under the terms of the GNU Lesser -## General Public License version 3 as published by the Free Software -## Foundation and appearing in the file LICENSE.LGPL3 included in the -## packaging of this file. Please review the following information to -## ensure the GNU Lesser General Public License version 3 requirements -## will be met: https://www.gnu.org/licenses/lgpl-3.0.html. -## -## GNU General Public License Usage -## Alternatively, this file may be used under the terms of the GNU -## General Public License version 2.0 or (at your option) the GNU General -## Public license version 3 or any later version approved by the KDE Free -## Qt Foundation. The licenses are as published by the Free Software -## Foundation and appearing in the file LICENSE.GPL2 and LICENSE.GPL3 -## included in the packaging of this file. Please review the following -## information to ensure the GNU General Public License requirements will -## be met: https://www.gnu.org/licenses/gpl-2.0.html and -## https://www.gnu.org/licenses/gpl-3.0.html. -## -## $QT_END_LICENSE$ -## -############################################################################# - -set -ex - -# shellcheck source=../common/linux/qnx_700.sh -source "${BASH_SOURCE%/*}/../common/linux/qnx_710.sh" diff --git a/coin/provisioning/qtci-linux-RHEL-8.4-x86_64/09-disable_selinux.sh b/coin/provisioning/qtci-linux-RHEL-8.4-x86_64/09-disable_selinux.sh index 34747e07..1659419a 100755 --- a/coin/provisioning/qtci-linux-RHEL-8.4-x86_64/09-disable_selinux.sh +++ b/coin/provisioning/qtci-linux-RHEL-8.4-x86_64/09-disable_selinux.sh @@ -1,43 +1,6 @@ #!/usr/bin/env bash - -############################################################################# -## -## Copyright (C) 2017 The Qt Company Ltd. -## Contact: https://www.qt.io/licensing/ -## -## This file is part of the provisioning scripts of the Qt Toolkit. -## -## $QT_BEGIN_LICENSE:LGPL$ -## Commercial License Usage -## Licensees holding valid commercial Qt licenses may use this file in -## accordance with the commercial license agreement provided with the -## Software or, alternatively, in accordance with the terms contained in -## a written agreement between you and The Qt Company. For licensing terms -## and conditions see https://www.qt.io/terms-conditions. For further -## information use the contact form at https://www.qt.io/contact-us. -## -## GNU Lesser General Public License Usage -## Alternatively, this file may be used under the terms of the GNU Lesser -## General Public License version 3 as published by the Free Software -## Foundation and appearing in the file LICENSE.LGPL3 included in the -## packaging of this file. Please review the following information to -## ensure the GNU Lesser General Public License version 3 requirements -## will be met: https://www.gnu.org/licenses/lgpl-3.0.html. -## -## GNU General Public License Usage -## Alternatively, this file may be used under the terms of the GNU -## General Public License version 2.0 or (at your option) the GNU General -## Public license version 3 or any later version approved by the KDE Free -## Qt Foundation. The licenses are as published by the Free Software -## Foundation and appearing in the file LICENSE.GPL2 and LICENSE.GPL3 -## included in the packaging of this file. Please review the following -## information to ensure the GNU General Public License requirements will -## be met: https://www.gnu.org/licenses/gpl-2.0.html and -## https://www.gnu.org/licenses/gpl-3.0.html. -## -## $QT_END_LICENSE$ -## -############################################################################# +# Copyright (C) 2017 The Qt Company Ltd. +# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only set -ex diff --git a/coin/provisioning/qtci-linux-RHEL-8.4-x86_64/09-openssl.sh b/coin/provisioning/qtci-linux-RHEL-8.4-x86_64/09-openssl.sh new file mode 100755 index 00000000..ae8024f2 --- /dev/null +++ b/coin/provisioning/qtci-linux-RHEL-8.4-x86_64/09-openssl.sh @@ -0,0 +1,10 @@ +#!/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 + +# Required by Rhel source build +sudo yum -y install perl-IPC-Cmd + +"$(dirname "$0")/../common/unix/install-openssl.sh" "linux" diff --git a/coin/provisioning/qtci-linux-RHEL-8.4-x86_64/22-mqtt_broker.sh b/coin/provisioning/qtci-linux-RHEL-8.4-x86_64/22-mqtt_broker.sh index e0875b37..c81f5c66 100755 --- a/coin/provisioning/qtci-linux-RHEL-8.4-x86_64/22-mqtt_broker.sh +++ b/coin/provisioning/qtci-linux-RHEL-8.4-x86_64/22-mqtt_broker.sh @@ -1,43 +1,6 @@ #!/usr/bin/env bash - -############################################################################# -## -## Copyright (C) 2017 The Qt Company Ltd. -## Contact: https://www.qt.io/licensing/ -## -## This file is part of the provisioning scripts of the Qt Toolkit. -## -## $QT_BEGIN_LICENSE:LGPL$ -## Commercial License Usage -## Licensees holding valid commercial Qt licenses may use this file in -## accordance with the commercial license agreement provided with the -## Software or, alternatively, in accordance with the terms contained in -## a written agreement between you and The Qt Company. For licensing terms -## and conditions see https://www.qt.io/terms-conditions. For further -## information use the contact form at https://www.qt.io/contact-us. -## -## GNU Lesser General Public License Usage -## Alternatively, this file may be used under the terms of the GNU Lesser -## General Public License version 3 as published by the Free Software -## Foundation and appearing in the file LICENSE.LGPL3 included in the -## packaging of this file. Please review the following information to -## ensure the GNU Lesser General Public License version 3 requirements -## will be met: https://www.gnu.org/licenses/lgpl-3.0.html. -## -## GNU General Public License Usage -## Alternatively, this file may be used under the terms of the GNU -## General Public License version 2.0 or (at your option) the GNU General -## Public license version 3 or any later version approved by the KDE Free -## Qt Foundation. The licenses are as published by the Free Software -## Foundation and appearing in the file LICENSE.GPL2 and LICENSE.GPL3 -## included in the packaging of this file. Please review the following -## information to ensure the GNU General Public License requirements will -## be met: https://www.gnu.org/licenses/gpl-2.0.html and -## https://www.gnu.org/licenses/gpl-3.0.html. -## -## $QT_END_LICENSE$ -## -############################################################################# +# 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 # shellcheck source=../common/unix/mqtt_broker.sh source "${BASH_SOURCE%/*}/../common/unix/mqtt_broker.sh" diff --git a/coin/provisioning/qtci-linux-RHEL-8.4-x86_64/30-fbx.sh b/coin/provisioning/qtci-linux-RHEL-8.4-x86_64/30-fbx.sh index d8df4375..16a9bda8 100755 --- a/coin/provisioning/qtci-linux-RHEL-8.4-x86_64/30-fbx.sh +++ b/coin/provisioning/qtci-linux-RHEL-8.4-x86_64/30-fbx.sh @@ -1,4 +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 set -ex diff --git a/coin/provisioning/qtci-linux-RHEL-8.4-x86_64/30-install-conan.sh b/coin/provisioning/qtci-linux-RHEL-8.4-x86_64/30-install-conan.sh index ec54fa54..67a4f911 100755 --- a/coin/provisioning/qtci-linux-RHEL-8.4-x86_64/30-install-conan.sh +++ b/coin/provisioning/qtci-linux-RHEL-8.4-x86_64/30-install-conan.sh @@ -1,4 +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 set -ex diff --git a/coin/provisioning/qtci-linux-RHEL-8.4-x86_64/30-install-git.sh b/coin/provisioning/qtci-linux-RHEL-8.4-x86_64/30-install-git.sh new file mode 100755 index 00000000..7a73f354 --- /dev/null +++ b/coin/provisioning/qtci-linux-RHEL-8.4-x86_64/30-install-git.sh @@ -0,0 +1,8 @@ +#!/usr/bin/env bash +#Copyright (C) 2023 The Qt Company Ltd +#SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only + +set -ex + +BASEDIR=$(dirname "$0") +"$BASEDIR/../common/linux/install-git.sh" diff --git a/coin/provisioning/qtci-linux-RHEL-8.4-x86_64/30-install_icu.sh b/coin/provisioning/qtci-linux-RHEL-8.4-x86_64/30-install_icu.sh index b38845c5..ac47413c 100755 --- a/coin/provisioning/qtci-linux-RHEL-8.4-x86_64/30-install_icu.sh +++ b/coin/provisioning/qtci-linux-RHEL-8.4-x86_64/30-install_icu.sh @@ -1,43 +1,6 @@ #!/usr/bin/env bash - -############################################################################# -## -## Copyright (C) 2021 The Qt Company Ltd. -## Contact: https://www.qt.io/licensing/ -## -## This file is part of the provisioning scripts of the Qt Toolkit. -## -## $QT_BEGIN_LICENSE:LGPL$ -## Commercial License Usage -## Licensees holding valid commercial Qt licenses may use this file in -## accordance with the commercial license agreement provided with the -## Software or, alternatively, in accordance with the terms contained in -## a written agreement between you and The Qt Company. For licensing terms -## and conditions see https://www.qt.io/terms-conditions. For further -## information use the contact form at https://www.qt.io/contact-us. -## -## GNU Lesser General Public License Usage -## Alternatively, this file may be used under the terms of the GNU Lesser -## General Public License version 3 as published by the Free Software -## Foundation and appearing in the file LICENSE.LGPL3 included in the -## packaging of this file. Please review the following information to -## ensure the GNU Lesser General Public License version 3 requirements -## will be met: https://www.gnu.org/licenses/lgpl-3.0.html. -## -## GNU General Public License Usage -## Alternatively, this file may be used under the terms of the GNU -## General Public License version 2.0 or (at your option) the GNU General -## Public license version 3 or any later version approved by the KDE Free -## Qt Foundation. The licenses are as published by the Free Software -## Foundation and appearing in the file LICENSE.GPL2 and LICENSE.GPL3 -## included in the packaging of this file. Please review the following -## information to ensure the GNU General Public License requirements will -## be met: https://www.gnu.org/licenses/gpl-2.0.html and -## https://www.gnu.org/licenses/gpl-3.0.html. -## -## $QT_END_LICENSE$ -## -############################################################################# +# 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 # shellcheck source=../common/unix/DownloadURL.sh source "${BASH_SOURCE%/*}/../common/unix/DownloadURL.sh" @@ -49,11 +12,11 @@ set -ex icuVersion="56.1" icuLocation="/usr/lib64" sha1="6dd9ca6b185681a7ddc4bb94fd7fced27647a21c" -baseBinaryPackageURL="http://ci-files01-hki.intra.qt.io/input/icu/$icuVersion/icu-linux-g++-Rhel7.2-x64.7z" +baseBinaryPackageURL="http://ci-files01-hki.ci.qt.io/input/icu/$icuVersion/icu-linux-g++-Rhel7.2-x64.7z" baseBinaryPackageExternalURL="http://master.qt.io/development_releases/prebuilt/icu/prebuilt/$icuVersion/icu-linux-g++-Rhel7.2-x64.7z" sha1Dev="bffde26cdea752bee0edd281820c57f1adac3864" -develPackageURL="http://ci-files01-hki.intra.qt.io/input/icu/$icuVersion/icu-linux-g++-Rhel7.2-x64-devel.7z" +develPackageURL="http://ci-files01-hki.ci.qt.io/input/icu/$icuVersion/icu-linux-g++-Rhel7.2-x64-devel.7z" develPackageExternalURL="http://master.qt.io/development_releases/prebuilt/icu/prebuilt/$icuVersion/icu-linux-g++-Rhel7.2-x64-devel.7z" echo "Installing custom ICU $icuVersion $sha1 packages on RHEL to $icuLocation" diff --git a/coin/provisioning/qtci-linux-RHEL-8.4-x86_64/35-install-breakpad.sh b/coin/provisioning/qtci-linux-RHEL-8.4-x86_64/35-install-breakpad.sh index 74dd1579..8a9dde56 100755 --- a/coin/provisioning/qtci-linux-RHEL-8.4-x86_64/35-install-breakpad.sh +++ b/coin/provisioning/qtci-linux-RHEL-8.4-x86_64/35-install-breakpad.sh @@ -1,4 +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 set -ex diff --git a/coin/provisioning/qtci-linux-RHEL-8.4-x86_64/40-android_linux.sh b/coin/provisioning/qtci-linux-RHEL-8.4-x86_64/40-android_linux.sh index 1e01ed19..7ac2ce72 100755 --- a/coin/provisioning/qtci-linux-RHEL-8.4-x86_64/40-android_linux.sh +++ b/coin/provisioning/qtci-linux-RHEL-8.4-x86_64/40-android_linux.sh @@ -1,43 +1,6 @@ #!/usr/bin/env bash - -############################################################################# -## -## Copyright (C) 2017 The Qt Company Ltd. -## Contact: https://www.qt.io/licensing/ -## -## This file is part of the provisioning scripts of the Qt Toolkit. -## -## $QT_BEGIN_LICENSE:LGPL$ -## Commercial License Usage -## Licensees holding valid commercial Qt licenses may use this file in -## accordance with the commercial license agreement provided with the -## Software or, alternatively, in accordance with the terms contained in -## a written agreement between you and The Qt Company. For licensing terms -## and conditions see https://www.qt.io/terms-conditions. For further -## information use the contact form at https://www.qt.io/contact-us. -## -## GNU Lesser General Public License Usage -## Alternatively, this file may be used under the terms of the GNU Lesser -## General Public License version 3 as published by the Free Software -## Foundation and appearing in the file LICENSE.LGPL3 included in the -## packaging of this file. Please review the following information to -## ensure the GNU Lesser General Public License version 3 requirements -## will be met: https://www.gnu.org/licenses/lgpl-3.0.html. -## -## GNU General Public License Usage -## Alternatively, this file may be used under the terms of the GNU -## General Public License version 2.0 or (at your option) the GNU General -## Public license version 3 or any later version approved by the KDE Free -## Qt Foundation. The licenses are as published by the Free Software -## Foundation and appearing in the file LICENSE.GPL2 and LICENSE.GPL3 -## included in the packaging of this file. Please review the following -## information to ensure the GNU General Public License requirements will -## be met: https://www.gnu.org/licenses/gpl-2.0.html and -## https://www.gnu.org/licenses/gpl-3.0.html. -## -## $QT_END_LICENSE$ -## -############################################################################# +# Copyright (C) 2017 The Qt Company Ltd. +# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only set -ex diff --git a/coin/provisioning/qtci-linux-RHEL-8.4-x86_64/40-install-cmake.sh b/coin/provisioning/qtci-linux-RHEL-8.4-x86_64/40-install-cmake.sh index 8a7033a2..41139756 100755 --- a/coin/provisioning/qtci-linux-RHEL-8.4-x86_64/40-install-cmake.sh +++ b/coin/provisioning/qtci-linux-RHEL-8.4-x86_64/40-install-cmake.sh @@ -1,43 +1,6 @@ #!/usr/bin/env bash - -############################################################################# -## -## Copyright (C) 2017 The Qt Company Ltd. -## Contact: https://www.qt.io/licensing/ -## -## This file is part of the provisioning scripts of the Qt Toolkit. -## -## $QT_BEGIN_LICENSE:LGPL$ -## Commercial License Usage -## Licensees holding valid commercial Qt licenses may use this file in -## accordance with the commercial license agreement provided with the -## Software or, alternatively, in accordance with the terms contained in -## a written agreement between you and The Qt Company. For licensing terms -## and conditions see https://www.qt.io/terms-conditions. For further -## information use the contact form at https://www.qt.io/contact-us. -## -## GNU Lesser General Public License Usage -## Alternatively, this file may be used under the terms of the GNU Lesser -## General Public License version 3 as published by the Free Software -## Foundation and appearing in the file LICENSE.LGPL3 included in the -## packaging of this file. Please review the following information to -## ensure the GNU Lesser General Public License version 3 requirements -## will be met: https://www.gnu.org/licenses/lgpl-3.0.html. -## -## GNU General Public License Usage -## Alternatively, this file may be used under the terms of the GNU -## General Public License version 2.0 or (at your option) the GNU General -## Public license version 3 or any later version approved by the KDE Free -## Qt Foundation. The licenses are as published by the Free Software -## Foundation and appearing in the file LICENSE.GPL2 and LICENSE.GPL3 -## included in the packaging of this file. Please review the following -## information to ensure the GNU General Public License requirements will -## be met: https://www.gnu.org/licenses/gpl-2.0.html and -## https://www.gnu.org/licenses/gpl-3.0.html. -## -## $QT_END_LICENSE$ -## -############################################################################# +# 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 installs CMake 3.6.2 diff --git a/coin/provisioning/qtci-linux-RHEL-8.4-x86_64/50-openssl_for_android_linux.sh b/coin/provisioning/qtci-linux-RHEL-8.4-x86_64/50-openssl_for_android_linux.sh index 05306ed1..3872e744 100755 --- a/coin/provisioning/qtci-linux-RHEL-8.4-x86_64/50-openssl_for_android_linux.sh +++ b/coin/provisioning/qtci-linux-RHEL-8.4-x86_64/50-openssl_for_android_linux.sh @@ -1,43 +1,6 @@ #!/usr/bin/env bash - -############################################################################# -## -## Copyright (C) 2021 The Qt Company Ltd. -## Contact: https://www.qt.io/licensing/ -## -## This file is part of the provisioning scripts of the Qt Toolkit. -## -## $QT_BEGIN_LICENSE:LGPL$ -## Commercial License Usage -## Licensees holding valid commercial Qt licenses may use this file in -## accordance with the commercial license agreement provided with the -## Software or, alternatively, in accordance with the terms contained in -## a written agreement between you and The Qt Company. For licensing terms -## and conditions see https://www.qt.io/terms-conditions. For further -## information use the contact form at https://www.qt.io/contact-us. -## -## GNU Lesser General Public License Usage -## Alternatively, this file may be used under the terms of the GNU Lesser -## General Public License version 3 as published by the Free Software -## Foundation and appearing in the file LICENSE.LGPL3 included in the -## packaging of this file. Please review the following information to -## ensure the GNU Lesser General Public License version 3 requirements -## will be met: https://www.gnu.org/licenses/lgpl-3.0.html. -## -## GNU General Public License Usage -## Alternatively, this file may be used under the terms of the GNU -## General Public License version 2.0 or (at your option) the GNU General -## Public license version 3 or any later version approved by the KDE Free -## Qt Foundation. The licenses are as published by the Free Software -## Foundation and appearing in the file LICENSE.GPL2 and LICENSE.GPL3 -## included in the packaging of this file. Please review the following -## information to ensure the GNU General Public License requirements will -## be met: https://www.gnu.org/licenses/gpl-2.0.html and -## https://www.gnu.org/licenses/gpl-3.0.html. -## -## $QT_END_LICENSE$ -## -############################################################################# +# Copyright (C) 2021 The Qt Company Ltd. +# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only set -ex # shellcheck source=../common/unix/openssl_for_android.sh diff --git a/coin/provisioning/qtci-linux-RHEL-8.4-x86_64/60-install_protobuf.sh b/coin/provisioning/qtci-linux-RHEL-8.4-x86_64/60-install_protobuf.sh new file mode 100755 index 00000000..c538ca07 --- /dev/null +++ b/coin/provisioning/qtci-linux-RHEL-8.4-x86_64/60-install_protobuf.sh @@ -0,0 +1,9 @@ +#!/usr/bin/env bash +# Copyright (C) 2022 The Qt Company Ltd. +# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only + +set -ex + +# shellcheck source=../common/unix/install_protobuf.sh +source "${BASH_SOURCE%/*}/../common/unix/install_protobuf.sh" + diff --git a/coin/provisioning/qtci-linux-RHEL-8.4-x86_64/60-install_protobuff.sh b/coin/provisioning/qtci-linux-RHEL-8.4-x86_64/60-install_protobuff.sh deleted file mode 100755 index 2f55353a..00000000 --- a/coin/provisioning/qtci-linux-RHEL-8.4-x86_64/60-install_protobuff.sh +++ /dev/null @@ -1,46 +0,0 @@ -#!/usr/bin/env bash - -############################################################################# -## -## Copyright (C) 2018 The Qt Company Ltd. -## Contact: https://www.qt.io/licensing/ -## -## This file is part of the provisioning scripts of the Qt Toolkit. -## -## $QT_BEGIN_LICENSE:LGPL$ -## Commercial License Usage -## Licensees holding valid commercial Qt licenses may use this file in -## accordance with the commercial license agreement provided with the -## Software or, alternatively, in accordance with the terms contained in -## a written agreement between you and The Qt Company. For licensing terms -## and conditions see https://www.qt.io/terms-conditions. For further -## information use the contact form at https://www.qt.io/contact-us. -## -## GNU Lesser General Public License Usage -## Alternatively, this file may be used under the terms of the GNU Lesser -## General Public License version 3 as published by the Free Software -## Foundation and appearing in the file LICENSE.LGPL3 included in the -## packaging of this file. Please review the following information to -## ensure the GNU Lesser General Public License version 3 requirements -## will be met: https://www.gnu.org/licenses/lgpl-3.0.html. -## -## GNU General Public License Usage -## Alternatively, this file may be used under the terms of the GNU -## General Public License version 2.0 or (at your option) the GNU General -## Public license version 3 or any later version approved by the KDE Free -## Qt Foundation. The licenses are as published by the Free Software -## Foundation and appearing in the file LICENSE.GPL2 and LICENSE.GPL3 -## included in the packaging of this file. Please review the following -## information to ensure the GNU General Public License requirements will -## be met: https://www.gnu.org/licenses/gpl-2.0.html and -## https://www.gnu.org/licenses/gpl-3.0.html. -## -## $QT_END_LICENSE$ -## -############################################################################# - -set -ex - -# shellcheck source=../common/unix/install_protobuff.sh -source "${BASH_SOURCE%/*}/../common/unix/install_protobuff.sh" - diff --git a/coin/provisioning/qtci-linux-RHEL-8.4-x86_64/61-install_grpc.sh b/coin/provisioning/qtci-linux-RHEL-8.4-x86_64/61-install_grpc.sh new file mode 100755 index 00000000..ecd6a51f --- /dev/null +++ b/coin/provisioning/qtci-linux-RHEL-8.4-x86_64/61-install_grpc.sh @@ -0,0 +1,9 @@ +#!/usr/bin/env bash +# Copyright (C) 2022 The Qt Company Ltd. +# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only + +set -ex + +# shellcheck source=../common/unix/install_grpc.sh +source "${BASH_SOURCE%/*}/../common/unix/install_grpc.sh" + diff --git a/coin/provisioning/qtci-linux-RHEL-8.4-x86_64/70-install_QemuGA.sh b/coin/provisioning/qtci-linux-RHEL-8.4-x86_64/70-install_QemuGA.sh index a5c865a1..27ee6f50 100755 --- a/coin/provisioning/qtci-linux-RHEL-8.4-x86_64/70-install_QemuGA.sh +++ b/coin/provisioning/qtci-linux-RHEL-8.4-x86_64/70-install_QemuGA.sh @@ -1,43 +1,6 @@ #!/usr/bin/env bash - -############################################################################# -## -## Copyright (C) 2020 The Qt Company Ltd. -## Contact: https://www.qt.io/licensing/ -## -## This file is part of the provisioning scripts of the Qt Toolkit. -## -## $QT_BEGIN_LICENSE:LGPL$ -## Commercial License Usage -## Licensees holding valid commercial Qt licenses may use this file in -## accordance with the commercial license agreement provided with the -## Software or, alternatively, in accordance with the terms contained in -## a written agreement between you and The Qt Company. For licensing terms -## and conditions see https://www.qt.io/terms-conditions. For further -## information use the contact form at https://www.qt.io/contact-us. -## -## GNU Lesser General Public License Usage -## Alternatively, this file may be used under the terms of the GNU Lesser -## General Public License version 3 as published by the Free Software -## Foundation and appearing in the file LICENSE.LGPL3 included in the -## packaging of this file. Please review the following information to -## ensure the GNU Lesser General Public License version 3 requirements -## will be met: https://www.gnu.org/licenses/lgpl-3.0.html. -## -## GNU General Public License Usage -## Alternatively, this file may be used under the terms of the GNU -## General Public License version 2.0 or (at your option) the GNU General -## Public license version 3 or any later version approved by the KDE Free -## Qt Foundation. The licenses are as published by the Free Software -## Foundation and appearing in the file LICENSE.GPL2 and LICENSE.GPL3 -## included in the packaging of this file. Please review the following -## information to ensure the GNU General Public License requirements will -## be met: https://www.gnu.org/licenses/gpl-2.0.html and -## https://www.gnu.org/licenses/gpl-3.0.html. -## -## $QT_END_LICENSE$ -## -############################################################################# +# Copyright (C) 2020 The Qt Company Ltd. +# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only # This script installs QEMU Guest Agent diff --git a/coin/provisioning/qtci-linux-RHEL-8.4-x86_64/70-install_dwz.sh b/coin/provisioning/qtci-linux-RHEL-8.4-x86_64/70-install_dwz.sh index 947e7bde..ef076d7c 100755 --- a/coin/provisioning/qtci-linux-RHEL-8.4-x86_64/70-install_dwz.sh +++ b/coin/provisioning/qtci-linux-RHEL-8.4-x86_64/70-install_dwz.sh @@ -1,43 +1,6 @@ #!/usr/bin/env bash - -############################################################################# -## -## Copyright (C) 2020 Konstantin Tokarev <annulen@yandex.ru> -## Contact: https://www.qt.io/licensing/ -## -## This file is part of the provisioning scripts of the Qt Toolkit. -## -## $QT_BEGIN_LICENSE:LGPL$ -## Commercial License Usage -## Licensees holding valid commercial Qt licenses may use this file in -## accordance with the commercial license agreement provided with the -## Software or, alternatively, in accordance with the terms contained in -## a written agreement between you and The Qt Company. For licensing terms -## and conditions see https://www.qt.io/terms-conditions. For further -## information use the contact form at https://www.qt.io/contact-us. -## -## GNU Lesser General Public License Usage -## Alternatively, this file may be used under the terms of the GNU Lesser -## General Public License version 3 as published by the Free Software -## Foundation and appearing in the file LICENSE.LGPL3 included in the -## packaging of this file. Please review the following information to -## ensure the GNU Lesser General Public License version 3 requirements -## will be met: https://www.gnu.org/licenses/lgpl-3.0.html. -## -## GNU General Public License Usage -## Alternatively, this file may be used under the terms of the GNU -## General Public License version 2.0 or (at your option) the GNU General -## Public license version 3 or any later version approved by the KDE Free -## Qt Foundation. The licenses are as published by the Free Software -## Foundation and appearing in the file LICENSE.GPL2 and LICENSE.GPL3 -## included in the packaging of this file. Please review the following -## information to ensure the GNU General Public License requirements will -## be met: https://www.gnu.org/licenses/gpl-2.0.html and -## https://www.gnu.org/licenses/gpl-3.0.html. -## -## $QT_END_LICENSE$ -## -############################################################################# +# Copyright (C) 2020 Konstantin Tokarev <annulen@yandex.ru> +# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only set -ex diff --git a/coin/provisioning/qtci-linux-RHEL-8.4-x86_64/90-bootstrap-autostart.sh b/coin/provisioning/qtci-linux-RHEL-8.4-x86_64/90-bootstrap-autostart.sh new file mode 100755 index 00000000..1ff43850 --- /dev/null +++ b/coin/provisioning/qtci-linux-RHEL-8.4-x86_64/90-bootstrap-autostart.sh @@ -0,0 +1,3 @@ +#!/usr/bin/env bash + +source "${BASH_SOURCE%/*}/../common/linux/bootstrap-autostart.sh" diff --git a/coin/provisioning/qtci-linux-RHEL-8.4-x86_64/90-install-ffmpeg.sh b/coin/provisioning/qtci-linux-RHEL-8.4-x86_64/90-install-ffmpeg.sh new file mode 100755 index 00000000..333885a3 --- /dev/null +++ b/coin/provisioning/qtci-linux-RHEL-8.4-x86_64/90-install-ffmpeg.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 + +source "${BASH_SOURCE%/*}/../common/unix/install-ffmpeg.sh" "linux" +source "${BASH_SOURCE%/*}/../common/unix/install-ffmpeg-android.sh" "android-x86" +source "${BASH_SOURCE%/*}/../common/unix/install-ffmpeg-android.sh" "android-x86_64" diff --git a/coin/provisioning/qtci-linux-RHEL-8.4-x86_64/90-mimer.sh b/coin/provisioning/qtci-linux-RHEL-8.4-x86_64/90-mimer.sh new file mode 100755 index 00000000..bff2a7c7 --- /dev/null +++ b/coin/provisioning/qtci-linux-RHEL-8.4-x86_64/90-mimer.sh @@ -0,0 +1,8 @@ +#!/usr/bin/env bash +# Copyright (C) 2022 The Qt Company Ltd. +# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only + +set -ex + +BASEDIR=$(dirname "$0") +"$BASEDIR/../common/linux/mimersql.sh" "openssl-1" "rpm" diff --git a/coin/provisioning/qtci-linux-RHEL-8.4-x86_64/90-squish.sh b/coin/provisioning/qtci-linux-RHEL-8.4-x86_64/90-squish.sh index e4281588..f803ccc1 100755 --- a/coin/provisioning/qtci-linux-RHEL-8.4-x86_64/90-squish.sh +++ b/coin/provisioning/qtci-linux-RHEL-8.4-x86_64/90-squish.sh @@ -1,4 +1,6 @@ #!/usr/bin/env bash +#Copyright (C) 2023 The Qt Company Ltd +#SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only BASEDIR=$(dirname "$0") "$BASEDIR/../common/unix/squishInstall.sh" diff --git a/coin/provisioning/qtci-linux-RHEL-8.4-x86_64/99-cleanup.sh b/coin/provisioning/qtci-linux-RHEL-8.4-x86_64/99-cleanup.sh new file mode 100755 index 00000000..4d6e16ea --- /dev/null +++ b/coin/provisioning/qtci-linux-RHEL-8.4-x86_64/99-cleanup.sh @@ -0,0 +1,7 @@ +#!/usr/bin/env bash +# Copyright (C) 2022 The Qt Company Ltd. +# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only + +set -ex + +"$(dirname "$0")"/../common/linux/cleanup_cache.sh diff --git a/coin/provisioning/qtci-linux-RHEL-8.4-x86_64/99-version.sh b/coin/provisioning/qtci-linux-RHEL-8.4-x86_64/99-version.sh index 87825b16..00d06674 100755 --- a/coin/provisioning/qtci-linux-RHEL-8.4-x86_64/99-version.sh +++ b/coin/provisioning/qtci-linux-RHEL-8.4-x86_64/99-version.sh @@ -1,43 +1,6 @@ #!/usr/bin/env bash - -############################################################################# -## -## Copyright (C) 2018 The Qt Company Ltd. -## Contact: https://www.qt.io/licensing/ -## -## This file is part of the provisioning scripts of the Qt Toolkit. -## -## $QT_BEGIN_LICENSE:LGPL$ -## Commercial License Usage -## Licensees holding valid commercial Qt licenses may use this file in -## accordance with the commercial license agreement provided with the -## Software or, alternatively, in accordance with the terms contained in -## a written agreement between you and The Qt Company. For licensing terms -## and conditions see https://www.qt.io/terms-conditions. For further -## information use the contact form at https://www.qt.io/contact-us. -## -## GNU Lesser General Public License Usage -## Alternatively, this file may be used under the terms of the GNU Lesser -## General Public License version 3 as published by the Free Software -## Foundation and appearing in the file LICENSE.LGPL3 included in the -## packaging of this file. Please review the following information to -## ensure the GNU Lesser General Public License version 3 requirements -## will be met: https://www.gnu.org/licenses/lgpl-3.0.html. -## -## GNU General Public License Usage -## Alternatively, this file may be used under the terms of the GNU -## General Public License version 2.0 or (at your option) the GNU General -## Public license version 3 or any later version approved by the KDE Free -## Qt Foundation. The licenses are as published by the Free Software -## Foundation and appearing in the file LICENSE.GPL2 and LICENSE.GPL3 -## included in the packaging of this file. Please review the following -## information to ensure the GNU General Public License requirements will -## be met: https://www.gnu.org/licenses/gpl-2.0.html and -## https://www.gnu.org/licenses/gpl-3.0.html. -## -## $QT_END_LICENSE$ -## -############################################################################# +# Copyright (C) 2018 The Qt Company Ltd. +# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only # This script needs to be called last during provisioning so that the software information will show up last in provision log. diff --git a/coin/provisioning/qtci-linux-RHEL-8.6-x86_64/01-disable-automounting.sh b/coin/provisioning/qtci-linux-RHEL-8.6-x86_64/01-disable-automounting.sh new file mode 100755 index 00000000..c9d490b1 --- /dev/null +++ b/coin/provisioning/qtci-linux-RHEL-8.6-x86_64/01-disable-automounting.sh @@ -0,0 +1,15 @@ +#!/usr/bin/env bash + +# Copyright (C) 2023 The Qt Company Ltd. +# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only + +set -ex + +sudo tee -a /etc/dconf/db/local.d/00-media-automount <<"EOF" +[org/gnome/desktop/media-handling] +automount=false +automount-open=false +EOF + +sudo dconf update + diff --git a/coin/provisioning/qtci-linux-CentOS-8.3-x86_64/01-disable_net_lso.sh b/coin/provisioning/qtci-linux-RHEL-8.6-x86_64/01-disable_net_lso.sh index 4da6aaaa..4da6aaaa 100755 --- a/coin/provisioning/qtci-linux-CentOS-8.3-x86_64/01-disable_net_lso.sh +++ b/coin/provisioning/qtci-linux-RHEL-8.6-x86_64/01-disable_net_lso.sh diff --git a/coin/provisioning/qtci-linux-CentOS-8.3-x86_64/01-install_telegraf.sh b/coin/provisioning/qtci-linux-RHEL-8.6-x86_64/01-install_telegraf.sh index 729f9003..729f9003 100755 --- a/coin/provisioning/qtci-linux-CentOS-8.3-x86_64/01-install_telegraf.sh +++ b/coin/provisioning/qtci-linux-RHEL-8.6-x86_64/01-install_telegraf.sh diff --git a/coin/provisioning/qtci-linux-RHEL-8.6-x86_64/01-refresh-subscription-manager.sh b/coin/provisioning/qtci-linux-RHEL-8.6-x86_64/01-refresh-subscription-manager.sh new file mode 100755 index 00000000..51417f1b --- /dev/null +++ b/coin/provisioning/qtci-linux-RHEL-8.6-x86_64/01-refresh-subscription-manager.sh @@ -0,0 +1,18 @@ +#!/usr/bin/env bash + +# Copyright (C) 2023 The Qt Company Ltd. +# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only + +set -e + +curl --retry 5 --retry-delay 10 --retry-max-time 60 http://ci-files01-hki.ci.qt.io/input/semisecure/redhat_ak_all_versions.sh -o "/tmp/redhat_ak.sh" &>/dev/null +sudo chmod 755 /tmp/redhat_ak.sh +/tmp/redhat_ak.sh + +# refresh local certificates +sudo subscription-manager refresh + +# Attach available subscriptions to system. This is needed when subscriptions are renewed. +sudo subscription-manager attach --auto + +sudo rm -f /tmp/redhat_ak.sh diff --git a/coin/provisioning/qtci-linux-RHEL-8.6-x86_64/01-remove_network_manager_secret_key.sh b/coin/provisioning/qtci-linux-RHEL-8.6-x86_64/01-remove_network_manager_secret_key.sh new file mode 100755 index 00000000..7f9790ae --- /dev/null +++ b/coin/provisioning/qtci-linux-RHEL-8.6-x86_64/01-remove_network_manager_secret_key.sh @@ -0,0 +1,11 @@ +#!/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 + +# Ipv6 link local becomes tentative and dadfailed if two systems has the same secret_key +# New unique secret key will be created automatically during start up. +# https://access.redhat.com/solutions/3553581 +echo "Removing secret_key" +sudo rm -f "/var/lib/NetworkManager/secret_key" + + diff --git a/coin/provisioning/qtci-linux-RHEL-8.6-x86_64/01-remove_stable-privacy.sh b/coin/provisioning/qtci-linux-RHEL-8.6-x86_64/01-remove_stable-privacy.sh new file mode 100755 index 00000000..29be3fbd --- /dev/null +++ b/coin/provisioning/qtci-linux-RHEL-8.6-x86_64/01-remove_stable-privacy.sh @@ -0,0 +1,8 @@ +#!/usr/bin/env bash + +# Copyright (C) 2023 The Qt Company Ltd. +# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only +set -ex + +echo "Change default stable-secret to based on MAC" +sudo sed -i '/^IPV6_ADDR_GEN_MODE/d' "/etc/sysconfig/network-scripts/ifcfg-ens3" diff --git a/coin/provisioning/qtci-linux-RHEL-8.6-x86_64/01-set-ulimit.sh b/coin/provisioning/qtci-linux-RHEL-8.6-x86_64/01-set-ulimit.sh new file mode 100755 index 00000000..e951e82a --- /dev/null +++ b/coin/provisioning/qtci-linux-RHEL-8.6-x86_64/01-set-ulimit.sh @@ -0,0 +1,8 @@ +#!/usr/bin/env bash +#Copyright (C) 2023 The Qt Company Ltd +#SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only + +set -ex + +BASEDIR=$(dirname "$0") +"$BASEDIR/../common/linux/set_ulimit.sh" diff --git a/coin/provisioning/qtci-linux-RHEL-8.6-x86_64/01-systemsetup.sh b/coin/provisioning/qtci-linux-RHEL-8.6-x86_64/01-systemsetup.sh new file mode 100755 index 00000000..8d43ace0 --- /dev/null +++ b/coin/provisioning/qtci-linux-RHEL-8.6-x86_64/01-systemsetup.sh @@ -0,0 +1,29 @@ +#!/usr/bin/env bash + +# Copyright (C) 2023 The Qt Company Ltd. +# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only + +set -ex + +BASEDIR=$(dirname "$0") +# shellcheck source=../common/shared/network_test_server_ip.txt +source "$BASEDIR/../common/shared/network_test_server_ip.txt" + +echo "Set Network Test Server address to $network_test_server_ip in /etc/hosts" +echo "$network_test_server_ip qt-test-server qt-test-server.qt-test-net" | sudo tee -a /etc/hosts +echo "Set DISPLAY" +echo 'export DISPLAY=":0"' >> ~/.bashrc +# for current session +export DISPLAY=:0 + +# Set timezone to UTC. +sudo timedatectl set-timezone Etc/UTC +# disable Automatic screen lock +gsettings set org.gnome.desktop.screensaver lock-enabled false +# disable blank screen power saving +gsettings set org.gnome.desktop.session idle-delay 0 + +# Set Wayland enable as false. +echo "Setting Wayland enable as false" +sudo sed -i 's/#WaylandEnable=false/WaylandEnable=false/g' /etc/gdm/custom.conf + diff --git a/coin/provisioning/qtci-linux-RHEL-8.6-x86_64/03-enable-repos.sh b/coin/provisioning/qtci-linux-RHEL-8.6-x86_64/03-enable-repos.sh new file mode 100755 index 00000000..64bf2e93 --- /dev/null +++ b/coin/provisioning/qtci-linux-RHEL-8.6-x86_64/03-enable-repos.sh @@ -0,0 +1,34 @@ +#!/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 + +echo "set WritePreparedUpdates=false" | sudo tee -a /etc/PackageKit/PackageKit.conf +sudo systemctl stop packagekit +sudo systemctl disable packagekit +while sudo fuser /usr/libexec/packagekitd >/dev/null 2>&1; do + echo "Waiting for PackageKit to finish..." + sleep 1 +done +sudo yum -y remove PackageKit gnome-software + +sudo subscription-manager config --rhsm.manage_repos=1 +sudo subscription-manager refresh + +# List available RHEL versions and bind with correct one +sudo subscription-manager release --list +sudo subscription-manager release --set=8.6 +sudo yum clean all + +# sudo yum config-manager --enable 'rhceph-4-tools-for-rhel-8-x86_64-rpms' +sudo yum config-manager --enable 'codeready-builder-for-rhel-8-x86_64-rpms' +sudo yum config-manager --enable 'rhel-8-for-x86_64-baseos-rpms' +sudo yum config-manager --enable 'rhel-8-for-x86_64-appstream-rpms' +# Epel is required for 'double-conversion-devel', 'libsqlite3x' and 'p7zip' +sudo dnf install -y https://dl.fedoraproject.org/pub/epel/epel-release-latest-8.noarch.rpm + +sudo yum clean all +# As well as this fetching the repository data, we also get a printout of the used repos +sudo yum repolist diff --git a/coin/provisioning/qtci-linux-RHEL-8.6-x86_64/03-install-gcc-toolset.sh b/coin/provisioning/qtci-linux-RHEL-8.6-x86_64/03-install-gcc-toolset.sh new file mode 100755 index 00000000..032a841d --- /dev/null +++ b/coin/provisioning/qtci-linux-RHEL-8.6-x86_64/03-install-gcc-toolset.sh @@ -0,0 +1,10 @@ +#!/usr/bin/env bash + +# Copyright (C) 2023 The Qt Company Ltd. +# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only + +set -ex + +sudo yum -y install gcc-toolset-10 + +echo "source /opt/rh/gcc-toolset-10/enable" >> ~/.bashrc diff --git a/coin/provisioning/qtci-linux-RHEL-8.6-x86_64/04-install-packages.sh b/coin/provisioning/qtci-linux-RHEL-8.6-x86_64/04-install-packages.sh new file mode 100755 index 00000000..9a81bd12 --- /dev/null +++ b/coin/provisioning/qtci-linux-RHEL-8.6-x86_64/04-install-packages.sh @@ -0,0 +1,165 @@ +#!/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 + +# Remove update notifications and packagekit running in the background +sudo yum -y remove PackageKit gnome-software + +# CI: All platforms should have up-to-date packages when new provision is made +sudo yum -y update + +installPackages=() +installPackages+=(git) +installPackages+=(zlib-devel) +installPackages+=(glib2-devel) +installPackages+=(openssl3) +installPackages+=(openssl3-devel) +installPackages+=(freetype-devel) +installPackages+=(fontconfig-devel) +installPackages+=(curl-devel) +installPackages+=(expat-devel) +installPackages+=(gettext-devel) +installPackages+=(perl-devel) +installPackages+=(dh-autoreconf) +# cmake build +installPackages+=(ninja-build) +installPackages+=(pcre2-devel) +installPackages+=(double-conversion-devel) +installPackages+=(zstd) +# update kernel +installPackages+=(kernel) +installPackages+=(kernel-tools) +installPackages+=(kernel-devel) +installPackages+=(kernel-core) +installPackages+=(kernel-modules) +installPackages+=(kernel-headers) +# EGL support +# mesa-libraries need to use older version than 22.1.5-2 which cause Xorg to crash +installPackages+=(mesa-libEGL-devel-21.3.4-1.el8) +installPackages+=(mesa-libGL-devel-21.3.4-1.el8) +installPackages+=(mesa-dri-drivers-21.3.4-1.el8.x86_64) +installPackages+=(mesa-libgbm-21.3.4-1.el8.x86_64) +installPackages+=(mesa-vulkan-drivers-21.3.4-1.el8.x86_64) +installPackages+=(libxkbfile-devel) +# Xinput2 +installPackages+=(libXi-devel) +installPackages+=(mysql-server) +installPackages+=(mysql) +installPackages+=(mysql-devel) +installPackages+=(postgresql-devel) +installPackages+=(cups-devel) +installPackages+=(dbus-devel) +# gstreamer 1 for QtMultimedia +# Note! gstreamer1-plugins-bad-free needs to be upgraded or it will conflicts with gstreamer1-plugins-base-devel +installPackages+=(gstreamer1-plugins-bad-free) +installPackages+=(gstreamer1-devel) +installPackages+=(gstreamer1-plugins-base-devel) +# for QtMultimedia, ffmpeg +installPackages+=(yasm) +installPackages+=(libva-devel) +# gtk3 style for QtGui/QStyle +installPackages+=(gtk3-devel) +# libusb1 for tqtc-boot2qt/qdb +installPackages+=(libusbx-devel) +# speech-dispatcher-devel for QtSpeech, otherwise it has no backend on Linux +installPackages+=(speech-dispatcher-devel) +# Python 2 devel and pip. python-pip requires the EPEL repository to be added +installPackages+=(python2-devel python2-pip) +# Python 3 with python-devel, pip and virtualenv +installPackages+=(python36) +installPackages+=(python36-devel) +# Python 3.8 for pyside. Qt for Python support for Python 3.6 will be deprecated in within pyside6.3 +installPackages+=(python38) +installPackages+=(python38-devel) +# WebEngine +installPackages+=(bison) +installPackages+=(flex) +installPackages+=(gperftools-libs) +installPackages+=(gperf) +installPackages+=(alsa-lib-devel) +installPackages+=(pulseaudio-libs-devel) +installPackages+=(libXtst-devel) +installPackages+=(libxshmfence-devel) +installPackages+=(nspr-devel) +installPackages+=(nss-devel) +installPackages+=(python3-html5lib) +# For Android builds +installPackages+=(java-11-openjdk-devel-11.0.19.0.7) +# For receiving shasum +installPackages+=(perl-Digest-SHA) +# INTEGRITY requirements +installPackages+=(glibc.i686) +# Enable Qt Bluetooth +installPackages+=(bluez-libs-devel) +# QtNfc +installPackages+=(pcsc-lite-devel) +# QtWebKit +installPackages+=(libxml2-devel) +installPackages+=(libxslt-devel) +# For building Wayland from source +installPackages+=(libffi-devel) +# QtWayland +installPackages+=(mesa-libwayland-egl) +installPackages+=(mesa-libwayland-egl-devel) +installPackages+=(libwayland-client) +installPackages+=(libwayland-cursor) +installPackages+=(libwayland-server) +# Jenkins +installPackages+=(chrpath) +# libxkbcommon +installPackages+=(libxkbcommon-devel) +installPackages+=(libxkbcommon-x11-devel) +# xcb-util-* libraries +installPackages+=(xcb-util) +installPackages+=(xcb-util-image-devel) +installPackages+=(xcb-util-keysyms-devel) +installPackages+=(xcb-util-wm-devel) +installPackages+=(xcb-util-renderutil-devel) +installPackages+=(xcb-util-cursor) +installPackages+=(xcb-util-cursor-devel) + +# ODBC support +installPackages+=(unixODBC-devel) +installPackages+=(unixODBC) +# Vulkan support +installPackages+=(vulkan-devel) +installPackages+=(vulkan-tools) +# Conan: For Python build +installPackages+=(xz-devel) +installPackages+=(zlib-devel) +installPackages+=(libffi-devel) +installPackages+=(libsqlite3x-devel) +# Build.pl +installPackages+=(perl-Data-Dumper) +# In RedHat these come with Devtoolset +installPackages+=(gcc) +installPackages+=(gcc-c++) +installPackages+=(make) +# Open source VMware Tools +installPackages+=(open-vm-tools) + +sudo yum -y install "${installPackages[@]}" + +sudo ln -s /usr/bin/python2 /usr/bin/python + +sudo dnf -y module install nodejs:16 + +# We shouldn't use yum to install virtualenv. The one found from package repo is not +# working, but we can use installed pip +sudo pip3 install --upgrade pip +# Configure pip +sudo pip config --user set global.index https://ci-files01-hki.ci.qt.io/input/python_module_cache +sudo pip config --user set global.extra-index-url https://pypi.org/simple/ + +sudo pip3 install virtualenv wheel +# Just make sure we have virtualenv to run with python3.8 -m virtualenv +sudo python3.8 -m pip install virtualenv wheel + +sudo /usr/bin/pip3 install wheel +sudo /usr/bin/pip3 install dataclasses + +OpenSSLVersion="$(openssl3 version |cut -b 9-14)" +echo "OpenSSL = $OpenSSLVersion" >> ~/versions.txt diff --git a/coin/provisioning/qtci-linux-RHEL-8.6-x86_64/04-p7zip.sh b/coin/provisioning/qtci-linux-RHEL-8.6-x86_64/04-p7zip.sh new file mode 100755 index 00000000..98be8b40 --- /dev/null +++ b/coin/provisioning/qtci-linux-RHEL-8.6-x86_64/04-p7zip.sh @@ -0,0 +1,17 @@ +#!/usr/bin/env bash + +# Copyright (C) 2023 The Qt Company Ltd. +# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only + +source "${BASH_SOURCE%/*}/../common/unix/DownloadURL.sh" + +set -ex + +name="p7zip" +version="7-11" +sudo yum -y install "$name" + +# Link 7za to 7z so we can use existing installation scripts +sudo ln -s /usr/bin/7za /usr/bin/7z + +echo "$name = $version" >> ~/versions.txt diff --git a/coin/provisioning/qtci-linux-RHEL-8.6-x86_64/05-libclang-v100-dyn.sh b/coin/provisioning/qtci-linux-RHEL-8.6-x86_64/05-libclang-v100-dyn.sh new file mode 100755 index 00000000..2e08049d --- /dev/null +++ b/coin/provisioning/qtci-linux-RHEL-8.6-x86_64/05-libclang-v100-dyn.sh @@ -0,0 +1,8 @@ +#!/usr/bin/env bash +#Copyright (C) 2023 The Qt Company Ltd +#SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only +set -ex + +BASEDIR=$(dirname "$0") +# shellcheck source=../common/unix/libclang-v100-dyn.sh +"$BASEDIR/../common/unix/libclang-v100-dyn.sh" diff --git a/coin/provisioning/qtci-linux-RHEL-8.6-x86_64/05-libclang.sh b/coin/provisioning/qtci-linux-RHEL-8.6-x86_64/05-libclang.sh new file mode 100755 index 00000000..cc68ed1f --- /dev/null +++ b/coin/provisioning/qtci-linux-RHEL-8.6-x86_64/05-libclang.sh @@ -0,0 +1,8 @@ +#!/usr/bin/env bash +#Copyright (C) 2023 The Qt Company Ltd +#SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only +set -ex + +BASEDIR=$(dirname "$0") +# shellcheck source=../common/unix/libclang.sh +"$BASEDIR/../common/unix/libclang.sh" diff --git a/coin/provisioning/qtci-linux-RHEL-8.6-x86_64/09-disable_selinux.sh b/coin/provisioning/qtci-linux-RHEL-8.6-x86_64/09-disable_selinux.sh new file mode 100755 index 00000000..17f9422f --- /dev/null +++ b/coin/provisioning/qtci-linux-RHEL-8.6-x86_64/09-disable_selinux.sh @@ -0,0 +1,9 @@ +#!/usr/bin/env bash + +# Copyright (C) 2023 The Qt Company Ltd. +# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only + +set -ex + +# shellcheck source=../common/linux/disable_selinux.sh +source "${BASH_SOURCE%/*}/../common/linux/disable_selinux.sh" diff --git a/coin/provisioning/qtci-linux-RHEL-8.6-x86_64/09-openssl.sh b/coin/provisioning/qtci-linux-RHEL-8.6-x86_64/09-openssl.sh new file mode 100755 index 00000000..ae8024f2 --- /dev/null +++ b/coin/provisioning/qtci-linux-RHEL-8.6-x86_64/09-openssl.sh @@ -0,0 +1,10 @@ +#!/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 + +# Required by Rhel source build +sudo yum -y install perl-IPC-Cmd + +"$(dirname "$0")/../common/unix/install-openssl.sh" "linux" diff --git a/coin/provisioning/qtci-linux-CentOS-8.3-x86_64/20-sccache.sh b/coin/provisioning/qtci-linux-RHEL-8.6-x86_64/20-sccache.sh index b371d947..b371d947 100755 --- a/coin/provisioning/qtci-linux-CentOS-8.3-x86_64/20-sccache.sh +++ b/coin/provisioning/qtci-linux-RHEL-8.6-x86_64/20-sccache.sh diff --git a/coin/provisioning/qtci-linux-RHEL-8.6-x86_64/22-mqtt_broker.sh b/coin/provisioning/qtci-linux-RHEL-8.6-x86_64/22-mqtt_broker.sh new file mode 100755 index 00000000..fd568537 --- /dev/null +++ b/coin/provisioning/qtci-linux-RHEL-8.6-x86_64/22-mqtt_broker.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 + +# shellcheck source=../common/unix/mqtt_broker.sh +source "${BASH_SOURCE%/*}/../common/unix/mqtt_broker.sh" diff --git a/coin/provisioning/qtci-linux-RHEL-8.6-x86_64/30-fbx.sh b/coin/provisioning/qtci-linux-RHEL-8.6-x86_64/30-fbx.sh new file mode 100755 index 00000000..16a9bda8 --- /dev/null +++ b/coin/provisioning/qtci-linux-RHEL-8.6-x86_64/30-fbx.sh @@ -0,0 +1,8 @@ +#!/usr/bin/env bash +#Copyright (C) 2023 The Qt Company Ltd +#SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only + +set -ex + +BASEDIR=$(dirname "$0") +"$BASEDIR/../common/linux/fbx_linux.sh" diff --git a/coin/provisioning/qtci-linux-RHEL-8.6-x86_64/30-install-conan.sh b/coin/provisioning/qtci-linux-RHEL-8.6-x86_64/30-install-conan.sh new file mode 100755 index 00000000..67a4f911 --- /dev/null +++ b/coin/provisioning/qtci-linux-RHEL-8.6-x86_64/30-install-conan.sh @@ -0,0 +1,8 @@ +#!/usr/bin/env bash +#Copyright (C) 2023 The Qt Company Ltd +#SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only + +set -ex + +BASEDIR=$(dirname "$0") +"$BASEDIR/../common/unix/install-conan.sh" diff --git a/coin/provisioning/qtci-linux-RHEL-8.6-x86_64/30-install-git.sh b/coin/provisioning/qtci-linux-RHEL-8.6-x86_64/30-install-git.sh new file mode 100755 index 00000000..7a73f354 --- /dev/null +++ b/coin/provisioning/qtci-linux-RHEL-8.6-x86_64/30-install-git.sh @@ -0,0 +1,8 @@ +#!/usr/bin/env bash +#Copyright (C) 2023 The Qt Company Ltd +#SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only + +set -ex + +BASEDIR=$(dirname "$0") +"$BASEDIR/../common/linux/install-git.sh" diff --git a/coin/provisioning/qtci-linux-RHEL-8.6-x86_64/30-install_icu.sh b/coin/provisioning/qtci-linux-RHEL-8.6-x86_64/30-install_icu.sh new file mode 100755 index 00000000..0effaefa --- /dev/null +++ b/coin/provisioning/qtci-linux-RHEL-8.6-x86_64/30-install_icu.sh @@ -0,0 +1,46 @@ +#!/usr/bin/env bash + +# Copyright (C) 2023 The Qt Company Ltd. +# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only + +# shellcheck source=../common/unix/DownloadURL.sh +source "${BASH_SOURCE%/*}/../common/unix/DownloadURL.sh" + +set -ex + +# This script will install ICU + +icuVersion="73.2" +icuLocation="/usr/lib64" +sha1="d2bbb7b2a9a9ee00dba5cc6a68137f6c8a98c27e" +baseBinaryPackageURL="http://ci-files01-hki.ci.qt.io/input/icu/$icuVersion/icu-linux-g++-Rhel8.6-x64.7z" +baseBinaryPackageExternalURL="http://master.qt.io/development_releases/prebuilt/icu/prebuilt/$icuVersion/icu-linux-g++-Rhel8.6-x64.7z" + +sha1Dev="edc9cba31ffeac28bf7360c52b85b5e4d2f39043" +develPackageURL="http://ci-files01-hki.ci.qt.io/input/icu/$icuVersion/icu-linux-g++-Rhel8.6-x64-devel.7z" +develPackageExternalURL="http://master.qt.io/development_releases/prebuilt/icu/prebuilt/$icuVersion/icu-linux-g++-Rhel8.6-x64-devel.7z" + +echo "Installing custom ICU $icuVersion $sha1 packages on RHEL to $icuLocation" + +targetFile=$(mktemp) +DownloadURL "$baseBinaryPackageURL" "$baseBinaryPackageExternalURL" "$sha1" "$targetFile" +sudo 7z x -y -o/usr/lib64 "$targetFile" +sudo rm "$targetFile" + +echo "Installing custom ICU devel packages on RHEL" + +tempDir=$(mktemp -d) + +targetFile=$(mktemp) +DownloadURL "$develPackageURL" "$develPackageExternalURL" "$sha1Dev" "$targetFile" +7z x -y -o"$tempDir" "$targetFile" + +sudo cp -a "$tempDir"/lib/* /usr/lib64 +sudo cp -a "$tempDir"/* /usr/ + +sudo rm "$targetFile" +sudo rm -fr "$tempDir" + +sudo /sbin/ldconfig + +echo "ICU = $icuVersion" >> ~/versions.txt diff --git a/coin/provisioning/qtci-linux-RHEL-8.6-x86_64/35-install-breakpad.sh b/coin/provisioning/qtci-linux-RHEL-8.6-x86_64/35-install-breakpad.sh new file mode 100755 index 00000000..8a9dde56 --- /dev/null +++ b/coin/provisioning/qtci-linux-RHEL-8.6-x86_64/35-install-breakpad.sh @@ -0,0 +1,8 @@ +#!/usr/bin/env bash +#Copyright (C) 2023 The Qt Company Ltd +#SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only + +set -ex + +# shellcheck source=../common/unix/install-breakpad.sh +source "${BASH_SOURCE%/*}/../common/unix/install-breakpad.sh" diff --git a/coin/provisioning/qtci-linux-RHEL-8.6-x86_64/40-android_linux.sh b/coin/provisioning/qtci-linux-RHEL-8.6-x86_64/40-android_linux.sh new file mode 100755 index 00000000..f7591d82 --- /dev/null +++ b/coin/provisioning/qtci-linux-RHEL-8.6-x86_64/40-android_linux.sh @@ -0,0 +1,9 @@ +#!/usr/bin/env bash + +# Copyright (C) 2023 The Qt Company Ltd. +# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only + +set -ex + +# shellcheck source=../common/linux/android_linux.sh +source "${BASH_SOURCE%/*}/../common/linux/android_linux.sh" diff --git a/coin/provisioning/qtci-linux-RHEL-8.6-x86_64/40-install-cmake.sh b/coin/provisioning/qtci-linux-RHEL-8.6-x86_64/40-install-cmake.sh new file mode 100755 index 00000000..7effb8d7 --- /dev/null +++ b/coin/provisioning/qtci-linux-RHEL-8.6-x86_64/40-install-cmake.sh @@ -0,0 +1,13 @@ +#!/usr/bin/env bash + +# Copyright (C) 2023 The Qt Company Ltd. +# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only + +# This script installs CMake 3.6.2 + +set -ex + +# CMake is needed for autotests that verify that Qt can be built with CMake + +# shellcheck source=../common/linux/cmake_linux.sh +source "${BASH_SOURCE%/*}/../common/linux/cmake_linux.sh" diff --git a/coin/provisioning/qtci-linux-RHEL-8.6-x86_64/50-openssl_for_android_linux.sh b/coin/provisioning/qtci-linux-RHEL-8.6-x86_64/50-openssl_for_android_linux.sh new file mode 100755 index 00000000..4e5ec7f0 --- /dev/null +++ b/coin/provisioning/qtci-linux-RHEL-8.6-x86_64/50-openssl_for_android_linux.sh @@ -0,0 +1,9 @@ +#!/usr/bin/env bash + +# Copyright (C) 2023 The Qt Company Ltd. +# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only + +set -ex + +# shellcheck source=../common/unix/openssl_for_android.sh +source "${BASH_SOURCE%/*}/../common/unix/openssl_for_android.sh" diff --git a/coin/provisioning/qtci-linux-RHEL-8.6-x86_64/60-install_protobuf.sh b/coin/provisioning/qtci-linux-RHEL-8.6-x86_64/60-install_protobuf.sh new file mode 100755 index 00000000..ef6fdec0 --- /dev/null +++ b/coin/provisioning/qtci-linux-RHEL-8.6-x86_64/60-install_protobuf.sh @@ -0,0 +1,10 @@ +#!/usr/bin/env bash + +# Copyright (C) 2023 The Qt Company Ltd. +# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only + +set -ex + +# shellcheck source=../common/unix/install_protobuf.sh +source "${BASH_SOURCE%/*}/../common/unix/install_protobuf.sh" + diff --git a/coin/provisioning/qtci-linux-RHEL-8.6-x86_64/61-install_grpc.sh b/coin/provisioning/qtci-linux-RHEL-8.6-x86_64/61-install_grpc.sh new file mode 100755 index 00000000..ba69ffef --- /dev/null +++ b/coin/provisioning/qtci-linux-RHEL-8.6-x86_64/61-install_grpc.sh @@ -0,0 +1,10 @@ +#!/usr/bin/env bash + +# Copyright (C) 2023 The Qt Company Ltd. +# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only + +set -ex + +# shellcheck source=../common/unix/install_grpc.sh +source "${BASH_SOURCE%/*}/../common/unix/install_grpc.sh" + diff --git a/coin/provisioning/qtci-linux-RHEL-8.6-x86_64/70-install_QemuGA.sh b/coin/provisioning/qtci-linux-RHEL-8.6-x86_64/70-install_QemuGA.sh new file mode 100755 index 00000000..62b799e0 --- /dev/null +++ b/coin/provisioning/qtci-linux-RHEL-8.6-x86_64/70-install_QemuGA.sh @@ -0,0 +1,11 @@ +#!/usr/bin/env bash + +# Copyright (C) 2023 The Qt Company Ltd. +# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only + +# This script installs QEMU Guest Agent + +set -ex + +sudo yum -y install qemu-guest-agent +sudo systemctl start qemu-guest-agent diff --git a/coin/provisioning/qtci-linux-RHEL-8.6-x86_64/70-install_dwz.sh b/coin/provisioning/qtci-linux-RHEL-8.6-x86_64/70-install_dwz.sh new file mode 100755 index 00000000..3647cc48 --- /dev/null +++ b/coin/provisioning/qtci-linux-RHEL-8.6-x86_64/70-install_dwz.sh @@ -0,0 +1,12 @@ +#!/usr/bin/env bash + +# Copyright (C) 2023 The Qt Company Ltd. +# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only + +set -ex + +sudo yum -y install elfutils-libelf-devel + +# shellcheck source=../common/linux/install_dwz.sh +source "${BASH_SOURCE%/*}/../common/linux/install_dwz.sh" + diff --git a/coin/provisioning/qtci-linux-RHEL-8.6-x86_64/90-bootstrap-autostart.sh b/coin/provisioning/qtci-linux-RHEL-8.6-x86_64/90-bootstrap-autostart.sh new file mode 100755 index 00000000..1ff43850 --- /dev/null +++ b/coin/provisioning/qtci-linux-RHEL-8.6-x86_64/90-bootstrap-autostart.sh @@ -0,0 +1,3 @@ +#!/usr/bin/env bash + +source "${BASH_SOURCE%/*}/../common/linux/bootstrap-autostart.sh" diff --git a/coin/provisioning/qtci-linux-RHEL-8.6-x86_64/90-install-ffmpeg.sh b/coin/provisioning/qtci-linux-RHEL-8.6-x86_64/90-install-ffmpeg.sh new file mode 100755 index 00000000..a3252c08 --- /dev/null +++ b/coin/provisioning/qtci-linux-RHEL-8.6-x86_64/90-install-ffmpeg.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 + +source "${BASH_SOURCE%/*}/../common/unix/install-ffmpeg.sh" "linux" +source "${BASH_SOURCE%/*}/../common/unix/install-ffmpeg-android.sh" "android-x86_64" diff --git a/coin/provisioning/qtci-linux-RHEL-8.6-x86_64/90-mimer.sh b/coin/provisioning/qtci-linux-RHEL-8.6-x86_64/90-mimer.sh new file mode 100755 index 00000000..bff2a7c7 --- /dev/null +++ b/coin/provisioning/qtci-linux-RHEL-8.6-x86_64/90-mimer.sh @@ -0,0 +1,8 @@ +#!/usr/bin/env bash +# Copyright (C) 2022 The Qt Company Ltd. +# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only + +set -ex + +BASEDIR=$(dirname "$0") +"$BASEDIR/../common/linux/mimersql.sh" "openssl-1" "rpm" diff --git a/coin/provisioning/qtci-linux-RHEL-8.6-x86_64/90-squish.sh b/coin/provisioning/qtci-linux-RHEL-8.6-x86_64/90-squish.sh new file mode 100755 index 00000000..f803ccc1 --- /dev/null +++ b/coin/provisioning/qtci-linux-RHEL-8.6-x86_64/90-squish.sh @@ -0,0 +1,6 @@ +#!/usr/bin/env bash +#Copyright (C) 2023 The Qt Company Ltd +#SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only +BASEDIR=$(dirname "$0") +"$BASEDIR/../common/unix/squishInstall.sh" + diff --git a/coin/provisioning/qtci-linux-RHEL-8.6-x86_64/99-cleanup.sh b/coin/provisioning/qtci-linux-RHEL-8.6-x86_64/99-cleanup.sh new file mode 100755 index 00000000..842cd294 --- /dev/null +++ b/coin/provisioning/qtci-linux-RHEL-8.6-x86_64/99-cleanup.sh @@ -0,0 +1,8 @@ +#!/usr/bin/env bash + +# Copyright (C) 2023 The Qt Company Ltd. +# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only + +set -ex + +"$(dirname "$0")"/../common/linux/cleanup_cache.sh diff --git a/coin/provisioning/qtci-linux-RHEL-8.6-x86_64/99-version.sh b/coin/provisioning/qtci-linux-RHEL-8.6-x86_64/99-version.sh new file mode 100755 index 00000000..725351ae --- /dev/null +++ b/coin/provisioning/qtci-linux-RHEL-8.6-x86_64/99-version.sh @@ -0,0 +1,18 @@ +#!/usr/bin/env bash + +# Copyright (C) 2023 The Qt Company Ltd. +# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only + +# This script needs to be called last during provisioning so that the software information will show up last in provision log. + +# Storage installed RPM packages information + +set -ex + +# shellcheck disable=SC2129 +echo "*********************************************" >> ~/versions.txt +echo "***** All installed RPM packages *****" >> ~/versions.txt +rpm -q -a | sort >> ~/versions.txt +echo "*********************************************" >> ~/versions.txt + +"$(dirname "$0")/../common/linux/version.sh" diff --git a/coin/provisioning/qtci-linux-RHEL-8.8-x86_64/01-disable-automounting.sh b/coin/provisioning/qtci-linux-RHEL-8.8-x86_64/01-disable-automounting.sh new file mode 100755 index 00000000..c9d490b1 --- /dev/null +++ b/coin/provisioning/qtci-linux-RHEL-8.8-x86_64/01-disable-automounting.sh @@ -0,0 +1,15 @@ +#!/usr/bin/env bash + +# Copyright (C) 2023 The Qt Company Ltd. +# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only + +set -ex + +sudo tee -a /etc/dconf/db/local.d/00-media-automount <<"EOF" +[org/gnome/desktop/media-handling] +automount=false +automount-open=false +EOF + +sudo dconf update + diff --git a/coin/provisioning/qtci-linux-RHEL-8.8-x86_64/01-disable_net_lso.sh b/coin/provisioning/qtci-linux-RHEL-8.8-x86_64/01-disable_net_lso.sh new file mode 100755 index 00000000..4da6aaaa --- /dev/null +++ b/coin/provisioning/qtci-linux-RHEL-8.8-x86_64/01-disable_net_lso.sh @@ -0,0 +1,3 @@ +#!/bin/sh + +echo "ETHTOOL_OPTS='-K \${DEVICE} tso off'" | sudo tee -a /etc/sysconfig/network-scripts/ifcfg-Wired_connection_1 diff --git a/coin/provisioning/qtci-linux-SLES-15_SP3-x86_64/01-install_telegraf.sh b/coin/provisioning/qtci-linux-RHEL-8.8-x86_64/01-install_telegraf.sh index 729f9003..729f9003 100755 --- a/coin/provisioning/qtci-linux-SLES-15_SP3-x86_64/01-install_telegraf.sh +++ b/coin/provisioning/qtci-linux-RHEL-8.8-x86_64/01-install_telegraf.sh diff --git a/coin/provisioning/qtci-linux-RHEL-8.8-x86_64/01-refresh-subscription-manager.sh b/coin/provisioning/qtci-linux-RHEL-8.8-x86_64/01-refresh-subscription-manager.sh new file mode 100755 index 00000000..51417f1b --- /dev/null +++ b/coin/provisioning/qtci-linux-RHEL-8.8-x86_64/01-refresh-subscription-manager.sh @@ -0,0 +1,18 @@ +#!/usr/bin/env bash + +# Copyright (C) 2023 The Qt Company Ltd. +# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only + +set -e + +curl --retry 5 --retry-delay 10 --retry-max-time 60 http://ci-files01-hki.ci.qt.io/input/semisecure/redhat_ak_all_versions.sh -o "/tmp/redhat_ak.sh" &>/dev/null +sudo chmod 755 /tmp/redhat_ak.sh +/tmp/redhat_ak.sh + +# refresh local certificates +sudo subscription-manager refresh + +# Attach available subscriptions to system. This is needed when subscriptions are renewed. +sudo subscription-manager attach --auto + +sudo rm -f /tmp/redhat_ak.sh diff --git a/coin/provisioning/qtci-linux-RHEL-8.8-x86_64/01-remove_network_manager_secret_key.sh b/coin/provisioning/qtci-linux-RHEL-8.8-x86_64/01-remove_network_manager_secret_key.sh new file mode 100755 index 00000000..7f9790ae --- /dev/null +++ b/coin/provisioning/qtci-linux-RHEL-8.8-x86_64/01-remove_network_manager_secret_key.sh @@ -0,0 +1,11 @@ +#!/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 + +# Ipv6 link local becomes tentative and dadfailed if two systems has the same secret_key +# New unique secret key will be created automatically during start up. +# https://access.redhat.com/solutions/3553581 +echo "Removing secret_key" +sudo rm -f "/var/lib/NetworkManager/secret_key" + + diff --git a/coin/provisioning/qtci-linux-RHEL-8.8-x86_64/01-remove_stable-privacy.sh b/coin/provisioning/qtci-linux-RHEL-8.8-x86_64/01-remove_stable-privacy.sh new file mode 100755 index 00000000..6d59f866 --- /dev/null +++ b/coin/provisioning/qtci-linux-RHEL-8.8-x86_64/01-remove_stable-privacy.sh @@ -0,0 +1,8 @@ +#!/usr/bin/env bash + +# Copyright (C) 2023 The Qt Company Ltd. +# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only +set -ex + +echo "Change default stable-secret to based on MAC" +sudo sed -i '/^IPV6_ADDR_GEN_MODE/d' "/etc/sysconfig/network-scripts/ifcfg-enp1s0" diff --git a/coin/provisioning/qtci-linux-RHEL-8.8-x86_64/01-set-ulimit.sh b/coin/provisioning/qtci-linux-RHEL-8.8-x86_64/01-set-ulimit.sh new file mode 100755 index 00000000..e951e82a --- /dev/null +++ b/coin/provisioning/qtci-linux-RHEL-8.8-x86_64/01-set-ulimit.sh @@ -0,0 +1,8 @@ +#!/usr/bin/env bash +#Copyright (C) 2023 The Qt Company Ltd +#SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only + +set -ex + +BASEDIR=$(dirname "$0") +"$BASEDIR/../common/linux/set_ulimit.sh" diff --git a/coin/provisioning/qtci-linux-RHEL-8.8-x86_64/01-systemsetup.sh b/coin/provisioning/qtci-linux-RHEL-8.8-x86_64/01-systemsetup.sh new file mode 100755 index 00000000..8d43ace0 --- /dev/null +++ b/coin/provisioning/qtci-linux-RHEL-8.8-x86_64/01-systemsetup.sh @@ -0,0 +1,29 @@ +#!/usr/bin/env bash + +# Copyright (C) 2023 The Qt Company Ltd. +# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only + +set -ex + +BASEDIR=$(dirname "$0") +# shellcheck source=../common/shared/network_test_server_ip.txt +source "$BASEDIR/../common/shared/network_test_server_ip.txt" + +echo "Set Network Test Server address to $network_test_server_ip in /etc/hosts" +echo "$network_test_server_ip qt-test-server qt-test-server.qt-test-net" | sudo tee -a /etc/hosts +echo "Set DISPLAY" +echo 'export DISPLAY=":0"' >> ~/.bashrc +# for current session +export DISPLAY=:0 + +# Set timezone to UTC. +sudo timedatectl set-timezone Etc/UTC +# disable Automatic screen lock +gsettings set org.gnome.desktop.screensaver lock-enabled false +# disable blank screen power saving +gsettings set org.gnome.desktop.session idle-delay 0 + +# Set Wayland enable as false. +echo "Setting Wayland enable as false" +sudo sed -i 's/#WaylandEnable=false/WaylandEnable=false/g' /etc/gdm/custom.conf + diff --git a/coin/provisioning/qtci-linux-RHEL-8.8-x86_64/03-enable-repos.sh b/coin/provisioning/qtci-linux-RHEL-8.8-x86_64/03-enable-repos.sh new file mode 100755 index 00000000..1ad60c7d --- /dev/null +++ b/coin/provisioning/qtci-linux-RHEL-8.8-x86_64/03-enable-repos.sh @@ -0,0 +1,34 @@ +#!/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 + +echo "set WritePreparedUpdates=false" | sudo tee -a /etc/PackageKit/PackageKit.conf +sudo systemctl stop packagekit +sudo systemctl disable packagekit +while sudo fuser /usr/libexec/packagekitd >/dev/null 2>&1; do + echo "Waiting for PackageKit to finish..." + sleep 1 +done +sudo yum -y remove PackageKit gnome-software + +sudo subscription-manager config --rhsm.manage_repos=1 +sudo subscription-manager refresh + +# List available RHEL versions and bind with correct one +sudo subscription-manager release --list +sudo subscription-manager release --set=8.8 +sudo yum clean all + +# sudo yum config-manager --enable 'rhceph-4-tools-for-rhel-8-x86_64-rpms' +sudo yum config-manager --enable 'codeready-builder-for-rhel-8-x86_64-rpms' +sudo yum config-manager --enable 'rhel-8-for-x86_64-baseos-rpms' +sudo yum config-manager --enable 'rhel-8-for-x86_64-appstream-rpms' +# Epel is required for 'double-conversion-devel', 'libsqlite3x' and 'p7zip' +sudo dnf install -y https://dl.fedoraproject.org/pub/epel/epel-release-latest-8.noarch.rpm + +sudo yum clean all +# As well as this fetching the repository data, we also get a printout of the used repos +sudo yum repolist diff --git a/coin/provisioning/qtci-linux-RHEL-8.8-x86_64/03-install-gcc-toolset.sh b/coin/provisioning/qtci-linux-RHEL-8.8-x86_64/03-install-gcc-toolset.sh new file mode 100755 index 00000000..dfed7489 --- /dev/null +++ b/coin/provisioning/qtci-linux-RHEL-8.8-x86_64/03-install-gcc-toolset.sh @@ -0,0 +1,10 @@ +#!/usr/bin/env bash + +# Copyright (C) 2023 The Qt Company Ltd. +# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only + +set -ex + +sudo yum -y install gcc-toolset-10 gcc-toolset-10-libatomic-devel + +echo "source /opt/rh/gcc-toolset-10/enable" >> ~/.bashrc 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 new file mode 100755 index 00000000..d1d600da --- /dev/null +++ b/coin/provisioning/qtci-linux-RHEL-8.8-x86_64/04-install-packages.sh @@ -0,0 +1,175 @@ +#!/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 + +# Remove update notifications and packagekit running in the background +sudo yum -y remove PackageKit gnome-software + +# CI: All platforms should have up-to-date packages when new provision is made +sudo yum -y update + +installPackages=() +installPackages+=(git) +installPackages+=(zlib-devel) +installPackages+=(glib2-devel) +installPackages+=(openssl3) +installPackages+=(openssl3-devel) +installPackages+=(freetype-devel) +installPackages+=(fontconfig-devel) +installPackages+=(curl-devel) +installPackages+=(expat-devel) +installPackages+=(gettext-devel) +installPackages+=(perl-devel) +installPackages+=(dh-autoreconf) +# cmake build +installPackages+=(ninja-build) +installPackages+=(pcre2-devel) +installPackages+=(double-conversion-devel) +installPackages+=(zstd) +# update kernel +installPackages+=(kernel) +installPackages+=(kernel-tools) +installPackages+=(kernel-devel) +installPackages+=(kernel-core) +installPackages+=(kernel-modules) +installPackages+=(kernel-headers) +# EGL support +# mesa-libraries need to use older version than 22.1.5-2 which cause Xorg to crash +installPackages+=(mesa-libEGL-devel-21.3.4-1.el8) +installPackages+=(mesa-libGL-devel-21.3.4-1.el8) +installPackages+=(mesa-dri-drivers-21.3.4-1.el8.x86_64) +installPackages+=(mesa-libgbm-21.3.4-1.el8.x86_64) +installPackages+=(mesa-vulkan-drivers-21.3.4-1.el8.x86_64) +installPackages+=(libxkbfile-devel) +# Xinput2 +installPackages+=(libXi-devel) +installPackages+=(mysql-server) +installPackages+=(mysql) +installPackages+=(mysql-devel) +installPackages+=(postgresql-devel) +installPackages+=(cups-devel) +installPackages+=(dbus-devel) +# gstreamer 1 for QtMultimedia +# Note! gstreamer1-plugins-bad-free needs to be upgraded or it will conflicts with gstreamer1-plugins-base-devel +installPackages+=(gstreamer1-plugins-bad-free) +installPackages+=(gstreamer1-devel) +installPackages+=(gstreamer1-plugins-base-devel) +# for QtMultimedia, ffmpeg +installPackages+=(yasm) +installPackages+=(libva-devel) +# gtk3 style for QtGui/QStyle +installPackages+=(gtk3-devel) +# libusb1 for tqtc-boot2qt/qdb +installPackages+=(libusbx-devel) +# speech-dispatcher-devel for QtSpeech, otherwise it has no backend on Linux +installPackages+=(speech-dispatcher-devel) +# Python 3.8 for pyside. Qt for Python support for Python 3.6 will be deprecated in within pyside6.3 +installPackages+=(python3.11) +installPackages+=(python3.11-pip) +installPackages+=(python3.11-devel) +# WebEngine +installPackages+=(bison) +installPackages+=(flex) +installPackages+=(gperftools-libs) +installPackages+=(gperf) +installPackages+=(alsa-lib-devel) +installPackages+=(pulseaudio-libs-devel) +installPackages+=(libdrm-devel) +installPackages+=(libva-devel) +installPackages+=(libXtst-devel) +installPackages+=(libxshmfence-devel) +installPackages+=(nspr-devel) +installPackages+=(nss-devel) +installPackages+=(python3-html5lib) +installPackages+=(libatomic) +installPackages+=(mesa-libgbm-devel-21.3.4-1.el8.x86_64) +# For Android builds +installPackages+=(java-17-openjdk-devel-17.0.9.0.9) +# For receiving shasum +installPackages+=(perl-Digest-SHA) +# INTEGRITY requirements +installPackages+=(glibc.i686) +# Enable Qt Bluetooth +installPackages+=(bluez-libs-devel) +# QtNfc +installPackages+=(pcsc-lite-devel) +# QtWebKit +installPackages+=(libxml2-devel) +installPackages+=(libxslt-devel) +# For building Wayland from source +installPackages+=(libffi-devel) +# QtWayland +#installPackages+=(mesa-libwayland-egl) +#installPackages+=(mesa-libwayland-egl-devel) +installPackages+=(libwayland-client) +installPackages+=(libwayland-cursor) +installPackages+=(libwayland-server) +# Jenkins +installPackages+=(chrpath) +# libxkbcommon +installPackages+=(libxkbcommon-devel) +installPackages+=(libxkbcommon-x11-devel) +# xcb-util-* libraries +installPackages+=(xcb-util) +installPackages+=(xcb-util-image-devel) +installPackages+=(xcb-util-keysyms-devel) +installPackages+=(xcb-util-wm-devel) +installPackages+=(xcb-util-renderutil-devel) +installPackages+=(xcb-util-cursor) +installPackages+=(xcb-util-cursor-devel) + +# ODBC support +installPackages+=(unixODBC-devel) +installPackages+=(unixODBC) +# Vulkan support +installPackages+=(vulkan-devel) +installPackages+=(vulkan-tools) +# Conan: For Python build +installPackages+=(xz-devel) +installPackages+=(zlib-devel) +installPackages+=(libffi-devel) +installPackages+=(libsqlite3x-devel) +# Build.pl +installPackages+=(perl-Data-Dumper) +# In RedHat these come with Devtoolset +installPackages+=(gcc) +installPackages+=(gcc-c++) +installPackages+=(make) +# Open source VMware Tools +installPackages+=(open-vm-tools) +# cifs-utils, for mounting smb drive +installPackages+=(keyutils) +installPackages+=(cifs-utils) +# used for reading vcpkg packages version, from vcpkg.json +installPackages+=(jq) +# zip, needed for vcpkg caching +installPackages+=(zip) +# OpenSSL requirement, built by vcpkg +installPackages+=(perl-IPC-Cmd) + +sudo yum -y install "${installPackages[@]}" + +sudo dnf -y module install nodejs:16 + +# We shouldn't use yum to install virtualenv. The one found from package repo is not +# working, but we can use installed pip +sudo pip3 install --upgrade pip +# Configure pip +sudo pip config --user set global.index https://ci-files01-hki.ci.qt.io/input/python_module_cache +sudo pip config --user set global.extra-index-url https://pypi.org/simple/ + +sudo pip3 install virtualenv wheel +# Just make sure we have virtualenv to run with python3.8 -m virtualenv +sudo python3.11 -m pip install virtualenv wheel + +sudo /usr/bin/pip3 install wheel +sudo /usr/bin/pip3 install dataclasses + +OpenSSLVersion="$(openssl3 version |cut -b 9-14)" +echo "System's OpenSSL = $OpenSSLVersion" >> ~/versions.txt + +# List all available updates +sudo yum -y list updates diff --git a/coin/provisioning/qtci-linux-RHEL-8.8-x86_64/04-p7zip.sh b/coin/provisioning/qtci-linux-RHEL-8.8-x86_64/04-p7zip.sh new file mode 100755 index 00000000..98be8b40 --- /dev/null +++ b/coin/provisioning/qtci-linux-RHEL-8.8-x86_64/04-p7zip.sh @@ -0,0 +1,17 @@ +#!/usr/bin/env bash + +# Copyright (C) 2023 The Qt Company Ltd. +# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only + +source "${BASH_SOURCE%/*}/../common/unix/DownloadURL.sh" + +set -ex + +name="p7zip" +version="7-11" +sudo yum -y install "$name" + +# Link 7za to 7z so we can use existing installation scripts +sudo ln -s /usr/bin/7za /usr/bin/7z + +echo "$name = $version" >> ~/versions.txt diff --git a/coin/provisioning/qtci-linux-RHEL-8.8-x86_64/05-libclang-v100-dyn.sh b/coin/provisioning/qtci-linux-RHEL-8.8-x86_64/05-libclang-v100-dyn.sh new file mode 100755 index 00000000..2e08049d --- /dev/null +++ b/coin/provisioning/qtci-linux-RHEL-8.8-x86_64/05-libclang-v100-dyn.sh @@ -0,0 +1,8 @@ +#!/usr/bin/env bash +#Copyright (C) 2023 The Qt Company Ltd +#SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only +set -ex + +BASEDIR=$(dirname "$0") +# shellcheck source=../common/unix/libclang-v100-dyn.sh +"$BASEDIR/../common/unix/libclang-v100-dyn.sh" diff --git a/coin/provisioning/qtci-linux-RHEL-8.8-x86_64/05-libclang.sh b/coin/provisioning/qtci-linux-RHEL-8.8-x86_64/05-libclang.sh new file mode 100755 index 00000000..cc68ed1f --- /dev/null +++ b/coin/provisioning/qtci-linux-RHEL-8.8-x86_64/05-libclang.sh @@ -0,0 +1,8 @@ +#!/usr/bin/env bash +#Copyright (C) 2023 The Qt Company Ltd +#SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only +set -ex + +BASEDIR=$(dirname "$0") +# shellcheck source=../common/unix/libclang.sh +"$BASEDIR/../common/unix/libclang.sh" diff --git a/coin/provisioning/qtci-linux-RHEL-8.8-x86_64/05-mount-vcpkg-cache-drive.sh b/coin/provisioning/qtci-linux-RHEL-8.8-x86_64/05-mount-vcpkg-cache-drive.sh new file mode 100755 index 00000000..ed49b3a5 --- /dev/null +++ b/coin/provisioning/qtci-linux-RHEL-8.8-x86_64/05-mount-vcpkg-cache-drive.sh @@ -0,0 +1,8 @@ +#!/usr/bin/env bash +# Copyright (C) 2023 The Qt Company Ltd. +# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only + +set -ex + +# shellcheck source=../common/linux/mount-vcpkg-cache-drive.sh +source "${BASH_SOURCE%/*}/../common/linux/mount-vcpkg-cache-drive.sh" diff --git a/coin/provisioning/qtci-linux-RHEL-8.8-x86_64/09-disable_selinux.sh b/coin/provisioning/qtci-linux-RHEL-8.8-x86_64/09-disable_selinux.sh new file mode 100755 index 00000000..17f9422f --- /dev/null +++ b/coin/provisioning/qtci-linux-RHEL-8.8-x86_64/09-disable_selinux.sh @@ -0,0 +1,9 @@ +#!/usr/bin/env bash + +# Copyright (C) 2023 The Qt Company Ltd. +# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only + +set -ex + +# shellcheck source=../common/linux/disable_selinux.sh +source "${BASH_SOURCE%/*}/../common/linux/disable_selinux.sh" diff --git a/coin/provisioning/qtci-linux-RHEL-8.8-x86_64/09-openssl.sh b/coin/provisioning/qtci-linux-RHEL-8.8-x86_64/09-openssl.sh new file mode 100755 index 00000000..ae8024f2 --- /dev/null +++ b/coin/provisioning/qtci-linux-RHEL-8.8-x86_64/09-openssl.sh @@ -0,0 +1,10 @@ +#!/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 + +# Required by Rhel source build +sudo yum -y install perl-IPC-Cmd + +"$(dirname "$0")/../common/unix/install-openssl.sh" "linux" diff --git a/coin/provisioning/qtci-linux-SLES-15_SP3-x86_64/20-sccache.sh b/coin/provisioning/qtci-linux-RHEL-8.8-x86_64/20-sccache.sh index b371d947..b371d947 100755 --- a/coin/provisioning/qtci-linux-SLES-15_SP3-x86_64/20-sccache.sh +++ b/coin/provisioning/qtci-linux-RHEL-8.8-x86_64/20-sccache.sh diff --git a/coin/provisioning/qtci-linux-RHEL-8.8-x86_64/22-mqtt_broker.sh b/coin/provisioning/qtci-linux-RHEL-8.8-x86_64/22-mqtt_broker.sh new file mode 100755 index 00000000..fd568537 --- /dev/null +++ b/coin/provisioning/qtci-linux-RHEL-8.8-x86_64/22-mqtt_broker.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 + +# shellcheck source=../common/unix/mqtt_broker.sh +source "${BASH_SOURCE%/*}/../common/unix/mqtt_broker.sh" diff --git a/coin/provisioning/qtci-linux-RHEL-8.8-x86_64/30-fbx.sh b/coin/provisioning/qtci-linux-RHEL-8.8-x86_64/30-fbx.sh new file mode 100755 index 00000000..16a9bda8 --- /dev/null +++ b/coin/provisioning/qtci-linux-RHEL-8.8-x86_64/30-fbx.sh @@ -0,0 +1,8 @@ +#!/usr/bin/env bash +#Copyright (C) 2023 The Qt Company Ltd +#SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only + +set -ex + +BASEDIR=$(dirname "$0") +"$BASEDIR/../common/linux/fbx_linux.sh" diff --git a/coin/provisioning/qtci-linux-RHEL-8.8-x86_64/30-install-conan.sh b/coin/provisioning/qtci-linux-RHEL-8.8-x86_64/30-install-conan.sh new file mode 100755 index 00000000..67a4f911 --- /dev/null +++ b/coin/provisioning/qtci-linux-RHEL-8.8-x86_64/30-install-conan.sh @@ -0,0 +1,8 @@ +#!/usr/bin/env bash +#Copyright (C) 2023 The Qt Company Ltd +#SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only + +set -ex + +BASEDIR=$(dirname "$0") +"$BASEDIR/../common/unix/install-conan.sh" diff --git a/coin/provisioning/qtci-linux-RHEL-8.8-x86_64/30-install-git.sh b/coin/provisioning/qtci-linux-RHEL-8.8-x86_64/30-install-git.sh new file mode 100755 index 00000000..7a73f354 --- /dev/null +++ b/coin/provisioning/qtci-linux-RHEL-8.8-x86_64/30-install-git.sh @@ -0,0 +1,8 @@ +#!/usr/bin/env bash +#Copyright (C) 2023 The Qt Company Ltd +#SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only + +set -ex + +BASEDIR=$(dirname "$0") +"$BASEDIR/../common/linux/install-git.sh" diff --git a/coin/provisioning/qtci-linux-RHEL-8.8-x86_64/30-install_icu.sh b/coin/provisioning/qtci-linux-RHEL-8.8-x86_64/30-install_icu.sh new file mode 100755 index 00000000..0effaefa --- /dev/null +++ b/coin/provisioning/qtci-linux-RHEL-8.8-x86_64/30-install_icu.sh @@ -0,0 +1,46 @@ +#!/usr/bin/env bash + +# Copyright (C) 2023 The Qt Company Ltd. +# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only + +# shellcheck source=../common/unix/DownloadURL.sh +source "${BASH_SOURCE%/*}/../common/unix/DownloadURL.sh" + +set -ex + +# This script will install ICU + +icuVersion="73.2" +icuLocation="/usr/lib64" +sha1="d2bbb7b2a9a9ee00dba5cc6a68137f6c8a98c27e" +baseBinaryPackageURL="http://ci-files01-hki.ci.qt.io/input/icu/$icuVersion/icu-linux-g++-Rhel8.6-x64.7z" +baseBinaryPackageExternalURL="http://master.qt.io/development_releases/prebuilt/icu/prebuilt/$icuVersion/icu-linux-g++-Rhel8.6-x64.7z" + +sha1Dev="edc9cba31ffeac28bf7360c52b85b5e4d2f39043" +develPackageURL="http://ci-files01-hki.ci.qt.io/input/icu/$icuVersion/icu-linux-g++-Rhel8.6-x64-devel.7z" +develPackageExternalURL="http://master.qt.io/development_releases/prebuilt/icu/prebuilt/$icuVersion/icu-linux-g++-Rhel8.6-x64-devel.7z" + +echo "Installing custom ICU $icuVersion $sha1 packages on RHEL to $icuLocation" + +targetFile=$(mktemp) +DownloadURL "$baseBinaryPackageURL" "$baseBinaryPackageExternalURL" "$sha1" "$targetFile" +sudo 7z x -y -o/usr/lib64 "$targetFile" +sudo rm "$targetFile" + +echo "Installing custom ICU devel packages on RHEL" + +tempDir=$(mktemp -d) + +targetFile=$(mktemp) +DownloadURL "$develPackageURL" "$develPackageExternalURL" "$sha1Dev" "$targetFile" +7z x -y -o"$tempDir" "$targetFile" + +sudo cp -a "$tempDir"/lib/* /usr/lib64 +sudo cp -a "$tempDir"/* /usr/ + +sudo rm "$targetFile" +sudo rm -fr "$tempDir" + +sudo /sbin/ldconfig + +echo "ICU = $icuVersion" >> ~/versions.txt diff --git a/coin/provisioning/qtci-linux-RHEL-8.8-x86_64/35-install-breakpad.sh b/coin/provisioning/qtci-linux-RHEL-8.8-x86_64/35-install-breakpad.sh new file mode 100755 index 00000000..8a9dde56 --- /dev/null +++ b/coin/provisioning/qtci-linux-RHEL-8.8-x86_64/35-install-breakpad.sh @@ -0,0 +1,8 @@ +#!/usr/bin/env bash +#Copyright (C) 2023 The Qt Company Ltd +#SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only + +set -ex + +# shellcheck source=../common/unix/install-breakpad.sh +source "${BASH_SOURCE%/*}/../common/unix/install-breakpad.sh" diff --git a/coin/provisioning/qtci-linux-RHEL-8.8-x86_64/40-android_linux.sh b/coin/provisioning/qtci-linux-RHEL-8.8-x86_64/40-android_linux.sh new file mode 100755 index 00000000..f7591d82 --- /dev/null +++ b/coin/provisioning/qtci-linux-RHEL-8.8-x86_64/40-android_linux.sh @@ -0,0 +1,9 @@ +#!/usr/bin/env bash + +# Copyright (C) 2023 The Qt Company Ltd. +# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only + +set -ex + +# shellcheck source=../common/linux/android_linux.sh +source "${BASH_SOURCE%/*}/../common/linux/android_linux.sh" diff --git a/coin/provisioning/qtci-linux-RHEL-8.8-x86_64/40-install-cmake.sh b/coin/provisioning/qtci-linux-RHEL-8.8-x86_64/40-install-cmake.sh new file mode 100755 index 00000000..7effb8d7 --- /dev/null +++ b/coin/provisioning/qtci-linux-RHEL-8.8-x86_64/40-install-cmake.sh @@ -0,0 +1,13 @@ +#!/usr/bin/env bash + +# Copyright (C) 2023 The Qt Company Ltd. +# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only + +# This script installs CMake 3.6.2 + +set -ex + +# CMake is needed for autotests that verify that Qt can be built with CMake + +# shellcheck source=../common/linux/cmake_linux.sh +source "${BASH_SOURCE%/*}/../common/linux/cmake_linux.sh" diff --git a/coin/provisioning/qtci-linux-RHEL-8.8-x86_64/41-install-vcpkg.sh b/coin/provisioning/qtci-linux-RHEL-8.8-x86_64/41-install-vcpkg.sh new file mode 100644 index 00000000..aa88364d --- /dev/null +++ b/coin/provisioning/qtci-linux-RHEL-8.8-x86_64/41-install-vcpkg.sh @@ -0,0 +1,6 @@ +#!/usr/bin/env bash + +set -ex + +BASEDIR=$(dirname "$0") +"$BASEDIR/../common/linux/install-vcpkg.sh" diff --git a/coin/provisioning/qtci-linux-RHEL-8.8-x86_64/42-install-vcpkg-ports.sh b/coin/provisioning/qtci-linux-RHEL-8.8-x86_64/42-install-vcpkg-ports.sh new file mode 100755 index 00000000..4bc799eb --- /dev/null +++ b/coin/provisioning/qtci-linux-RHEL-8.8-x86_64/42-install-vcpkg-ports.sh @@ -0,0 +1,14 @@ +#!/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 + +echo "Installing vcpkg ports" +echo "VCPKG_ROOT: ${VCPKG_ROOT}" +echo "ANDOID_NDK_HOME: ${ANDROID_NDK_HOME}" + +# Installing common ports +BASEDIR=$(dirname "$0") +"$BASEDIR/../common/linux/install-vcpkg-ports.sh" + +# Installing platform specific ports +"$BASEDIR/../common/linux/install-vcpkg-ports-android.sh" diff --git a/coin/provisioning/qtci-linux-RHEL-8.8-x86_64/50-openssl_for_android_linux.sh b/coin/provisioning/qtci-linux-RHEL-8.8-x86_64/50-openssl_for_android_linux.sh new file mode 100755 index 00000000..4e5ec7f0 --- /dev/null +++ b/coin/provisioning/qtci-linux-RHEL-8.8-x86_64/50-openssl_for_android_linux.sh @@ -0,0 +1,9 @@ +#!/usr/bin/env bash + +# Copyright (C) 2023 The Qt Company Ltd. +# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only + +set -ex + +# shellcheck source=../common/unix/openssl_for_android.sh +source "${BASH_SOURCE%/*}/../common/unix/openssl_for_android.sh" diff --git a/coin/provisioning/qtci-linux-RHEL-8.8-x86_64/60-install_protobuf.sh b/coin/provisioning/qtci-linux-RHEL-8.8-x86_64/60-install_protobuf.sh new file mode 100755 index 00000000..ef6fdec0 --- /dev/null +++ b/coin/provisioning/qtci-linux-RHEL-8.8-x86_64/60-install_protobuf.sh @@ -0,0 +1,10 @@ +#!/usr/bin/env bash + +# Copyright (C) 2023 The Qt Company Ltd. +# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only + +set -ex + +# shellcheck source=../common/unix/install_protobuf.sh +source "${BASH_SOURCE%/*}/../common/unix/install_protobuf.sh" + diff --git a/coin/provisioning/qtci-linux-RHEL-8.8-x86_64/61-install_grpc.sh b/coin/provisioning/qtci-linux-RHEL-8.8-x86_64/61-install_grpc.sh new file mode 100755 index 00000000..ba69ffef --- /dev/null +++ b/coin/provisioning/qtci-linux-RHEL-8.8-x86_64/61-install_grpc.sh @@ -0,0 +1,10 @@ +#!/usr/bin/env bash + +# Copyright (C) 2023 The Qt Company Ltd. +# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only + +set -ex + +# shellcheck source=../common/unix/install_grpc.sh +source "${BASH_SOURCE%/*}/../common/unix/install_grpc.sh" + diff --git a/coin/provisioning/qtci-linux-RHEL-8.8-x86_64/70-install_QemuGA.sh b/coin/provisioning/qtci-linux-RHEL-8.8-x86_64/70-install_QemuGA.sh new file mode 100755 index 00000000..62b799e0 --- /dev/null +++ b/coin/provisioning/qtci-linux-RHEL-8.8-x86_64/70-install_QemuGA.sh @@ -0,0 +1,11 @@ +#!/usr/bin/env bash + +# Copyright (C) 2023 The Qt Company Ltd. +# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only + +# This script installs QEMU Guest Agent + +set -ex + +sudo yum -y install qemu-guest-agent +sudo systemctl start qemu-guest-agent diff --git a/coin/provisioning/qtci-linux-RHEL-8.8-x86_64/70-install_dwz.sh b/coin/provisioning/qtci-linux-RHEL-8.8-x86_64/70-install_dwz.sh new file mode 100755 index 00000000..3647cc48 --- /dev/null +++ b/coin/provisioning/qtci-linux-RHEL-8.8-x86_64/70-install_dwz.sh @@ -0,0 +1,12 @@ +#!/usr/bin/env bash + +# Copyright (C) 2023 The Qt Company Ltd. +# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only + +set -ex + +sudo yum -y install elfutils-libelf-devel + +# shellcheck source=../common/linux/install_dwz.sh +source "${BASH_SOURCE%/*}/../common/linux/install_dwz.sh" + diff --git a/coin/provisioning/qtci-linux-RHEL-8.8-x86_64/90-bootstrap-autostart.sh b/coin/provisioning/qtci-linux-RHEL-8.8-x86_64/90-bootstrap-autostart.sh new file mode 100755 index 00000000..1ff43850 --- /dev/null +++ b/coin/provisioning/qtci-linux-RHEL-8.8-x86_64/90-bootstrap-autostart.sh @@ -0,0 +1,3 @@ +#!/usr/bin/env bash + +source "${BASH_SOURCE%/*}/../common/linux/bootstrap-autostart.sh" diff --git a/coin/provisioning/qtci-linux-RHEL-8.8-x86_64/90-install-ffmpeg.sh b/coin/provisioning/qtci-linux-RHEL-8.8-x86_64/90-install-ffmpeg.sh new file mode 100755 index 00000000..06e28f34 --- /dev/null +++ b/coin/provisioning/qtci-linux-RHEL-8.8-x86_64/90-install-ffmpeg.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 + +source "${BASH_SOURCE%/*}/../common/unix/install-ffmpeg.sh" "linux" +source "${BASH_SOURCE%/*}/../common/unix/install-ffmpeg-android.sh" "android-x86_64" +source "${BASH_SOURCE%/*}/../common/unix/install-ffmpeg-android.sh" "android-x86" diff --git a/coin/provisioning/qtci-linux-RHEL-8.8-x86_64/90-mimer.sh b/coin/provisioning/qtci-linux-RHEL-8.8-x86_64/90-mimer.sh new file mode 100755 index 00000000..bff2a7c7 --- /dev/null +++ b/coin/provisioning/qtci-linux-RHEL-8.8-x86_64/90-mimer.sh @@ -0,0 +1,8 @@ +#!/usr/bin/env bash +# Copyright (C) 2022 The Qt Company Ltd. +# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only + +set -ex + +BASEDIR=$(dirname "$0") +"$BASEDIR/../common/linux/mimersql.sh" "openssl-1" "rpm" diff --git a/coin/provisioning/qtci-linux-RHEL-8.8-x86_64/90-squish.sh b/coin/provisioning/qtci-linux-RHEL-8.8-x86_64/90-squish.sh new file mode 100755 index 00000000..f803ccc1 --- /dev/null +++ b/coin/provisioning/qtci-linux-RHEL-8.8-x86_64/90-squish.sh @@ -0,0 +1,6 @@ +#!/usr/bin/env bash +#Copyright (C) 2023 The Qt Company Ltd +#SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only +BASEDIR=$(dirname "$0") +"$BASEDIR/../common/unix/squishInstall.sh" + diff --git a/coin/provisioning/qtci-linux-RHEL-8.8-x86_64/99-cleanup.sh b/coin/provisioning/qtci-linux-RHEL-8.8-x86_64/99-cleanup.sh new file mode 100755 index 00000000..842cd294 --- /dev/null +++ b/coin/provisioning/qtci-linux-RHEL-8.8-x86_64/99-cleanup.sh @@ -0,0 +1,8 @@ +#!/usr/bin/env bash + +# Copyright (C) 2023 The Qt Company Ltd. +# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only + +set -ex + +"$(dirname "$0")"/../common/linux/cleanup_cache.sh diff --git a/coin/provisioning/qtci-linux-RHEL-8.8-x86_64/99-enable_test_stacktraces.sh b/coin/provisioning/qtci-linux-RHEL-8.8-x86_64/99-enable_test_stacktraces.sh new file mode 100755 index 00000000..600b7850 --- /dev/null +++ b/coin/provisioning/qtci-linux-RHEL-8.8-x86_64/99-enable_test_stacktraces.sh @@ -0,0 +1,8 @@ +#!/usr/bin/env bash +#Copyright (C) 2023 The Qt Company Ltd +#SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only + +set -ex + +BASEDIR=$(dirname "$0") +"$BASEDIR"/../common/linux/enable_test_stacktraces.sh diff --git a/coin/provisioning/qtci-linux-RHEL-8.8-x86_64/99-version.sh b/coin/provisioning/qtci-linux-RHEL-8.8-x86_64/99-version.sh new file mode 100755 index 00000000..725351ae --- /dev/null +++ b/coin/provisioning/qtci-linux-RHEL-8.8-x86_64/99-version.sh @@ -0,0 +1,18 @@ +#!/usr/bin/env bash + +# Copyright (C) 2023 The Qt Company Ltd. +# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only + +# This script needs to be called last during provisioning so that the software information will show up last in provision log. + +# Storage installed RPM packages information + +set -ex + +# shellcheck disable=SC2129 +echo "*********************************************" >> ~/versions.txt +echo "***** All installed RPM packages *****" >> ~/versions.txt +rpm -q -a | sort >> ~/versions.txt +echo "*********************************************" >> ~/versions.txt + +"$(dirname "$0")/../common/linux/version.sh" diff --git a/coin/provisioning/qtci-linux-RHEL-9.0-x86_64/01-disable_net_lso.sh b/coin/provisioning/qtci-linux-RHEL-9.0-x86_64/01-disable_net_lso.sh new file mode 100755 index 00000000..4da6aaaa --- /dev/null +++ b/coin/provisioning/qtci-linux-RHEL-9.0-x86_64/01-disable_net_lso.sh @@ -0,0 +1,3 @@ +#!/bin/sh + +echo "ETHTOOL_OPTS='-K \${DEVICE} tso off'" | sudo tee -a /etc/sysconfig/network-scripts/ifcfg-Wired_connection_1 diff --git a/coin/provisioning/qtci-macos-10.14-x86_64/01-install_telegraf.sh b/coin/provisioning/qtci-linux-RHEL-9.0-x86_64/01-install_telegraf.sh index 729f9003..729f9003 100755 --- a/coin/provisioning/qtci-macos-10.14-x86_64/01-install_telegraf.sh +++ b/coin/provisioning/qtci-linux-RHEL-9.0-x86_64/01-install_telegraf.sh diff --git a/coin/provisioning/qtci-linux-RHEL-9.0-x86_64/01-refresh-subscription-manager.sh b/coin/provisioning/qtci-linux-RHEL-9.0-x86_64/01-refresh-subscription-manager.sh new file mode 100755 index 00000000..51417f1b --- /dev/null +++ b/coin/provisioning/qtci-linux-RHEL-9.0-x86_64/01-refresh-subscription-manager.sh @@ -0,0 +1,18 @@ +#!/usr/bin/env bash + +# Copyright (C) 2023 The Qt Company Ltd. +# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only + +set -e + +curl --retry 5 --retry-delay 10 --retry-max-time 60 http://ci-files01-hki.ci.qt.io/input/semisecure/redhat_ak_all_versions.sh -o "/tmp/redhat_ak.sh" &>/dev/null +sudo chmod 755 /tmp/redhat_ak.sh +/tmp/redhat_ak.sh + +# refresh local certificates +sudo subscription-manager refresh + +# Attach available subscriptions to system. This is needed when subscriptions are renewed. +sudo subscription-manager attach --auto + +sudo rm -f /tmp/redhat_ak.sh diff --git a/coin/provisioning/qtci-linux-RHEL-9.0-x86_64/01-remove_network_manager_secret_key.sh b/coin/provisioning/qtci-linux-RHEL-9.0-x86_64/01-remove_network_manager_secret_key.sh new file mode 100755 index 00000000..7f9790ae --- /dev/null +++ b/coin/provisioning/qtci-linux-RHEL-9.0-x86_64/01-remove_network_manager_secret_key.sh @@ -0,0 +1,11 @@ +#!/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 + +# Ipv6 link local becomes tentative and dadfailed if two systems has the same secret_key +# New unique secret key will be created automatically during start up. +# https://access.redhat.com/solutions/3553581 +echo "Removing secret_key" +sudo rm -f "/var/lib/NetworkManager/secret_key" + + diff --git a/coin/provisioning/qtci-linux-RHEL-9.0-x86_64/01-set-ulimit.sh b/coin/provisioning/qtci-linux-RHEL-9.0-x86_64/01-set-ulimit.sh new file mode 100755 index 00000000..e951e82a --- /dev/null +++ b/coin/provisioning/qtci-linux-RHEL-9.0-x86_64/01-set-ulimit.sh @@ -0,0 +1,8 @@ +#!/usr/bin/env bash +#Copyright (C) 2023 The Qt Company Ltd +#SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only + +set -ex + +BASEDIR=$(dirname "$0") +"$BASEDIR/../common/linux/set_ulimit.sh" diff --git a/coin/provisioning/qtci-linux-RHEL-9.0-x86_64/01-systemsetup.sh b/coin/provisioning/qtci-linux-RHEL-9.0-x86_64/01-systemsetup.sh new file mode 100755 index 00000000..5e3ecb27 --- /dev/null +++ b/coin/provisioning/qtci-linux-RHEL-9.0-x86_64/01-systemsetup.sh @@ -0,0 +1,31 @@ +#!/usr/bin/env bash +# Copyright (C) 2022 The Qt Company Ltd. +# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only + +set -ex + +BASEDIR=$(dirname "$0") +# shellcheck source=../common/shared/network_test_server_ip.txt +source "$BASEDIR/../common/shared/network_test_server_ip.txt" + +echo "Set Network Test Server address to $network_test_server_ip in /etc/hosts" +echo "$network_test_server_ip qt-test-server qt-test-server.qt-test-net" | sudo tee -a /etc/hosts +echo "Set DISPLAY" +echo 'export DISPLAY=":0"' >> ~/.bashrc +# for current session +export DISPLAY=:0 + +# Set timezone to UTC. +sudo timedatectl set-timezone Etc/UTC +# disable Automatic screen lock +gsettings set org.gnome.desktop.screensaver lock-enabled false +# disable blank screen power saving +gsettings set org.gnome.desktop.session idle-delay 0 +# Disable hot corner feature +gsettings set org.gnome.desktop.interface enable-hot-corners false +# Disable windows key from showing the GNOME Shell Activities overlay +gsettings set org.gnome.mutter overlay-key "" + +# Set Wayland enable as false. +echo "Setting Wayland enable as false" +sudo sed -i 's/#WaylandEnable=false/WaylandEnable=false/g' /etc/gdm/custom.conf diff --git a/coin/provisioning/qtci-linux-RHEL-9.0-x86_64/03-enable-repos.sh b/coin/provisioning/qtci-linux-RHEL-9.0-x86_64/03-enable-repos.sh new file mode 100755 index 00000000..f2ac6a71 --- /dev/null +++ b/coin/provisioning/qtci-linux-RHEL-9.0-x86_64/03-enable-repos.sh @@ -0,0 +1,33 @@ +#!/usr/bin/env bash +# Copyright (C) 2022 The Qt Company Ltd. +# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only + +set -ex + +echo "set WritePreparedUpdates=false" | sudo tee -a /etc/PackageKit/PackageKit.conf +sudo systemctl stop packagekit +sudo systemctl disable packagekit +while sudo fuser /usr/libexec/packagekitd >/dev/null 2>&1; do + echo "Waiting for PackageKit to finish..." + sleep 1 +done +sudo yum -y remove PackageKit gnome-software + +sudo subscription-manager config --rhsm.manage_repos=1 +sudo subscription-manager refresh + +# List available RHEL versions and bind with correct one +sudo subscription-manager release --list +sudo subscription-manager release --set=9.0 +sudo yum clean all + +# sudo yum config-manager --enable 'rhceph-4-tools-for-rhel-8-x86_64-rpms' +sudo yum config-manager --enable 'codeready-builder-for-rhel-9-x86_64-rpms' +sudo yum config-manager --enable 'rhel-9-for-x86_64-baseos-rpms' +sudo yum config-manager --enable 'rhel-9-for-x86_64-appstream-rpms' +# Epel is required for 'double-conversion-devel', 'libsqlite3x' and 'p7zip' +sudo dnf install -y https://dl.fedoraproject.org/pub/epel/epel-release-latest-9.noarch.rpm + +sudo yum clean all +# As well as this fetching the repository data, we also get a printout of the used repos +sudo yum repolist 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 new file mode 100755 index 00000000..79c3476a --- /dev/null +++ b/coin/provisioning/qtci-linux-RHEL-9.0-x86_64/04-install-packages.sh @@ -0,0 +1,167 @@ +#!/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 + +# Remove update notifications and packagekit running in the background +sudo yum -y remove PackageKit gnome-software + +# CI: All platforms should have up-to-date packages when new provision is made +sudo yum -y update + +installPackages=() +installPackages+=(git) +installPackages+=(zlib-devel) +installPackages+=(glib2-devel) +installPackages+=(openssl-devel) +installPackages+=(freetype-devel) +installPackages+=(fontconfig-devel) +installPackages+=(curl-devel) +installPackages+=(expat-devel) +installPackages+=(gettext-devel) +installPackages+=(perl-devel) +# Required by some old pkg perl script, FindBin.pm was moved to new package in perl 5.32 +installPackages+=(perl-FindBin) +installPackages+=(dh-autoreconf) +# cmake build +installPackages+=(ninja-build) +installPackages+=(pcre2-devel) +installPackages+=(double-conversion-devel) +installPackages+=(zstd) +# EGL support +# mesa-libEGL-devel need to use older version than 22.1.5-2.el9 which cause Xorg to crash +installPackages+=(mesa-libEGL-devel-21.3.4-2.el9) +installPackages+=(mesa-libGL-devel-21.3.4-2.el9) +installPackages+=(libxkbfile-devel) +# Xinput2 +installPackages+=(libXi-devel) +installPackages+=(mysql-server) +installPackages+=(mysql) +installPackages+=(mysql-devel) +installPackages+=(postgresql-devel) +installPackages+=(cups-devel) +installPackages+=(dbus-devel) +# gstreamer 1 for QtMultimedia +# Note! gstreamer1-plugins-bad-free needs to be upgraded or it will conflicts with gstreamer1-plugins-base-devel +installPackages+=(gstreamer1-plugins-bad-free) +installPackages+=(gstreamer1-devel) +installPackages+=(gstreamer1-plugins-base-devel) +# QtMultimedia, ffmpeg +installPackages+=(yasm) +installPackages+=(libva-devel) +# gtk3 style for QtGui/QStyle +installPackages+=(gtk3-devel) +# libusb1 for tqtc-boot2qt/qdb +installPackages+=(libusbx-devel) +# speech-dispatcher-devel for QtSpeech, otherwise it has no backend on Linux +installPackages+=(speech-dispatcher-devel) +# Python 2 devel and pip. python-pip requires the EPEL repository to be added +# Python 2 no longer supported +# installPackages+=(python2-devel python2-pip) +# Python 3 with python-devel, pip and virtualenv +installPackages+=(python3) +installPackages+=(python3-devel) +# WebEngine +installPackages+=(bison) +installPackages+=(flex) +installPackages+=(gperftools-libs) +installPackages+=(gperf) +installPackages+=(alsa-lib-devel) +installPackages+=(pulseaudio-libs-devel) +installPackages+=(libdrm-devel) +installPackages+=(libva-devel) +installPackages+=(libuuid-devel) +installPackages+=(libXtst-devel) +installPackages+=(libxshmfence-devel) +installPackages+=(nspr-devel) +installPackages+=(nss-devel) +installPackages+=(python3-html5lib) +installPackages+=(mesa-libgbm-devel-21.3.4-2.el9) +installPackages+=(libstdc++-static) +# For Android builds +installPackages+=(java-17-openjdk-devel-17.0.9.0.9) +# For receiving shasum +installPackages+=(perl-Digest-SHA) +# INTEGRITY requirements +installPackages+=(glibc.i686) +# Enable Qt Bluetooth +installPackages+=(bluez-libs-devel) +# QtNfc +installPackages+=(pcsc-lite-devel) +# QtWebKit +installPackages+=(libxml2-devel) +installPackages+=(libxslt-devel) +# For building Wayland from source +installPackages+=(libffi-devel) +# QtWayland +# installPackages+=(mesa-libwayland-egl) +# installPackages+=(mesa-libwayland-egl-devel) +installPackages+=(libwayland-egl) +installPackages+=(libwayland-client) +installPackages+=(libwayland-cursor) +installPackages+=(libwayland-server) +# Jenkins +installPackages+=(chrpath) +# libxkbcommon +installPackages+=(libxkbcommon-devel) +installPackages+=(libxkbcommon-x11-devel) +# xcb-util-* libraries +installPackages+=(xcb-util) +installPackages+=(xcb-util-image-devel) +installPackages+=(xcb-util-keysyms-devel) +installPackages+=(xcb-util-wm-devel) +installPackages+=(xcb-util-renderutil-devel) +installPackages+=(xcb-util-cursor) +installPackages+=(xcb-util-cursor-devel) + +# ODBC support +installPackages+=(unixODBC-devel) +installPackages+=(unixODBC) +# Vulkan support +installPackages+=(vulkan-devel) +installPackages+=(vulkan-tools) +# Conan: For Python build +installPackages+=(xz-devel) +installPackages+=(zlib-devel) +installPackages+=(libffi-devel) +installPackages+=(libsqlite3x-devel) +# Build.pl +installPackages+=(perl-Data-Dumper) +# In RedHat these come with Devtoolset +installPackages+=(gcc) +installPackages+=(gcc-c++) +installPackages+=(make) +# Open source VMware Tools +installPackages+=(open-vm-tools) +# nfs-utils is needed to make mount work with ci-files01 +installPackages+=(nfs-utils) +# cifs-utils, for mounting smb drive +installPackages+=(keyutils) +installPackages+=(cifs-utils) + + +sudo yum -y install "${installPackages[@]}" + +sudo dnf install nodejs-16.14.0-4.el9_0 -y +# Required by QtCore +sudo dnf install 'perl(English)' -y + +# We shouldn't use yum to install virtualenv. The one found from package repo is not +# working, but we can use installed pip +sudo pip3 install --upgrade pip +# Configure pip +sudo pip config --user set global.index https://ci-files01-hki.ci.qt.io/input/python_module_cache +sudo pip config --user set global.extra-index-url https://pypi.org/simple/ + +sudo pip3 install virtualenv wheel +# Just make sure we have virtualenv to run with python3.8 -m virtualenv +sudo python -m pip install virtualenv wheel + +sudo /usr/bin/pip3 install wheel + +# Make FindPython3.cmake to find python3 +sudo ln -s /usr/bin/python3 /usr/local/bin/python3 + +OpenSSLVersion="$(openssl version |cut -b 9-14)" +echo "OpenSSL = $OpenSSLVersion" >> ~/versions.txt diff --git a/coin/provisioning/qtci-linux-RHEL-9.0-x86_64/04-p7zip.sh b/coin/provisioning/qtci-linux-RHEL-9.0-x86_64/04-p7zip.sh new file mode 100755 index 00000000..9a7e899b --- /dev/null +++ b/coin/provisioning/qtci-linux-RHEL-9.0-x86_64/04-p7zip.sh @@ -0,0 +1,15 @@ +#!/usr/bin/env bash +# Copyright (C) 2021 The Qt Company Ltd. +# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only +source "${BASH_SOURCE%/*}/../common/unix/DownloadURL.sh" + +set -ex + +name="p7zip" +version="7-11" +sudo yum -y install "$name" + +# Link 7za to 7z so we can use existing installation scripts +sudo ln -s /usr/bin/7za /usr/bin/7z + +echo "$name = $version" >> ~/versions.txt diff --git a/coin/provisioning/qtci-linux-RHEL-9.0-x86_64/05-libclang-v100-dyn.sh b/coin/provisioning/qtci-linux-RHEL-9.0-x86_64/05-libclang-v100-dyn.sh new file mode 100755 index 00000000..2e08049d --- /dev/null +++ b/coin/provisioning/qtci-linux-RHEL-9.0-x86_64/05-libclang-v100-dyn.sh @@ -0,0 +1,8 @@ +#!/usr/bin/env bash +#Copyright (C) 2023 The Qt Company Ltd +#SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only +set -ex + +BASEDIR=$(dirname "$0") +# shellcheck source=../common/unix/libclang-v100-dyn.sh +"$BASEDIR/../common/unix/libclang-v100-dyn.sh" diff --git a/coin/provisioning/qtci-linux-RHEL-9.0-x86_64/05-libclang.sh b/coin/provisioning/qtci-linux-RHEL-9.0-x86_64/05-libclang.sh new file mode 100755 index 00000000..cc68ed1f --- /dev/null +++ b/coin/provisioning/qtci-linux-RHEL-9.0-x86_64/05-libclang.sh @@ -0,0 +1,8 @@ +#!/usr/bin/env bash +#Copyright (C) 2023 The Qt Company Ltd +#SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only +set -ex + +BASEDIR=$(dirname "$0") +# shellcheck source=../common/unix/libclang.sh +"$BASEDIR/../common/unix/libclang.sh" diff --git a/coin/provisioning/qtci-linux-RHEL-9.0-x86_64/05-mount-vcpkg-cache-drive.sh b/coin/provisioning/qtci-linux-RHEL-9.0-x86_64/05-mount-vcpkg-cache-drive.sh new file mode 100755 index 00000000..ed49b3a5 --- /dev/null +++ b/coin/provisioning/qtci-linux-RHEL-9.0-x86_64/05-mount-vcpkg-cache-drive.sh @@ -0,0 +1,8 @@ +#!/usr/bin/env bash +# Copyright (C) 2023 The Qt Company Ltd. +# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only + +set -ex + +# shellcheck source=../common/linux/mount-vcpkg-cache-drive.sh +source "${BASH_SOURCE%/*}/../common/linux/mount-vcpkg-cache-drive.sh" diff --git a/coin/provisioning/qtci-linux-RHEL-9.0-x86_64/09-disable_selinux.sh b/coin/provisioning/qtci-linux-RHEL-9.0-x86_64/09-disable_selinux.sh new file mode 100755 index 00000000..1659419a --- /dev/null +++ b/coin/provisioning/qtci-linux-RHEL-9.0-x86_64/09-disable_selinux.sh @@ -0,0 +1,8 @@ +#!/usr/bin/env bash +# Copyright (C) 2017 The Qt Company Ltd. +# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only + +set -ex + +# shellcheck source=../common/linux/disable_selinux.sh +source "${BASH_SOURCE%/*}/../common/linux/disable_selinux.sh" diff --git a/coin/provisioning/qtci-linux-RHEL-9.0-x86_64/20-sccache.sh b/coin/provisioning/qtci-linux-RHEL-9.0-x86_64/20-sccache.sh new file mode 100755 index 00000000..b371d947 --- /dev/null +++ b/coin/provisioning/qtci-linux-RHEL-9.0-x86_64/20-sccache.sh @@ -0,0 +1,3 @@ +#!/usr/bin/env bash + +source "${BASH_SOURCE%/*}/../common/linux/sccache.sh" diff --git a/coin/provisioning/qtci-linux-RHEL-9.0-x86_64/22-mqtt_broker.sh b/coin/provisioning/qtci-linux-RHEL-9.0-x86_64/22-mqtt_broker.sh new file mode 100755 index 00000000..c81f5c66 --- /dev/null +++ b/coin/provisioning/qtci-linux-RHEL-9.0-x86_64/22-mqtt_broker.sh @@ -0,0 +1,6 @@ +#!/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 + +# shellcheck source=../common/unix/mqtt_broker.sh +source "${BASH_SOURCE%/*}/../common/unix/mqtt_broker.sh" diff --git a/coin/provisioning/qtci-linux-RHEL-9.0-x86_64/30-fbx.sh b/coin/provisioning/qtci-linux-RHEL-9.0-x86_64/30-fbx.sh new file mode 100755 index 00000000..16a9bda8 --- /dev/null +++ b/coin/provisioning/qtci-linux-RHEL-9.0-x86_64/30-fbx.sh @@ -0,0 +1,8 @@ +#!/usr/bin/env bash +#Copyright (C) 2023 The Qt Company Ltd +#SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only + +set -ex + +BASEDIR=$(dirname "$0") +"$BASEDIR/../common/linux/fbx_linux.sh" diff --git a/coin/provisioning/qtci-linux-RHEL-9.0-x86_64/30-install-conan.sh b/coin/provisioning/qtci-linux-RHEL-9.0-x86_64/30-install-conan.sh new file mode 100755 index 00000000..67a4f911 --- /dev/null +++ b/coin/provisioning/qtci-linux-RHEL-9.0-x86_64/30-install-conan.sh @@ -0,0 +1,8 @@ +#!/usr/bin/env bash +#Copyright (C) 2023 The Qt Company Ltd +#SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only + +set -ex + +BASEDIR=$(dirname "$0") +"$BASEDIR/../common/unix/install-conan.sh" diff --git a/coin/provisioning/qtci-linux-RHEL-9.0-x86_64/30-install-git.sh b/coin/provisioning/qtci-linux-RHEL-9.0-x86_64/30-install-git.sh new file mode 100755 index 00000000..7a73f354 --- /dev/null +++ b/coin/provisioning/qtci-linux-RHEL-9.0-x86_64/30-install-git.sh @@ -0,0 +1,8 @@ +#!/usr/bin/env bash +#Copyright (C) 2023 The Qt Company Ltd +#SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only + +set -ex + +BASEDIR=$(dirname "$0") +"$BASEDIR/../common/linux/install-git.sh" diff --git a/coin/provisioning/qtci-linux-RHEL-9.0-x86_64/30-install_icu.sh b/coin/provisioning/qtci-linux-RHEL-9.0-x86_64/30-install_icu.sh new file mode 100755 index 00000000..8cba7c33 --- /dev/null +++ b/coin/provisioning/qtci-linux-RHEL-9.0-x86_64/30-install_icu.sh @@ -0,0 +1,45 @@ +#!/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 + +# shellcheck source=../common/unix/DownloadURL.sh +source "${BASH_SOURCE%/*}/../common/unix/DownloadURL.sh" + +set -ex + +# This script will install ICU + +icuVersion="56.1" +icuLocation="/usr/lib64" +sha1="6dd9ca6b185681a7ddc4bb94fd7fced27647a21c" +baseBinaryPackageURL="http://ci-files01-hki.ci.qt.io/input/icu/$icuVersion/icu-linux-g++-Rhel7.2-x64.7z" +baseBinaryPackageExternalURL="http://master.qt.io/development_releases/prebuilt/icu/prebuilt/$icuVersion/icu-linux-g++-Rhel7.2-x64.7z" + +sha1Dev="bffde26cdea752bee0edd281820c57f1adac3864" +develPackageURL="http://ci-files01-hki.ci.qt.io/input/icu/$icuVersion/icu-linux-g++-Rhel7.2-x64-devel.7z" +develPackageExternalURL="http://master.qt.io/development_releases/prebuilt/icu/prebuilt/$icuVersion/icu-linux-g++-Rhel7.2-x64-devel.7z" + +echo "Installing custom ICU $icuVersion $sha1 packages on RHEL to $icuLocation" + +targetFile=$(mktemp) +DownloadURL "$baseBinaryPackageURL" "$baseBinaryPackageExternalURL" "$sha1" "$targetFile" +sudo 7z x -y -o/usr/lib64 "$targetFile" +sudo rm "$targetFile" + +echo "Installing custom ICU devel packages on RHEL" + +tempDir=$(mktemp -d) + +targetFile=$(mktemp) +DownloadURL "$develPackageURL" "$develPackageExternalURL" "$sha1Dev" "$targetFile" +7z x -y -o"$tempDir" "$targetFile" + +sudo cp -a "$tempDir"/lib/* /usr/lib64 +sudo cp -a "$tempDir"/* /usr/ + +sudo rm "$targetFile" +sudo rm -fr "$tempDir" + +sudo /sbin/ldconfig + +echo "ICU = $icuVersion" >> ~/versions.txt diff --git a/coin/provisioning/qtci-linux-RHEL-9.0-x86_64/35-install-breakpad.sh b/coin/provisioning/qtci-linux-RHEL-9.0-x86_64/35-install-breakpad.sh new file mode 100755 index 00000000..8a9dde56 --- /dev/null +++ b/coin/provisioning/qtci-linux-RHEL-9.0-x86_64/35-install-breakpad.sh @@ -0,0 +1,8 @@ +#!/usr/bin/env bash +#Copyright (C) 2023 The Qt Company Ltd +#SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only + +set -ex + +# shellcheck source=../common/unix/install-breakpad.sh +source "${BASH_SOURCE%/*}/../common/unix/install-breakpad.sh" diff --git a/coin/provisioning/qtci-linux-RHEL-9.0-x86_64/40-android_linux.sh b/coin/provisioning/qtci-linux-RHEL-9.0-x86_64/40-android_linux.sh new file mode 100755 index 00000000..7ac2ce72 --- /dev/null +++ b/coin/provisioning/qtci-linux-RHEL-9.0-x86_64/40-android_linux.sh @@ -0,0 +1,8 @@ +#!/usr/bin/env bash +# Copyright (C) 2017 The Qt Company Ltd. +# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only + +set -ex + +# shellcheck source=../common/linux/android_linux.sh +source "${BASH_SOURCE%/*}/../common/linux/android_linux.sh" diff --git a/coin/provisioning/qtci-linux-RHEL-9.0-x86_64/40-install-cmake.sh b/coin/provisioning/qtci-linux-RHEL-9.0-x86_64/40-install-cmake.sh new file mode 100755 index 00000000..41139756 --- /dev/null +++ b/coin/provisioning/qtci-linux-RHEL-9.0-x86_64/40-install-cmake.sh @@ -0,0 +1,12 @@ +#!/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 installs CMake 3.6.2 + +set -ex + +# CMake is needed for autotests that verify that Qt can be built with CMake + +# shellcheck source=../common/linux/cmake_linux.sh +source "${BASH_SOURCE%/*}/../common/linux/cmake_linux.sh" diff --git a/coin/provisioning/qtci-linux-RHEL-9.0-x86_64/50-openssl_for_android_linux.sh b/coin/provisioning/qtci-linux-RHEL-9.0-x86_64/50-openssl_for_android_linux.sh new file mode 100755 index 00000000..36aa6983 --- /dev/null +++ b/coin/provisioning/qtci-linux-RHEL-9.0-x86_64/50-openssl_for_android_linux.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 + +# shellcheck source=../common/unix/openssl_for_android.sh +source "${BASH_SOURCE%/*}/../common/unix/openssl_3_for_android.sh" diff --git a/coin/provisioning/qtci-linux-RHEL-9.0-x86_64/60-install_protobuf.sh b/coin/provisioning/qtci-linux-RHEL-9.0-x86_64/60-install_protobuf.sh new file mode 100755 index 00000000..c538ca07 --- /dev/null +++ b/coin/provisioning/qtci-linux-RHEL-9.0-x86_64/60-install_protobuf.sh @@ -0,0 +1,9 @@ +#!/usr/bin/env bash +# Copyright (C) 2022 The Qt Company Ltd. +# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only + +set -ex + +# shellcheck source=../common/unix/install_protobuf.sh +source "${BASH_SOURCE%/*}/../common/unix/install_protobuf.sh" + diff --git a/coin/provisioning/qtci-linux-RHEL-9.0-x86_64/61-install_grpc.sh b/coin/provisioning/qtci-linux-RHEL-9.0-x86_64/61-install_grpc.sh new file mode 100755 index 00000000..ecd6a51f --- /dev/null +++ b/coin/provisioning/qtci-linux-RHEL-9.0-x86_64/61-install_grpc.sh @@ -0,0 +1,9 @@ +#!/usr/bin/env bash +# Copyright (C) 2022 The Qt Company Ltd. +# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only + +set -ex + +# shellcheck source=../common/unix/install_grpc.sh +source "${BASH_SOURCE%/*}/../common/unix/install_grpc.sh" + diff --git a/coin/provisioning/qtci-linux-RHEL-9.0-x86_64/70-install_QemuGA.sh b/coin/provisioning/qtci-linux-RHEL-9.0-x86_64/70-install_QemuGA.sh new file mode 100755 index 00000000..27ee6f50 --- /dev/null +++ b/coin/provisioning/qtci-linux-RHEL-9.0-x86_64/70-install_QemuGA.sh @@ -0,0 +1,10 @@ +#!/usr/bin/env bash +# Copyright (C) 2020 The Qt Company Ltd. +# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only + +# This script installs QEMU Guest Agent + +set -ex + +sudo yum -y install qemu-guest-agent +sudo systemctl start qemu-guest-agent diff --git a/coin/provisioning/qtci-linux-RHEL-9.0-x86_64/70-install_dwz.sh b/coin/provisioning/qtci-linux-RHEL-9.0-x86_64/70-install_dwz.sh new file mode 100755 index 00000000..ef076d7c --- /dev/null +++ b/coin/provisioning/qtci-linux-RHEL-9.0-x86_64/70-install_dwz.sh @@ -0,0 +1,11 @@ +#!/usr/bin/env bash +# Copyright (C) 2020 Konstantin Tokarev <annulen@yandex.ru> +# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only + +set -ex + +sudo yum -y install elfutils-libelf-devel + +# shellcheck source=../common/linux/install_dwz.sh +source "${BASH_SOURCE%/*}/../common/linux/install_dwz.sh" + diff --git a/coin/provisioning/qtci-linux-RHEL-9.0-x86_64/90-bootstrap-autostart.sh b/coin/provisioning/qtci-linux-RHEL-9.0-x86_64/90-bootstrap-autostart.sh new file mode 100755 index 00000000..1ff43850 --- /dev/null +++ b/coin/provisioning/qtci-linux-RHEL-9.0-x86_64/90-bootstrap-autostart.sh @@ -0,0 +1,3 @@ +#!/usr/bin/env bash + +source "${BASH_SOURCE%/*}/../common/linux/bootstrap-autostart.sh" diff --git a/coin/provisioning/qtci-linux-RHEL-9.0-x86_64/90-install-ffmpeg.sh b/coin/provisioning/qtci-linux-RHEL-9.0-x86_64/90-install-ffmpeg.sh new file mode 100755 index 00000000..61da9b7b --- /dev/null +++ b/coin/provisioning/qtci-linux-RHEL-9.0-x86_64/90-install-ffmpeg.sh @@ -0,0 +1,3 @@ +#!/usr/bin/env bash + +source "${BASH_SOURCE%/*}/../common/unix/install-ffmpeg.sh" "linux" diff --git a/coin/provisioning/qtci-linux-RHEL-9.0-x86_64/90-mimer.sh b/coin/provisioning/qtci-linux-RHEL-9.0-x86_64/90-mimer.sh new file mode 100755 index 00000000..a27ebdc5 --- /dev/null +++ b/coin/provisioning/qtci-linux-RHEL-9.0-x86_64/90-mimer.sh @@ -0,0 +1,8 @@ +#!/usr/bin/env bash +# Copyright (C) 2022 The Qt Company Ltd. +# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only + +set -ex + +BASEDIR=$(dirname "$0") +"$BASEDIR/../common/linux/mimersql.sh" "openssl-3" "rpm" diff --git a/coin/provisioning/qtci-linux-RHEL-9.0-x86_64/90-squish.sh b/coin/provisioning/qtci-linux-RHEL-9.0-x86_64/90-squish.sh new file mode 100755 index 00000000..f803ccc1 --- /dev/null +++ b/coin/provisioning/qtci-linux-RHEL-9.0-x86_64/90-squish.sh @@ -0,0 +1,6 @@ +#!/usr/bin/env bash +#Copyright (C) 2023 The Qt Company Ltd +#SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only +BASEDIR=$(dirname "$0") +"$BASEDIR/../common/unix/squishInstall.sh" + diff --git a/coin/provisioning/qtci-linux-RHEL-9.0-x86_64/99-cleanup.sh b/coin/provisioning/qtci-linux-RHEL-9.0-x86_64/99-cleanup.sh new file mode 100755 index 00000000..4d6e16ea --- /dev/null +++ b/coin/provisioning/qtci-linux-RHEL-9.0-x86_64/99-cleanup.sh @@ -0,0 +1,7 @@ +#!/usr/bin/env bash +# Copyright (C) 2022 The Qt Company Ltd. +# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only + +set -ex + +"$(dirname "$0")"/../common/linux/cleanup_cache.sh diff --git a/coin/provisioning/qtci-linux-RHEL-9.0-x86_64/99-version.sh b/coin/provisioning/qtci-linux-RHEL-9.0-x86_64/99-version.sh new file mode 100755 index 00000000..00d06674 --- /dev/null +++ b/coin/provisioning/qtci-linux-RHEL-9.0-x86_64/99-version.sh @@ -0,0 +1,17 @@ +#!/usr/bin/env bash +# Copyright (C) 2018 The Qt Company Ltd. +# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only + +# This script needs to be called last during provisioning so that the software information will show up last in provision log. + +# Storage installed RPM packages information + +set -ex + +# shellcheck disable=SC2129 +echo "*********************************************" >> ~/versions.txt +echo "***** All installed RPM packages *****" >> ~/versions.txt +rpm -q -a | sort >> ~/versions.txt +echo "*********************************************" >> ~/versions.txt + +"$(dirname "$0")/../common/linux/version.sh" diff --git a/coin/provisioning/qtci-linux-RHEL-9.2-x86_64/01-disable_net_lso.sh b/coin/provisioning/qtci-linux-RHEL-9.2-x86_64/01-disable_net_lso.sh new file mode 100755 index 00000000..4da6aaaa --- /dev/null +++ b/coin/provisioning/qtci-linux-RHEL-9.2-x86_64/01-disable_net_lso.sh @@ -0,0 +1,3 @@ +#!/bin/sh + +echo "ETHTOOL_OPTS='-K \${DEVICE} tso off'" | sudo tee -a /etc/sysconfig/network-scripts/ifcfg-Wired_connection_1 diff --git a/coin/provisioning/qtci-linux-RHEL-9.2-x86_64/01-install_telegraf.sh b/coin/provisioning/qtci-linux-RHEL-9.2-x86_64/01-install_telegraf.sh new file mode 100755 index 00000000..729f9003 --- /dev/null +++ b/coin/provisioning/qtci-linux-RHEL-9.2-x86_64/01-install_telegraf.sh @@ -0,0 +1,3 @@ +#!/bin/sh + +"$(dirname "$0")"/../common/unix/telegraf_install.sh diff --git a/coin/provisioning/qtci-linux-RHEL-9.2-x86_64/01-refresh-subscription-manager.sh b/coin/provisioning/qtci-linux-RHEL-9.2-x86_64/01-refresh-subscription-manager.sh new file mode 100755 index 00000000..51417f1b --- /dev/null +++ b/coin/provisioning/qtci-linux-RHEL-9.2-x86_64/01-refresh-subscription-manager.sh @@ -0,0 +1,18 @@ +#!/usr/bin/env bash + +# Copyright (C) 2023 The Qt Company Ltd. +# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only + +set -e + +curl --retry 5 --retry-delay 10 --retry-max-time 60 http://ci-files01-hki.ci.qt.io/input/semisecure/redhat_ak_all_versions.sh -o "/tmp/redhat_ak.sh" &>/dev/null +sudo chmod 755 /tmp/redhat_ak.sh +/tmp/redhat_ak.sh + +# refresh local certificates +sudo subscription-manager refresh + +# Attach available subscriptions to system. This is needed when subscriptions are renewed. +sudo subscription-manager attach --auto + +sudo rm -f /tmp/redhat_ak.sh diff --git a/coin/provisioning/qtci-linux-RHEL-9.2-x86_64/01-remove_network_manager_secret_key.sh b/coin/provisioning/qtci-linux-RHEL-9.2-x86_64/01-remove_network_manager_secret_key.sh new file mode 100755 index 00000000..7f9790ae --- /dev/null +++ b/coin/provisioning/qtci-linux-RHEL-9.2-x86_64/01-remove_network_manager_secret_key.sh @@ -0,0 +1,11 @@ +#!/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 + +# Ipv6 link local becomes tentative and dadfailed if two systems has the same secret_key +# New unique secret key will be created automatically during start up. +# https://access.redhat.com/solutions/3553581 +echo "Removing secret_key" +sudo rm -f "/var/lib/NetworkManager/secret_key" + + diff --git a/coin/provisioning/qtci-linux-RHEL-9.2-x86_64/01-set-ulimit.sh b/coin/provisioning/qtci-linux-RHEL-9.2-x86_64/01-set-ulimit.sh new file mode 100755 index 00000000..e951e82a --- /dev/null +++ b/coin/provisioning/qtci-linux-RHEL-9.2-x86_64/01-set-ulimit.sh @@ -0,0 +1,8 @@ +#!/usr/bin/env bash +#Copyright (C) 2023 The Qt Company Ltd +#SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only + +set -ex + +BASEDIR=$(dirname "$0") +"$BASEDIR/../common/linux/set_ulimit.sh" diff --git a/coin/provisioning/qtci-linux-RHEL-9.2-x86_64/01-systemsetup.sh b/coin/provisioning/qtci-linux-RHEL-9.2-x86_64/01-systemsetup.sh new file mode 100755 index 00000000..fbd00eef --- /dev/null +++ b/coin/provisioning/qtci-linux-RHEL-9.2-x86_64/01-systemsetup.sh @@ -0,0 +1,31 @@ +#!/usr/bin/env bash +# Copyright (C) 2023 The Qt Company Ltd. +# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only + +set -ex + +BASEDIR=$(dirname "$0") +# shellcheck source=../common/shared/network_test_server_ip.txt +source "$BASEDIR/../common/shared/network_test_server_ip.txt" + +echo "Set Network Test Server address to $network_test_server_ip in /etc/hosts" +echo "$network_test_server_ip qt-test-server qt-test-server.qt-test-net" | sudo tee -a /etc/hosts +echo "Set DISPLAY" +echo 'export DISPLAY=":0"' >> ~/.bashrc +# for current session +export DISPLAY=:0 + +# Set timezone to UTC. +sudo timedatectl set-timezone Etc/UTC +# disable Automatic screen lock +gsettings set org.gnome.desktop.screensaver lock-enabled false +# disable blank screen power saving +gsettings set org.gnome.desktop.session idle-delay 0 +# Disable hot corner feature +gsettings set org.gnome.desktop.interface enable-hot-corners false +# Disable windows key from showing the GNOME Shell Activities overlay +gsettings set org.gnome.mutter overlay-key "" + +# Set Wayland enable as false. +echo "Setting Wayland enable as false" +sudo sed -i 's/#WaylandEnable=false/WaylandEnable=false/g' /etc/gdm/custom.conf 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/03-enable-repos.sh b/coin/provisioning/qtci-linux-RHEL-9.2-x86_64/03-enable-repos.sh new file mode 100755 index 00000000..33f2faa9 --- /dev/null +++ b/coin/provisioning/qtci-linux-RHEL-9.2-x86_64/03-enable-repos.sh @@ -0,0 +1,34 @@ +#!/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 + +echo "set WritePreparedUpdates=false" | sudo tee -a /etc/PackageKit/PackageKit.conf +sudo systemctl stop packagekit +sudo systemctl mask --now packagekit +while sudo fuser /usr/libexec/packagekitd >/dev/null 2>&1; do + echo "Waiting for PackageKit to finish..." + sleep 1 + sudo systemctl stop packagekit +done +sudo yum -y remove PackageKit gnome-software + +sudo subscription-manager config --rhsm.manage_repos=1 +sudo subscription-manager refresh + +# List available RHEL versions and bind with correct one +sudo subscription-manager release --list +sudo subscription-manager release --set=9.2 +sudo yum clean all + +# sudo yum config-manager --enable 'rhceph-4-tools-for-rhel-8-x86_64-rpms' +sudo yum config-manager --enable 'codeready-builder-for-rhel-9-x86_64-rpms' +sudo yum config-manager --enable 'rhel-9-for-x86_64-baseos-rpms' +sudo yum config-manager --enable 'rhel-9-for-x86_64-appstream-rpms' +# Epel is required for 'double-conversion-devel', 'libsqlite3x' and 'p7zip' +sudo dnf install -y https://dl.fedoraproject.org/pub/epel/epel-release-latest-9.noarch.rpm + +sudo yum clean all +# As well as this fetching the repository data, we also get a printout of the used repos +sudo yum repolist 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 new file mode 100755 index 00000000..279d66a5 --- /dev/null +++ b/coin/provisioning/qtci-linux-RHEL-9.2-x86_64/04-install-packages.sh @@ -0,0 +1,189 @@ +#!/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 + +# Remove update notifications and packagekit running in the background +sudo yum -y remove PackageKit gnome-software + +# CI: All platforms should have up-to-date packages when new provision is made +sudo yum -y update + +installPackages=() +installPackages+=(git) +installPackages+=(zlib-devel) +installPackages+=(glib2-devel) +installPackages+=(openssl-devel) +installPackages+=(freetype-devel) +installPackages+=(fontconfig-devel) +installPackages+=(curl-devel) +installPackages+=(expat-devel) +installPackages+=(gettext-devel) +installPackages+=(perl-devel) +# Required by some old pkg perl script, FindBin.pm was moved to new package in perl 5.32 +installPackages+=(perl-FindBin) +installPackages+=(dh-autoreconf) +# cmake build +installPackages+=(ninja-build) +installPackages+=(pcre2-devel) +installPackages+=(double-conversion-devel) +installPackages+=(zstd) +# EGL support +# mesa-libEGL-devel need to use older version than 22.1.5-2.el9 which cause Xorg to crash +#installPackages+=(mesa-libEGL-devel-21.3.4-2.el9) +#installPackages+=(mesa-libGL-devel-21.3.4-2.el9) + +# Using same mesa libraries for RHEL 9.2 which also RHEL 8.8 had due to Xorg crash issue: +#installPackages+=(mesa-libEGL-devel-21.3.4-1.el9.x86_64) +#installPackages+=(mesa-libGL-devel-21.3.4-1.el9.x86_64) +#installPackages+=(mesa-dri-drivers-21.3.4-1.el9.x86_64) +#installPackages+=(mesa-libgbm-21.3.4-1.el9.x86_64) +#installPackages+=(mesa-vulkan-drivers-21.3.4-1.el9.x86_64) + +# Same as lines above but with -2 version which should be found for el9 +installPackages+=(mesa-libEGL-devel-21.3.4-2.el9.x86_64) +installPackages+=(mesa-libGL-devel-21.3.4-2.el9.x86_64) +installPackages+=(mesa-dri-drivers-21.3.4-2.el9.x86_64) +installPackages+=(mesa-libgbm-21.3.4-2.el9.x86_64) +installPackages+=(mesa-vulkan-drivers-21.3.4-2.el9.x86_64) + +installPackages+=(libxkbfile-devel) +# Xinput2 +installPackages+=(libXi-devel) +installPackages+=(mysql-server) +installPackages+=(mysql) +installPackages+=(mysql-devel) +installPackages+=(postgresql-devel) +installPackages+=(cups-devel) +installPackages+=(dbus-devel) +# gstreamer 1 for QtMultimedia +# Note! gstreamer1-plugins-bad-free needs to be upgraded or it will conflicts with gstreamer1-plugins-base-devel +installPackages+=(gstreamer1-plugins-bad-free) +installPackages+=(gstreamer1-devel) +installPackages+=(gstreamer1-plugins-base-devel) +# yasm for QtMultimedia +installPackages+=(yasm) +# gtk3 style for QtGui/QStyle +installPackages+=(gtk3-devel) +# libusb1 for tqtc-boot2qt/qdb +installPackages+=(libusbx-devel) +# speech-dispatcher-devel for QtSpeech, otherwise it has no backend on Linux +installPackages+=(speech-dispatcher-devel) +# Python 2 devel and pip. python-pip requires the EPEL repository to be added +# Python 2 no longer supported +# installPackages+=(python2-devel python2-pip) +# Python 3 with python-devel, pip and virtualenv +installPackages+=(python3) +installPackages+=(python3-devel) +# WebEngine +installPackages+=(bison) +installPackages+=(flex) +installPackages+=(gperftools-libs) +installPackages+=(gperf) +installPackages+=(alsa-lib-devel) +installPackages+=(pulseaudio-libs-devel) +installPackages+=(libdrm-devel) +installPackages+=(libva-devel) +installPackages+=(libXtst-devel) +installPackages+=(libxshmfence-devel) +installPackages+=(nspr-devel) +installPackages+=(nss-devel) +installPackages+=(python3-html5lib) +installPackages+=(libstdc++-static) +installPackages+=(mesa-libgbm-devel-21.3.4-2.el9.x86_64) +# For Android builds +installPackages+=(java-17-openjdk-devel-17.0.9.0.9) +# For receiving shasum +installPackages+=(perl-Digest-SHA) +# INTEGRITY requirements +installPackages+=(glibc.i686) +# Enable Qt Bluetooth +installPackages+=(bluez-libs-devel) +# QtNfc +installPackages+=(pcsc-lite-devel) +# QtWebKit +installPackages+=(libxml2-devel) +installPackages+=(libxslt-devel) +# For building Wayland from source +installPackages+=(libffi-devel) +# QtWayland +# installPackages+=(mesa-libwayland-egl) +# installPackages+=(mesa-libwayland-egl-devel) +installPackages+=(libwayland-egl) +installPackages+=(libwayland-client) +installPackages+=(libwayland-cursor) +installPackages+=(libwayland-server) +# Jenkins +installPackages+=(chrpath) +# libxkbcommon +installPackages+=(libxkbcommon-devel) +installPackages+=(libxkbcommon-x11-devel) +# xcb-util-* libraries +installPackages+=(xcb-util) +installPackages+=(xcb-util-image-devel) +installPackages+=(xcb-util-keysyms-devel) +installPackages+=(xcb-util-wm-devel) +installPackages+=(xcb-util-renderutil-devel) +installPackages+=(xcb-util-cursor) +installPackages+=(xcb-util-cursor-devel) + +# ODBC support +installPackages+=(unixODBC-devel) +installPackages+=(unixODBC) +# Vulkan support +installPackages+=(vulkan-devel) +installPackages+=(vulkan-tools) +# Conan: For Python build +installPackages+=(xz-devel) +installPackages+=(zlib-devel) +installPackages+=(libffi-devel) +installPackages+=(libsqlite3x-devel) +# Build.pl +installPackages+=(perl-Data-Dumper) +# In RedHat these come with Devtoolset +installPackages+=(gcc) +installPackages+=(gcc-c++) +installPackages+=(make) +installPackages+=(gcc-toolset-12) +# Open source VMware Tools +installPackages+=(open-vm-tools) +# nfs-utils is needed to make mount work with ci-files01 +installPackages+=(nfs-utils) +# cifs-utils, for mounting smb drive +installPackages+=(keyutils) +installPackages+=(cifs-utils) +# used for reading vcpkg packages version, from vcpkg.json +installPackages+=(jq) +# zip, needed for vcpkg caching +installPackages+=(zip) +# OpenSSL requirement, built by vcpkg +installPackages+=(perl-IPC-Cmd) + +sudo yum -y install "${installPackages[@]}" + +sudo dnf install nodejs-16.14.0-4.el9_0 -y +# Required by QtCore +sudo dnf install 'perl(English)' -y + +# We shouldn't use yum to install virtualenv. The one found from package repo is not +# working, but we can use installed pip +sudo pip3 install --upgrade pip +# Configure pip +sudo pip config --user set global.index https://ci-files01-hki.ci.qt.io/input/python_module_cache +sudo pip config --user set global.extra-index-url https://pypi.org/simple/ + +sudo pip3 install virtualenv wheel +# Just make sure we have virtualenv to run with python3.8 -m virtualenv +sudo python -m pip install virtualenv wheel + +sudo /usr/bin/pip3 install wheel + +# Make FindPython3.cmake to find python3 +sudo ln -s /usr/bin/python3 /usr/local/bin/python3 + +OpenSSLVersion="$(openssl version |cut -b 9-14)" +echo "System's OpenSSL = $OpenSSLVersion" >> ~/versions.txt + +# List all available updates +sudo yum -y list updates diff --git a/coin/provisioning/qtci-linux-RHEL-9.2-x86_64/04-p7zip.sh b/coin/provisioning/qtci-linux-RHEL-9.2-x86_64/04-p7zip.sh new file mode 100755 index 00000000..f1035285 --- /dev/null +++ b/coin/provisioning/qtci-linux-RHEL-9.2-x86_64/04-p7zip.sh @@ -0,0 +1,15 @@ +#!/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 +source "${BASH_SOURCE%/*}/../common/unix/DownloadURL.sh" + +set -ex + +name="p7zip" +version="7-11" +sudo yum -y install "$name" + +# Link 7za to 7z so we can use existing installation scripts +sudo ln -s /usr/bin/7za /usr/bin/7z + +echo "$name = $version" >> ~/versions.txt diff --git a/coin/provisioning/qtci-linux-RHEL-9.2-x86_64/05-libclang-v100-dyn.sh b/coin/provisioning/qtci-linux-RHEL-9.2-x86_64/05-libclang-v100-dyn.sh new file mode 100755 index 00000000..2e08049d --- /dev/null +++ b/coin/provisioning/qtci-linux-RHEL-9.2-x86_64/05-libclang-v100-dyn.sh @@ -0,0 +1,8 @@ +#!/usr/bin/env bash +#Copyright (C) 2023 The Qt Company Ltd +#SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only +set -ex + +BASEDIR=$(dirname "$0") +# shellcheck source=../common/unix/libclang-v100-dyn.sh +"$BASEDIR/../common/unix/libclang-v100-dyn.sh" diff --git a/coin/provisioning/qtci-linux-RHEL-9.2-x86_64/05-libclang.sh b/coin/provisioning/qtci-linux-RHEL-9.2-x86_64/05-libclang.sh new file mode 100755 index 00000000..cc68ed1f --- /dev/null +++ b/coin/provisioning/qtci-linux-RHEL-9.2-x86_64/05-libclang.sh @@ -0,0 +1,8 @@ +#!/usr/bin/env bash +#Copyright (C) 2023 The Qt Company Ltd +#SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only +set -ex + +BASEDIR=$(dirname "$0") +# shellcheck source=../common/unix/libclang.sh +"$BASEDIR/../common/unix/libclang.sh" diff --git a/coin/provisioning/qtci-linux-RHEL-9.2-x86_64/05-mount-vcpkg-cache-drive.sh b/coin/provisioning/qtci-linux-RHEL-9.2-x86_64/05-mount-vcpkg-cache-drive.sh new file mode 100755 index 00000000..ed49b3a5 --- /dev/null +++ b/coin/provisioning/qtci-linux-RHEL-9.2-x86_64/05-mount-vcpkg-cache-drive.sh @@ -0,0 +1,8 @@ +#!/usr/bin/env bash +# Copyright (C) 2023 The Qt Company Ltd. +# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only + +set -ex + +# shellcheck source=../common/linux/mount-vcpkg-cache-drive.sh +source "${BASH_SOURCE%/*}/../common/linux/mount-vcpkg-cache-drive.sh" diff --git a/coin/provisioning/qtci-linux-RHEL-9.2-x86_64/09-disable_selinux.sh b/coin/provisioning/qtci-linux-RHEL-9.2-x86_64/09-disable_selinux.sh new file mode 100755 index 00000000..d044472b --- /dev/null +++ b/coin/provisioning/qtci-linux-RHEL-9.2-x86_64/09-disable_selinux.sh @@ -0,0 +1,8 @@ +#!/usr/bin/env bash +# Copyright (C) 2023 The Qt Company Ltd. +# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only + +set -ex + +# shellcheck source=../common/linux/disable_selinux.sh +source "${BASH_SOURCE%/*}/../common/linux/disable_selinux.sh" diff --git a/coin/provisioning/qtci-linux-RHEL-9.2-x86_64/20-sccache.sh b/coin/provisioning/qtci-linux-RHEL-9.2-x86_64/20-sccache.sh new file mode 100755 index 00000000..b371d947 --- /dev/null +++ b/coin/provisioning/qtci-linux-RHEL-9.2-x86_64/20-sccache.sh @@ -0,0 +1,3 @@ +#!/usr/bin/env bash + +source "${BASH_SOURCE%/*}/../common/linux/sccache.sh" diff --git a/coin/provisioning/qtci-linux-RHEL-9.2-x86_64/22-mqtt_broker.sh b/coin/provisioning/qtci-linux-RHEL-9.2-x86_64/22-mqtt_broker.sh new file mode 100755 index 00000000..bb69e88a --- /dev/null +++ b/coin/provisioning/qtci-linux-RHEL-9.2-x86_64/22-mqtt_broker.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/unix/mqtt_broker.sh +source "${BASH_SOURCE%/*}/../common/unix/mqtt_broker.sh" diff --git a/coin/provisioning/qtci-linux-RHEL-9.2-x86_64/30-fbx.sh b/coin/provisioning/qtci-linux-RHEL-9.2-x86_64/30-fbx.sh new file mode 100755 index 00000000..16a9bda8 --- /dev/null +++ b/coin/provisioning/qtci-linux-RHEL-9.2-x86_64/30-fbx.sh @@ -0,0 +1,8 @@ +#!/usr/bin/env bash +#Copyright (C) 2023 The Qt Company Ltd +#SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only + +set -ex + +BASEDIR=$(dirname "$0") +"$BASEDIR/../common/linux/fbx_linux.sh" diff --git a/coin/provisioning/qtci-linux-RHEL-9.2-x86_64/30-install-conan.sh b/coin/provisioning/qtci-linux-RHEL-9.2-x86_64/30-install-conan.sh new file mode 100755 index 00000000..67a4f911 --- /dev/null +++ b/coin/provisioning/qtci-linux-RHEL-9.2-x86_64/30-install-conan.sh @@ -0,0 +1,8 @@ +#!/usr/bin/env bash +#Copyright (C) 2023 The Qt Company Ltd +#SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only + +set -ex + +BASEDIR=$(dirname "$0") +"$BASEDIR/../common/unix/install-conan.sh" diff --git a/coin/provisioning/qtci-linux-RHEL-9.2-x86_64/30-install-git.sh b/coin/provisioning/qtci-linux-RHEL-9.2-x86_64/30-install-git.sh new file mode 100755 index 00000000..7a73f354 --- /dev/null +++ b/coin/provisioning/qtci-linux-RHEL-9.2-x86_64/30-install-git.sh @@ -0,0 +1,8 @@ +#!/usr/bin/env bash +#Copyright (C) 2023 The Qt Company Ltd +#SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only + +set -ex + +BASEDIR=$(dirname "$0") +"$BASEDIR/../common/linux/install-git.sh" diff --git a/coin/provisioning/qtci-linux-RHEL-9.2-x86_64/30-install_icu.sh b/coin/provisioning/qtci-linux-RHEL-9.2-x86_64/30-install_icu.sh new file mode 100755 index 00000000..8d365c9d --- /dev/null +++ b/coin/provisioning/qtci-linux-RHEL-9.2-x86_64/30-install_icu.sh @@ -0,0 +1,45 @@ +#!/usr/bin/env bash +# Copyright (C) 2023 The Qt Company Ltd. +# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only + +# shellcheck source=../common/unix/DownloadURL.sh +source "${BASH_SOURCE%/*}/../common/unix/DownloadURL.sh" + +set -ex + +# This script will install ICU + +icuVersion="73.2" +icuLocation="/usr/lib64" +sha1="d2bbb7b2a9a9ee00dba5cc6a68137f6c8a98c27e" +baseBinaryPackageURL="http://ci-files01-hki.ci.qt.io/input/icu/$icuVersion/icu-linux-g++-Rhel8.6-x64.7z" +baseBinaryPackageExternalURL="http://master.qt.io/development_releases/prebuilt/icu/prebuilt/$icuVersion/icu-linux-g++-Rhel8.6-x64.7z" + +sha1Dev="edc9cba31ffeac28bf7360c52b85b5e4d2f39043" +develPackageURL="http://ci-files01-hki.ci.qt.io/input/icu/$icuVersion/icu-linux-g++-Rhel8.6-x64-devel.7z" +develPackageExternalURL="http://master.qt.io/development_releases/prebuilt/icu/prebuilt/$icuVersion/icu-linux-g++-Rhel8.6-x64-devel.7z" + +echo "Installing custom ICU $icuVersion $sha1 packages on RHEL to $icuLocation" + +targetFile=$(mktemp) +DownloadURL "$baseBinaryPackageURL" "$baseBinaryPackageExternalURL" "$sha1" "$targetFile" +sudo 7z x -y -o/usr/lib64 "$targetFile" +sudo rm "$targetFile" + +echo "Installing custom ICU devel packages on RHEL" + +tempDir=$(mktemp -d) + +targetFile=$(mktemp) +DownloadURL "$develPackageURL" "$develPackageExternalURL" "$sha1Dev" "$targetFile" +7z x -y -o"$tempDir" "$targetFile" + +sudo cp -a "$tempDir"/lib/* /usr/lib64 +sudo cp -a "$tempDir"/* /usr/ + +sudo rm "$targetFile" +sudo rm -fr "$tempDir" + +sudo /sbin/ldconfig + +echo "ICU = $icuVersion" >> ~/versions.txt diff --git a/coin/provisioning/qtci-linux-RHEL-9.2-x86_64/35-install-breakpad.sh b/coin/provisioning/qtci-linux-RHEL-9.2-x86_64/35-install-breakpad.sh new file mode 100755 index 00000000..8a9dde56 --- /dev/null +++ b/coin/provisioning/qtci-linux-RHEL-9.2-x86_64/35-install-breakpad.sh @@ -0,0 +1,8 @@ +#!/usr/bin/env bash +#Copyright (C) 2023 The Qt Company Ltd +#SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only + +set -ex + +# shellcheck source=../common/unix/install-breakpad.sh +source "${BASH_SOURCE%/*}/../common/unix/install-breakpad.sh" diff --git a/coin/provisioning/qtci-linux-RHEL-9.2-x86_64/40-android_linux.sh b/coin/provisioning/qtci-linux-RHEL-9.2-x86_64/40-android_linux.sh new file mode 100755 index 00000000..877dfd08 --- /dev/null +++ b/coin/provisioning/qtci-linux-RHEL-9.2-x86_64/40-android_linux.sh @@ -0,0 +1,8 @@ +#!/usr/bin/env bash +# Copyright (C) 2023 The Qt Company Ltd. +# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only + +set -ex + +# shellcheck source=../common/linux/android_linux.sh +source "${BASH_SOURCE%/*}/../common/linux/android_linux.sh" diff --git a/coin/provisioning/qtci-linux-RHEL-9.2-x86_64/40-install-cmake.sh b/coin/provisioning/qtci-linux-RHEL-9.2-x86_64/40-install-cmake.sh new file mode 100755 index 00000000..155f6b7d --- /dev/null +++ b/coin/provisioning/qtci-linux-RHEL-9.2-x86_64/40-install-cmake.sh @@ -0,0 +1,12 @@ +#!/usr/bin/env bash +# Copyright (C) 2023 The Qt Company Ltd. +# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only + +# This script installs CMake 3.6.2 + +set -ex + +# CMake is needed for autotests that verify that Qt can be built with CMake + +# shellcheck source=../common/linux/cmake_linux.sh +source "${BASH_SOURCE%/*}/../common/linux/cmake_linux.sh" diff --git a/coin/provisioning/qtci-linux-RHEL-9.2-x86_64/41-install-vcpkg.sh b/coin/provisioning/qtci-linux-RHEL-9.2-x86_64/41-install-vcpkg.sh new file mode 100644 index 00000000..aa88364d --- /dev/null +++ b/coin/provisioning/qtci-linux-RHEL-9.2-x86_64/41-install-vcpkg.sh @@ -0,0 +1,6 @@ +#!/usr/bin/env bash + +set -ex + +BASEDIR=$(dirname "$0") +"$BASEDIR/../common/linux/install-vcpkg.sh" diff --git a/coin/provisioning/qtci-linux-RHEL-9.2-x86_64/42-install-vcpkg-ports.sh b/coin/provisioning/qtci-linux-RHEL-9.2-x86_64/42-install-vcpkg-ports.sh new file mode 100755 index 00000000..71a46f9a --- /dev/null +++ b/coin/provisioning/qtci-linux-RHEL-9.2-x86_64/42-install-vcpkg-ports.sh @@ -0,0 +1,6 @@ +#!/usr/bin/env bash + +set -ex + +BASEDIR=$(dirname "$0") +"$BASEDIR/../common/linux/install-vcpkg-ports.sh" diff --git a/coin/provisioning/qtci-linux-RHEL-9.2-x86_64/50-openssl_for_android_linux.sh b/coin/provisioning/qtci-linux-RHEL-9.2-x86_64/50-openssl_for_android_linux.sh new file mode 100755 index 00000000..a71ba0a7 --- /dev/null +++ b/coin/provisioning/qtci-linux-RHEL-9.2-x86_64/50-openssl_for_android_linux.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 + +# shellcheck source=../common/unix/openssl_for_android.sh +source "${BASH_SOURCE%/*}/../common/unix/openssl_3_for_android.sh" diff --git a/coin/provisioning/qtci-linux-RHEL-9.2-x86_64/60-install_protobuf.sh b/coin/provisioning/qtci-linux-RHEL-9.2-x86_64/60-install_protobuf.sh new file mode 100755 index 00000000..b0761374 --- /dev/null +++ b/coin/provisioning/qtci-linux-RHEL-9.2-x86_64/60-install_protobuf.sh @@ -0,0 +1,9 @@ +#!/usr/bin/env bash +# Copyright (C) 2023 The Qt Company Ltd. +# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only + +set -ex + +# shellcheck source=../common/unix/install_protobuf.sh +source "${BASH_SOURCE%/*}/../common/unix/install_protobuf.sh" + diff --git a/coin/provisioning/qtci-linux-RHEL-9.2-x86_64/61-install_grpc.sh b/coin/provisioning/qtci-linux-RHEL-9.2-x86_64/61-install_grpc.sh new file mode 100755 index 00000000..3d14832d --- /dev/null +++ b/coin/provisioning/qtci-linux-RHEL-9.2-x86_64/61-install_grpc.sh @@ -0,0 +1,9 @@ +#!/usr/bin/env bash +# Copyright (C) 2023 The Qt Company Ltd. +# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only + +set -ex + +# shellcheck source=../common/unix/install_grpc.sh +source "${BASH_SOURCE%/*}/../common/unix/install_grpc.sh" + diff --git a/coin/provisioning/qtci-linux-RHEL-9.2-x86_64/70-install_QemuGA.sh b/coin/provisioning/qtci-linux-RHEL-9.2-x86_64/70-install_QemuGA.sh new file mode 100755 index 00000000..dbaed25d --- /dev/null +++ b/coin/provisioning/qtci-linux-RHEL-9.2-x86_64/70-install_QemuGA.sh @@ -0,0 +1,10 @@ +#!/usr/bin/env bash +# Copyright (C) 2023 The Qt Company Ltd. +# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only + +# This script installs QEMU Guest Agent + +set -ex + +sudo yum -y install qemu-guest-agent +sudo systemctl start qemu-guest-agent diff --git a/coin/provisioning/qtci-linux-RHEL-9.2-x86_64/70-install_dwz.sh b/coin/provisioning/qtci-linux-RHEL-9.2-x86_64/70-install_dwz.sh new file mode 100755 index 00000000..518c5533 --- /dev/null +++ b/coin/provisioning/qtci-linux-RHEL-9.2-x86_64/70-install_dwz.sh @@ -0,0 +1,11 @@ +#!/usr/bin/env bash +# Copyright (C) 2023 Konstantin Tokarev <annulen@yandex.ru> +# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only + +set -ex + +sudo yum -y install elfutils-libelf-devel + +# shellcheck source=../common/linux/install_dwz.sh +source "${BASH_SOURCE%/*}/../common/linux/install_dwz.sh" + diff --git a/coin/provisioning/qtci-linux-RHEL-9.2-x86_64/90-bootstrap-autostart.sh b/coin/provisioning/qtci-linux-RHEL-9.2-x86_64/90-bootstrap-autostart.sh new file mode 100755 index 00000000..1ff43850 --- /dev/null +++ b/coin/provisioning/qtci-linux-RHEL-9.2-x86_64/90-bootstrap-autostart.sh @@ -0,0 +1,3 @@ +#!/usr/bin/env bash + +source "${BASH_SOURCE%/*}/../common/linux/bootstrap-autostart.sh" diff --git a/coin/provisioning/qtci-linux-RHEL-9.2-x86_64/90-install-ffmpeg.sh b/coin/provisioning/qtci-linux-RHEL-9.2-x86_64/90-install-ffmpeg.sh new file mode 100755 index 00000000..61da9b7b --- /dev/null +++ b/coin/provisioning/qtci-linux-RHEL-9.2-x86_64/90-install-ffmpeg.sh @@ -0,0 +1,3 @@ +#!/usr/bin/env bash + +source "${BASH_SOURCE%/*}/../common/unix/install-ffmpeg.sh" "linux" diff --git a/coin/provisioning/qtci-linux-RHEL-9.2-x86_64/90-mimer.sh b/coin/provisioning/qtci-linux-RHEL-9.2-x86_64/90-mimer.sh new file mode 100755 index 00000000..4683452a --- /dev/null +++ b/coin/provisioning/qtci-linux-RHEL-9.2-x86_64/90-mimer.sh @@ -0,0 +1,8 @@ +#!/usr/bin/env bash +# Copyright (C) 2023 The Qt Company Ltd. +# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only + +set -ex + +BASEDIR=$(dirname "$0") +"$BASEDIR/../common/linux/mimersql.sh" "openssl-3" "rpm" diff --git a/coin/provisioning/qtci-linux-RHEL-9.2-x86_64/90-squish.sh b/coin/provisioning/qtci-linux-RHEL-9.2-x86_64/90-squish.sh new file mode 100755 index 00000000..f803ccc1 --- /dev/null +++ b/coin/provisioning/qtci-linux-RHEL-9.2-x86_64/90-squish.sh @@ -0,0 +1,6 @@ +#!/usr/bin/env bash +#Copyright (C) 2023 The Qt Company Ltd +#SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only +BASEDIR=$(dirname "$0") +"$BASEDIR/../common/unix/squishInstall.sh" + diff --git a/coin/provisioning/qtci-linux-RHEL-9.2-x86_64/99-cleanup.sh b/coin/provisioning/qtci-linux-RHEL-9.2-x86_64/99-cleanup.sh new file mode 100755 index 00000000..dd268210 --- /dev/null +++ b/coin/provisioning/qtci-linux-RHEL-9.2-x86_64/99-cleanup.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/linux/cleanup_cache.sh diff --git a/coin/provisioning/qtci-linux-RHEL-9.2-x86_64/99-enable_test_stacktraces.sh b/coin/provisioning/qtci-linux-RHEL-9.2-x86_64/99-enable_test_stacktraces.sh new file mode 100755 index 00000000..600b7850 --- /dev/null +++ b/coin/provisioning/qtci-linux-RHEL-9.2-x86_64/99-enable_test_stacktraces.sh @@ -0,0 +1,8 @@ +#!/usr/bin/env bash +#Copyright (C) 2023 The Qt Company Ltd +#SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only + +set -ex + +BASEDIR=$(dirname "$0") +"$BASEDIR"/../common/linux/enable_test_stacktraces.sh diff --git a/coin/provisioning/qtci-linux-RHEL-9.2-x86_64/99-version.sh b/coin/provisioning/qtci-linux-RHEL-9.2-x86_64/99-version.sh new file mode 100755 index 00000000..b12622c6 --- /dev/null +++ b/coin/provisioning/qtci-linux-RHEL-9.2-x86_64/99-version.sh @@ -0,0 +1,17 @@ +#!/usr/bin/env bash +# Copyright (C) 2023 The Qt Company Ltd. +# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only + +# This script needs to be called last during provisioning so that the software information will show up last in provision log. + +# Storage installed RPM packages information + +set -ex + +# shellcheck disable=SC2129 +echo "*********************************************" >> ~/versions.txt +echo "***** All installed RPM packages *****" >> ~/versions.txt +rpm -q -a | sort >> ~/versions.txt +echo "*********************************************" >> ~/versions.txt + +"$(dirname "$0")/../common/linux/version.sh" diff --git a/coin/provisioning/qtci-linux-SLES-15_SP3-x86_64/01-disable-btrfs-balance.sh b/coin/provisioning/qtci-linux-SLES-15_SP3-x86_64/01-disable-btrfs-balance.sh deleted file mode 100755 index a0126cb2..00000000 --- a/coin/provisioning/qtci-linux-SLES-15_SP3-x86_64/01-disable-btrfs-balance.sh +++ /dev/null @@ -1,9 +0,0 @@ -#!/usr/bin/env bash - -set -ex - -# Stops the balance job if one is running at the moment. This is a very expensive thing to run and causes major slow down. -sudo systemctl stop btrfs-balance.service - -# This will disable btrfs balance job scheduling. -sudo sed -i 's/BTRFS_BALANCE_PERIOD="weekly"/BTRFS_BALANCE_PERIOD="none"/g' /etc/sysconfig/btrfsmaintenance diff --git a/coin/provisioning/qtci-linux-SLES-15_SP3-x86_64/01-disable-coredump.sh b/coin/provisioning/qtci-linux-SLES-15_SP3-x86_64/01-disable-coredump.sh deleted file mode 100755 index d078f9c7..00000000 --- a/coin/provisioning/qtci-linux-SLES-15_SP3-x86_64/01-disable-coredump.sh +++ /dev/null @@ -1,6 +0,0 @@ -#!/usr/bin/env bash - -set -ex - -sudo chkconfig kdump off -sudo sed -i 's/#Storage=external/Storage=none/g' /etc/systemd/coredump.conf diff --git a/coin/provisioning/qtci-linux-SLES-15_SP3-x86_64/01-disable-fstrim_timer.sh b/coin/provisioning/qtci-linux-SLES-15_SP3-x86_64/01-disable-fstrim_timer.sh deleted file mode 100755 index 9fd06e72..00000000 --- a/coin/provisioning/qtci-linux-SLES-15_SP3-x86_64/01-disable-fstrim_timer.sh +++ /dev/null @@ -1,7 +0,0 @@ -#!/usr/bin/env bash - -set -ex - -# This will disable fstrim. The fstrim.timer is scheduled to activate the fstrim.service -sudo systemctl stop fstrim.timer -sudo systemctl disable fstrim.timer diff --git a/coin/provisioning/qtci-linux-SLES-15_SP3-x86_64/01-disable_net_lso.sh b/coin/provisioning/qtci-linux-SLES-15_SP3-x86_64/01-disable_net_lso.sh deleted file mode 100755 index f9b32149..00000000 --- a/coin/provisioning/qtci-linux-SLES-15_SP3-x86_64/01-disable_net_lso.sh +++ /dev/null @@ -1,6 +0,0 @@ -#!/bin/sh - -sudo mkdir /etc/wicked/scripts -echo "ethtool -K \$2 tso off" | sudo tee -a /etc/wicked/scripts/net_tso_off -sudo chmod 744 /etc/wicked/scripts/net_tso_off -echo "PRE_UP_SCRIPT='wicked:/etc/wicked/scripts/net_tso_off'" | sudo tee -a /etc/sysconfig/network/ifcfg-eth0 diff --git a/coin/provisioning/qtci-linux-SLES-15_SP3-x86_64/01-systemsetup.sh b/coin/provisioning/qtci-linux-SLES-15_SP3-x86_64/01-systemsetup.sh deleted file mode 100755 index e6cff67d..00000000 --- a/coin/provisioning/qtci-linux-SLES-15_SP3-x86_64/01-systemsetup.sh +++ /dev/null @@ -1,79 +0,0 @@ -#!/usr/bin/env bash - -############################################################################# -## -## Copyright (C) 2019 The Qt Company Ltd. -## Contact: https://www.qt.io/licensing/ -## -## This file is part of the provisioning scripts of the Qt Toolkit. -## -## $QT_BEGIN_LICENSE:LGPL$ -## Commercial License Usage -## Licensees holding valid commercial Qt licenses may use this file in -## accordance with the commercial license agreement provided with the -## Software or, alternatively, in accordance with the terms contained in -## a written agreement between you and The Qt Company. For licensing terms -## and conditions see https://www.qt.io/terms-conditions. For further -## information use the contact form at https://www.qt.io/contact-us. -## -## GNU Lesser General Public License Usage -## Alternatively, this file may be used under the terms of the GNU Lesser -## General Public License version 3 as published by the Free Software -## Foundation and appearing in the file LICENSE.LGPL3 included in the -## packaging of this file. Please review the following information to -## ensure the GNU Lesser General Public License version 3 requirements -## will be met: https://www.gnu.org/licenses/lgpl-3.0.html. -## -## GNU General Public License Usage -## Alternatively, this file may be used under the terms of the GNU -## General Public License version 2.0 or (at your option) the GNU General -## Public license version 3 or any later version approved by the KDE Free -## Qt Foundation. The licenses are as published by the Free Software -## Foundation and appearing in the file LICENSE.GPL2 and LICENSE.GPL3 -## included in the packaging of this file. Please review the following -## information to ensure the GNU General Public License requirements will -## be met: https://www.gnu.org/licenses/gpl-2.0.html and -## https://www.gnu.org/licenses/gpl-3.0.html. -## -## $QT_END_LICENSE$ -## -############################################################################# - -set -ex - -BASEDIR=$(dirname "$0") -# shellcheck source=../common/shared/network_test_server_ip.txt -source "$BASEDIR/../common/shared/network_test_server_ip.txt" -# shellcheck source=../common/unix/check_and_set_proxy.sh -source "${BASH_SOURCE%/*}/../common/unix/check_and_set_proxy.sh" - -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 -gsettings set org.gnome.desktop.lockdown disable-lock-screen 'true' - -sudo sed -i 's|GRUB_TIMEOUT=8|GRUB_TIMEOUT=0|g' /etc/default/grub -sudo grub2-mkconfig -o /boot/grub2/grub.cfg - -echo "Set Network Test Server address to $network_test_server_ip in /etc/hosts" -echo "$network_test_server_ip qt-test-server qt-test-server.qt-test-net" | sudo tee -a /etc/hosts -echo "Set DISPLAY" -echo 'export DISPLAY=":0"' >> ~/.bashrc - -sudo systemctl stop packagekit -sudo systemctl disable packagekit -sudo systemctl mask packagekit -while sudo fuser /usr/lib/packagekitd >/dev/null 2>&1 ; do - echo "Waiting for PackageKit to finish..." - sleep 5 -done -sudo zypper -nq remove gnome-software - -# shellcheck disable=SC2031 -if [ "$http_proxy" != "" ]; then - sudo sed -i 's/PROXY_ENABLED=\"no\"/PROXY_ENABLED=\"yes\"/' /etc/sysconfig/proxy - sudo sed -i "s|HTTP_PROXY=\".*\"|HTTP_PROXY=\"$proxy\"|" /etc/sysconfig/proxy -fi diff --git a/coin/provisioning/qtci-linux-SLES-15_SP3-x86_64/02-disable-gnome-notifications.sh b/coin/provisioning/qtci-linux-SLES-15_SP3-x86_64/02-disable-gnome-notifications.sh deleted file mode 100755 index f38c9bab..00000000 --- a/coin/provisioning/qtci-linux-SLES-15_SP3-x86_64/02-disable-gnome-notifications.sh +++ /dev/null @@ -1,4 +0,0 @@ -#!/usr/bin/env bash - -# shellcheck source=../common/linux/disable-notifications.sh -source "${BASH_SOURCE%/*}/../common/linux/disable-notifications.sh" diff --git a/coin/provisioning/qtci-linux-SLES-15_SP3-x86_64/02-enable-modules.sh b/coin/provisioning/qtci-linux-SLES-15_SP3-x86_64/02-enable-modules.sh deleted file mode 100755 index 46322103..00000000 --- a/coin/provisioning/qtci-linux-SLES-15_SP3-x86_64/02-enable-modules.sh +++ /dev/null @@ -1,17 +0,0 @@ -#!/usr/bin/env bash - -set -ex - -sudo curl http://repo-clones.ci.qt.io:8081/tools/rmt-client-setup --output rmt-client-setup -sudo chmod 755 rmt-client-setup -sudo SUSEConnect --cleanup -sudo sh rmt-client-setup https://repo-clones.ci.qt.io:8082 --yes --fingerprint C9:4F:0B:81:DE:84:AF:F2:50:3E:89:B9:7F:BC:63:BB:A7:AC:BE:97 - -# Activate these modules -sudo SUSEConnect -p sle-module-basesystem/15.3/x86_64 -sudo SUSEConnect -p sle-module-server-applications/15.3/x86_64 -sudo SUSEConnect -p sle-module-desktop-applications/15.3/x86_64 -sudo SUSEConnect -p sle-module-development-tools/15.3/x86_64 -sudo SUSEConnect -p sle-module-python2/15.3/x86_64 - -sudo zypper lr -u diff --git a/coin/provisioning/qtci-linux-SLES-15_SP3-x86_64/02-zypperpackages.sh b/coin/provisioning/qtci-linux-SLES-15_SP3-x86_64/02-zypperpackages.sh deleted file mode 100755 index 0579712a..00000000 --- a/coin/provisioning/qtci-linux-SLES-15_SP3-x86_64/02-zypperpackages.sh +++ /dev/null @@ -1,125 +0,0 @@ -#!/usr/bin/env bash - -############################################################################# -## -## Copyright (C) 2020 The Qt Company Ltd. -## Contact: https://www.qt.io/licensing/ -## -## This file is part of the provisioning scripts of the Qt Toolkit. -## -## $QT_BEGIN_LICENSE:LGPL$ -## Commercial License Usage -## Licensees holding valid commercial Qt licenses may use this file in -## accordance with the commercial license agreement provided with the -## Software or, alternatively, in accordance with the terms contained in -## a written agreement between you and The Qt Company. For licensing terms -## and conditions see https://www.qt.io/terms-conditions. For further -## information use the contact form at https://www.qt.io/contact-us. -## -## GNU Lesser General Public License Usage -## Alternatively, this file may be used under the terms of the GNU Lesser -## General Public License version 3 as published by the Free Software -## Foundation and appearing in the file LICENSE.LGPL3 included in the -## packaging of this file. Please review the following information to -## ensure the GNU Lesser General Public License version 3 requirements -## will be met: https://www.gnu.org/licenses/lgpl-3.0.html. -## -## GNU General Public License Usage -## Alternatively, this file may be used under the terms of the GNU -## General Public License version 2.0 or (at your option) the GNU General -## Public license version 3 or any later version approved by the KDE Free -## Qt Foundation. The licenses are as published by the Free Software -## Foundation and appearing in the file LICENSE.GPL2 and LICENSE.GPL3 -## included in the packaging of this file. Please review the following -## information to ensure the GNU General Public License requirements will -## be met: https://www.gnu.org/licenses/gpl-2.0.html and -## https://www.gnu.org/licenses/gpl-3.0.html. -## -## $QT_END_LICENSE$ -## -############################################################################# - -set -ex - -sudo zypper -nq install elfutils binutils - -sudo zypper addrepo --no-gpgcheck https://download.opensuse.org/repositories/devel:gcc/SLE-15/devel:gcc.repo -sudo zypper refresh -sudo zypper -nq install --force-resolution gcc10 gcc10-c++ - -sudo /usr/sbin/update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-10 1 \ - --slave /usr/bin/g++ g++ /usr/bin/g++-10 \ - --slave /usr/bin/cc cc /usr/bin/gcc-10 \ - --slave /usr/bin/c++ c++ /usr/bin/g++-10 - -sudo zypper -nq install git ninja make patch wget tar - -sudo zypper -nq install bison flex gperf \ - zlib-devel \ - libudev-devel \ - glib2-devel \ - libopenssl-devel \ - freetype2-devel \ - fontconfig-devel \ - sqlite3-devel \ - libxkbcommon-devel \ - libxkbcommon-x11-devel - -sudo zypper -nq install cmake - -sudo zypper -nq install p7zip - -# EGL support -sudo zypper -nq install Mesa-libEGL-devel Mesa-libGL-devel - -# gtk3 style for QtGui/QStyle -sudo zypper -nq install gtk3-devel - -# Xinput2 -sudo zypper -nq install libXi-devel postgresql13 postgresql13-devel mysql-devel mysql mysql-server - -# system provided XCB libraries -sudo zypper -nq install xcb-util-devel xcb-util-image-devel xcb-util-keysyms-devel \ - xcb-util-wm-devel xcb-util-renderutil-devel - -# ICU -sudo zypper -nq install libicu-devel libicu-suse65_1 - -# qtwebengine -sudo zypper -nq install alsa-devel dbus-1-devel libxkbfile-devel libdrm-devel \ - libXcomposite-devel libXcursor-devel libXrandr-devel libXtst-devel \ - mozilla-nspr-devel mozilla-nss-devel glproto-devel libxshmfence-devel - -# qtwebkit -sudo zypper -nq install libxml2-devel libxslt-devel - -# GStreamer (qtwebkit and qtmultimedia), pulseaudio (qtmultimedia) -sudo zypper -nq install gstreamer-devel gstreamer-plugins-base-devel libpulse-devel - -# cups -sudo zypper -nq install cups-devel - -# speech-dispatcher -sudo zypper -nq install libspeechd-devel -#sudo sed -i 's:includedir=/usr/include:includedir=/usr/include/speech-dispatcher:' /usr/lib64/pkgconfig/speech-dispatcher.pc - -# ODBC support -sudo zypper -nq install unixODBC-devel unixODBC - -# sqlite support -sudo zypper -nq install sqlite3 sqlite3-devel - -# Java - needed by RTA jenkins -sudo zypper -nq install java - -# open-vm-tools requires update. Version in tier1 is broken and causes segfault on boot. -sudo zypper -nq update open-vm-tools - -# RTA tests requires python 2 xml modules -sudo zypper -nq install python-xml - -gccVersion="$(gcc --version |grep gcc |cut -b 17-23)" -echo "GCC = $gccVersion" >> versions.txt - -OpenSSLVersion="$(openssl version |cut -b 9-14)" -echo "OpenSSL = $OpenSSLVersion" >> ~/versions.txt diff --git a/coin/provisioning/qtci-linux-SLES-15_SP3-x86_64/08-pythondev.sh b/coin/provisioning/qtci-linux-SLES-15_SP3-x86_64/08-pythondev.sh deleted file mode 100755 index c3572b9b..00000000 --- a/coin/provisioning/qtci-linux-SLES-15_SP3-x86_64/08-pythondev.sh +++ /dev/null @@ -1,108 +0,0 @@ -#!/usr/bin/env bash - -############################################################################# -## -## Copyright (C) 2018 The Qt Company Ltd. -## Contact: https://www.qt.io/licensing/ -## -## This file is part of the provisioning scripts of the Qt Toolkit. -## -## $QT_BEGIN_LICENSE:LGPL$ -## Commercial License Usage -## Licensees holding valid commercial Qt licenses may use this file in -## accordance with the commercial license agreement provided with the -## Software or, alternatively, in accordance with the terms contained in -## a written agreement between you and The Qt Company. For licensing terms -## and conditions see https://www.qt.io/terms-conditions. For further -## information use the contact form at https://www.qt.io/contact-us. -## -## GNU Lesser General Public License Usage -## Alternatively, this file may be used under the terms of the GNU Lesser -## General Public License version 3 as published by the Free Software -## Foundation and appearing in the file LICENSE.LGPL3 included in the -## packaging of this file. Please review the following information to -## ensure the GNU Lesser General Public License version 3 requirements -## will be met: https://www.gnu.org/licenses/lgpl-3.0.html. -## -## GNU General Public License Usage -## Alternatively, this file may be used under the terms of the GNU -## General Public License version 2.0 or (at your option) the GNU General -## Public license version 3 or any later version approved by the KDE Free -## Qt Foundation. The licenses are as published by the Free Software -## Foundation and appearing in the file LICENSE.GPL2 and LICENSE.GPL3 -## included in the packaging of this file. Please review the following -## information to ensure the GNU General Public License requirements will -## be met: https://www.gnu.org/licenses/gpl-2.0.html and -## https://www.gnu.org/licenses/gpl-3.0.html. -## -## $QT_END_LICENSE$ -## -############################################################################# - -# provides: python development libraries -# version: provided by default Linux distribution repository -# needed to build pyside - -set -ex - -PROVISIONING_DIR="$(dirname "$0")/../" -. "$PROVISIONING_DIR"/common/unix/common.sourced.sh -. "$PROVISIONING_DIR"/common/unix/DownloadURL.sh - - -# Python 2 -$CMD_PKG_INSTALL python-devel - -# Selected installation instructions coming from: -# https://raw.githubusercontent.com/linux-on-ibm-z/scripts/master/Python3/build_python3.sh -export PACKAGE_NAME="python" -export PACKAGE_VERSION="3.7.6" -export PACKAGE_SHA=55a2cce72049f0794e9a11a84862e9039af9183603b78bc60d89539f82cf533f -( - - $CMD_PKG_INSTALL ncurses zlib-devel libffi-devel libopenssl-devel - - echo 'Configuration and Installation started' - - #Download Source code - DownloadURL \ - http://ci-files01-hki.intra.qt.io/input/python/Python-${PACKAGE_VERSION}.tar.xz \ - https://www.python.org/ftp/${PACKAGE_NAME}/${PACKAGE_VERSION}/Python-${PACKAGE_VERSION}.tar.xz \ - $PACKAGE_SHA - tar -xf "Python-${PACKAGE_VERSION}.tar.xz" - - #Configure and Build - cd "Python-${PACKAGE_VERSION}" - ./configure --prefix=/usr/local --exec-prefix=/usr/local - make - sudo make install - - echo 'Installed python successfully' - - #Cleanup - cd - - rm "Python-${PACKAGE_VERSION}.tar.xz" - - #Verify python installation - export PATH="/usr/local/bin:${PATH}" - if command -V "$PACKAGE_NAME"${PACKAGE_VERSION:0:1} >/dev/null - then - printf -- "%s installation completed. Please check the Usage to start the service.\n" "$PACKAGE_NAME" - else - printf -- "Error while installing %s, exiting with 127 \n" "$PACKAGE_NAME" - exit 127 - fi -) - - -python3 --version | fgrep "$PACKAGE_VERSION" - -pip3 install --user wheel -pip3 install --user virtualenv - -# Install all needed packages in a special wheel cache directory -pip3 wheel --wheel-dir "$HOME/python3-wheels" -r "${BASH_SOURCE%/*}/../common/shared/requirements.txt" - -# shellcheck source=../common/unix/SetEnvVar.sh -source "${BASH_SOURCE%/*}/../common/unix/SetEnvVar.sh" -SetEnvVar "PYTHON3_WHEEL_CACHE" "$HOME/python3-wheels" diff --git a/coin/provisioning/qtci-linux-SLES-15_SP3-x86_64/22-mqtt_broker.sh b/coin/provisioning/qtci-linux-SLES-15_SP3-x86_64/22-mqtt_broker.sh deleted file mode 100755 index e0875b37..00000000 --- a/coin/provisioning/qtci-linux-SLES-15_SP3-x86_64/22-mqtt_broker.sh +++ /dev/null @@ -1,43 +0,0 @@ -#!/usr/bin/env bash - -############################################################################# -## -## Copyright (C) 2017 The Qt Company Ltd. -## Contact: https://www.qt.io/licensing/ -## -## This file is part of the provisioning scripts of the Qt Toolkit. -## -## $QT_BEGIN_LICENSE:LGPL$ -## Commercial License Usage -## Licensees holding valid commercial Qt licenses may use this file in -## accordance with the commercial license agreement provided with the -## Software or, alternatively, in accordance with the terms contained in -## a written agreement between you and The Qt Company. For licensing terms -## and conditions see https://www.qt.io/terms-conditions. For further -## information use the contact form at https://www.qt.io/contact-us. -## -## GNU Lesser General Public License Usage -## Alternatively, this file may be used under the terms of the GNU Lesser -## General Public License version 3 as published by the Free Software -## Foundation and appearing in the file LICENSE.LGPL3 included in the -## packaging of this file. Please review the following information to -## ensure the GNU Lesser General Public License version 3 requirements -## will be met: https://www.gnu.org/licenses/lgpl-3.0.html. -## -## GNU General Public License Usage -## Alternatively, this file may be used under the terms of the GNU -## General Public License version 2.0 or (at your option) the GNU General -## Public license version 3 or any later version approved by the KDE Free -## Qt Foundation. The licenses are as published by the Free Software -## Foundation and appearing in the file LICENSE.GPL2 and LICENSE.GPL3 -## included in the packaging of this file. Please review the following -## information to ensure the GNU General Public License requirements will -## be met: https://www.gnu.org/licenses/gpl-2.0.html and -## https://www.gnu.org/licenses/gpl-3.0.html. -## -## $QT_END_LICENSE$ -## -############################################################################# - -# shellcheck source=../common/unix/mqtt_broker.sh -source "${BASH_SOURCE%/*}/../common/unix/mqtt_broker.sh" diff --git a/coin/provisioning/qtci-linux-SLES-15_SP3-x86_64/30-install-conan.sh b/coin/provisioning/qtci-linux-SLES-15_SP3-x86_64/30-install-conan.sh deleted file mode 100755 index b8820053..00000000 --- a/coin/provisioning/qtci-linux-SLES-15_SP3-x86_64/30-install-conan.sh +++ /dev/null @@ -1,6 +0,0 @@ -#!/usr/bin/env bash - -set -ex - -BASEDIR=$(dirname "$0") -"$BASEDIR/../common/unix/install-conan.sh" "linux" diff --git a/coin/provisioning/qtci-linux-SLES-15_SP3-x86_64/55-emsdk.sh b/coin/provisioning/qtci-linux-SLES-15_SP3-x86_64/55-emsdk.sh deleted file mode 100755 index 3299f3e5..00000000 --- a/coin/provisioning/qtci-linux-SLES-15_SP3-x86_64/55-emsdk.sh +++ /dev/null @@ -1,45 +0,0 @@ -#!/usr/bin/env bash - -############################################################################# -## -## Copyright (C) 2018 The Qt Company Ltd. -## Contact: https://www.qt.io/licensing/ -## -## This file is part of the provisioning scripts of the Qt Toolkit. -## -## $QT_BEGIN_LICENSE:LGPL$ -## Commercial License Usage -## Licensees holding valid commercial Qt licenses may use this file in -## accordance with the commercial license agreement provided with the -## Software or, alternatively, in accordance with the terms contained in -## a written agreement between you and The Qt Company. For licensing terms -## and conditions see https://www.qt.io/terms-conditions. For further -## information use the contact form at https://www.qt.io/contact-us. -## -## GNU Lesser General Public License Usage -## Alternatively, this file may be used under the terms of the GNU Lesser -## General Public License version 3 as published by the Free Software -## Foundation and appearing in the file LICENSE.LGPL3 included in the -## packaging of this file. Please review the following information to -## ensure the GNU Lesser General Public License version 3 requirements -## will be met: https://www.gnu.org/licenses/lgpl-3.0.html. -## -## GNU General Public License Usage -## Alternatively, this file may be used under the terms of the GNU -## General Public License version 2.0 or (at your option) the GNU General -## Public license version 3 or any later version approved by the KDE Free -## Qt Foundation. The licenses are as published by the Free Software -## Foundation and appearing in the file LICENSE.GPL2 and LICENSE.GPL3 -## included in the packaging of this file. Please review the following -## information to ensure the GNU General Public License requirements will -## be met: https://www.gnu.org/licenses/gpl-2.0.html and -## https://www.gnu.org/licenses/gpl-3.0.html. -## -## $QT_END_LICENSE$ -## -############################################################################# - -set -ex - -# shellcheck source=../common/unix/emsdk.sh -source "${BASH_SOURCE%/*}/../common/unix/emsdk.sh" diff --git a/coin/provisioning/qtci-linux-SLES-15_SP3-x86_64/70-install_QemuGA.sh b/coin/provisioning/qtci-linux-SLES-15_SP3-x86_64/70-install_QemuGA.sh deleted file mode 100755 index 248e17db..00000000 --- a/coin/provisioning/qtci-linux-SLES-15_SP3-x86_64/70-install_QemuGA.sh +++ /dev/null @@ -1,46 +0,0 @@ -#!/usr/bin/env bash - -############################################################################# -## -## Copyright (C) 2020 The Qt Company Ltd. -## Contact: https://www.qt.io/licensing/ -## -## This file is part of the provisioning scripts of the Qt Toolkit. -## -## $QT_BEGIN_LICENSE:LGPL$ -## Commercial License Usage -## Licensees holding valid commercial Qt licenses may use this file in -## accordance with the commercial license agreement provided with the -## Software or, alternatively, in accordance with the terms contained in -## a written agreement between you and The Qt Company. For licensing terms -## and conditions see https://www.qt.io/terms-conditions. For further -## information use the contact form at https://www.qt.io/contact-us. -## -## GNU Lesser General Public License Usage -## Alternatively, this file may be used under the terms of the GNU Lesser -## General Public License version 3 as published by the Free Software -## Foundation and appearing in the file LICENSE.LGPL3 included in the -## packaging of this file. Please review the following information to -## ensure the GNU Lesser General Public License version 3 requirements -## will be met: https://www.gnu.org/licenses/lgpl-3.0.html. -## -## GNU General Public License Usage -## Alternatively, this file may be used under the terms of the GNU -## General Public License version 2.0 or (at your option) the GNU General -## Public license version 3 or any later version approved by the KDE Free -## Qt Foundation. The licenses are as published by the Free Software -## Foundation and appearing in the file LICENSE.GPL2 and LICENSE.GPL3 -## included in the packaging of this file. Please review the following -## information to ensure the GNU General Public License requirements will -## be met: https://www.gnu.org/licenses/gpl-2.0.html and -## https://www.gnu.org/licenses/gpl-3.0.html. -## -## $QT_END_LICENSE$ -## -############################################################################# - -# This script installs QEMU Guest Agent - -set -ex - -sudo zypper -nq install qemu-guest-agent diff --git a/coin/provisioning/qtci-linux-SLES-15_SP3-x86_64/90-squish.sh b/coin/provisioning/qtci-linux-SLES-15_SP3-x86_64/90-squish.sh deleted file mode 100755 index e4281588..00000000 --- a/coin/provisioning/qtci-linux-SLES-15_SP3-x86_64/90-squish.sh +++ /dev/null @@ -1,4 +0,0 @@ -#!/usr/bin/env bash -BASEDIR=$(dirname "$0") -"$BASEDIR/../common/unix/squishInstall.sh" - diff --git a/coin/provisioning/qtci-linux-SLES-15_SP3-x86_64/99-unset-proxy.sh b/coin/provisioning/qtci-linux-SLES-15_SP3-x86_64/99-unset-proxy.sh deleted file mode 100755 index 59f3abc2..00000000 --- a/coin/provisioning/qtci-linux-SLES-15_SP3-x86_64/99-unset-proxy.sh +++ /dev/null @@ -1,45 +0,0 @@ -#!/usr/bin/env bash -############################################################################# -## -## Copyright (C) 2017 The Qt Company Ltd. -## Contact: https://www.qt.io/licensing/ -## -## This file is part of the provisioning scripts of the Qt Toolkit. -## -## $QT_BEGIN_LICENSE:LGPL$ -## Commercial License Usage -## Licensees holding valid commercial Qt licenses may use this file in -## accordance with the commercial license agreement provided with the -## Software or, alternatively, in accordance with the terms contained in -## a written agreement between you and The Qt Company. For licensing terms -## and conditions see https://www.qt.io/terms-conditions. For further -## information use the contact form at https://www.qt.io/contact-us. -## -## GNU Lesser General Public License Usage -## Alternatively, this file may be used under the terms of the GNU Lesser -## General Public License version 3 as published by the Free Software -## Foundation and appearing in the file LICENSE.LGPL3 included in the -## packaging of this file. Please review the following information to -## ensure the GNU Lesser General Public License version 3 requirements -## will be met: https://www.gnu.org/licenses/lgpl-3.0.html. -## -## GNU General Public License Usage -## Alternatively, this file may be used under the terms of the GNU -## General Public License version 2.0 or (at your option) the GNU General -## Public license version 3 or any later version approved by the KDE Free -## Qt Foundation. The licenses are as published by the Free Software -## Foundation and appearing in the file LICENSE.GPL2 and LICENSE.GPL3 -## included in the packaging of this file. Please review the following -## information to ensure the GNU General Public License requirements will -## be met: https://www.gnu.org/licenses/gpl-2.0.html and -## https://www.gnu.org/licenses/gpl-3.0.html. -## -## $QT_END_LICENSE$ -## -############################################################################# - -set -ex - -# Having proxy set while running autotests makes them fail -sudo sed -i 's/PROXY_ENABLED=\"yes\"/PROXY_ENABLED=\"no\"/' /etc/sysconfig/proxy - diff --git a/coin/provisioning/qtci-linux-SLES-15_SP3-x86_64/99-version.sh b/coin/provisioning/qtci-linux-SLES-15_SP3-x86_64/99-version.sh deleted file mode 100755 index 87825b16..00000000 --- a/coin/provisioning/qtci-linux-SLES-15_SP3-x86_64/99-version.sh +++ /dev/null @@ -1,54 +0,0 @@ -#!/usr/bin/env bash - -############################################################################# -## -## Copyright (C) 2018 The Qt Company Ltd. -## Contact: https://www.qt.io/licensing/ -## -## This file is part of the provisioning scripts of the Qt Toolkit. -## -## $QT_BEGIN_LICENSE:LGPL$ -## Commercial License Usage -## Licensees holding valid commercial Qt licenses may use this file in -## accordance with the commercial license agreement provided with the -## Software or, alternatively, in accordance with the terms contained in -## a written agreement between you and The Qt Company. For licensing terms -## and conditions see https://www.qt.io/terms-conditions. For further -## information use the contact form at https://www.qt.io/contact-us. -## -## GNU Lesser General Public License Usage -## Alternatively, this file may be used under the terms of the GNU Lesser -## General Public License version 3 as published by the Free Software -## Foundation and appearing in the file LICENSE.LGPL3 included in the -## packaging of this file. Please review the following information to -## ensure the GNU Lesser General Public License version 3 requirements -## will be met: https://www.gnu.org/licenses/lgpl-3.0.html. -## -## GNU General Public License Usage -## Alternatively, this file may be used under the terms of the GNU -## General Public License version 2.0 or (at your option) the GNU General -## Public license version 3 or any later version approved by the KDE Free -## Qt Foundation. The licenses are as published by the Free Software -## Foundation and appearing in the file LICENSE.GPL2 and LICENSE.GPL3 -## included in the packaging of this file. Please review the following -## information to ensure the GNU General Public License requirements will -## be met: https://www.gnu.org/licenses/gpl-2.0.html and -## https://www.gnu.org/licenses/gpl-3.0.html. -## -## $QT_END_LICENSE$ -## -############################################################################# - -# This script needs to be called last during provisioning so that the software information will show up last in provision log. - -# Storage installed RPM packages information - -set -ex - -# shellcheck disable=SC2129 -echo "*********************************************" >> ~/versions.txt -echo "***** All installed RPM packages *****" >> ~/versions.txt -rpm -q -a | sort >> ~/versions.txt -echo "*********************************************" >> ~/versions.txt - -"$(dirname "$0")/../common/linux/version.sh" diff --git a/coin/provisioning/qtci-linux-SLES-15_SP4-x86_64/01-disable-btrfs-balance.sh b/coin/provisioning/qtci-linux-SLES-15_SP4-x86_64/01-disable-btrfs-balance.sh new file mode 100755 index 00000000..4b87251f --- /dev/null +++ b/coin/provisioning/qtci-linux-SLES-15_SP4-x86_64/01-disable-btrfs-balance.sh @@ -0,0 +1,11 @@ +#!/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 + +# Stops the balance job if one is running at the moment. This is a very expensive thing to run and causes major slow down. +sudo systemctl stop btrfs-balance.service + +# This will disable btrfs balance job scheduling. +sudo sed -i 's/BTRFS_BALANCE_PERIOD="weekly"/BTRFS_BALANCE_PERIOD="none"/g' /etc/sysconfig/btrfsmaintenance diff --git a/coin/provisioning/qtci-linux-SLES-15_SP4-x86_64/01-disable-coredump.sh b/coin/provisioning/qtci-linux-SLES-15_SP4-x86_64/01-disable-coredump.sh new file mode 100755 index 00000000..3d6b8ef4 --- /dev/null +++ b/coin/provisioning/qtci-linux-SLES-15_SP4-x86_64/01-disable-coredump.sh @@ -0,0 +1,8 @@ +#!/usr/bin/env bash +#Copyright (C) 2023 The Qt Company Ltd +#SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only + +set -ex + +sudo chkconfig kdump off +sudo sed -i 's/#Storage=external/Storage=none/g' /etc/systemd/coredump.conf diff --git a/coin/provisioning/qtci-linux-SLES-15_SP4-x86_64/01-disable-fstrim_timer.sh b/coin/provisioning/qtci-linux-SLES-15_SP4-x86_64/01-disable-fstrim_timer.sh new file mode 100755 index 00000000..9b65c43a --- /dev/null +++ b/coin/provisioning/qtci-linux-SLES-15_SP4-x86_64/01-disable-fstrim_timer.sh @@ -0,0 +1,9 @@ +#!/usr/bin/env bash +#Copyright (C) 2023 The Qt Company Ltd +#SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only + +set -ex + +# This will disable fstrim. The fstrim.timer is scheduled to activate the fstrim.service +sudo systemctl stop fstrim.timer +sudo systemctl disable fstrim.timer diff --git a/coin/provisioning/qtci-linux-SLES-15_SP4-x86_64/01-disable_net_lso.sh b/coin/provisioning/qtci-linux-SLES-15_SP4-x86_64/01-disable_net_lso.sh new file mode 100755 index 00000000..d094d755 --- /dev/null +++ b/coin/provisioning/qtci-linux-SLES-15_SP4-x86_64/01-disable_net_lso.sh @@ -0,0 +1,8 @@ +#!/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 mkdir -p /etc/wicked/scripts +echo "ethtool -K \$2 tso off" | sudo tee -a /etc/wicked/scripts/net_tso_off +sudo chmod 744 /etc/wicked/scripts/net_tso_off +echo "PRE_UP_SCRIPT='wicked:/etc/wicked/scripts/net_tso_off'" | sudo tee -a /etc/sysconfig/network/ifcfg-eth0 diff --git a/coin/provisioning/qtci-linux-SLES-15_SP4-x86_64/01-install_telegraf.sh b/coin/provisioning/qtci-linux-SLES-15_SP4-x86_64/01-install_telegraf.sh new file mode 100755 index 00000000..729f9003 --- /dev/null +++ b/coin/provisioning/qtci-linux-SLES-15_SP4-x86_64/01-install_telegraf.sh @@ -0,0 +1,3 @@ +#!/bin/sh + +"$(dirname "$0")"/../common/unix/telegraf_install.sh diff --git a/coin/provisioning/qtci-linux-SLES-15_SP4-x86_64/01-set-ulimit.sh b/coin/provisioning/qtci-linux-SLES-15_SP4-x86_64/01-set-ulimit.sh new file mode 100755 index 00000000..e951e82a --- /dev/null +++ b/coin/provisioning/qtci-linux-SLES-15_SP4-x86_64/01-set-ulimit.sh @@ -0,0 +1,8 @@ +#!/usr/bin/env bash +#Copyright (C) 2023 The Qt Company Ltd +#SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only + +set -ex + +BASEDIR=$(dirname "$0") +"$BASEDIR/../common/linux/set_ulimit.sh" diff --git a/coin/provisioning/qtci-linux-SLES-15_SP4-x86_64/01-systemsetup.sh b/coin/provisioning/qtci-linux-SLES-15_SP4-x86_64/01-systemsetup.sh new file mode 100755 index 00000000..32c789bb --- /dev/null +++ b/coin/provisioning/qtci-linux-SLES-15_SP4-x86_64/01-systemsetup.sh @@ -0,0 +1,42 @@ +#!/usr/bin/env bash +# Copyright (C) 2019 The Qt Company Ltd. +# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only + +set -ex + +BASEDIR=$(dirname "$0") +# shellcheck source=../common/shared/network_test_server_ip.txt +source "$BASEDIR/../common/shared/network_test_server_ip.txt" +# shellcheck source=../common/unix/check_and_set_proxy.sh +source "${BASH_SOURCE%/*}/../common/unix/check_and_set_proxy.sh" + +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 +gsettings set org.gnome.desktop.lockdown disable-lock-screen 'true' + +sudo sed -i 's|GRUB_TIMEOUT=8|GRUB_TIMEOUT=0|g' /etc/default/grub +sudo grub2-mkconfig -o /boot/grub2/grub.cfg + +echo "Set Network Test Server address to $network_test_server_ip in /etc/hosts" +echo "$network_test_server_ip qt-test-server qt-test-server.qt-test-net" | sudo tee -a /etc/hosts +echo "Set DISPLAY" +echo 'export DISPLAY=":0"' >> ~/.bashrc + +sudo systemctl stop packagekit +sudo systemctl disable packagekit +sudo systemctl mask packagekit +while sudo fuser /usr/lib/packagekitd >/dev/null 2>&1 ; do + echo "Waiting for PackageKit to finish..." + sleep 5 +done +sudo zypper -nq remove gnome-software + +# shellcheck disable=SC2031 +if [ "$http_proxy" != "" ]; then + sudo sed -i 's/PROXY_ENABLED=\"no\"/PROXY_ENABLED=\"yes\"/' /etc/sysconfig/proxy + sudo sed -i "s|HTTP_PROXY=\".*\"|HTTP_PROXY=\"$proxy\"|" /etc/sysconfig/proxy +fi diff --git a/coin/provisioning/qtci-linux-SLES-15_SP4-x86_64/02-disable-gnome-notifications.sh b/coin/provisioning/qtci-linux-SLES-15_SP4-x86_64/02-disable-gnome-notifications.sh new file mode 100755 index 00000000..1b9ed6c9 --- /dev/null +++ b/coin/provisioning/qtci-linux-SLES-15_SP4-x86_64/02-disable-gnome-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-SLES-15_SP3-x86_64/02-disable-ntp.sh b/coin/provisioning/qtci-linux-SLES-15_SP4-x86_64/02-disable-ntp.sh index 38707a8a..38707a8a 100755 --- a/coin/provisioning/qtci-linux-SLES-15_SP3-x86_64/02-disable-ntp.sh +++ b/coin/provisioning/qtci-linux-SLES-15_SP4-x86_64/02-disable-ntp.sh diff --git a/coin/provisioning/qtci-linux-SLES-15_SP4-x86_64/02-enable-modules.sh b/coin/provisioning/qtci-linux-SLES-15_SP4-x86_64/02-enable-modules.sh new file mode 100755 index 00000000..e441c959 --- /dev/null +++ b/coin/provisioning/qtci-linux-SLES-15_SP4-x86_64/02-enable-modules.sh @@ -0,0 +1,23 @@ +#!/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 + +sudo curl http://repo-clones.ci.qt.io:8081/tools/rmt-client-setup --output rmt-client-setup +sudo chmod 755 rmt-client-setup +sudo SUSEConnect --cleanup +sudo sh rmt-client-setup https://repo-clones.ci.qt.io:8082 --yes --fingerprint 80:90:7F:45:C6:DF:45:8A:57:25:1E:17:5E:D7:E3:6E:96:1B:1B:95 + +# Activate these modules +sudo SUSEConnect -p sle-module-basesystem/15.4/x86_64 +sudo SUSEConnect -p sle-module-server-applications/15.4/x86_64 +sudo SUSEConnect -p sle-module-desktop-applications/15.4/x86_64 +sudo SUSEConnect -p sle-module-development-tools/15.4/x86_64 +sudo SUSEConnect -p sle-module-python3/15.4/x86_64 +# sle-module-web-scripting is required for Nodejs +sudo SUSEConnect -p sle-module-web-scripting/15.4/x86_64 + +sudo zypper lr -u + +sudo rm -f /tmp/suse_rk.sh diff --git a/coin/provisioning/qtci-linux-SLES-15_SP4-x86_64/02-zypperpackages.sh b/coin/provisioning/qtci-linux-SLES-15_SP4-x86_64/02-zypperpackages.sh new file mode 100755 index 00000000..a9fab9bd --- /dev/null +++ b/coin/provisioning/qtci-linux-SLES-15_SP4-x86_64/02-zypperpackages.sh @@ -0,0 +1,103 @@ +#!/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 + +sudo zypper -nq install elfutils binutils + +sudo zypper addrepo --no-gpgcheck https://download.opensuse.org/repositories/devel:gcc/SLE-15/devel:gcc.repo +sudo zypper refresh +sudo zypper -nq install --force-resolution gcc10 gcc10-c++ + +sudo /usr/sbin/update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-10 1 \ + --slave /usr/bin/g++ g++ /usr/bin/g++-10 \ + --slave /usr/bin/cc cc /usr/bin/gcc-10 \ + --slave /usr/bin/c++ c++ /usr/bin/g++-10 + +sudo zypper -nq install git ninja make patch wget tar + +sudo zypper -nq install bison flex gperf \ + zlib-devel \ + libudev-devel \ + glib2-devel \ + libopenssl-3-devel \ + freetype2-devel \ + fontconfig-devel \ + sqlite3-devel \ + libxkbcommon-devel \ + libxkbcommon-x11-devel + +sudo zypper -nq install cmake + +sudo zypper -nq install p7zip + +# EGL support +sudo zypper -nq install Mesa-libEGL-devel Mesa-libGL-devel + +# ICU +sudo zypper -nq install libicu-devel libicu-suse65_1 + +# gtk3 style for QtGui/QStyle +sudo zypper -nq install gtk3-devel + +# Xinput2 +sudo zypper -nq install libXi-devel postgresql14 postgresql14-devel mysql-devel mysql mysql-server + +# system provided XCB libraries +sudo zypper -nq install xcb-util-devel xcb-util-image-devel xcb-util-keysyms-devel \ + xcb-util-wm-devel xcb-util-renderutil-devel + +# temporary solution for libxcb-cursor0 xcb-util-cursor-devel +sudo zypper addrepo --no-gpgcheck https://download.opensuse.org/repositories/home:liangqi_qt:branches:SUSE:SLE-15-SP4:GA/standard/home:liangqi_qt:branches:SUSE:SLE-15-SP4:GA.repo +sudo zypper refresh +sudo zypper -nq install --force-resolution libxcb-cursor0 xcb-util-cursor-devel + +# qtwebengine +sudo zypper -nq install alsa-devel dbus-1-devel libxkbfile-devel libdrm-devel \ + libXcomposite-devel libXcursor-devel libXrandr-devel libXtst-devel \ + mozilla-nspr-devel mozilla-nss-devel glproto-devel libxshmfence-devel \ + libgbm-devel Mesa-dri-devel vulkan-devel + +# qtwebengine, qtmultimedia+ffmpeg +sudo zypper -nq install libva-devel + +# qtwebkit +sudo zypper -nq install libxml2-devel libxslt-devel + +# yasm (for ffmpeg in multimedia) +sudo zypper -nq install yasm + +# GStreamer (qtwebkit and qtmultimedia), pulseaudio (qtmultimedia) +sudo zypper -nq install gstreamer-devel gstreamer-plugins-base-devel libpulse-devel + +# cups +sudo zypper -nq install cups-devel + +# speech-dispatcher +sudo zypper -nq install libspeechd-devel +#sudo sed -i 's:includedir=/usr/include:includedir=/usr/include/speech-dispatcher:' /usr/lib64/pkgconfig/speech-dispatcher.pc + +# ODBC support +sudo zypper -nq install unixODBC-devel unixODBC + +# sqlite support +sudo zypper -nq install sqlite3 sqlite3-devel + +# Java - needed by RTA jenkins +sudo zypper -nq install java + +# open-vm-tools requires update. Version in tier1 is broken and causes segfault on boot. +sudo zypper -nq update open-vm-tools + +# Tools to build Git +sudo zypper -nq install autoconf libcurl-devel libexpat-devel + +# Nodejs - required by QtWebengine +sudo zypper -nq install nodejs16 + +# OpenSSL 3 +sudo zypper -nq install openssl-3 + +gccVersion="$(gcc --version |grep gcc |cut -b 17-23)" +echo "GCC = $gccVersion" >> versions.txt diff --git a/coin/provisioning/qtci-linux-SLES-15_SP4-x86_64/08-libclang-v100-dyn.sh b/coin/provisioning/qtci-linux-SLES-15_SP4-x86_64/08-libclang-v100-dyn.sh new file mode 100755 index 00000000..e1fc1550 --- /dev/null +++ b/coin/provisioning/qtci-linux-SLES-15_SP4-x86_64/08-libclang-v100-dyn.sh @@ -0,0 +1,9 @@ +#!/usr/bin/env bash +#Copyright (C) 2023 The Qt Company Ltd +#SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only + +set -ex + +BASEDIR=$(dirname "$0") +# shellcheck source=../common/unix/libclang-v100-dyn.sh +"$BASEDIR/../common/unix/libclang-v100-dyn.sh" diff --git a/coin/provisioning/qtci-linux-SLES-15_SP4-x86_64/08-libclang.sh b/coin/provisioning/qtci-linux-SLES-15_SP4-x86_64/08-libclang.sh new file mode 100755 index 00000000..4e371161 --- /dev/null +++ b/coin/provisioning/qtci-linux-SLES-15_SP4-x86_64/08-libclang.sh @@ -0,0 +1,9 @@ +#!/usr/bin/env bash +#Copyright (C) 2023 The Qt Company Ltd +#SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only + +set -ex + +BASEDIR=$(dirname "$0") +# shellcheck source=../common/unix/libclang.sh +"$BASEDIR/../common/unix/libclang.sh" diff --git a/coin/provisioning/qtci-linux-SLES-15_SP4-x86_64/08-pythondev.sh b/coin/provisioning/qtci-linux-SLES-15_SP4-x86_64/08-pythondev.sh new file mode 100755 index 00000000..74a34847 --- /dev/null +++ b/coin/provisioning/qtci-linux-SLES-15_SP4-x86_64/08-pythondev.sh @@ -0,0 +1,81 @@ +#!/usr/bin/env bash +# Copyright (C) 2018 The Qt Company Ltd. +# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only + +# provides: python development libraries +# version: provided by default Linux distribution repository +# needed to build pyside + +set -ex + +PROVISIONING_DIR="$(dirname "$0")/../" +# shellcheck source=../common/unix/common.sourced.sh +source "${BASH_SOURCE%/*}/../common/unix/common.sourced.sh" +# shellcheck source=../common/unix/DownloadURL.sh +source "${BASH_SOURCE%/*}/../common/unix/DownloadURL.sh" + +# Selected installation instructions coming from: +# https://raw.githubusercontent.com/linux-on-ibm-z/scripts/master/Python3/build_python3.sh +export PACKAGE_NAME="python" +python2Version="2.7.18" +python3Version="3.8.16" +python2Sha="678d4cf483a1c92efd347ee8e1e79326dc82810b" +python3Sha="d85dbb3774132473d8081dcb158f34a10ccad7a90b96c7e50ea4bb61f5ce4562" + + +function InstallPython { + + PACKAGE_VERSION=$1 + PACKAGE_SHA=$2 + + $CMD_PKG_INSTALL ncurses zlib-devel libffi-devel + + echo 'Configuration and Installation started' + + #Download Source code + DownloadURL \ + "http://ci-files01-hki.ci.qt.io/input/python/Python-${PACKAGE_VERSION}.tar.xz" \ + "https://www.python.org/ftp/${PACKAGE_NAME}/${PACKAGE_VERSION}/Python-${PACKAGE_VERSION}.tar.xz" \ + "$PACKAGE_SHA" + tar -xf "Python-${PACKAGE_VERSION}.tar.xz" + + #Configure and Build + cd "Python-${PACKAGE_VERSION}" + ./configure --prefix=/usr/local --exec-prefix=/usr/local + make + sudo make install + + echo 'Installed python successfully' + + #Cleanup + cd - + rm "Python-${PACKAGE_VERSION}.tar.xz" + + #Verify python installation + export PATH="/usr/local/bin:${PATH}" + if command -V "$PACKAGE_NAME${PACKAGE_VERSION:0:1}" >/dev/null + then + printf -- "%s installation completed. Please check the Usage to start the service.\n" "$PACKAGE_NAME" + else + printf -- "Error while installing %s, exiting with 127 \n" "$PACKAGE_NAME" + exit 127 + fi + + +} + +InstallPython "$python2Version" "$python2Sha" +InstallPython "$python3Version" "$python3Sha" + +python3 --version | grep -F "$python3Version" + +# 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/ + +pip3 install --user wheel +pip3 install --user virtualenv + +# shellcheck source=../common/unix/SetEnvVar.sh +source "${BASH_SOURCE%/*}/../common/unix/SetEnvVar.sh" +SetEnvVar "PYTHON3_PATH" "/usr/local/bin" diff --git a/coin/provisioning/qtci-linux-SLES-15_SP4-x86_64/09-cmake.sh b/coin/provisioning/qtci-linux-SLES-15_SP4-x86_64/09-cmake.sh new file mode 100755 index 00000000..38e86081 --- /dev/null +++ b/coin/provisioning/qtci-linux-SLES-15_SP4-x86_64/09-cmake.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/linux/cmake_linux.sh" diff --git a/coin/provisioning/qtci-linux-SLES-15_SP4-x86_64/09-openssl.sh b/coin/provisioning/qtci-linux-SLES-15_SP4-x86_64/09-openssl.sh new file mode 100755 index 00000000..94f30890 --- /dev/null +++ b/coin/provisioning/qtci-linux-SLES-15_SP4-x86_64/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-SLES-15_SP4-x86_64/20-sccache.sh b/coin/provisioning/qtci-linux-SLES-15_SP4-x86_64/20-sccache.sh new file mode 100755 index 00000000..b371d947 --- /dev/null +++ b/coin/provisioning/qtci-linux-SLES-15_SP4-x86_64/20-sccache.sh @@ -0,0 +1,3 @@ +#!/usr/bin/env bash + +source "${BASH_SOURCE%/*}/../common/linux/sccache.sh" diff --git a/coin/provisioning/qtci-linux-SLES-15_SP4-x86_64/22-mqtt_broker.sh b/coin/provisioning/qtci-linux-SLES-15_SP4-x86_64/22-mqtt_broker.sh new file mode 100755 index 00000000..c81f5c66 --- /dev/null +++ b/coin/provisioning/qtci-linux-SLES-15_SP4-x86_64/22-mqtt_broker.sh @@ -0,0 +1,6 @@ +#!/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 + +# shellcheck source=../common/unix/mqtt_broker.sh +source "${BASH_SOURCE%/*}/../common/unix/mqtt_broker.sh" diff --git a/coin/provisioning/qtci-linux-SLES-15_SP4-x86_64/30-install-conan.sh b/coin/provisioning/qtci-linux-SLES-15_SP4-x86_64/30-install-conan.sh new file mode 100755 index 00000000..c5b53fac --- /dev/null +++ b/coin/provisioning/qtci-linux-SLES-15_SP4-x86_64/30-install-conan.sh @@ -0,0 +1,8 @@ +#!/usr/bin/env bash +#Copyright (C) 2023 The Qt Company Ltd +#SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only + +set -ex + +BASEDIR=$(dirname "$0") +"$BASEDIR/../common/unix/install-conan.sh" "linux" diff --git a/coin/provisioning/qtci-linux-SLES-15_SP4-x86_64/30-install-git.sh b/coin/provisioning/qtci-linux-SLES-15_SP4-x86_64/30-install-git.sh new file mode 100755 index 00000000..7a73f354 --- /dev/null +++ b/coin/provisioning/qtci-linux-SLES-15_SP4-x86_64/30-install-git.sh @@ -0,0 +1,8 @@ +#!/usr/bin/env bash +#Copyright (C) 2023 The Qt Company Ltd +#SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only + +set -ex + +BASEDIR=$(dirname "$0") +"$BASEDIR/../common/linux/install-git.sh" diff --git a/coin/provisioning/qtci-linux-SLES-15_SP4-x86_64/55-emsdk.sh b/coin/provisioning/qtci-linux-SLES-15_SP4-x86_64/55-emsdk.sh new file mode 100755 index 00000000..6b1a79e5 --- /dev/null +++ b/coin/provisioning/qtci-linux-SLES-15_SP4-x86_64/55-emsdk.sh @@ -0,0 +1,8 @@ +#!/usr/bin/env bash +# Copyright (C) 2018 The Qt Company Ltd. +# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only + +set -ex + +# shellcheck source=../common/unix/emsdk.sh +source "${BASH_SOURCE%/*}/../common/unix/emsdk.sh" diff --git a/coin/provisioning/qtci-linux-SLES-15_SP4-x86_64/60-install_protobuf.sh b/coin/provisioning/qtci-linux-SLES-15_SP4-x86_64/60-install_protobuf.sh new file mode 100755 index 00000000..c538ca07 --- /dev/null +++ b/coin/provisioning/qtci-linux-SLES-15_SP4-x86_64/60-install_protobuf.sh @@ -0,0 +1,9 @@ +#!/usr/bin/env bash +# Copyright (C) 2022 The Qt Company Ltd. +# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only + +set -ex + +# shellcheck source=../common/unix/install_protobuf.sh +source "${BASH_SOURCE%/*}/../common/unix/install_protobuf.sh" + diff --git a/coin/provisioning/qtci-linux-SLES-15_SP4-x86_64/61-install_grpc.sh b/coin/provisioning/qtci-linux-SLES-15_SP4-x86_64/61-install_grpc.sh new file mode 100755 index 00000000..ecd6a51f --- /dev/null +++ b/coin/provisioning/qtci-linux-SLES-15_SP4-x86_64/61-install_grpc.sh @@ -0,0 +1,9 @@ +#!/usr/bin/env bash +# Copyright (C) 2022 The Qt Company Ltd. +# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only + +set -ex + +# shellcheck source=../common/unix/install_grpc.sh +source "${BASH_SOURCE%/*}/../common/unix/install_grpc.sh" + diff --git a/coin/provisioning/qtci-linux-SLES-15_SP4-x86_64/70-install_QemuGA.sh b/coin/provisioning/qtci-linux-SLES-15_SP4-x86_64/70-install_QemuGA.sh new file mode 100755 index 00000000..76459a03 --- /dev/null +++ b/coin/provisioning/qtci-linux-SLES-15_SP4-x86_64/70-install_QemuGA.sh @@ -0,0 +1,9 @@ +#!/usr/bin/env bash +# Copyright (C) 2020 The Qt Company Ltd. +# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only + +# This script installs QEMU Guest Agent + +set -ex + +sudo zypper -nq install qemu-guest-agent diff --git a/coin/provisioning/qtci-linux-SLES-15_SP4-x86_64/90-bootstrap-autostart.sh b/coin/provisioning/qtci-linux-SLES-15_SP4-x86_64/90-bootstrap-autostart.sh new file mode 100755 index 00000000..1ff43850 --- /dev/null +++ b/coin/provisioning/qtci-linux-SLES-15_SP4-x86_64/90-bootstrap-autostart.sh @@ -0,0 +1,3 @@ +#!/usr/bin/env bash + +source "${BASH_SOURCE%/*}/../common/linux/bootstrap-autostart.sh" diff --git a/coin/provisioning/qtci-linux-SLES-15_SP4-x86_64/90-install-ffmpeg.sh b/coin/provisioning/qtci-linux-SLES-15_SP4-x86_64/90-install-ffmpeg.sh new file mode 100755 index 00000000..61da9b7b --- /dev/null +++ b/coin/provisioning/qtci-linux-SLES-15_SP4-x86_64/90-install-ffmpeg.sh @@ -0,0 +1,3 @@ +#!/usr/bin/env bash + +source "${BASH_SOURCE%/*}/../common/unix/install-ffmpeg.sh" "linux" diff --git a/coin/provisioning/qtci-linux-SLES-15_SP4-x86_64/90-mimer.sh b/coin/provisioning/qtci-linux-SLES-15_SP4-x86_64/90-mimer.sh new file mode 100755 index 00000000..bff2a7c7 --- /dev/null +++ b/coin/provisioning/qtci-linux-SLES-15_SP4-x86_64/90-mimer.sh @@ -0,0 +1,8 @@ +#!/usr/bin/env bash +# Copyright (C) 2022 The Qt Company Ltd. +# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only + +set -ex + +BASEDIR=$(dirname "$0") +"$BASEDIR/../common/linux/mimersql.sh" "openssl-1" "rpm" diff --git a/coin/provisioning/qtci-linux-SLES-15_SP4-x86_64/90-squish.sh b/coin/provisioning/qtci-linux-SLES-15_SP4-x86_64/90-squish.sh new file mode 100755 index 00000000..f803ccc1 --- /dev/null +++ b/coin/provisioning/qtci-linux-SLES-15_SP4-x86_64/90-squish.sh @@ -0,0 +1,6 @@ +#!/usr/bin/env bash +#Copyright (C) 2023 The Qt Company Ltd +#SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only +BASEDIR=$(dirname "$0") +"$BASEDIR/../common/unix/squishInstall.sh" + diff --git a/coin/provisioning/qtci-linux-SLES-15_SP4-x86_64/99-unset-proxy.sh b/coin/provisioning/qtci-linux-SLES-15_SP4-x86_64/99-unset-proxy.sh new file mode 100755 index 00000000..d63c4919 --- /dev/null +++ b/coin/provisioning/qtci-linux-SLES-15_SP4-x86_64/99-unset-proxy.sh @@ -0,0 +1,9 @@ +#!/usr/bin/env bash +# Copyright (C) 2017 The Qt Company Ltd. +# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only + +set -ex + +# Having proxy set while running autotests makes them fail +sudo sed -i 's/PROXY_ENABLED=\"yes\"/PROXY_ENABLED=\"no\"/' /etc/sysconfig/proxy + diff --git a/coin/provisioning/qtci-linux-SLES-15_SP4-x86_64/99-version.sh b/coin/provisioning/qtci-linux-SLES-15_SP4-x86_64/99-version.sh new file mode 100755 index 00000000..00d06674 --- /dev/null +++ b/coin/provisioning/qtci-linux-SLES-15_SP4-x86_64/99-version.sh @@ -0,0 +1,17 @@ +#!/usr/bin/env bash +# Copyright (C) 2018 The Qt Company Ltd. +# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only + +# This script needs to be called last during provisioning so that the software information will show up last in provision log. + +# Storage installed RPM packages information + +set -ex + +# shellcheck disable=SC2129 +echo "*********************************************" >> ~/versions.txt +echo "***** All installed RPM packages *****" >> ~/versions.txt +rpm -q -a | sort >> ~/versions.txt +echo "*********************************************" >> ~/versions.txt + +"$(dirname "$0")/../common/linux/version.sh" diff --git a/coin/provisioning/qtci-linux-SLES-15_SP5-x86_64/01-disable-btrfs-balance.sh b/coin/provisioning/qtci-linux-SLES-15_SP5-x86_64/01-disable-btrfs-balance.sh new file mode 100644 index 00000000..23f9ce85 --- /dev/null +++ b/coin/provisioning/qtci-linux-SLES-15_SP5-x86_64/01-disable-btrfs-balance.sh @@ -0,0 +1,11 @@ +#!/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 + +# Stops the balance job if one is running at the moment. This is a very expensive thing to run and causes major slow down. +sudo systemctl stop btrfs-balance.service + +# This will disable btrfs balance job scheduling. +sudo sed -i 's/BTRFS_BALANCE_PERIOD="weekly"/BTRFS_BALANCE_PERIOD="none"/g' /etc/sysconfig/btrfsmaintenance diff --git a/coin/provisioning/qtci-linux-SLES-15_SP5-x86_64/01-disable-coredump.sh b/coin/provisioning/qtci-linux-SLES-15_SP5-x86_64/01-disable-coredump.sh new file mode 100644 index 00000000..c757ecb9 --- /dev/null +++ b/coin/provisioning/qtci-linux-SLES-15_SP5-x86_64/01-disable-coredump.sh @@ -0,0 +1,8 @@ +#!/usr/bin/env bash +# Copyright (C) 2023 The Qt Company Ltd +# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only + +set -ex + +sudo chkconfig kdump off +sudo sed -i 's/#Storage=external/Storage=none/g' /etc/systemd/coredump.conf diff --git a/coin/provisioning/qtci-linux-SLES-15_SP5-x86_64/01-disable-fstrim_timer.sh b/coin/provisioning/qtci-linux-SLES-15_SP5-x86_64/01-disable-fstrim_timer.sh new file mode 100644 index 00000000..93c694d0 --- /dev/null +++ b/coin/provisioning/qtci-linux-SLES-15_SP5-x86_64/01-disable-fstrim_timer.sh @@ -0,0 +1,9 @@ +#!/usr/bin/env bash +# Copyright (C) 2023 The Qt Company Ltd +# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only + +set -ex + +# This will disable fstrim. The fstrim.timer is scheduled to activate the fstrim.service +sudo systemctl stop fstrim.timer +sudo systemctl disable fstrim.timer diff --git a/coin/provisioning/qtci-linux-SLES-15_SP5-x86_64/01-disable_net_lso.sh b/coin/provisioning/qtci-linux-SLES-15_SP5-x86_64/01-disable_net_lso.sh new file mode 100644 index 00000000..19ce7038 --- /dev/null +++ b/coin/provisioning/qtci-linux-SLES-15_SP5-x86_64/01-disable_net_lso.sh @@ -0,0 +1,8 @@ +#!/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 mkdir -p /etc/wicked/scripts +echo "ethtool -K \$2 tso off" | sudo tee -a /etc/wicked/scripts/net_tso_off +sudo chmod 744 /etc/wicked/scripts/net_tso_off +echo "PRE_UP_SCRIPT='wicked:/etc/wicked/scripts/net_tso_off'" | sudo tee -a /etc/sysconfig/network/ifcfg-eth0 diff --git a/coin/provisioning/qtci-linux-SLES-15_SP5-x86_64/01-install_telegraf.sh b/coin/provisioning/qtci-linux-SLES-15_SP5-x86_64/01-install_telegraf.sh new file mode 100644 index 00000000..70aeca1a --- /dev/null +++ b/coin/provisioning/qtci-linux-SLES-15_SP5-x86_64/01-install_telegraf.sh @@ -0,0 +1,5 @@ +#!/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 + +"$(dirname "$0")"/../common/unix/telegraf_install.sh diff --git a/coin/provisioning/qtci-linux-SLES-15_SP5-x86_64/01-set-ulimit.sh b/coin/provisioning/qtci-linux-SLES-15_SP5-x86_64/01-set-ulimit.sh new file mode 100644 index 00000000..59cbf4bb --- /dev/null +++ b/coin/provisioning/qtci-linux-SLES-15_SP5-x86_64/01-set-ulimit.sh @@ -0,0 +1,8 @@ +#!/usr/bin/env bash +# Copyright (C) 2023 The Qt Company Ltd +# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only + +set -ex + +BASEDIR=$(dirname "$0") +"$BASEDIR/../common/linux/set_ulimit.sh" diff --git a/coin/provisioning/qtci-linux-SLES-15_SP5-x86_64/01-systemsetup.sh b/coin/provisioning/qtci-linux-SLES-15_SP5-x86_64/01-systemsetup.sh new file mode 100644 index 00000000..dcbbfea9 --- /dev/null +++ b/coin/provisioning/qtci-linux-SLES-15_SP5-x86_64/01-systemsetup.sh @@ -0,0 +1,49 @@ +#!/usr/bin/env bash +# Copyright (C) 2019 The Qt Company Ltd. +# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only + +set -ex + +BASEDIR=$(dirname "$0") +# shellcheck source=../common/shared/network_test_server_ip.txt +source "$BASEDIR/../common/shared/network_test_server_ip.txt" +# shellcheck source=../common/unix/check_and_set_proxy.sh +source "${BASH_SOURCE%/*}/../common/unix/check_and_set_proxy.sh" + +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 +gsettings set org.gnome.desktop.lockdown disable-lock-screen 'true' + +sudo sed -i 's|GRUB_TIMEOUT=8|GRUB_TIMEOUT=0|g' /etc/default/grub +sudo grub2-mkconfig -o /boot/grub2/grub.cfg + +echo "Set Network Test Server address to $network_test_server_ip in /etc/hosts" +echo "$network_test_server_ip qt-test-server qt-test-server.qt-test-net" | sudo tee -a /etc/hosts +echo "Set DISPLAY" +echo 'export DISPLAY=":0"' >> ~/.bashrc + +echo "Checking packagekit status" +sudo systemctl status packagekit || true + +while sudo systemctl is-active packagekit >/dev/null 2>&1 ; do + echo "Waiting for PackageKit to finish..." + sudo systemctl is-active packagekit + sleep 5 +done + +sudo systemctl stop packagekit +sudo systemctl disable packagekit # With --now this could stop and disable +sudo systemctl mask packagekit +sudo systemctl status packagekit || true + +sudo zypper -nq remove gnome-software + +# shellcheck disable=SC2031 +if [ "$http_proxy" != "" ]; then + sudo sed -i 's/PROXY_ENABLED=\"no\"/PROXY_ENABLED=\"yes\"/' /etc/sysconfig/proxy + sudo sed -i "s|HTTP_PROXY=\".*\"|HTTP_PROXY=\"$proxy\"|" /etc/sysconfig/proxy +fi diff --git a/coin/provisioning/qtci-linux-SLES-15_SP5-x86_64/02-disable-gnome-notifications.sh b/coin/provisioning/qtci-linux-SLES-15_SP5-x86_64/02-disable-gnome-notifications.sh new file mode 100644 index 00000000..bf699969 --- /dev/null +++ b/coin/provisioning/qtci-linux-SLES-15_SP5-x86_64/02-disable-gnome-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-SLES-15_SP5-x86_64/02-disable-ntp.sh b/coin/provisioning/qtci-linux-SLES-15_SP5-x86_64/02-disable-ntp.sh new file mode 100644 index 00000000..b3b4880c --- /dev/null +++ b/coin/provisioning/qtci-linux-SLES-15_SP5-x86_64/02-disable-ntp.sh @@ -0,0 +1,5 @@ +#!/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-SLES-15_SP5-x86_64/02-enable-modules.sh b/coin/provisioning/qtci-linux-SLES-15_SP5-x86_64/02-enable-modules.sh new file mode 100644 index 00000000..55c697e3 --- /dev/null +++ b/coin/provisioning/qtci-linux-SLES-15_SP5-x86_64/02-enable-modules.sh @@ -0,0 +1,23 @@ +#!/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 + +sudo curl http://repo-clones.ci.qt.io:8081/tools/rmt-client-setup --output rmt-client-setup +sudo chmod 755 rmt-client-setup +sudo SUSEConnect --cleanup +sudo sh rmt-client-setup https://repo-clones.ci.qt.io:8082 --yes --fingerprint 80:90:7F:45:C6:DF:45:8A:57:25:1E:17:5E:D7:E3:6E:96:1B:1B:95 + +# Activate these modules +sudo SUSEConnect -p sle-module-basesystem/15.5/x86_64 +sudo SUSEConnect -p sle-module-server-applications/15.5/x86_64 +sudo SUSEConnect -p sle-module-desktop-applications/15.5/x86_64 +sudo SUSEConnect -p sle-module-development-tools/15.5/x86_64 +sudo SUSEConnect -p sle-module-python3/15.5/x86_64 +# sle-module-web-scripting is required for Nodejs +sudo SUSEConnect -p sle-module-web-scripting/15.5/x86_64 + +sudo zypper lr -u + +sudo rm -f /tmp/suse_rk.sh diff --git a/coin/provisioning/qtci-linux-SLES-15_SP5-x86_64/02-zypperpackages.sh b/coin/provisioning/qtci-linux-SLES-15_SP5-x86_64/02-zypperpackages.sh new file mode 100644 index 00000000..275592ea --- /dev/null +++ b/coin/provisioning/qtci-linux-SLES-15_SP5-x86_64/02-zypperpackages.sh @@ -0,0 +1,113 @@ +#!/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 + +sudo zypper -nq install elfutils binutils + +sudo zypper addrepo --no-gpgcheck https://download.opensuse.org/repositories/devel:gcc/SLE-15/devel:gcc.repo +sudo zypper refresh +sudo zypper -nq install --force-resolution gcc10 gcc10-c++ + +sudo /usr/sbin/update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-10 1 \ + --slave /usr/bin/g++ g++ /usr/bin/g++-10 \ + --slave /usr/bin/cc cc /usr/bin/gcc-10 \ + --slave /usr/bin/c++ c++ /usr/bin/g++-10 + +sudo zypper -nq install git ninja make patch wget tar + +sudo zypper -nq install bison flex gperf \ + zlib-devel \ + libudev-devel \ + glib2-devel \ + freetype2-devel \ + fontconfig-devel \ + sqlite3-devel \ + libxkbcommon-devel \ + libxkbcommon-x11-devel + +sudo zypper -nq install cmake + +sudo zypper -nq install p7zip + +# EGL support +sudo zypper -nq install Mesa-libEGL-devel Mesa-libGL-devel + +# ICU +sudo zypper -nq install libicu-devel libicu-suse65_1 + +# gtk3 style for QtGui/QStyle +sudo zypper -nq install gtk3-devel + +# Xinput2 +sudo zypper addrepo --no-gpgcheck https://download.postgresql.org/pub/repos/zypp/repo/pgdg-sles-15-pg14.repo +# Leaving postgresql14-devel out as dependency with clang15-devel doesn't yet have provider +sudo zypper -nq install libXi-devel postgresql14 mysql-devel mysql mysql-server + +# system provided XCB libraries +sudo zypper -nq install xcb-util-devel xcb-util-image-devel xcb-util-keysyms-devel \ + xcb-util-wm-devel xcb-util-renderutil-devel + +# temporary solution for libxcb-cursor0 xcb-util-cursor-devel +sudo zypper addrepo --no-gpgcheck https://download.opensuse.org/repositories/home:/liangqi_qt:/branches:/SUSE:/SLE-15-SP5:/GA/standard/home:liangqi_qt:branches:SUSE:SLE-15-SP5:GA.repo +sudo zypper refresh +sudo zypper -nq install --force-resolution libxcb-cursor0 xcb-util-cursor-devel + +# qtwebengine +sudo zypper -nq install alsa-devel dbus-1-devel libxkbfile-devel libdrm-devel \ + libXcomposite-devel libXcursor-devel libXrandr-devel libXtst-devel \ + mozilla-nspr-devel mozilla-nss-devel glproto-devel libxshmfence-devel \ + vulkan-devel + +# qtwebkit +sudo zypper -nq install libxml2-devel libxslt-devel + +# yasm (for ffmpeg in multimedia) +sudo zypper -nq install yasm + +# GStreamer (qtwebkit and qtmultimedia), pulseaudio (qtmultimedia) +sudo zypper -nq install gstreamer-devel gstreamer-plugins-base-devel libpulse-devel + +# cups +sudo zypper -nq install cups-devel + +# speech-dispatcher +sudo zypper -nq install libspeechd-devel +#sudo sed -i 's:includedir=/usr/include:includedir=/usr/include/speech-dispatcher:' /usr/lib64/pkgconfig/speech-dispatcher.pc + +# ODBC support +sudo zypper -nq install unixODBC-devel unixODBC + +# sqlite support +sudo zypper -nq install sqlite3 sqlite3-devel + +# Java - needed by RTA jenkins +sudo zypper -nq install java + +# open-vm-tools requires update. Version in tier1 is broken and causes segfault on boot. +sudo zypper -nq update open-vm-tools + +# Tools to build Git +sudo zypper -nq install autoconf libcurl-devel libexpat-devel + +# used for reading vcpkg packages version, from vcpkg.json +sudo zypper -nq install jq + +# zip, needed for vcpkg caching +sudo zypper -nq install zip + +# Nodejs - required by QtWebengine +sudo zypper -nq install nodejs18 + +# OpenSSL 3 +sudo zypper -nq install openssl-3 + +# cifs-utils, for mounting smb drive +sudo zypper -nq install cifs-utils + +gccVersion="$(gcc --version |grep gcc |cut -b 17-23)" +echo "GCC = $gccVersion" >> versions.txt + +OpenSSLVersion="$(openssl-3 version |cut -b 9-14)" +echo "System's OpenSSL = $OpenSSLVersion" >> ~/versions.txt diff --git a/coin/provisioning/qtci-linux-SLES-15_SP5-x86_64/03-mount-vcpkg-cache-drive.sh b/coin/provisioning/qtci-linux-SLES-15_SP5-x86_64/03-mount-vcpkg-cache-drive.sh new file mode 100755 index 00000000..ed49b3a5 --- /dev/null +++ b/coin/provisioning/qtci-linux-SLES-15_SP5-x86_64/03-mount-vcpkg-cache-drive.sh @@ -0,0 +1,8 @@ +#!/usr/bin/env bash +# Copyright (C) 2023 The Qt Company Ltd. +# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only + +set -ex + +# shellcheck source=../common/linux/mount-vcpkg-cache-drive.sh +source "${BASH_SOURCE%/*}/../common/linux/mount-vcpkg-cache-drive.sh" diff --git a/coin/provisioning/qtci-linux-SLES-15_SP5-x86_64/08-libclang-v100-dyn.sh b/coin/provisioning/qtci-linux-SLES-15_SP5-x86_64/08-libclang-v100-dyn.sh new file mode 100644 index 00000000..fc446b09 --- /dev/null +++ b/coin/provisioning/qtci-linux-SLES-15_SP5-x86_64/08-libclang-v100-dyn.sh @@ -0,0 +1,9 @@ +#!/usr/bin/env bash +# Copyright (C) 2023 The Qt Company Ltd +# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only + +set -ex + +BASEDIR=$(dirname "$0") +# shellcheck source=../common/unix/libclang-v100-dyn.sh +"$BASEDIR/../common/unix/libclang-v100-dyn.sh" diff --git a/coin/provisioning/qtci-linux-SLES-15_SP5-x86_64/08-libclang.sh b/coin/provisioning/qtci-linux-SLES-15_SP5-x86_64/08-libclang.sh new file mode 100644 index 00000000..85786c6d --- /dev/null +++ b/coin/provisioning/qtci-linux-SLES-15_SP5-x86_64/08-libclang.sh @@ -0,0 +1,9 @@ +#!/usr/bin/env bash +# Copyright (C) 2023 The Qt Company Ltd +# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only + +set -ex + +BASEDIR=$(dirname "$0") +# shellcheck source=../common/unix/libclang.sh +"$BASEDIR/../common/unix/libclang.sh" diff --git a/coin/provisioning/qtci-linux-SLES-15_SP5-x86_64/08-pythondev.sh b/coin/provisioning/qtci-linux-SLES-15_SP5-x86_64/08-pythondev.sh new file mode 100644 index 00000000..79e172ee --- /dev/null +++ b/coin/provisioning/qtci-linux-SLES-15_SP5-x86_64/08-pythondev.sh @@ -0,0 +1,77 @@ +#!/usr/bin/env bash +# Copyright (C) 2018 The Qt Company Ltd. +# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only + +# provides: python development libraries +# version: provided by default Linux distribution repository +# needed to build pyside + +set -ex + +PROVISIONING_DIR="$(dirname "$0")/../" +# shellcheck source=../common/unix/common.sourced.sh +source "${BASH_SOURCE%/*}/../common/unix/common.sourced.sh" +# shellcheck source=../common/unix/DownloadURL.sh +source "${BASH_SOURCE%/*}/../common/unix/DownloadURL.sh" + +# Selected installation instructions coming from: +# https://raw.githubusercontent.com/linux-on-ibm-z/scripts/master/Python3/build_python3.sh +export PACKAGE_NAME="python" +python2Version="2.7.18" +python3Version="3.8.16" +python2Sha="678d4cf483a1c92efd347ee8e1e79326dc82810b" +python3Sha="d85dbb3774132473d8081dcb158f34a10ccad7a90b96c7e50ea4bb61f5ce4562" + + +function InstallPython { + + PACKAGE_VERSION=$1 + PACKAGE_SHA=$2 + + $CMD_PKG_INSTALL ncurses zlib-devel libffi-devel + + echo 'Configuration and Installation started' + + #Download Source code + DownloadURL \ + "http://ci-files01-hki.ci.qt.io/input/python/Python-${PACKAGE_VERSION}.tar.xz" \ + "https://www.python.org/ftp/${PACKAGE_NAME}/${PACKAGE_VERSION}/Python-${PACKAGE_VERSION}.tar.xz" \ + "$PACKAGE_SHA" + tar -xf "Python-${PACKAGE_VERSION}.tar.xz" + + #Configure and Build + cd "Python-${PACKAGE_VERSION}" + ./configure --prefix=/usr/local --exec-prefix=/usr/local + make + sudo make install + + echo 'Installed python successfully' + + #Cleanup + cd - + rm "Python-${PACKAGE_VERSION}.tar.xz" + + #Verify python installation + export PATH="/usr/local/bin:${PATH}" + if command -V "$PACKAGE_NAME${PACKAGE_VERSION:0:1}" >/dev/null + then + printf -- "%s installation completed. Please check the Usage to start the service.\n" "$PACKAGE_NAME" + else + printf -- "Error while installing %s, exiting with 127 \n" "$PACKAGE_NAME" + exit 127 + fi + + +} + +InstallPython "$python2Version" "$python2Sha" +InstallPython "$python3Version" "$python3Sha" + +python3 --version | grep -F "$python3Version" + +pip3 install --user wheel +pip3 install --user virtualenv + +# shellcheck source=../common/unix/SetEnvVar.sh +source "${BASH_SOURCE%/*}/../common/unix/SetEnvVar.sh" +SetEnvVar "PYTHON3_PATH" "/usr/local/bin" diff --git a/coin/provisioning/qtci-linux-SLES-15_SP5-x86_64/09-cmake.sh b/coin/provisioning/qtci-linux-SLES-15_SP5-x86_64/09-cmake.sh new file mode 100644 index 00000000..2f9acc6b --- /dev/null +++ b/coin/provisioning/qtci-linux-SLES-15_SP5-x86_64/09-cmake.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/linux/cmake_linux.sh" diff --git a/coin/provisioning/qtci-linux-SLES-15_SP5-x86_64/09-openssl.sh b/coin/provisioning/qtci-linux-SLES-15_SP5-x86_64/09-openssl.sh new file mode 100644 index 00000000..3a65360e --- /dev/null +++ b/coin/provisioning/qtci-linux-SLES-15_SP5-x86_64/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-SLES-15_SP5-x86_64/20-sccache.sh b/coin/provisioning/qtci-linux-SLES-15_SP5-x86_64/20-sccache.sh new file mode 100644 index 00000000..1e30c811 --- /dev/null +++ b/coin/provisioning/qtci-linux-SLES-15_SP5-x86_64/20-sccache.sh @@ -0,0 +1,5 @@ +#!/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 + +source "${BASH_SOURCE%/*}/../common/linux/sccache.sh" diff --git a/coin/provisioning/qtci-linux-SLES-15_SP5-x86_64/22-mqtt_broker.sh b/coin/provisioning/qtci-linux-SLES-15_SP5-x86_64/22-mqtt_broker.sh new file mode 100644 index 00000000..c81f5c66 --- /dev/null +++ b/coin/provisioning/qtci-linux-SLES-15_SP5-x86_64/22-mqtt_broker.sh @@ -0,0 +1,6 @@ +#!/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 + +# shellcheck source=../common/unix/mqtt_broker.sh +source "${BASH_SOURCE%/*}/../common/unix/mqtt_broker.sh" diff --git a/coin/provisioning/qtci-linux-SLES-15_SP5-x86_64/30-install-conan.sh b/coin/provisioning/qtci-linux-SLES-15_SP5-x86_64/30-install-conan.sh new file mode 100644 index 00000000..337d7c0c --- /dev/null +++ b/coin/provisioning/qtci-linux-SLES-15_SP5-x86_64/30-install-conan.sh @@ -0,0 +1,8 @@ +#!/usr/bin/env bash +# Copyright (C) 2023 The Qt Company Ltd +# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only + +set -ex + +BASEDIR=$(dirname "$0") +"$BASEDIR/../common/unix/install-conan.sh" "linux" diff --git a/coin/provisioning/qtci-linux-SLES-15_SP5-x86_64/30-install-git.sh b/coin/provisioning/qtci-linux-SLES-15_SP5-x86_64/30-install-git.sh new file mode 100644 index 00000000..4931b6ae --- /dev/null +++ b/coin/provisioning/qtci-linux-SLES-15_SP5-x86_64/30-install-git.sh @@ -0,0 +1,8 @@ +#!/usr/bin/env bash +# Copyright (C) 2023 The Qt Company Ltd +# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only + +set -ex + +BASEDIR=$(dirname "$0") +"$BASEDIR/../common/linux/install-git.sh" diff --git a/coin/provisioning/qtci-linux-SLES-15_SP5-x86_64/41-install-vcpkg.sh b/coin/provisioning/qtci-linux-SLES-15_SP5-x86_64/41-install-vcpkg.sh new file mode 100644 index 00000000..aa88364d --- /dev/null +++ b/coin/provisioning/qtci-linux-SLES-15_SP5-x86_64/41-install-vcpkg.sh @@ -0,0 +1,6 @@ +#!/usr/bin/env bash + +set -ex + +BASEDIR=$(dirname "$0") +"$BASEDIR/../common/linux/install-vcpkg.sh" diff --git a/coin/provisioning/qtci-linux-SLES-15_SP5-x86_64/42-install-vcpkg-ports.sh b/coin/provisioning/qtci-linux-SLES-15_SP5-x86_64/42-install-vcpkg-ports.sh new file mode 100755 index 00000000..71a46f9a --- /dev/null +++ b/coin/provisioning/qtci-linux-SLES-15_SP5-x86_64/42-install-vcpkg-ports.sh @@ -0,0 +1,6 @@ +#!/usr/bin/env bash + +set -ex + +BASEDIR=$(dirname "$0") +"$BASEDIR/../common/linux/install-vcpkg-ports.sh" diff --git a/coin/provisioning/qtci-linux-SLES-15_SP5-x86_64/55-emsdk.sh b/coin/provisioning/qtci-linux-SLES-15_SP5-x86_64/55-emsdk.sh new file mode 100644 index 00000000..6b1a79e5 --- /dev/null +++ b/coin/provisioning/qtci-linux-SLES-15_SP5-x86_64/55-emsdk.sh @@ -0,0 +1,8 @@ +#!/usr/bin/env bash +# Copyright (C) 2018 The Qt Company Ltd. +# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only + +set -ex + +# shellcheck source=../common/unix/emsdk.sh +source "${BASH_SOURCE%/*}/../common/unix/emsdk.sh" diff --git a/coin/provisioning/qtci-linux-SLES-15_SP5-x86_64/60-install_protobuf.sh b/coin/provisioning/qtci-linux-SLES-15_SP5-x86_64/60-install_protobuf.sh new file mode 100644 index 00000000..c538ca07 --- /dev/null +++ b/coin/provisioning/qtci-linux-SLES-15_SP5-x86_64/60-install_protobuf.sh @@ -0,0 +1,9 @@ +#!/usr/bin/env bash +# Copyright (C) 2022 The Qt Company Ltd. +# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only + +set -ex + +# shellcheck source=../common/unix/install_protobuf.sh +source "${BASH_SOURCE%/*}/../common/unix/install_protobuf.sh" + diff --git a/coin/provisioning/qtci-linux-SLES-15_SP5-x86_64/61-install_grpc.sh b/coin/provisioning/qtci-linux-SLES-15_SP5-x86_64/61-install_grpc.sh new file mode 100644 index 00000000..ecd6a51f --- /dev/null +++ b/coin/provisioning/qtci-linux-SLES-15_SP5-x86_64/61-install_grpc.sh @@ -0,0 +1,9 @@ +#!/usr/bin/env bash +# Copyright (C) 2022 The Qt Company Ltd. +# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only + +set -ex + +# shellcheck source=../common/unix/install_grpc.sh +source "${BASH_SOURCE%/*}/../common/unix/install_grpc.sh" + diff --git a/coin/provisioning/qtci-linux-SLES-15_SP5-x86_64/70-install_QemuGA.sh b/coin/provisioning/qtci-linux-SLES-15_SP5-x86_64/70-install_QemuGA.sh new file mode 100644 index 00000000..76459a03 --- /dev/null +++ b/coin/provisioning/qtci-linux-SLES-15_SP5-x86_64/70-install_QemuGA.sh @@ -0,0 +1,9 @@ +#!/usr/bin/env bash +# Copyright (C) 2020 The Qt Company Ltd. +# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only + +# This script installs QEMU Guest Agent + +set -ex + +sudo zypper -nq install qemu-guest-agent diff --git a/coin/provisioning/qtci-linux-SLES-15_SP5-x86_64/90-bootstrap-autostart.sh b/coin/provisioning/qtci-linux-SLES-15_SP5-x86_64/90-bootstrap-autostart.sh new file mode 100644 index 00000000..d524920e --- /dev/null +++ b/coin/provisioning/qtci-linux-SLES-15_SP5-x86_64/90-bootstrap-autostart.sh @@ -0,0 +1,5 @@ +#!/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 + +source "${BASH_SOURCE%/*}/../common/linux/bootstrap-autostart.sh" diff --git a/coin/provisioning/qtci-linux-SLES-15_SP5-x86_64/90-install-ffmpeg.sh b/coin/provisioning/qtci-linux-SLES-15_SP5-x86_64/90-install-ffmpeg.sh new file mode 100644 index 00000000..2a0d7258 --- /dev/null +++ b/coin/provisioning/qtci-linux-SLES-15_SP5-x86_64/90-install-ffmpeg.sh @@ -0,0 +1,5 @@ +#!/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 + +source "${BASH_SOURCE%/*}/../common/unix/install-ffmpeg.sh" "linux" diff --git a/coin/provisioning/qtci-linux-SLES-15_SP5-x86_64/90-mimer.sh b/coin/provisioning/qtci-linux-SLES-15_SP5-x86_64/90-mimer.sh new file mode 100644 index 00000000..bff2a7c7 --- /dev/null +++ b/coin/provisioning/qtci-linux-SLES-15_SP5-x86_64/90-mimer.sh @@ -0,0 +1,8 @@ +#!/usr/bin/env bash +# Copyright (C) 2022 The Qt Company Ltd. +# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only + +set -ex + +BASEDIR=$(dirname "$0") +"$BASEDIR/../common/linux/mimersql.sh" "openssl-1" "rpm" diff --git a/coin/provisioning/qtci-linux-SLES-15_SP5-x86_64/90-squish.sh b/coin/provisioning/qtci-linux-SLES-15_SP5-x86_64/90-squish.sh new file mode 100644 index 00000000..68f0fba2 --- /dev/null +++ b/coin/provisioning/qtci-linux-SLES-15_SP5-x86_64/90-squish.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 + +BASEDIR=$(dirname "$0") +"$BASEDIR/../common/unix/squishInstall.sh" + diff --git a/coin/provisioning/qtci-linux-SLES-15_SP5-x86_64/99-enable_test_stacktraces.sh b/coin/provisioning/qtci-linux-SLES-15_SP5-x86_64/99-enable_test_stacktraces.sh new file mode 100755 index 00000000..600b7850 --- /dev/null +++ b/coin/provisioning/qtci-linux-SLES-15_SP5-x86_64/99-enable_test_stacktraces.sh @@ -0,0 +1,8 @@ +#!/usr/bin/env bash +#Copyright (C) 2023 The Qt Company Ltd +#SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only + +set -ex + +BASEDIR=$(dirname "$0") +"$BASEDIR"/../common/linux/enable_test_stacktraces.sh diff --git a/coin/provisioning/qtci-linux-SLES-15_SP5-x86_64/99-unset-proxy.sh b/coin/provisioning/qtci-linux-SLES-15_SP5-x86_64/99-unset-proxy.sh new file mode 100644 index 00000000..d63c4919 --- /dev/null +++ b/coin/provisioning/qtci-linux-SLES-15_SP5-x86_64/99-unset-proxy.sh @@ -0,0 +1,9 @@ +#!/usr/bin/env bash +# Copyright (C) 2017 The Qt Company Ltd. +# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only + +set -ex + +# Having proxy set while running autotests makes them fail +sudo sed -i 's/PROXY_ENABLED=\"yes\"/PROXY_ENABLED=\"no\"/' /etc/sysconfig/proxy + diff --git a/coin/provisioning/qtci-linux-SLES-15_SP5-x86_64/99-version.sh b/coin/provisioning/qtci-linux-SLES-15_SP5-x86_64/99-version.sh new file mode 100644 index 00000000..00d06674 --- /dev/null +++ b/coin/provisioning/qtci-linux-SLES-15_SP5-x86_64/99-version.sh @@ -0,0 +1,17 @@ +#!/usr/bin/env bash +# Copyright (C) 2018 The Qt Company Ltd. +# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only + +# This script needs to be called last during provisioning so that the software information will show up last in provision log. + +# Storage installed RPM packages information + +set -ex + +# shellcheck disable=SC2129 +echo "*********************************************" >> ~/versions.txt +echo "***** All installed RPM packages *****" >> ~/versions.txt +rpm -q -a | sort >> ~/versions.txt +echo "*********************************************" >> ~/versions.txt + +"$(dirname "$0")/../common/linux/version.sh" diff --git a/coin/provisioning/qtci-linux-Ubuntu-18.04-x86_64/01-systemsetup.sh b/coin/provisioning/qtci-linux-Ubuntu-18.04-x86_64/01-systemsetup.sh index bc39e007..81b42211 100755 --- a/coin/provisioning/qtci-linux-Ubuntu-18.04-x86_64/01-systemsetup.sh +++ b/coin/provisioning/qtci-linux-Ubuntu-18.04-x86_64/01-systemsetup.sh @@ -1,43 +1,6 @@ #!/usr/bin/env bash - -############################################################################# -## -## Copyright (C) 2017 The Qt Company Ltd. -## Contact: https://www.qt.io/licensing/ -## -## This file is part of the provisioning scripts of the Qt Toolkit. -## -## $QT_BEGIN_LICENSE:LGPL$ -## Commercial License Usage -## Licensees holding valid commercial Qt licenses may use this file in -## accordance with the commercial license agreement provided with the -## Software or, alternatively, in accordance with the terms contained in -## a written agreement between you and The Qt Company. For licensing terms -## and conditions see https://www.qt.io/terms-conditions. For further -## information use the contact form at https://www.qt.io/contact-us. -## -## GNU Lesser General Public License Usage -## Alternatively, this file may be used under the terms of the GNU Lesser -## General Public License version 3 as published by the Free Software -## Foundation and appearing in the file LICENSE.LGPL3 included in the -## packaging of this file. Please review the following information to -## ensure the GNU Lesser General Public License version 3 requirements -## will be met: https://www.gnu.org/licenses/lgpl-3.0.html. -## -## GNU General Public License Usage -## Alternatively, this file may be used under the terms of the GNU -## General Public License version 2.0 or (at your option) the GNU General -## Public license version 3 or any later version approved by the KDE Free -## Qt Foundation. The licenses are as published by the Free Software -## Foundation and appearing in the file LICENSE.GPL2 and LICENSE.GPL3 -## included in the packaging of this file. Please review the following -## information to ensure the GNU General Public License requirements will -## be met: https://www.gnu.org/licenses/gpl-2.0.html and -## https://www.gnu.org/licenses/gpl-3.0.html. -## -## $QT_END_LICENSE$ -## -############################################################################# +# 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 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 da17cba1..df016116 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 @@ -1,43 +1,6 @@ #!/usr/bin/env bash - -############################################################################# -## -## Copyright (C) 2017 The Qt Company Ltd. -## Contact: https://www.qt.io/licensing/ -## -## This file is part of the provisioning scripts of the Qt Toolkit. -## -## $QT_BEGIN_LICENSE:LGPL$ -## Commercial License Usage -## Licensees holding valid commercial Qt licenses may use this file in -## accordance with the commercial license agreement provided with the -## Software or, alternatively, in accordance with the terms contained in -## a written agreement between you and The Qt Company. For licensing terms -## and conditions see https://www.qt.io/terms-conditions. For further -## information use the contact form at https://www.qt.io/contact-us. -## -## GNU Lesser General Public License Usage -## Alternatively, this file may be used under the terms of the GNU Lesser -## General Public License version 3 as published by the Free Software -## Foundation and appearing in the file LICENSE.LGPL3 included in the -## packaging of this file. Please review the following information to -## ensure the GNU Lesser General Public License version 3 requirements -## will be met: https://www.gnu.org/licenses/lgpl-3.0.html. -## -## GNU General Public License Usage -## Alternatively, this file may be used under the terms of the GNU -## General Public License version 2.0 or (at your option) the GNU General -## Public license version 3 or any later version approved by the KDE Free -## Qt Foundation. The licenses are as published by the Free Software -## Foundation and appearing in the file LICENSE.GPL2 and LICENSE.GPL3 -## included in the packaging of this file. Please review the following -## information to ensure the GNU General Public License requirements will -## be met: https://www.gnu.org/licenses/gpl-2.0.html and -## https://www.gnu.org/licenses/gpl-3.0.html. -## -## $QT_END_LICENSE$ -## -############################################################################# +# 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 # Install required packages with APT @@ -117,11 +80,24 @@ installPackages+=(libgstreamer1.0-dev) installPackages+=(libgstreamer-plugins-base1.0-dev) installPackages+=(libgstreamer-plugins-good1.0-dev) installPackages+=(libgstreamer-plugins-bad1.0-dev) +installPackages+=(gstreamer1.0-libav) +installPackages+=(gstreamer1.0-plugins-base) +installPackages+=(gstreamer1.0-plugins-good) +installPackages+=(gstreamer1.0-plugins-bad) +installPackages+=(gstreamer1.0-plugins-rtp) +installPackages+=(gstreamer1.0-plugins-ugly) +installPackages+=(yasm) +installPackages+=(libva-dev) +# for QtMultimedia streaming tests +installPackages+=(vlc-bin) +installPackages+=(vlc-plugin-base) + # Support for cross-building to x86 (needed by WebEngine boot2qt builds) installPackages+=(g++-multilib) # python3 development package installPackages+=(python3-dev) installPackages+=(python3-pip) +installPackages+=(python3-venv) installPackages+=(virtualenv) installPackages+=(python3-wheel) # python2 development package @@ -133,6 +109,7 @@ installPackages+=(libgl1-mesa-glx) installPackages+=(libgl1-mesa-dev) installPackages+=(libegl1-mesa-dev) installPackages+=(curl) +installPackages+=(libcurl4-openssl-dev) installPackages+=(libicu-dev) installPackages+=(zlib1g-dev) installPackages+=(zlib1g) @@ -199,12 +176,9 @@ echo "Installing packages" waitLoop sudo DEBIAN_FRONTEND=noninteractive apt-get -q -y install "${installPackages[@]}" -# Install all needed packages in a special wheel cache directory -pip3 wheel --wheel-dir "$HOME/python3-wheels" -r "${BASH_SOURCE%/*}/../common/shared/requirements.txt" - -source "${BASH_SOURCE%/*}/../common/unix/SetEnvVar.sh" -SetEnvVar "PYTHON3_WHEEL_CACHE" "$HOME/python3-wheels" +# 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/ OpenSSLVersion="$(openssl version |cut -b 9-14)" echo "OpenSSL = $OpenSSLVersion" >> ~/versions.txt - diff --git a/coin/provisioning/qtci-linux-Ubuntu-18.04-x86_64/02-disable-notifications.sh b/coin/provisioning/qtci-linux-Ubuntu-18.04-x86_64/02-disable-notifications.sh index f38c9bab..1b9ed6c9 100755 --- a/coin/provisioning/qtci-linux-Ubuntu-18.04-x86_64/02-disable-notifications.sh +++ b/coin/provisioning/qtci-linux-Ubuntu-18.04-x86_64/02-disable-notifications.sh @@ -1,4 +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-18.04-x86_64/02-disable-ntp.sh b/coin/provisioning/qtci-linux-Ubuntu-18.04-x86_64/02-disable-ntp.sh index 89806892..1995aa14 100755 --- a/coin/provisioning/qtci-linux-Ubuntu-18.04-x86_64/02-disable-ntp.sh +++ b/coin/provisioning/qtci-linux-Ubuntu-18.04-x86_64/02-disable-ntp.sh @@ -1,4 +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-18.04-x86_64/02-git_lfs.sh b/coin/provisioning/qtci-linux-Ubuntu-18.04-x86_64/02-git_lfs.sh index ad80bc23..987e3624 100755 --- a/coin/provisioning/qtci-linux-Ubuntu-18.04-x86_64/02-git_lfs.sh +++ b/coin/provisioning/qtci-linux-Ubuntu-18.04-x86_64/02-git_lfs.sh @@ -1,43 +1,6 @@ #!/usr/bin/env bash - -############################################################################# -## -## Copyright (C) 2018 The Qt Company Ltd. -## Contact: https://www.qt.io/licensing/ -## -## This file is part of the provisioning scripts of the Qt Toolkit. -## -## $QT_BEGIN_LICENSE:LGPL$ -## Commercial License Usage -## Licensees holding valid commercial Qt licenses may use this file in -## accordance with the commercial license agreement provided with the -## Software or, alternatively, in accordance with the terms contained in -## a written agreement between you and The Qt Company. For licensing terms -## and conditions see https://www.qt.io/terms-conditions. For further -## information use the contact form at https://www.qt.io/contact-us. -## -## GNU Lesser General Public License Usage -## Alternatively, this file may be used under the terms of the GNU Lesser -## General Public License version 3 as published by the Free Software -## Foundation and appearing in the file LICENSE.LGPL3 included in the -## packaging of this file. Please review the following information to -## ensure the GNU Lesser General Public License version 3 requirements -## will be met: https://www.gnu.org/licenses/lgpl-3.0.html. -## -## GNU General Public License Usage -## Alternatively, this file may be used under the terms of the GNU -## General Public License version 2.0 or (at your option) the GNU General -## Public license version 3 or any later version approved by the KDE Free -## Qt Foundation. The licenses are as published by the Free Software -## Foundation and appearing in the file LICENSE.GPL2 and LICENSE.GPL3 -## included in the packaging of this file. Please review the following -## information to ensure the GNU General Public License requirements will -## be met: https://www.gnu.org/licenses/gpl-2.0.html and -## https://www.gnu.org/licenses/gpl-3.0.html. -## -## $QT_END_LICENSE$ -## -############################################################################# +# Copyright (C) 2018 The Qt Company Ltd. +# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only # Install Git Large File Storage diff --git a/coin/provisioning/qtci-linux-Ubuntu-18.04-x86_64/02-remove-apport.sh b/coin/provisioning/qtci-linux-Ubuntu-18.04-x86_64/02-remove-apport.sh index 09477763..879f3ffb 100755 --- a/coin/provisioning/qtci-linux-Ubuntu-18.04-x86_64/02-remove-apport.sh +++ b/coin/provisioning/qtci-linux-Ubuntu-18.04-x86_64/02-remove-apport.sh @@ -1,4 +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-18.04-x86_64/02-remove-update_notifier.sh b/coin/provisioning/qtci-linux-Ubuntu-18.04-x86_64/02-remove-update_notifier.sh index 55c6ce79..f4a5119f 100755 --- a/coin/provisioning/qtci-linux-Ubuntu-18.04-x86_64/02-remove-update_notifier.sh +++ b/coin/provisioning/qtci-linux-Ubuntu-18.04-x86_64/02-remove-update_notifier.sh @@ -1,4 +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-18.04-x86_64/03-gcc.sh b/coin/provisioning/qtci-linux-Ubuntu-18.04-x86_64/03-gcc.sh index 744228d7..43a9f098 100755 --- a/coin/provisioning/qtci-linux-Ubuntu-18.04-x86_64/03-gcc.sh +++ b/coin/provisioning/qtci-linux-Ubuntu-18.04-x86_64/03-gcc.sh @@ -1,4 +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 set -ex diff --git a/coin/provisioning/qtci-linux-Ubuntu-18.04-x86_64/04-libclang-v100-dyn.sh b/coin/provisioning/qtci-linux-Ubuntu-18.04-x86_64/04-libclang-v100-dyn.sh index dcd5b2d8..85c261ee 100755 --- a/coin/provisioning/qtci-linux-Ubuntu-18.04-x86_64/04-libclang-v100-dyn.sh +++ b/coin/provisioning/qtci-linux-Ubuntu-18.04-x86_64/04-libclang-v100-dyn.sh @@ -1,4 +1,6 @@ #!/usr/bin/env bash +#Copyright (C) 2023 The Qt Company Ltd +#SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only BASEDIR=$(dirname "$0") "$BASEDIR/../common/unix/libclang-v100-dyn.sh" diff --git a/coin/provisioning/qtci-linux-Ubuntu-18.04-x86_64/04-libclang.sh b/coin/provisioning/qtci-linux-Ubuntu-18.04-x86_64/04-libclang.sh index 0d18dbcf..fac8d4e7 100755 --- a/coin/provisioning/qtci-linux-Ubuntu-18.04-x86_64/04-libclang.sh +++ b/coin/provisioning/qtci-linux-Ubuntu-18.04-x86_64/04-libclang.sh @@ -1,4 +1,6 @@ #!/usr/bin/env bash +#Copyright (C) 2023 The Qt Company Ltd +#SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only BASEDIR=$(dirname "$0") "$BASEDIR/../common/unix/libclang.sh" diff --git a/coin/provisioning/qtci-linux-Ubuntu-18.04-x86_64/22-mqtt_broker.sh b/coin/provisioning/qtci-linux-Ubuntu-18.04-x86_64/22-mqtt_broker.sh index e55e66f7..b0791cb1 100755 --- a/coin/provisioning/qtci-linux-Ubuntu-18.04-x86_64/22-mqtt_broker.sh +++ b/coin/provisioning/qtci-linux-Ubuntu-18.04-x86_64/22-mqtt_broker.sh @@ -1,43 +1,6 @@ #!/usr/bin/env bash - -############################################################################# -## -## Copyright (C) 2018 The Qt Company Ltd. -## Contact: https://www.qt.io/licensing/ -## -## This file is part of the provisioning scripts of the Qt Toolkit. -## -## $QT_BEGIN_LICENSE:LGPL$ -## Commercial License Usage -## Licensees holding valid commercial Qt licenses may use this file in -## accordance with the commercial license agreement provided with the -## Software or, alternatively, in accordance with the terms contained in -## a written agreement between you and The Qt Company. For licensing terms -## and conditions see https://www.qt.io/terms-conditions. For further -## information use the contact form at https://www.qt.io/contact-us. -## -## GNU Lesser General Public License Usage -## Alternatively, this file may be used under the terms of the GNU Lesser -## General Public License version 3 as published by the Free Software -## Foundation and appearing in the file LICENSE.LGPL3 included in the -## packaging of this file. Please review the following information to -## ensure the GNU Lesser General Public License version 3 requirements -## will be met: https://www.gnu.org/licenses/lgpl-3.0.html. -## -## GNU General Public License Usage -## Alternatively, this file may be used under the terms of the GNU -## General Public License version 2.0 or (at your option) the GNU General -## Public license version 3 or any later version approved by the KDE Free -## Qt Foundation. The licenses are as published by the Free Software -## Foundation and appearing in the file LICENSE.GPL2 and LICENSE.GPL3 -## included in the packaging of this file. Please review the following -## information to ensure the GNU General Public License requirements will -## be met: https://www.gnu.org/licenses/gpl-2.0.html and -## https://www.gnu.org/licenses/gpl-3.0.html. -## -## $QT_END_LICENSE$ -## -############################################################################# +# Copyright (C) 2018 The Qt Company Ltd. +# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only set -ex diff --git a/coin/provisioning/qtci-linux-Ubuntu-18.04-x86_64/30-fbx.sh b/coin/provisioning/qtci-linux-Ubuntu-18.04-x86_64/30-fbx.sh index d8df4375..16a9bda8 100755 --- a/coin/provisioning/qtci-linux-Ubuntu-18.04-x86_64/30-fbx.sh +++ b/coin/provisioning/qtci-linux-Ubuntu-18.04-x86_64/30-fbx.sh @@ -1,4 +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 set -ex diff --git a/coin/provisioning/qtci-linux-Ubuntu-18.04-x86_64/30-install-conan.sh b/coin/provisioning/qtci-linux-Ubuntu-18.04-x86_64/30-install-conan.sh index b8820053..c5b53fac 100755 --- a/coin/provisioning/qtci-linux-Ubuntu-18.04-x86_64/30-install-conan.sh +++ b/coin/provisioning/qtci-linux-Ubuntu-18.04-x86_64/30-install-conan.sh @@ -1,4 +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 set -ex diff --git a/coin/provisioning/qtci-linux-Ubuntu-18.04-x86_64/30-install-git.sh b/coin/provisioning/qtci-linux-Ubuntu-18.04-x86_64/30-install-git.sh new file mode 100755 index 00000000..7a73f354 --- /dev/null +++ b/coin/provisioning/qtci-linux-Ubuntu-18.04-x86_64/30-install-git.sh @@ -0,0 +1,8 @@ +#!/usr/bin/env bash +#Copyright (C) 2023 The Qt Company Ltd +#SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only + +set -ex + +BASEDIR=$(dirname "$0") +"$BASEDIR/../common/linux/install-git.sh" diff --git a/coin/provisioning/qtci-linux-Ubuntu-18.04-x86_64/35-install-breakpad.sh b/coin/provisioning/qtci-linux-Ubuntu-18.04-x86_64/35-install-breakpad.sh index 74dd1579..8a9dde56 100755 --- a/coin/provisioning/qtci-linux-Ubuntu-18.04-x86_64/35-install-breakpad.sh +++ b/coin/provisioning/qtci-linux-Ubuntu-18.04-x86_64/35-install-breakpad.sh @@ -1,4 +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 set -ex diff --git a/coin/provisioning/qtci-linux-Ubuntu-18.04-x86_64/40-android_linux.sh b/coin/provisioning/qtci-linux-Ubuntu-18.04-x86_64/40-android_linux.sh index 70632785..2526bc6d 100755 --- a/coin/provisioning/qtci-linux-Ubuntu-18.04-x86_64/40-android_linux.sh +++ b/coin/provisioning/qtci-linux-Ubuntu-18.04-x86_64/40-android_linux.sh @@ -1,43 +1,6 @@ #!/bin/bash - -############################################################################# -## -## Copyright (C) 2017 The Qt Company Ltd. -## Contact: https://www.qt.io/licensing/ -## -## This file is part of the provisioning scripts of the Qt Toolkit. -## -## $QT_BEGIN_LICENSE:LGPL$ -## Commercial License Usage -## Licensees holding valid commercial Qt licenses may use this file in -## accordance with the commercial license agreement provided with the -## Software or, alternatively, in accordance with the terms contained in -## a written agreement between you and The Qt Company. For licensing terms -## and conditions see https://www.qt.io/terms-conditions. For further -## information use the contact form at https://www.qt.io/contact-us. -## -## GNU Lesser General Public License Usage -## Alternatively, this file may be used under the terms of the GNU Lesser -## General Public License version 3 as published by the Free Software -## Foundation and appearing in the file LICENSE.LGPL3 included in the -## packaging of this file. Please review the following information to -## ensure the GNU Lesser General Public License version 3 requirements -## will be met: https://www.gnu.org/licenses/lgpl-3.0.html. -## -## GNU General Public License Usage -## Alternatively, this file may be used under the terms of the GNU -## General Public License version 2.0 or (at your option) the GNU General -## Public license version 3 or any later version approved by the KDE Free -## Qt Foundation. The licenses are as published by the Free Software -## Foundation and appearing in the file LICENSE.GPL2 and LICENSE.GPL3 -## included in the packaging of this file. Please review the following -## information to ensure the GNU General Public License requirements will -## be met: https://www.gnu.org/licenses/gpl-2.0.html and -## https://www.gnu.org/licenses/gpl-3.0.html. -## -## $QT_END_LICENSE$ -## -############################################################################# +# Copyright (C) 2017 The Qt Company Ltd. +# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only set -ex diff --git a/coin/provisioning/qtci-linux-Ubuntu-18.04-x86_64/40-install-cmake.sh b/coin/provisioning/qtci-linux-Ubuntu-18.04-x86_64/40-install-cmake.sh index db8a3ff5..a418e4c5 100755 --- a/coin/provisioning/qtci-linux-Ubuntu-18.04-x86_64/40-install-cmake.sh +++ b/coin/provisioning/qtci-linux-Ubuntu-18.04-x86_64/40-install-cmake.sh @@ -1,4 +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/cmake_linux.sh" diff --git a/coin/provisioning/qtci-linux-Ubuntu-18.04-x86_64/50-openssl_for_android_linux.sh b/coin/provisioning/qtci-linux-Ubuntu-18.04-x86_64/50-openssl_for_android_linux.sh deleted file mode 100755 index 2d5d3b75..00000000 --- a/coin/provisioning/qtci-linux-Ubuntu-18.04-x86_64/50-openssl_for_android_linux.sh +++ /dev/null @@ -1,45 +0,0 @@ -#!/bin/bash - -############################################################################# -## -## Copyright (C) 2021 The Qt Company Ltd. -## Contact: https://www.qt.io/licensing/ -## -## This file is part of the provisioning scripts of the Qt Toolkit. -## -## $QT_BEGIN_LICENSE:LGPL$ -## Commercial License Usage -## Licensees holding valid commercial Qt licenses may use this file in -## accordance with the commercial license agreement provided with the -## Software or, alternatively, in accordance with the terms contained in -## a written agreement between you and The Qt Company. For licensing terms -## and conditions see https://www.qt.io/terms-conditions. For further -## information use the contact form at https://www.qt.io/contact-us. -## -## GNU Lesser General Public License Usage -## Alternatively, this file may be used under the terms of the GNU Lesser -## General Public License version 3 as published by the Free Software -## Foundation and appearing in the file LICENSE.LGPL3 included in the -## packaging of this file. Please review the following information to -## ensure the GNU Lesser General Public License version 3 requirements -## will be met: https://www.gnu.org/licenses/lgpl-3.0.html. -## -## GNU General Public License Usage -## Alternatively, this file may be used under the terms of the GNU -## General Public License version 2.0 or (at your option) the GNU General -## Public license version 3 or any later version approved by the KDE Free -## Qt Foundation. The licenses are as published by the Free Software -## Foundation and appearing in the file LICENSE.GPL2 and LICENSE.GPL3 -## included in the packaging of this file. Please review the following -## information to ensure the GNU General Public License requirements will -## be met: https://www.gnu.org/licenses/gpl-2.0.html and -## https://www.gnu.org/licenses/gpl-3.0.html. -## -## $QT_END_LICENSE$ -## -############################################################################# - -set -ex - -# shellcheck source=../common/unix/openssl_for_android_linux.sh -source "${BASH_SOURCE%/*}/../common/unix/openssl_for_android_linux.sh" diff --git a/coin/provisioning/qtci-linux-Ubuntu-18.04-x86_64/60-install_protobuf.sh b/coin/provisioning/qtci-linux-Ubuntu-18.04-x86_64/60-install_protobuf.sh new file mode 100755 index 00000000..3e2b8921 --- /dev/null +++ b/coin/provisioning/qtci-linux-Ubuntu-18.04-x86_64/60-install_protobuf.sh @@ -0,0 +1,9 @@ +#!/usr/bin/env bash +# Copyright (C) 2018 The Qt Company Ltd. +# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only + +set -ex + +# shellcheck source=../common/unix/install_protobuf.sh +source "${BASH_SOURCE%/*}/../common/unix/install_protobuf.sh" + diff --git a/coin/provisioning/qtci-linux-Ubuntu-18.04-x86_64/80-docker.sh b/coin/provisioning/qtci-linux-Ubuntu-18.04-x86_64/80-docker.sh index 82c2c659..561e762f 100755 --- a/coin/provisioning/qtci-linux-Ubuntu-18.04-x86_64/80-docker.sh +++ b/coin/provisioning/qtci-linux-Ubuntu-18.04-x86_64/80-docker.sh @@ -1,4 +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/docker.sh" diff --git a/coin/provisioning/qtci-linux-Ubuntu-18.04-x86_64/90-install-ffmpeg.sh b/coin/provisioning/qtci-linux-Ubuntu-18.04-x86_64/90-install-ffmpeg.sh new file mode 100755 index 00000000..61da9b7b --- /dev/null +++ b/coin/provisioning/qtci-linux-Ubuntu-18.04-x86_64/90-install-ffmpeg.sh @@ -0,0 +1,3 @@ +#!/usr/bin/env bash + +source "${BASH_SOURCE%/*}/../common/unix/install-ffmpeg.sh" "linux" diff --git a/coin/provisioning/qtci-linux-Ubuntu-18.04-x86_64/90-mimer.sh b/coin/provisioning/qtci-linux-Ubuntu-18.04-x86_64/90-mimer.sh new file mode 100755 index 00000000..ddd5bc33 --- /dev/null +++ b/coin/provisioning/qtci-linux-Ubuntu-18.04-x86_64/90-mimer.sh @@ -0,0 +1,8 @@ +#!/usr/bin/env bash +# Copyright (C) 2022 The Qt Company Ltd. +# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only + +set -ex + +BASEDIR=$(dirname "$0") +"$BASEDIR/../common/linux/mimersql.sh" "openssl-1" "deb" diff --git a/coin/provisioning/qtci-linux-Ubuntu-18.04-x86_64/90-squish.sh b/coin/provisioning/qtci-linux-Ubuntu-18.04-x86_64/90-squish.sh index e4281588..f803ccc1 100755 --- a/coin/provisioning/qtci-linux-Ubuntu-18.04-x86_64/90-squish.sh +++ b/coin/provisioning/qtci-linux-Ubuntu-18.04-x86_64/90-squish.sh @@ -1,4 +1,6 @@ #!/usr/bin/env bash +#Copyright (C) 2023 The Qt Company Ltd +#SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only BASEDIR=$(dirname "$0") "$BASEDIR/../common/unix/squishInstall.sh" diff --git a/coin/provisioning/qtci-linux-Ubuntu-18.04-x86_64/91-squish-coco.sh b/coin/provisioning/qtci-linux-Ubuntu-18.04-x86_64/91-squish-coco.sh index fcc7d31c..e42a5373 100755 --- a/coin/provisioning/qtci-linux-Ubuntu-18.04-x86_64/91-squish-coco.sh +++ b/coin/provisioning/qtci-linux-Ubuntu-18.04-x86_64/91-squish-coco.sh @@ -1,4 +1,6 @@ #!/bin/bash +#Copyright (C) 2023 The Qt Company Ltd +#SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only # shellcheck source=../common/linux/squish-coco.sh source "${BASH_SOURCE%/*}/../common/linux/squish-coco.sh" diff --git a/coin/provisioning/qtci-linux-Ubuntu-18.04-x86_64/99-cleanup.sh b/coin/provisioning/qtci-linux-Ubuntu-18.04-x86_64/99-cleanup.sh new file mode 100755 index 00000000..4d6e16ea --- /dev/null +++ b/coin/provisioning/qtci-linux-Ubuntu-18.04-x86_64/99-cleanup.sh @@ -0,0 +1,7 @@ +#!/usr/bin/env bash +# Copyright (C) 2022 The Qt Company Ltd. +# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only + +set -ex + +"$(dirname "$0")"/../common/linux/cleanup_cache.sh diff --git a/coin/provisioning/qtci-linux-Ubuntu-18.04-x86_64/99-version.sh b/coin/provisioning/qtci-linux-Ubuntu-18.04-x86_64/99-version.sh index c8f3ac03..31821f6b 100755 --- a/coin/provisioning/qtci-linux-Ubuntu-18.04-x86_64/99-version.sh +++ b/coin/provisioning/qtci-linux-Ubuntu-18.04-x86_64/99-version.sh @@ -1,4 +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-20.04-x86_64/01-disable_net_lso.sh b/coin/provisioning/qtci-linux-Ubuntu-20.04-x86_64/01-disable_net_lso.sh index d7bf9ca5..81e7d137 100755 --- a/coin/provisioning/qtci-linux-Ubuntu-20.04-x86_64/01-disable_net_lso.sh +++ b/coin/provisioning/qtci-linux-Ubuntu-20.04-x86_64/01-disable_net_lso.sh @@ -1,4 +1,6 @@ #!/bin/sh +#Copyright (C) 2023 The Qt Company Ltd +#SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only echo "ethtool -K \${DEVICE_IFACE} tso off" | sudo tee -a /etc/NetworkManager/dispatcher.d/pre-up.d/net_tso_off sudo chmod +x /etc/NetworkManager/dispatcher.d/pre-up.d/net_tso_off diff --git a/coin/provisioning/qtci-linux-Ubuntu-20.04-x86_64/01-set-ulimit.sh b/coin/provisioning/qtci-linux-Ubuntu-20.04-x86_64/01-set-ulimit.sh index dadc0781..e951e82a 100755 --- a/coin/provisioning/qtci-linux-Ubuntu-20.04-x86_64/01-set-ulimit.sh +++ b/coin/provisioning/qtci-linux-Ubuntu-20.04-x86_64/01-set-ulimit.sh @@ -1,4 +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 set -ex diff --git a/coin/provisioning/qtci-linux-Ubuntu-20.04-x86_64/01-systemsetup.sh b/coin/provisioning/qtci-linux-Ubuntu-20.04-x86_64/01-systemsetup.sh index f642059a..98744822 100755 --- a/coin/provisioning/qtci-linux-Ubuntu-20.04-x86_64/01-systemsetup.sh +++ b/coin/provisioning/qtci-linux-Ubuntu-20.04-x86_64/01-systemsetup.sh @@ -1,43 +1,6 @@ #!/usr/bin/env bash - -############################################################################# -## -## Copyright (C) 2017 The Qt Company Ltd. -## Contact: https://www.qt.io/licensing/ -## -## This file is part of the provisioning scripts of the Qt Toolkit. -## -## $QT_BEGIN_LICENSE:LGPL$ -## Commercial License Usage -## Licensees holding valid commercial Qt licenses may use this file in -## accordance with the commercial license agreement provided with the -## Software or, alternatively, in accordance with the terms contained in -## a written agreement between you and The Qt Company. For licensing terms -## and conditions see https://www.qt.io/terms-conditions. For further -## information use the contact form at https://www.qt.io/contact-us. -## -## GNU Lesser General Public License Usage -## Alternatively, this file may be used under the terms of the GNU Lesser -## General Public License version 3 as published by the Free Software -## Foundation and appearing in the file LICENSE.LGPL3 included in the -## packaging of this file. Please review the following information to -## ensure the GNU Lesser General Public License version 3 requirements -## will be met: https://www.gnu.org/licenses/lgpl-3.0.html. -## -## GNU General Public License Usage -## Alternatively, this file may be used under the terms of the GNU -## General Public License version 2.0 or (at your option) the GNU General -## Public license version 3 or any later version approved by the KDE Free -## Qt Foundation. The licenses are as published by the Free Software -## Foundation and appearing in the file LICENSE.GPL2 and LICENSE.GPL3 -## included in the packaging of this file. Please review the following -## information to ensure the GNU General Public License requirements will -## be met: https://www.gnu.org/licenses/gpl-2.0.html and -## https://www.gnu.org/licenses/gpl-3.0.html. -## -## $QT_END_LICENSE$ -## -############################################################################# +# 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 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 2e7835fa..aac229a2 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 @@ -1,43 +1,6 @@ #!/usr/bin/env bash - -############################################################################# -## -## Copyright (C) 2021 The Qt Company Ltd. -## Contact: https://www.qt.io/licensing/ -## -## This file is part of the provisioning scripts of the Qt Toolkit. -## -## $QT_BEGIN_LICENSE:LGPL$ -## Commercial License Usage -## Licensees holding valid commercial Qt licenses may use this file in -## accordance with the commercial license agreement provided with the -## Software or, alternatively, in accordance with the terms contained in -## a written agreement between you and The Qt Company. For licensing terms -## and conditions see https://www.qt.io/terms-conditions. For further -## information use the contact form at https://www.qt.io/contact-us. -## -## GNU Lesser General Public License Usage -## Alternatively, this file may be used under the terms of the GNU Lesser -## General Public License version 3 as published by the Free Software -## Foundation and appearing in the file LICENSE.LGPL3 included in the -## packaging of this file. Please review the following information to -## ensure the GNU Lesser General Public License version 3 requirements -## will be met: https://www.gnu.org/licenses/lgpl-3.0.html. -## -## GNU General Public License Usage -## Alternatively, this file may be used under the terms of the GNU -## General Public License version 2.0 or (at your option) the GNU General -## Public license version 3 or any later version approved by the KDE Free -## Qt Foundation. The licenses are as published by the Free Software -## Foundation and appearing in the file LICENSE.GPL2 and LICENSE.GPL3 -## included in the packaging of this file. Please review the following -## information to ensure the GNU General Public License requirements will -## be met: https://www.gnu.org/licenses/gpl-2.0.html and -## https://www.gnu.org/licenses/gpl-3.0.html. -## -## $QT_END_LICENSE$ -## -############################################################################# +# 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 # Install required packages with APT @@ -93,9 +56,16 @@ installPackages+=(libxi-dev) installPackages+=(libdbus-1-dev) # Needed libraries for WebEngine 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) @@ -126,15 +96,27 @@ installPackages+=(libgstreamer1.0-dev) installPackages+=(libgstreamer-plugins-base1.0-dev) installPackages+=(libgstreamer-plugins-good1.0-dev) installPackages+=(libgstreamer-plugins-bad1.0-dev) +installPackages+=(gstreamer1.0-libav) +installPackages+=(gstreamer1.0-plugins-base) +installPackages+=(gstreamer1.0-plugins-good) +installPackages+=(gstreamer1.0-plugins-bad) +installPackages+=(gstreamer1.0-plugins-rtp) +installPackages+=(gstreamer1.0-plugins-ugly) installPackages+=(libgstreamer-gl1.0-0) installPackages+=(gir1.2-gst-plugins-base-1.0) installPackages+=(gir1.2-gst-plugins-bad-1.0) +installPackages+=(yasm) +installPackages+=(libva-dev) +# for QtMultimedia streaming tests +installPackages+=(vlc-bin) +installPackages+=(vlc-plugin-base) # Support for cross-building to x86 (needed by WebEngine boot2qt builds) installPackages+=(g++-multilib) # python3 development package installPackages+=(python3-dev) installPackages+=(python3-pip) +installPackages+=(python3-venv) installPackages+=(virtualenv) installPackages+=(python3-wheel) # python2 development package @@ -151,10 +133,13 @@ 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) @@ -240,13 +225,12 @@ echo "Installing packages" waitLoop sudo DEBIAN_FRONTEND=noninteractive apt-get -q -y install "${installPackages[@]}" -# Install all needed packages in a special wheel cache directory -pip3 wheel --wheel-dir "$HOME/python3-wheels" -r "${BASH_SOURCE%/*}/../common/shared/requirements.txt" +# 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 "PYTHON3_WHEEL_CACHE" "$HOME/python3-wheels" 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-20.04-x86_64/02-disable-notifications.sh b/coin/provisioning/qtci-linux-Ubuntu-20.04-x86_64/02-disable-notifications.sh index f38c9bab..1b9ed6c9 100755 --- a/coin/provisioning/qtci-linux-Ubuntu-20.04-x86_64/02-disable-notifications.sh +++ b/coin/provisioning/qtci-linux-Ubuntu-20.04-x86_64/02-disable-notifications.sh @@ -1,4 +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-20.04-x86_64/02-disable-ntp.sh b/coin/provisioning/qtci-linux-Ubuntu-20.04-x86_64/02-disable-ntp.sh index 89806892..1995aa14 100755 --- a/coin/provisioning/qtci-linux-Ubuntu-20.04-x86_64/02-disable-ntp.sh +++ b/coin/provisioning/qtci-linux-Ubuntu-20.04-x86_64/02-disable-ntp.sh @@ -1,4 +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-20.04-x86_64/02-git_lfs.sh b/coin/provisioning/qtci-linux-Ubuntu-20.04-x86_64/02-git_lfs.sh index ad80bc23..06b5b1e7 100755 --- a/coin/provisioning/qtci-linux-Ubuntu-20.04-x86_64/02-git_lfs.sh +++ b/coin/provisioning/qtci-linux-Ubuntu-20.04-x86_64/02-git_lfs.sh @@ -1,49 +1,12 @@ #!/usr/bin/env bash - -############################################################################# -## -## Copyright (C) 2018 The Qt Company Ltd. -## Contact: https://www.qt.io/licensing/ -## -## This file is part of the provisioning scripts of the Qt Toolkit. -## -## $QT_BEGIN_LICENSE:LGPL$ -## Commercial License Usage -## Licensees holding valid commercial Qt licenses may use this file in -## accordance with the commercial license agreement provided with the -## Software or, alternatively, in accordance with the terms contained in -## a written agreement between you and The Qt Company. For licensing terms -## and conditions see https://www.qt.io/terms-conditions. For further -## information use the contact form at https://www.qt.io/contact-us. -## -## GNU Lesser General Public License Usage -## Alternatively, this file may be used under the terms of the GNU Lesser -## General Public License version 3 as published by the Free Software -## Foundation and appearing in the file LICENSE.LGPL3 included in the -## packaging of this file. Please review the following information to -## ensure the GNU Lesser General Public License version 3 requirements -## will be met: https://www.gnu.org/licenses/lgpl-3.0.html. -## -## GNU General Public License Usage -## Alternatively, this file may be used under the terms of the GNU -## General Public License version 2.0 or (at your option) the GNU General -## Public license version 3 or any later version approved by the KDE Free -## Qt Foundation. The licenses are as published by the Free Software -## Foundation and appearing in the file LICENSE.GPL2 and LICENSE.GPL3 -## included in the packaging of this file. Please review the following -## information to ensure the GNU General Public License requirements will -## be met: https://www.gnu.org/licenses/gpl-2.0.html and -## https://www.gnu.org/licenses/gpl-3.0.html. -## -## $QT_END_LICENSE$ -## -############################################################################# +# Copyright (C) 2018 The Qt Company Ltd. +# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only # Install Git Large File Storage set -ex curl -L https://packagecloud.io/github/git-lfs/gpgkey | sudo apt-key add - -sudo apt-add-repository 'deb https://packagecloud.io/github/git-lfs/ubuntu/ xenial main' +sudo apt-add-repository 'deb https://packagecloud.io/github/git-lfs/ubuntu/ focal main' sudo apt update sudo apt install git-lfs diff --git a/coin/provisioning/qtci-linux-Ubuntu-20.04-x86_64/02-remove-apport.sh b/coin/provisioning/qtci-linux-Ubuntu-20.04-x86_64/02-remove-apport.sh index 09477763..879f3ffb 100755 --- a/coin/provisioning/qtci-linux-Ubuntu-20.04-x86_64/02-remove-apport.sh +++ b/coin/provisioning/qtci-linux-Ubuntu-20.04-x86_64/02-remove-apport.sh @@ -1,4 +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-20.04-x86_64/02-remove-update_notifier.sh b/coin/provisioning/qtci-linux-Ubuntu-20.04-x86_64/02-remove-update_notifier.sh index 55c6ce79..f4a5119f 100755 --- a/coin/provisioning/qtci-linux-Ubuntu-20.04-x86_64/02-remove-update_notifier.sh +++ b/coin/provisioning/qtci-linux-Ubuntu-20.04-x86_64/02-remove-update_notifier.sh @@ -1,4 +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-20.04-x86_64/03-gcc.sh b/coin/provisioning/qtci-linux-Ubuntu-20.04-x86_64/03-gcc.sh index 15142600..8ca760ad 100755 --- a/coin/provisioning/qtci-linux-Ubuntu-20.04-x86_64/03-gcc.sh +++ b/coin/provisioning/qtci-linux-Ubuntu-20.04-x86_64/03-gcc.sh @@ -1,4 +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 set -ex diff --git a/coin/provisioning/qtci-linux-Ubuntu-20.04-x86_64/03-qemu.sh b/coin/provisioning/qtci-linux-Ubuntu-20.04-x86_64/03-qemu.sh index 34d46481..5ed06f29 100755 --- a/coin/provisioning/qtci-linux-Ubuntu-20.04-x86_64/03-qemu.sh +++ b/coin/provisioning/qtci-linux-Ubuntu-20.04-x86_64/03-qemu.sh @@ -1,42 +1,6 @@ #!/usr/bin/env bash -############################################################################# -## -## Copyright (C) 2021 The Qt Company Ltd. -## Contact: https://www.qt.io/licensing/ -## -## This file is part of the provisioning scripts of the Qt Toolkit. -## -## $QT_BEGIN_LICENSE:LGPL$ -## Commercial License Usage -## Licensees holding valid commercial Qt licenses may use this file in -## accordance with the commercial license agreement provided with the -## Software or, alternatively, in accordance with the terms contained in -## a written agreement between you and The Qt Company. For licensing terms -## and conditions see https://www.qt.io/terms-conditions. For further -## information use the contact form at https://www.qt.io/contact-us. -## -## GNU Lesser General Public License Usage -## Alternatively, this file may be used under the terms of the GNU Lesser -## General Public License version 3 as published by the Free Software -## Foundation and appearing in the file LICENSE.LGPL3 included in the -## packaging of this file. Please review the following information to -## ensure the GNU Lesser General Public License version 3 requirements -## will be met: https://www.gnu.org/licenses/lgpl-3.0.html. -## -## GNU General Public License Usage -## Alternatively, this file may be used under the terms of the GNU -## General Public License version 2.0 or (at your option) the GNU General -## Public license version 3 or any later version approved by the KDE Free -## Qt Foundation. The licenses are as published by the Free Software -## Foundation and appearing in the file LICENSE.GPL2 and LICENSE.GPL3 -## included in the packaging of this file. Please review the following -## information to ensure the GNU General Public License requirements will -## be met: https://www.gnu.org/licenses/gpl-2.0.html and -## https://www.gnu.org/licenses/gpl-3.0.html. -## -## $QT_END_LICENSE$ -## -############################################################################# +# 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 diff --git a/coin/provisioning/qtci-linux-Ubuntu-20.04-x86_64/04-libclang-v100-dyn.sh b/coin/provisioning/qtci-linux-Ubuntu-20.04-x86_64/04-libclang-v100-dyn.sh index dcd5b2d8..85c261ee 100755 --- a/coin/provisioning/qtci-linux-Ubuntu-20.04-x86_64/04-libclang-v100-dyn.sh +++ b/coin/provisioning/qtci-linux-Ubuntu-20.04-x86_64/04-libclang-v100-dyn.sh @@ -1,4 +1,6 @@ #!/usr/bin/env bash +#Copyright (C) 2023 The Qt Company Ltd +#SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only BASEDIR=$(dirname "$0") "$BASEDIR/../common/unix/libclang-v100-dyn.sh" diff --git a/coin/provisioning/qtci-linux-Ubuntu-20.04-x86_64/04-libclang.sh b/coin/provisioning/qtci-linux-Ubuntu-20.04-x86_64/04-libclang.sh index 0d18dbcf..fac8d4e7 100755 --- a/coin/provisioning/qtci-linux-Ubuntu-20.04-x86_64/04-libclang.sh +++ b/coin/provisioning/qtci-linux-Ubuntu-20.04-x86_64/04-libclang.sh @@ -1,4 +1,6 @@ #!/usr/bin/env bash +#Copyright (C) 2023 The Qt Company Ltd +#SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only BASEDIR=$(dirname "$0") "$BASEDIR/../common/unix/libclang.sh" diff --git a/coin/provisioning/qtci-linux-Ubuntu-20.04-x86_64/04-yocto.sh b/coin/provisioning/qtci-linux-Ubuntu-20.04-x86_64/04-yocto.sh index 89d71bdd..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 @@ -1,43 +1,6 @@ #!/usr/bin/env bash - -############################################################################# -## -## Copyright (C) 2021 The Qt Company Ltd. -## Contact: https://www.qt.io/licensing/ -## -## This file is part of the provisioning scripts of the Qt Toolkit. -## -## $QT_BEGIN_LICENSE:LGPL$ -## Commercial License Usage -## Licensees holding valid commercial Qt licenses may use this file in -## accordance with the commercial license agreement provided with the -## Software or, alternatively, in accordance with the terms contained in -## a written agreement between you and The Qt Company. For licensing terms -## and conditions see https://www.qt.io/terms-conditions. For further -## information use the contact form at https://www.qt.io/contact-us. -## -## GNU Lesser General Public License Usage -## Alternatively, this file may be used under the terms of the GNU Lesser -## General Public License version 3 as published by the Free Software -## Foundation and appearing in the file LICENSE.LGPL3 included in the -## packaging of this file. Please review the following information to -## ensure the GNU Lesser General Public License version 3 requirements -## will be met: https://www.gnu.org/licenses/lgpl-3.0.html. -## -## GNU General Public License Usage -## Alternatively, this file may be used under the terms of the GNU -## General Public License version 2.0 or (at your option) the GNU General -## Public license version 3 or any later version approved by the KDE Free -## Qt Foundation. The licenses are as published by the Free Software -## Foundation and appearing in the file LICENSE.GPL2 and LICENSE.GPL3 -## included in the packaging of this file. Please review the following -## information to ensure the GNU General Public License requirements will -## be met: https://www.gnu.org/licenses/gpl-2.0.html and -## https://www.gnu.org/licenses/gpl-3.0.html. -## -## $QT_END_LICENSE$ -## -############################################################################# +# Copyright (C) 2021 The Qt Company Ltd. +# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only # This script installs the Yocto toolchain @@ -48,7 +11,7 @@ source "${BASH_SOURCE%/*}/../common/unix/DownloadURL.sh" # shellcheck source=../common/unix/SetEnvVar.sh source "${BASH_SOURCE%/*}/../common/unix/SetEnvVar.sh" -primaryBaseUrlPath="http://ci-files01-hki.intra.qt.io/input/boot2qt/gatesgarth" +primaryBaseUrlPath="http://ci-files01-hki.ci.qt.io/input/boot2qt/gatesgarth" altBaseUrlPath="http://download.qt.io/development_releases/prebuilt/boot2qt/gatesgarth" echo "Installing Yocto toolchain for 32-bit b2qt ARMV7..." @@ -136,9 +99,11 @@ else exit 1 fi -echo "Yocto ARMv7 toolchain = $versionARM" >> ~/versions.txt -echo "Yocto ARM64 toolchain = $versionARM64" >> ~/versions.txt -echo "Yocto MIPS64 toolchain = $versionMIPS64" >> ~/versions.txt +cat << EOB >> ~/versions.txt +Yocto ARMv7 toolchain = $versionARM +Yocto ARM64 toolchain = $versionARM64 +Yocto MIPS64 toolchain = $versionMIPS64 +EOB # List qt user in qemu toolchain sysroots sudo sh -c "grep ^qt /etc/passwd >> $yoctoLocationARMv7/sysroots/$sysrootARMv7/etc/passwd" @@ -146,6 +111,12 @@ sudo sh -c "grep ^qt /etc/group >> $yoctoLocationARMv7/sysroots/$sysrootARMv7/et sudo sh -c "grep ^qt /etc/passwd >> $yoctoLocationARM64/sysroots/$sysrootARM64/etc/passwd" sudo sh -c "grep ^qt /etc/group >> $yoctoLocationARM64/sysroots/$sysrootARM64/etc/group" +# Fix mdns to support both docker and network tests +# See also https://bugreports.qt.io/browse/QTBUG-106013 +sudo 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 \ --magic "\x7f\x45\x4c\x46\x01\x01\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02\x00\x28\x00" \ diff --git a/coin/provisioning/qtci-linux-Ubuntu-20.04-x86_64/04-yocto_ssh_configurations.sh b/coin/provisioning/qtci-linux-Ubuntu-20.04-x86_64/04-yocto_ssh_configurations.sh deleted file mode 100755 index 123fc46a..00000000 --- a/coin/provisioning/qtci-linux-Ubuntu-20.04-x86_64/04-yocto_ssh_configurations.sh +++ /dev/null @@ -1,62 +0,0 @@ -#!/usr/bin/env bash - -############################################################################# -## -## Copyright (C) 2018 The Qt Company Ltd. -## Contact: https://www.qt.io/licensing/ -## -## This file is part of the provisioning scripts of the Qt Toolkit. -## -## $QT_BEGIN_LICENSE:LGPL$ -## Commercial License Usage -## Licensees holding valid commercial Qt licenses may use this file in -## accordance with the commercial license agreement provided with the -## Software or, alternatively, in accordance with the terms contained in -## a written agreement between you and The Qt Company. For licensing terms -## and conditions see https://www.qt.io/terms-conditions. For further -## information use the contact form at https://www.qt.io/contact-us. -## -## GNU Lesser General Public License Usage -## Alternatively, this file may be used under the terms of the GNU Lesser -## General Public License version 3 as published by the Free Software -## Foundation and appearing in the file LICENSE.LGPL3 included in the -## packaging of this file. Please review the following information to -## ensure the GNU Lesser General Public License version 3 requirements -## will be met: https://www.gnu.org/licenses/lgpl-3.0.html. -## -## GNU General Public License Usage -## Alternatively, this file may be used under the terms of the GNU -## General Public License version 2.0 or (at your option) the GNU General -## Public license version 3 or any later version approved by the KDE Free -## Qt Foundation. The licenses are as published by the Free Software -## Foundation and appearing in the file LICENSE.GPL2 and LICENSE.GPL3 -## included in the packaging of this file. Please review the following -## information to ensure the GNU General Public License requirements will -## be met: https://www.gnu.org/licenses/gpl-2.0.html and -## https://www.gnu.org/licenses/gpl-3.0.html. -## -## $QT_END_LICENSE$ -## -############################################################################# - -set -ex - -# shellcheck source=../common/unix/DownloadURL.sh -source "${BASH_SOURCE%/*}/../common/unix/DownloadURL.sh" - -url="http://ci-files01-hki.intra.qt.io/input/semisecure/test_farm_id_rsa" -sha1="1b0d651661c33a654ac89ef3c97bbe06d6bf1ca1" -sshKey="$HOME/.ssh/test_farm_id_rsa" - -DownloadURL "$url" "$url" "$sha1" "$sshKey" -chmod 600 "$sshKey" - -echo "Configuring ssh config file for Yocto" -cat <<EOT >> "$HOME/.ssh/config" -StrictHostKeyChecking=no -Host codereview.qt-project.org - Port 29418 - User qt-builder - IdentityFile "$sshKey" -EOT - diff --git a/coin/provisioning/qtci-linux-Ubuntu-20.04-x86_64/08-integrity.sh b/coin/provisioning/qtci-linux-Ubuntu-20.04-x86_64/08-integrity.sh index 00a9c984..0e8dbb39 100755 --- a/coin/provisioning/qtci-linux-Ubuntu-20.04-x86_64/08-integrity.sh +++ b/coin/provisioning/qtci-linux-Ubuntu-20.04-x86_64/08-integrity.sh @@ -1,43 +1,6 @@ #!/usr/bin/env bash - -############################################################################# -## -## Copyright (C) 2017 The Qt Company Ltd. -## Contact: https://www.qt.io/licensing/ -## -## This file is part of the provisioning scripts of the Qt Toolkit. -## -## $QT_BEGIN_LICENSE:LGPL$ -## Commercial License Usage -## Licensees holding valid commercial Qt licenses may use this file in -## accordance with the commercial license agreement provided with the -## Software or, alternatively, in accordance with the terms contained in -## a written agreement between you and The Qt Company. For licensing terms -## and conditions see https://www.qt.io/terms-conditions. For further -## information use the contact form at https://www.qt.io/contact-us. -## -## GNU Lesser General Public License Usage -## Alternatively, this file may be used under the terms of the GNU Lesser -## General Public License version 3 as published by the Free Software -## Foundation and appearing in the file LICENSE.LGPL3 included in the -## packaging of this file. Please review the following information to -## ensure the GNU Lesser General Public License version 3 requirements -## will be met: https://www.gnu.org/licenses/lgpl-3.0.html. -## -## GNU General Public License Usage -## Alternatively, this file may be used under the terms of the GNU -## General Public License version 2.0 or (at your option) the GNU General -## Public license version 3 or any later version approved by the KDE Free -## Qt Foundation. The licenses are as published by the Free Software -## Foundation and appearing in the file LICENSE.GPL2 and LICENSE.GPL3 -## included in the packaging of this file. Please review the following -## information to ensure the GNU General Public License requirements will -## be met: https://www.gnu.org/licenses/gpl-2.0.html and -## https://www.gnu.org/licenses/gpl-3.0.html. -## -## $QT_END_LICENSE$ -## -############################################################################# +# Copyright (C) 2017 The Qt Company Ltd. +# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only set -ex diff --git a/coin/provisioning/qtci-linux-Ubuntu-20.04-x86_64/22-mqtt_broker.sh b/coin/provisioning/qtci-linux-Ubuntu-20.04-x86_64/22-mqtt_broker.sh index e55e66f7..b0791cb1 100755 --- a/coin/provisioning/qtci-linux-Ubuntu-20.04-x86_64/22-mqtt_broker.sh +++ b/coin/provisioning/qtci-linux-Ubuntu-20.04-x86_64/22-mqtt_broker.sh @@ -1,43 +1,6 @@ #!/usr/bin/env bash - -############################################################################# -## -## Copyright (C) 2018 The Qt Company Ltd. -## Contact: https://www.qt.io/licensing/ -## -## This file is part of the provisioning scripts of the Qt Toolkit. -## -## $QT_BEGIN_LICENSE:LGPL$ -## Commercial License Usage -## Licensees holding valid commercial Qt licenses may use this file in -## accordance with the commercial license agreement provided with the -## Software or, alternatively, in accordance with the terms contained in -## a written agreement between you and The Qt Company. For licensing terms -## and conditions see https://www.qt.io/terms-conditions. For further -## information use the contact form at https://www.qt.io/contact-us. -## -## GNU Lesser General Public License Usage -## Alternatively, this file may be used under the terms of the GNU Lesser -## General Public License version 3 as published by the Free Software -## Foundation and appearing in the file LICENSE.LGPL3 included in the -## packaging of this file. Please review the following information to -## ensure the GNU Lesser General Public License version 3 requirements -## will be met: https://www.gnu.org/licenses/lgpl-3.0.html. -## -## GNU General Public License Usage -## Alternatively, this file may be used under the terms of the GNU -## General Public License version 2.0 or (at your option) the GNU General -## Public license version 3 or any later version approved by the KDE Free -## Qt Foundation. The licenses are as published by the Free Software -## Foundation and appearing in the file LICENSE.GPL2 and LICENSE.GPL3 -## included in the packaging of this file. Please review the following -## information to ensure the GNU General Public License requirements will -## be met: https://www.gnu.org/licenses/gpl-2.0.html and -## https://www.gnu.org/licenses/gpl-3.0.html. -## -## $QT_END_LICENSE$ -## -############################################################################# +# Copyright (C) 2018 The Qt Company Ltd. +# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only set -ex diff --git a/coin/provisioning/qtci-linux-Ubuntu-20.04-x86_64/30-fbx.sh b/coin/provisioning/qtci-linux-Ubuntu-20.04-x86_64/30-fbx.sh index d8df4375..16a9bda8 100755 --- a/coin/provisioning/qtci-linux-Ubuntu-20.04-x86_64/30-fbx.sh +++ b/coin/provisioning/qtci-linux-Ubuntu-20.04-x86_64/30-fbx.sh @@ -1,4 +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 set -ex diff --git a/coin/provisioning/qtci-linux-Ubuntu-20.04-x86_64/30-install-conan.sh b/coin/provisioning/qtci-linux-Ubuntu-20.04-x86_64/30-install-conan.sh index b8820053..c5b53fac 100755 --- a/coin/provisioning/qtci-linux-Ubuntu-20.04-x86_64/30-install-conan.sh +++ b/coin/provisioning/qtci-linux-Ubuntu-20.04-x86_64/30-install-conan.sh @@ -1,4 +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 set -ex diff --git a/coin/provisioning/qtci-linux-Ubuntu-20.04-x86_64/30-install-git.sh b/coin/provisioning/qtci-linux-Ubuntu-20.04-x86_64/30-install-git.sh new file mode 100755 index 00000000..7a73f354 --- /dev/null +++ b/coin/provisioning/qtci-linux-Ubuntu-20.04-x86_64/30-install-git.sh @@ -0,0 +1,8 @@ +#!/usr/bin/env bash +#Copyright (C) 2023 The Qt Company Ltd +#SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only + +set -ex + +BASEDIR=$(dirname "$0") +"$BASEDIR/../common/linux/install-git.sh" diff --git a/coin/provisioning/qtci-linux-Ubuntu-20.04-x86_64/30-install_icu.sh b/coin/provisioning/qtci-linux-Ubuntu-20.04-x86_64/30-install_icu.sh index 373212d3..b417a12f 100755 --- a/coin/provisioning/qtci-linux-Ubuntu-20.04-x86_64/30-install_icu.sh +++ b/coin/provisioning/qtci-linux-Ubuntu-20.04-x86_64/30-install_icu.sh @@ -1,43 +1,6 @@ #!/usr/bin/env bash - -############################################################################# -## -## Copyright (C) 2021 The Qt Company Ltd. -## Contact: https://www.qt.io/licensing/ -## -## This file is part of the provisioning scripts of the Qt Toolkit. -## -## $QT_BEGIN_LICENSE:LGPL$ -## Commercial License Usage -## Licensees holding valid commercial Qt licenses may use this file in -## accordance with the commercial license agreement provided with the -## Software or, alternatively, in accordance with the terms contained in -## a written agreement between you and The Qt Company. For licensing terms -## and conditions see https://www.qt.io/terms-conditions. For further -## information use the contact form at https://www.qt.io/contact-us. -## -## GNU Lesser General Public License Usage -## Alternatively, this file may be used under the terms of the GNU Lesser -## General Public License version 3 as published by the Free Software -## Foundation and appearing in the file LICENSE.LGPL3 included in the -## packaging of this file. Please review the following information to -## ensure the GNU Lesser General Public License version 3 requirements -## will be met: https://www.gnu.org/licenses/lgpl-3.0.html. -## -## GNU General Public License Usage -## Alternatively, this file may be used under the terms of the GNU -## General Public License version 2.0 or (at your option) the GNU General -## Public license version 3 or any later version approved by the KDE Free -## Qt Foundation. The licenses are as published by the Free Software -## Foundation and appearing in the file LICENSE.GPL2 and LICENSE.GPL3 -## included in the packaging of this file. Please review the following -## information to ensure the GNU General Public License requirements will -## be met: https://www.gnu.org/licenses/gpl-2.0.html and -## https://www.gnu.org/licenses/gpl-3.0.html. -## -## $QT_END_LICENSE$ -## -############################################################################# +# 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 # shellcheck source=../common/unix/DownloadURL.sh source "${BASH_SOURCE%/*}/../common/unix/DownloadURL.sh" @@ -50,11 +13,11 @@ icuVersion="60.2" icuLocationLib="/opt/icu/lib64" icuLocationInclude="/opt/icu/include" sha1="2b972d8897783c08dfe1e52af49216ed92656736" -baseBinaryPackageURL="http://ci-files01-hki.intra.qt.io/input/icu/$icuVersion/icu-linux-g++-Ubuntu18.04-x64_60_2.7z" +baseBinaryPackageURL="http://ci-files01-hki.ci.qt.io/input/icu/$icuVersion/icu-linux-g++-Ubuntu18.04-x64_60_2.7z" baseBinaryPackageExternalURL="http://master.qt.io/development_releases/prebuilt/icu/prebuilt/$icuVersion/icu-linux-g++-Ubuntu18.04-x64_60_2.7z" sha1Dev="416c89d3ded143ea1d4fcc688dce02b01aaa9ee2" -develPackageURL="http://ci-files01-hki.intra.qt.io/input/icu/$icuVersion/icu-linux-g++-Ubuntu18.04-x64-devel_60_2.7z" +develPackageURL="http://ci-files01-hki.ci.qt.io/input/icu/$icuVersion/icu-linux-g++-Ubuntu18.04-x64-devel_60_2.7z" develPackageExternalURL="http://master.qt.io/development_releases/prebuilt/icu/prebuilt/$icuVersion/icu-linux-g++-Ubuntu18.04-x64-devel_60_2.7z" echo "Installing custom ICU $icuVersion $sha1 packages on CentOS to $icuLocationLib" diff --git a/coin/provisioning/qtci-linux-Ubuntu-20.04-x86_64/35-install-breakpad.sh b/coin/provisioning/qtci-linux-Ubuntu-20.04-x86_64/35-install-breakpad.sh index 74dd1579..8a9dde56 100755 --- a/coin/provisioning/qtci-linux-Ubuntu-20.04-x86_64/35-install-breakpad.sh +++ b/coin/provisioning/qtci-linux-Ubuntu-20.04-x86_64/35-install-breakpad.sh @@ -1,4 +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 set -ex diff --git a/coin/provisioning/qtci-linux-Ubuntu-20.04-x86_64/40-android_linux.sh b/coin/provisioning/qtci-linux-Ubuntu-20.04-x86_64/40-android_linux.sh index 70632785..2526bc6d 100755 --- a/coin/provisioning/qtci-linux-Ubuntu-20.04-x86_64/40-android_linux.sh +++ b/coin/provisioning/qtci-linux-Ubuntu-20.04-x86_64/40-android_linux.sh @@ -1,43 +1,6 @@ #!/bin/bash - -############################################################################# -## -## Copyright (C) 2017 The Qt Company Ltd. -## Contact: https://www.qt.io/licensing/ -## -## This file is part of the provisioning scripts of the Qt Toolkit. -## -## $QT_BEGIN_LICENSE:LGPL$ -## Commercial License Usage -## Licensees holding valid commercial Qt licenses may use this file in -## accordance with the commercial license agreement provided with the -## Software or, alternatively, in accordance with the terms contained in -## a written agreement between you and The Qt Company. For licensing terms -## and conditions see https://www.qt.io/terms-conditions. For further -## information use the contact form at https://www.qt.io/contact-us. -## -## GNU Lesser General Public License Usage -## Alternatively, this file may be used under the terms of the GNU Lesser -## General Public License version 3 as published by the Free Software -## Foundation and appearing in the file LICENSE.LGPL3 included in the -## packaging of this file. Please review the following information to -## ensure the GNU Lesser General Public License version 3 requirements -## will be met: https://www.gnu.org/licenses/lgpl-3.0.html. -## -## GNU General Public License Usage -## Alternatively, this file may be used under the terms of the GNU -## General Public License version 2.0 or (at your option) the GNU General -## Public license version 3 or any later version approved by the KDE Free -## Qt Foundation. The licenses are as published by the Free Software -## Foundation and appearing in the file LICENSE.GPL2 and LICENSE.GPL3 -## included in the packaging of this file. Please review the following -## information to ensure the GNU General Public License requirements will -## be met: https://www.gnu.org/licenses/gpl-2.0.html and -## https://www.gnu.org/licenses/gpl-3.0.html. -## -## $QT_END_LICENSE$ -## -############################################################################# +# Copyright (C) 2017 The Qt Company Ltd. +# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only set -ex diff --git a/coin/provisioning/qtci-linux-Ubuntu-20.04-x86_64/40-install-cmake.sh b/coin/provisioning/qtci-linux-Ubuntu-20.04-x86_64/40-install-cmake.sh index db8a3ff5..a418e4c5 100755 --- a/coin/provisioning/qtci-linux-Ubuntu-20.04-x86_64/40-install-cmake.sh +++ b/coin/provisioning/qtci-linux-Ubuntu-20.04-x86_64/40-install-cmake.sh @@ -1,4 +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/cmake_linux.sh" diff --git a/coin/provisioning/qtci-linux-Ubuntu-20.04-x86_64/50-openssl_for_android_linux.sh b/coin/provisioning/qtci-linux-Ubuntu-20.04-x86_64/50-openssl_for_android_linux.sh index 3215b914..fd1151d9 100755 --- a/coin/provisioning/qtci-linux-Ubuntu-20.04-x86_64/50-openssl_for_android_linux.sh +++ b/coin/provisioning/qtci-linux-Ubuntu-20.04-x86_64/50-openssl_for_android_linux.sh @@ -1,43 +1,6 @@ #!/bin/bash - -############################################################################# -## -## Copyright (C) 2021 The Qt Company Ltd. -## Contact: https://www.qt.io/licensing/ -## -## This file is part of the provisioning scripts of the Qt Toolkit. -## -## $QT_BEGIN_LICENSE:LGPL$ -## Commercial License Usage -## Licensees holding valid commercial Qt licenses may use this file in -## accordance with the commercial license agreement provided with the -## Software or, alternatively, in accordance with the terms contained in -## a written agreement between you and The Qt Company. For licensing terms -## and conditions see https://www.qt.io/terms-conditions. For further -## information use the contact form at https://www.qt.io/contact-us. -## -## GNU Lesser General Public License Usage -## Alternatively, this file may be used under the terms of the GNU Lesser -## General Public License version 3 as published by the Free Software -## Foundation and appearing in the file LICENSE.LGPL3 included in the -## packaging of this file. Please review the following information to -## ensure the GNU Lesser General Public License version 3 requirements -## will be met: https://www.gnu.org/licenses/lgpl-3.0.html. -## -## GNU General Public License Usage -## Alternatively, this file may be used under the terms of the GNU -## General Public License version 2.0 or (at your option) the GNU General -## Public license version 3 or any later version approved by the KDE Free -## Qt Foundation. The licenses are as published by the Free Software -## Foundation and appearing in the file LICENSE.GPL2 and LICENSE.GPL3 -## included in the packaging of this file. Please review the following -## information to ensure the GNU General Public License requirements will -## be met: https://www.gnu.org/licenses/gpl-2.0.html and -## https://www.gnu.org/licenses/gpl-3.0.html. -## -## $QT_END_LICENSE$ -## -############################################################################# +# 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 diff --git a/coin/provisioning/qtci-linux-Ubuntu-20.04-x86_64/60-install_protobuf.sh b/coin/provisioning/qtci-linux-Ubuntu-20.04-x86_64/60-install_protobuf.sh new file mode 100755 index 00000000..3e2b8921 --- /dev/null +++ b/coin/provisioning/qtci-linux-Ubuntu-20.04-x86_64/60-install_protobuf.sh @@ -0,0 +1,9 @@ +#!/usr/bin/env bash +# Copyright (C) 2018 The Qt Company Ltd. +# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only + +set -ex + +# shellcheck source=../common/unix/install_protobuf.sh +source "${BASH_SOURCE%/*}/../common/unix/install_protobuf.sh" + diff --git a/coin/provisioning/qtci-linux-Ubuntu-20.04-x86_64/61-install_grpc.sh b/coin/provisioning/qtci-linux-Ubuntu-20.04-x86_64/61-install_grpc.sh new file mode 100755 index 00000000..ecd6a51f --- /dev/null +++ b/coin/provisioning/qtci-linux-Ubuntu-20.04-x86_64/61-install_grpc.sh @@ -0,0 +1,9 @@ +#!/usr/bin/env bash +# Copyright (C) 2022 The Qt Company Ltd. +# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only + +set -ex + +# shellcheck source=../common/unix/install_grpc.sh +source "${BASH_SOURCE%/*}/../common/unix/install_grpc.sh" + diff --git a/coin/provisioning/qtci-linux-Ubuntu-20.04-x86_64/70-install_QemuGA.sh b/coin/provisioning/qtci-linux-Ubuntu-20.04-x86_64/70-install_QemuGA.sh index 9469553d..9a80fc0b 100755 --- a/coin/provisioning/qtci-linux-Ubuntu-20.04-x86_64/70-install_QemuGA.sh +++ b/coin/provisioning/qtci-linux-Ubuntu-20.04-x86_64/70-install_QemuGA.sh @@ -1,43 +1,6 @@ #!/usr/bin/env bash - -############################################################################# -## -## Copyright (C) 2020 The Qt Company Ltd. -## Contact: https://www.qt.io/licensing/ -## -## This file is part of the provisioning scripts of the Qt Toolkit. -## -## $QT_BEGIN_LICENSE:LGPL$ -## Commercial License Usage -## Licensees holding valid commercial Qt licenses may use this file in -## accordance with the commercial license agreement provided with the -## Software or, alternatively, in accordance with the terms contained in -## a written agreement between you and The Qt Company. For licensing terms -## and conditions see https://www.qt.io/terms-conditions. For further -## information use the contact form at https://www.qt.io/contact-us. -## -## GNU Lesser General Public License Usage -## Alternatively, this file may be used under the terms of the GNU Lesser -## General Public License version 3 as published by the Free Software -## Foundation and appearing in the file LICENSE.LGPL3 included in the -## packaging of this file. Please review the following information to -## ensure the GNU Lesser General Public License version 3 requirements -## will be met: https://www.gnu.org/licenses/lgpl-3.0.html. -## -## GNU General Public License Usage -## Alternatively, this file may be used under the terms of the GNU -## General Public License version 2.0 or (at your option) the GNU General -## Public license version 3 or any later version approved by the KDE Free -## Qt Foundation. The licenses are as published by the Free Software -## Foundation and appearing in the file LICENSE.GPL2 and LICENSE.GPL3 -## included in the packaging of this file. Please review the following -## information to ensure the GNU General Public License requirements will -## be met: https://www.gnu.org/licenses/gpl-2.0.html and -## https://www.gnu.org/licenses/gpl-3.0.html. -## -## $QT_END_LICENSE$ -## -############################################################################# +# Copyright (C) 2020 The Qt Company Ltd. +# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only # This script installs QEMU Guest Agent diff --git a/coin/provisioning/qtci-linux-Ubuntu-20.04-x86_64/70-qnx710.sh b/coin/provisioning/qtci-linux-Ubuntu-20.04-x86_64/70-qnx710.sh index 07f34536..08eeb57b 100755 --- a/coin/provisioning/qtci-linux-Ubuntu-20.04-x86_64/70-qnx710.sh +++ b/coin/provisioning/qtci-linux-Ubuntu-20.04-x86_64/70-qnx710.sh @@ -1,47 +1,10 @@ #!/usr/bin/env bash - -############################################################################# -## -## Copyright (C) 2021 The Qt Company Ltd. -## Contact: https://www.qt.io/licensing/ -## -## This file is part of the test suite of the Qt Toolkit. -## -## $QT_BEGIN_LICENSE:LGPL$ -## Commercial License Usage -## Licensees holding valid commercial Qt licenses may use this file in -## accordance with the commercial license agreement provided with the -## Software or, alternatively, in accordance with the terms contained in -## a written agreement between you and The Qt Company. For licensing terms -## and conditions see https://www.qt.io/terms-conditions. For further -## information use the contact form at https://www.qt.io/contact-us. -## -## GNU Lesser General Public License Usage -## Alternatively, this file may be used under the terms of the GNU Lesser -## General Public License version 3 as published by the Free Software -## Foundation and appearing in the file LICENSE.LGPL3 included in the -## packaging of this file. Please review the following information to -## ensure the GNU Lesser General Public License version 3 requirements -## will be met: https://www.gnu.org/licenses/lgpl-3.0.html. -## -## GNU General Public License Usage -## Alternatively, this file may be used under the terms of the GNU -## General Public License version 2.0 or (at your option) the GNU General -## Public license version 3 or any later version approved by the KDE Free -## Qt Foundation. The licenses are as published by the Free Software -## Foundation and appearing in the file LICENSE.GPL2 and LICENSE.GPL3 -## included in the packaging of this file. Please review the following -## information to ensure the GNU General Public License requirements will -## be met: https://www.gnu.org/licenses/gpl-2.0.html and -## https://www.gnu.org/licenses/gpl-3.0.html. -## -## $QT_END_LICENSE$ -## -############################################################################# +# Copyright (C) 2021 The Qt Company Ltd. +# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only set -ex -# shellcheck source=../common/linux/qnx_700.sh +# shellcheck source=../common/linux/qnx_710.sh source "${BASH_SOURCE%/*}/../common/linux/qnx_710.sh" # setup NFS diff --git a/coin/provisioning/qtci-linux-Ubuntu-20.04-x86_64/80-docker.sh b/coin/provisioning/qtci-linux-Ubuntu-20.04-x86_64/80-docker.sh index 82c2c659..561e762f 100755 --- a/coin/provisioning/qtci-linux-Ubuntu-20.04-x86_64/80-docker.sh +++ b/coin/provisioning/qtci-linux-Ubuntu-20.04-x86_64/80-docker.sh @@ -1,4 +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/docker.sh" diff --git a/coin/provisioning/qtci-linux-Ubuntu-20.04-x86_64/81-fix_mdns_docker_resolution.sh b/coin/provisioning/qtci-linux-Ubuntu-20.04-x86_64/81-fix_mdns_docker_resolution.sh index 0085d8ad..fb73a0e9 100755 --- a/coin/provisioning/qtci-linux-Ubuntu-20.04-x86_64/81-fix_mdns_docker_resolution.sh +++ b/coin/provisioning/qtci-linux-Ubuntu-20.04-x86_64/81-fix_mdns_docker_resolution.sh @@ -1,4 +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 # The new version of libnss-mdns resolver library automatically rejects all # hostnames with more than two labels (i.e. subdomains deep), for example @@ -10,4 +12,4 @@ cat <<EOT | sudo tee /etc/mdns.allow .local EOT -sudo sed -i '/^hosts:/s/mdns4_minimal/mdns4/' /etc/nsswitch.conf +sudo sed -i '/^hosts:/s/.*/hosts: files mdns_minimal [NOTFOUND=return] mdns4 dns/' /etc/nsswitch.conf diff --git a/coin/provisioning/qtci-linux-Ubuntu-20.04-x86_64/85-qdoc_qtattributionsscanner.sh b/coin/provisioning/qtci-linux-Ubuntu-20.04-x86_64/85-qdoc_qtattributionsscanner.sh index 4b5292ad..09d4664f 100755 --- a/coin/provisioning/qtci-linux-Ubuntu-20.04-x86_64/85-qdoc_qtattributionsscanner.sh +++ b/coin/provisioning/qtci-linux-Ubuntu-20.04-x86_64/85-qdoc_qtattributionsscanner.sh @@ -1,71 +1,34 @@ #!/usr/bin/env bash - -############################################################################# -## -## Copyright (C) 2021 The Qt Company Ltd. -## Contact: https://www.qt.io/licensing/ -## -## This file is part of the provisioning scripts of the Qt Toolkit. -## -## $QT_BEGIN_LICENSE:LGPL$ -## Commercial License Usage -## Licensees holding valid commercial Qt licenses may use this file in -## accordance with the commercial license agreement provided with the -## Software or, alternatively, in accordance with the terms contained in -## a written agreement between you and The Qt Company. For licensing terms -## and conditions see https://www.qt.io/terms-conditions. For further -## information use the contact form at https://www.qt.io/contact-us. -## -## GNU Lesser General Public License Usage -## Alternatively, this file may be used under the terms of the GNU Lesser -## General Public License version 3 as published by the Free Software -## Foundation and appearing in the file LICENSE.LGPL3 included in the -## packaging of this file. Please review the following information to -## ensure the GNU Lesser General Public License version 3 requirements -## will be met: https://www.gnu.org/licenses/lgpl-3.0.html. -## -## GNU General Public License Usage -## Alternatively, this file may be used under the terms of the GNU -## General Public License version 2.0 or (at your option) the GNU General -## Public license version 3 or any later version approved by the KDE Free -## Qt Foundation. The licenses are as published by the Free Software -## Foundation and appearing in the file LICENSE.GPL2 and LICENSE.GPL3 -## included in the packaging of this file. Please review the following -## information to ensure the GNU General Public License requirements will -## be met: https://www.gnu.org/licenses/gpl-2.0.html and -## https://www.gnu.org/licenses/gpl-3.0.html. -## -## $QT_END_LICENSE$ -## -############################################################################# +# 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 # Provisions qdoc and qtattributionsscanner binaries; these are used for # documentation testing without the need for a dependency to qttools. set -e -# shellcheck source=./check_and_set_proxy.sh +# shellcheck source=../common/unix/check_and_set_proxy.sh "${BASH_SOURCE%/*}/../common/unix/check_and_set_proxy.sh" -# shellcheck source=./DownloadURL.sh +# shellcheck source=../common/unix/DownloadURL.sh source "${BASH_SOURCE%/*}/../common/unix/DownloadURL.sh" -version="52538a9d3d1ba10c638441666f8efbc78ba0b347" -sha1="13614b273994547876a19d46348fc3a3e86481be" +version="39fad60085501729985888d3f546c7b8d897a394" +sha1="b3bc413866951807fe2e87e84394cd6f69904718" url="https://download.qt.io/development_releases/prebuilt/qdoc/qt/qdoc-qtattributionsscanner_${version//\./}-based-linux-Ubuntu20.04-gcc9.3-x86_64.7z" -url_cached="http://ci-files01-hki.intra.qt.io/input/qdoc/qt/qdoc-qtattributionsscanner_${version//\./}-based-linux-Ubuntu20.04-gcc9.3-x86_64.7z" +url_cached="http://ci-files01-hki.ci.qt.io/input/qdoc/qt/qdoc-qtattributionsscanner_${version//\./}-based-linux-Ubuntu20.04-gcc9.3-x86_64.7z" zip="/tmp/qdoc-qtattributionsscanner.7z" destination="/opt/qt-doctools" -sudo mkdir -p $destination -sudo chmod 755 $destination -DownloadURL $url_cached $url $sha1 $zip +sudo mkdir -p "$destination" +sudo chmod 755 "$destination" +DownloadURL "$url_cached" "$url" "$sha1" "$zip" if command -v 7zr &> /dev/null; then - sudo 7zr x $zip -o$destination/ + sudo 7zr x "$zip" "-o$destination/" else - sudo 7z x $zip -o$destination/ + sudo 7z x "$zip" "-o$destination/" fi -sudo chown -R qt:users $destination -rm -rf $zip +sudo chown -R qt:users "$destination" +rm -rf "$zip" echo -e "qdoc = $version\nqtattributionsscanner = $version" >> ~/versions.txt diff --git a/coin/provisioning/qtci-linux-Ubuntu-20.04-x86_64/90-bootstrap-autostart.sh b/coin/provisioning/qtci-linux-Ubuntu-20.04-x86_64/90-bootstrap-autostart.sh new file mode 100755 index 00000000..1ff43850 --- /dev/null +++ b/coin/provisioning/qtci-linux-Ubuntu-20.04-x86_64/90-bootstrap-autostart.sh @@ -0,0 +1,3 @@ +#!/usr/bin/env bash + +source "${BASH_SOURCE%/*}/../common/linux/bootstrap-autostart.sh" diff --git a/coin/provisioning/qtci-linux-Ubuntu-20.04-x86_64/90-install-ffmpeg.sh b/coin/provisioning/qtci-linux-Ubuntu-20.04-x86_64/90-install-ffmpeg.sh new file mode 100755 index 00000000..61da9b7b --- /dev/null +++ b/coin/provisioning/qtci-linux-Ubuntu-20.04-x86_64/90-install-ffmpeg.sh @@ -0,0 +1,3 @@ +#!/usr/bin/env bash + +source "${BASH_SOURCE%/*}/../common/unix/install-ffmpeg.sh" "linux" diff --git a/coin/provisioning/qtci-linux-Ubuntu-20.04-x86_64/90-mimer.sh b/coin/provisioning/qtci-linux-Ubuntu-20.04-x86_64/90-mimer.sh new file mode 100755 index 00000000..ddd5bc33 --- /dev/null +++ b/coin/provisioning/qtci-linux-Ubuntu-20.04-x86_64/90-mimer.sh @@ -0,0 +1,8 @@ +#!/usr/bin/env bash +# Copyright (C) 2022 The Qt Company Ltd. +# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only + +set -ex + +BASEDIR=$(dirname "$0") +"$BASEDIR/../common/linux/mimersql.sh" "openssl-1" "deb" diff --git a/coin/provisioning/qtci-linux-Ubuntu-20.04-x86_64/90-squish.sh b/coin/provisioning/qtci-linux-Ubuntu-20.04-x86_64/90-squish.sh index e4281588..f803ccc1 100755 --- a/coin/provisioning/qtci-linux-Ubuntu-20.04-x86_64/90-squish.sh +++ b/coin/provisioning/qtci-linux-Ubuntu-20.04-x86_64/90-squish.sh @@ -1,4 +1,6 @@ #!/usr/bin/env bash +#Copyright (C) 2023 The Qt Company Ltd +#SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only BASEDIR=$(dirname "$0") "$BASEDIR/../common/unix/squishInstall.sh" diff --git a/coin/provisioning/qtci-linux-Ubuntu-20.04-x86_64/91-squish-coco.sh b/coin/provisioning/qtci-linux-Ubuntu-20.04-x86_64/91-squish-coco.sh index fcc7d31c..e42a5373 100755 --- a/coin/provisioning/qtci-linux-Ubuntu-20.04-x86_64/91-squish-coco.sh +++ b/coin/provisioning/qtci-linux-Ubuntu-20.04-x86_64/91-squish-coco.sh @@ -1,4 +1,6 @@ #!/bin/bash +#Copyright (C) 2023 The Qt Company Ltd +#SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only # shellcheck source=../common/linux/squish-coco.sh source "${BASH_SOURCE%/*}/../common/linux/squish-coco.sh" diff --git a/coin/provisioning/qtci-linux-Ubuntu-20.04-x86_64/99-cleanup.sh b/coin/provisioning/qtci-linux-Ubuntu-20.04-x86_64/99-cleanup.sh new file mode 100755 index 00000000..4d6e16ea --- /dev/null +++ b/coin/provisioning/qtci-linux-Ubuntu-20.04-x86_64/99-cleanup.sh @@ -0,0 +1,7 @@ +#!/usr/bin/env bash +# Copyright (C) 2022 The Qt Company Ltd. +# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only + +set -ex + +"$(dirname "$0")"/../common/linux/cleanup_cache.sh diff --git a/coin/provisioning/qtci-linux-Ubuntu-20.04-x86_64/99-version.sh b/coin/provisioning/qtci-linux-Ubuntu-20.04-x86_64/99-version.sh index c8f3ac03..31821f6b 100755 --- a/coin/provisioning/qtci-linux-Ubuntu-20.04-x86_64/99-version.sh +++ b/coin/provisioning/qtci-linux-Ubuntu-20.04-x86_64/99-version.sh @@ -1,4 +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-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/01-disable-updates.sh b/coin/provisioning/qtci-linux-Ubuntu-22.04-x86_64/01-disable-updates.sh new file mode 100755 index 00000000..4c9adc5f --- /dev/null +++ b/coin/provisioning/qtci-linux-Ubuntu-22.04-x86_64/01-disable-updates.sh @@ -0,0 +1,9 @@ +#!/usr/bin/env bash +# Copyright (C) 2023 The Qt Company Ltd. +# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only + +set -ex + +# Disalbe updates +echo "Disabling auto-upgrades" +sudo sed -i 's/"1"/"0"/g' /etc/apt/apt.conf.d/20auto-upgrades diff --git a/coin/provisioning/qtci-linux-Ubuntu-22.04-x86_64/01-disable_net_lso.sh b/coin/provisioning/qtci-linux-Ubuntu-22.04-x86_64/01-disable_net_lso.sh new file mode 100755 index 00000000..81e7d137 --- /dev/null +++ b/coin/provisioning/qtci-linux-Ubuntu-22.04-x86_64/01-disable_net_lso.sh @@ -0,0 +1,6 @@ +#!/bin/sh +#Copyright (C) 2023 The Qt Company Ltd +#SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only + +echo "ethtool -K \${DEVICE_IFACE} tso off" | sudo tee -a /etc/NetworkManager/dispatcher.d/pre-up.d/net_tso_off +sudo chmod +x /etc/NetworkManager/dispatcher.d/pre-up.d/net_tso_off diff --git a/coin/provisioning/qtci-linux-Ubuntu-22.04-x86_64/01-install_telegraf.sh b/coin/provisioning/qtci-linux-Ubuntu-22.04-x86_64/01-install_telegraf.sh new file mode 100755 index 00000000..729f9003 --- /dev/null +++ b/coin/provisioning/qtci-linux-Ubuntu-22.04-x86_64/01-install_telegraf.sh @@ -0,0 +1,3 @@ +#!/bin/sh + +"$(dirname "$0")"/../common/unix/telegraf_install.sh diff --git a/coin/provisioning/qtci-linux-Ubuntu-22.04-x86_64/01-set-ulimit.sh b/coin/provisioning/qtci-linux-Ubuntu-22.04-x86_64/01-set-ulimit.sh new file mode 100755 index 00000000..e951e82a --- /dev/null +++ b/coin/provisioning/qtci-linux-Ubuntu-22.04-x86_64/01-set-ulimit.sh @@ -0,0 +1,8 @@ +#!/usr/bin/env bash +#Copyright (C) 2023 The Qt Company Ltd +#SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only + +set -ex + +BASEDIR=$(dirname "$0") +"$BASEDIR/../common/linux/set_ulimit.sh" diff --git a/coin/provisioning/qtci-linux-Ubuntu-22.04-x86_64/01-systemsetup.sh b/coin/provisioning/qtci-linux-Ubuntu-22.04-x86_64/01-systemsetup.sh new file mode 100755 index 00000000..98744822 --- /dev/null +++ b/coin/provisioning/qtci-linux-Ubuntu-22.04-x86_64/01-systemsetup.sh @@ -0,0 +1,43 @@ +#!/usr/bin/env bash +# Copyright (C) 2017 The Qt Company Ltd. +# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only + +# This script modifies system settings for automated use + +set -ex + +# shellcheck source=../common/unix/check_and_set_proxy.sh +source "${BASH_SOURCE%/*}/../common/unix/check_and_set_proxy.sh" + +NTS_IP=10.212.2.216 + +echo "Set timezone to UTC." +sudo timedatectl set-timezone Etc/UTC +echo "Timeout for blanking the screen (0 = never)" +gsettings set org.gnome.desktop.session idle-delay 0 +echo "Prevents screen lock when screesaver goes active." +gsettings set org.gnome.desktop.screensaver lock-enabled false +echo "Set grub timeout to 0" +sudo sed -i 's|GRUB_TIMEOUT=10|GRUB_TIMEOUT=0|g' /etc/default/grub +sudo update-grub + +# https://bugs.launchpad.net/ubuntu/+source/systemd/+bug/1624320 +# Checking if Ubuntu 20.04 works without this +#echo "Setting up workaround for Ubuntu systemd resolve bug" +#sudo rm -f /etc/resolv.conf +#sudo ln -s /run/systemd/resolve/resolv.conf /etc/resolv.conf + +# remove hostname to get unique based on IP address +sudo rm /etc/hostname + +echo "Set Network Test Server address to $NTS_IP in /etc/hosts" +echo "$NTS_IP qt-test-server qt-test-server.qt-test-net" | sudo tee -a /etc/hosts + +echo 'LC_ALL=en_US.UTF8' | sudo tee /etc/default/locale + +if [ "$http_proxy" != "" ]; then + echo "Acquire::http::Proxy \"$proxy\";" | sudo tee -a /etc/apt/apt.conf +fi + +# This script diverts qtlogging.ini file so we don't get debugging related auto-test failures. +sudo dpkg-divert --divert /etc/xdg/QtProject/qtlogging.ini.foo --rename /etc/xdg/QtProject/qtlogging.ini diff --git a/coin/provisioning/qtci-linux-Ubuntu-22.04-x86_64/02-apt.sh b/coin/provisioning/qtci-linux-Ubuntu-22.04-x86_64/02-apt.sh new file mode 100755 index 00000000..3bd4750e --- /dev/null +++ b/coin/provisioning/qtci-linux-Ubuntu-22.04-x86_64/02-apt.sh @@ -0,0 +1,251 @@ +#!/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=amd64] http://repo-clones.ci.qt.io/apt-mirror/mirror/ubuntu/ jammy main restricted universe multiverse + deb [arch=amd64] http://repo-clones.ci.qt.io/apt-mirror/mirror/ubuntu/ jammy-updates main restricted universe multiverse + deb [arch=amd64] http://repo-clones.ci.qt.io/apt-mirror/mirror/ubuntu/ jammy-backports main restricted universe + deb [arch=amd64] http://repo-clones.ci.qt.io/apt-mirror/mirror/ubuntu/ jammy-security main restricted universe multiverse + deb [arch=i386] http://repo-clones.ci.qt.io/apt-mirror/mirror/ubuntu/ jammy main restricted + deb [arch=i386] http://repo-clones.ci.qt.io/apt-mirror/mirror/ubuntu/ jammy-updates main restricted + deb [arch=i386] http://repo-clones.ci.qt.io/apt-mirror/mirror/ubuntu/ jammy universe +EOC +} + +(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 + +# 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+=(gstreamer1.0-libav) +installPackages+=(gstreamer1.0-plugins-base) +installPackages+=(gstreamer1.0-plugins-good) +installPackages+=(gstreamer1.0-plugins-bad) +installPackages+=(gstreamer1.0-plugins-rtp) +installPackages+=(gstreamer1.0-plugins-ugly) +installPackages+=(gir1.2-gst-plugins-base-1.0) +installPackages+=(gir1.2-gst-plugins-bad-1.0) +installPackages+=(yasm) +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) +# python3 development package +installPackages+=(python3-dev) +installPackages+=(python3-pip) +installPackages+=(python3-venv) +installPackages+=(virtualenv) +installPackages+=(python3-wheel) +installPackages+=(python-is-python3) +# python2 development package +installPackages+=(python2-dev) +# Automates interactive applications (Needed by RTA to automate configure testing) +installPackages+=(expect) +installPackages+=(mesa-common-dev) +installPackages+=(libgl1-mesa-glx) +installPackages+=(libgl1-mesa-dev) +installPackages+=(libegl1-mesa-dev) +installPackages+=(libegl1) +installPackages+=(libegl-mesa0) +installPackages+=(libegl-dev) +installPackages+=(libglvnd-dev) +installPackages+=(libgles2-mesa-dev) +installPackages+=(curl) +installPackages+=(libcurl4-openssl-dev) +installPackages+=(libicu-dev) +installPackages+=(zlib1g-dev) +installPackages+=(zlib1g) +installPackages+=(openjdk-8-jdk) +#Java 17 for Android, needed by RTA +installPackages+=(openjdk-17-jdk) +installPackages+=(libgtk-3-dev) +installPackages+=(ninja-build) +installPackages+=(libssl-dev) +installPackages+=(libxcursor-dev) +installPackages+=(libxcomposite-dev) +installPackages+=(libxdamage-dev) +installPackages+=(libxrandr-dev) +installPackages+=(libfontconfig1-dev) +installPackages+=(libsrtp2-dev) +installPackages+=(libwebp-dev) +installPackages+=(libjsoncpp-dev) +installPackages+=(libopus-dev) +installPackages+=(libminizip-dev) +installPackages+=(libavutil-dev) +installPackages+=(libavformat-dev) +installPackages+=(libavcodec-dev) +installPackages+=(libevent-dev) +installPackages+=(bison) +installPackages+=(flex) +installPackages+=(gperf) +installPackages+=(libasound2-dev) +installPackages+=(libpulse-dev) +installPackages+=(libxtst-dev) +installPackages+=(libnspr4-dev) +installPackages+=(libnss3-dev) +installPackages+=(libnss3) +installPackages+=(libopenal-dev) +installPackages+=(libbluetooth-dev) +#VirtualBox for RTA +installPackages+=(virtualbox) +installPackages+=(dkms) +# Needed for qtspeech +installPackages+=(libspeechd-dev) +#Pypdf for PDF reading in RTA tests +installPackages+=(python3-pypdf2) +# Needed for b2qt +installPackages+=(git-lfs) +installPackages+=(chrpath) +installPackages+=(gawk) +installPackages+=(texinfo) +# Needed for Poppler test in QtWebEngine +installPackages+=(libpoppler-cpp-dev) +# Needed for QtCore +installPackages+=(libdouble-conversion-dev) +installPackages+=(libpcre2-dev) +# Needed for testlib selftests +installPackages+=(valgrind) +# Needed for qtgampepad +installPackages+=(libsdl2-2.0) +installPackages+=(libsdl2-dev) +# Needed for qtwebkit +installPackages+=(ruby) +installPackages+=(libxslt1-dev) +installPackages+=(libxml2-dev) +installPackages+=(libhyphen-dev) +# For remote access +installPackages+=(ssh) +# For bitbake +installPackages+=(diffstat) +installPackages+=(binfmt-support) +installPackages+=(zstd) +installPackages+=(lz4) +# Vulkan is needed for examples +installPackages+=(libvulkan-dev) +# Needed for qtdltlogging +installPackages+=(libdlt-dev) +# For integrity +installPackages+=(libc6:i386) +installPackages+=(libncurses5:i386) +installPackages+=(libstdc++6:i386) +installPackages+=(libx11-6:i386) +installPackages+=(lib32z1) +installPackages+=(linux-libc-dev:i386) +installPackages+=(libxcursor1:i386) +installPackages+=(libc6-dev-i386) +sudo dpkg --add-architecture i386 +# For QNX +installPackages+=(nfs-kernel-server) +installPackages+=(net-tools) +installPackages+=(bridge-utils) +# For Debian packaging +installPackages+=(sbuild) +installPackages+=(ubuntu-dev-tools) +# cifs-utils, for mounting smb drive +installPackages+=(keyutils) +installPackages+=(cifs-utils) +# VxWorks QEMU network setup (tunctl) +installPackages+=(uml-utilities) +# used for reading vcpkg packages version, from vcpkg.json +installPackages+=(jq) + +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-22.04-x86_64/02-disable-notifications.sh b/coin/provisioning/qtci-linux-Ubuntu-22.04-x86_64/02-disable-notifications.sh new file mode 100755 index 00000000..1b9ed6c9 --- /dev/null +++ b/coin/provisioning/qtci-linux-Ubuntu-22.04-x86_64/02-disable-notifications.sh @@ -0,0 +1,6 @@ +#!/usr/bin/env bash +#Copyright (C) 2023 The Qt Company Ltd +#SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only + +# shellcheck source=../common/linux/disable-notifications.sh +source "${BASH_SOURCE%/*}/../common/linux/disable-notifications.sh" diff --git a/coin/provisioning/qtci-linux-Ubuntu-22.04-x86_64/02-disable-ntp.sh b/coin/provisioning/qtci-linux-Ubuntu-22.04-x86_64/02-disable-ntp.sh new file mode 100755 index 00000000..1995aa14 --- /dev/null +++ b/coin/provisioning/qtci-linux-Ubuntu-22.04-x86_64/02-disable-ntp.sh @@ -0,0 +1,6 @@ +#!/usr/bin/env bash +#Copyright (C) 2023 The Qt Company Ltd +#SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only + +# shellcheck source=../common/linux/disable-ntp_linux.sh +source "${BASH_SOURCE%/*}/../common/linux/disable-ntp_linux.sh" diff --git a/coin/provisioning/qtci-linux-Ubuntu-22.04-x86_64/02-git_lfs.sh b/coin/provisioning/qtci-linux-Ubuntu-22.04-x86_64/02-git_lfs.sh new file mode 100755 index 00000000..d2c0ad14 --- /dev/null +++ b/coin/provisioning/qtci-linux-Ubuntu-22.04-x86_64/02-git_lfs.sh @@ -0,0 +1,12 @@ +#!/usr/bin/env bash +# Copyright (C) 2018 The Qt Company Ltd. +# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only + +# Install Git Large File Storage + +set -ex + +curl -L https://packagecloud.io/github/git-lfs/gpgkey | sudo apt-key add - +sudo apt-add-repository 'deb https://packagecloud.io/github/git-lfs/ubuntu/ jammy main' +sudo apt update +sudo apt install git-lfs diff --git a/coin/provisioning/qtci-linux-Ubuntu-22.04-x86_64/02-remove-apport.sh b/coin/provisioning/qtci-linux-Ubuntu-22.04-x86_64/02-remove-apport.sh new file mode 100755 index 00000000..879f3ffb --- /dev/null +++ b/coin/provisioning/qtci-linux-Ubuntu-22.04-x86_64/02-remove-apport.sh @@ -0,0 +1,6 @@ +#!/usr/bin/env bash +#Copyright (C) 2023 The Qt Company Ltd +#SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only + +# shellcheck source=../common/linux/remove-apport.sh +source "${BASH_SOURCE%/*}/../common/linux/remove-apport.sh" diff --git a/coin/provisioning/qtci-linux-Ubuntu-22.04-x86_64/02-remove-update_notifier.sh b/coin/provisioning/qtci-linux-Ubuntu-22.04-x86_64/02-remove-update_notifier.sh new file mode 100755 index 00000000..f4a5119f --- /dev/null +++ b/coin/provisioning/qtci-linux-Ubuntu-22.04-x86_64/02-remove-update_notifier.sh @@ -0,0 +1,6 @@ +#!/usr/bin/env bash +#Copyright (C) 2023 The Qt Company Ltd +#SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only + +# shellcheck source=../common/linux/remove-update_notifier.sh +source "${BASH_SOURCE%/*}/../common/linux/remove-update_notifier.sh" diff --git a/coin/provisioning/qtci-linux-Ubuntu-22.04-x86_64/03-install-nodejs.sh b/coin/provisioning/qtci-linux-Ubuntu-22.04-x86_64/03-install-nodejs.sh new file mode 100755 index 00000000..07121a36 --- /dev/null +++ b/coin/provisioning/qtci-linux-Ubuntu-22.04-x86_64/03-install-nodejs.sh @@ -0,0 +1,6 @@ +#!/usr/bin/env bash +# Copyright (C) 2023 The Qt Company Ltd. +# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only + +# shellcheck source=../common/linux/install-nodejs.sh +source "${BASH_SOURCE%/*}/../common/linux/install-nodejs.sh" diff --git a/coin/provisioning/qtci-linux-Ubuntu-22.04-x86_64/03-mount-vcpkg-cache-drive.sh b/coin/provisioning/qtci-linux-Ubuntu-22.04-x86_64/03-mount-vcpkg-cache-drive.sh new file mode 100755 index 00000000..ed49b3a5 --- /dev/null +++ b/coin/provisioning/qtci-linux-Ubuntu-22.04-x86_64/03-mount-vcpkg-cache-drive.sh @@ -0,0 +1,8 @@ +#!/usr/bin/env bash +# Copyright (C) 2023 The Qt Company Ltd. +# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only + +set -ex + +# shellcheck source=../common/linux/mount-vcpkg-cache-drive.sh +source "${BASH_SOURCE%/*}/../common/linux/mount-vcpkg-cache-drive.sh" diff --git a/coin/provisioning/qtci-linux-Ubuntu-22.04-x86_64/03-qemu.sh b/coin/provisioning/qtci-linux-Ubuntu-22.04-x86_64/03-qemu.sh new file mode 100755 index 00000000..5ed06f29 --- /dev/null +++ b/coin/provisioning/qtci-linux-Ubuntu-22.04-x86_64/03-qemu.sh @@ -0,0 +1,19 @@ +#!/usr/bin/env bash +# Copyright (C) 2021 The Qt Company Ltd. +# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only + +set -ex + +# shellcheck source=../common/unix/SetEnvVar.sh +source "${BASH_SOURCE%/*}/../common/unix/SetEnvVar.sh" + +# First test using QFont fails if fonts-noto-cjk is installed. This happens because +# running fontcache for that font takes > 5 mins when run on QEMU. Running fc-cache +# doesn't help since host version creates cache for a wrong architecture and running +# armv7 fc-cache segfaults on QEMU. +sudo DEBIAN_FRONTEND=noninteractive apt-get -y remove fonts-noto-cjk + +# Disable QtWayland window decorations, as they cause flakiness when used inside qemu (QTBUG-66173) +qemu_env="QT_WAYLAND_DISABLE_WINDOWDECORATION=1" + +SetEnvVar "QEMU_SET_ENV" "\"${qemu_env}\"" diff --git a/coin/provisioning/qtci-linux-Ubuntu-22.04-x86_64/04-libclang-v100-dyn.sh b/coin/provisioning/qtci-linux-Ubuntu-22.04-x86_64/04-libclang-v100-dyn.sh new file mode 100755 index 00000000..85c261ee --- /dev/null +++ b/coin/provisioning/qtci-linux-Ubuntu-22.04-x86_64/04-libclang-v100-dyn.sh @@ -0,0 +1,6 @@ +#!/usr/bin/env bash +#Copyright (C) 2023 The Qt Company Ltd +#SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only + +BASEDIR=$(dirname "$0") +"$BASEDIR/../common/unix/libclang-v100-dyn.sh" diff --git a/coin/provisioning/qtci-linux-Ubuntu-22.04-x86_64/04-libclang.sh b/coin/provisioning/qtci-linux-Ubuntu-22.04-x86_64/04-libclang.sh new file mode 100755 index 00000000..fac8d4e7 --- /dev/null +++ b/coin/provisioning/qtci-linux-Ubuntu-22.04-x86_64/04-libclang.sh @@ -0,0 +1,6 @@ +#!/usr/bin/env bash +#Copyright (C) 2023 The Qt Company Ltd +#SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only + +BASEDIR=$(dirname "$0") +"$BASEDIR/../common/unix/libclang.sh" diff --git a/coin/provisioning/qtci-linux-Ubuntu-22.04-x86_64/04-yocto.sh b/coin/provisioning/qtci-linux-Ubuntu-22.04-x86_64/04-yocto.sh new file mode 100755 index 00000000..a764dc7e --- /dev/null +++ b/coin/provisioning/qtci-linux-Ubuntu-22.04-x86_64/04-yocto.sh @@ -0,0 +1,126 @@ +#!/usr/bin/env bash +# Copyright (C) 2021 The Qt Company Ltd. +# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only + +# This script installs the Yocto toolchain + +set -ex + +# shellcheck source=../common/unix/DownloadURL.sh +source "${BASH_SOURCE%/*}/../common/unix/DownloadURL.sh" +# shellcheck source=../common/unix/SetEnvVar.sh +source "${BASH_SOURCE%/*}/../common/unix/SetEnvVar.sh" + +primaryBaseUrlPath="http://ci-files01-hki.ci.qt.io/input/boot2qt/gatesgarth" +altBaseUrlPath="http://download.qt.io/development_releases/prebuilt/boot2qt/gatesgarth" + +echo "Installing Yocto toolchain for 32-bit b2qt ARMV7..." + +versionARM="3.2" +package="b2qt-x86_64-meta-toolchain-b2qt-ci-sdk-qemuarm-a9d5156a.sh" +PrimaryUrl="$primaryBaseUrlPath/$package" +AltUrl="$altBaseUrlPath/$package" +SHA1="f9f7d51656067a1cc9d7ab92ddcddb219886ab22" +yoctoInstaller="/tmp/yocto-toolchain-ARMv7.sh" +yoctoLocationARMv7="/opt/b2qt/$versionARM" +sysrootARMv7="armv7vet2hf-neon-poky-linux-gnueabi" +crosscompileARMv7="sysroots/x86_64-pokysdk-linux/usr/bin/arm-poky-linux-gnueabi/arm-poky-linux-gnueabi-" +envSetupARMv7="environment-setup-$sysrootARMv7" +toolchainFileARMv7="sysroots/x86_64-pokysdk-linux/usr/share/cmake/OEToolchainConfig.cmake" + +DownloadURL "$PrimaryUrl" "$AltUrl" "$SHA1" "$yoctoInstaller" +chmod +x "$yoctoInstaller" + +/bin/bash "$yoctoInstaller" -y -d "$yoctoLocationARMv7" +rm -rf "$yoctoInstaller" + +echo "Installing Yocto toolchain for 64-bit b2qt ARM64..." + +versionARM64="3.2" +package="b2qt-x86_64-meta-toolchain-b2qt-ci-sdk-qemuarm64-a9d5156a.sh" +PrimaryUrl="$primaryBaseUrlPath/$package" +AltUrl="$altBaseUrlPath/$package" +SHA1="f490cbcc4e0d5a87f4e07607a71013aeeabce94a" +yoctoInstaller="/tmp/yocto-toolchain-ARM64.sh" +yoctoLocationARM64="/opt/b2qt/$versionARM64" +sysrootARM64="cortexa57-poky-linux" +crosscompileARM64="sysroots/x86_64-pokysdk-linux/usr/bin/aarch64-poky-linux/aarch64-poky-linux-" +envSetupARM64="environment-setup-$sysrootARM64" +toolchainFileARM64="sysroots/x86_64-pokysdk-linux/usr/share/cmake/OEToolchainConfig.cmake" + +DownloadURL "$PrimaryUrl" "$AltUrl" "$SHA1" "$yoctoInstaller" +chmod +x "$yoctoInstaller" + +/bin/bash "$yoctoInstaller" -y -d "$yoctoLocationARM64" +rm -rf "$yoctoInstaller" + +echo "Installing Yocto toolchain for 64-bit b2qt MIPS64..." + +versionMIPS64="3.2" +package="b2qt-x86_64-meta-toolchain-b2qt-ci-sdk-qemumips64-a9d5156a.sh" +PrimaryUrl="$primaryBaseUrlPath/$package" +AltUrl="$altBaseUrlPath/$package" +SHA1="5d3a8bb4384de273937286d275d1dab36f969951" +yoctoInstaller="/tmp/yocto-toolchain-mips64.sh" +yoctoLocationMIPS64="/opt/b2qt/$versionMIPS64" +sysrootMIPS64="mips64r2-poky-linux" +crosscompileMIPS64="sysroots/x86_64-pokysdk-linux/usr/bin/mips64-poky-linux/mips64-poky-linux-" +envSetupMIPS64="environment-setup-$sysrootMIPS64" +toolchainFileMIPS64="sysroots/x86_64-pokysdk-linux/usr/share/cmake/OEToolchainConfig.cmake" + +DownloadURL "$PrimaryUrl" "$AltUrl" "$SHA1" "$yoctoInstaller" +chmod +x "$yoctoInstaller" + +/bin/bash "$yoctoInstaller" -y -d "$yoctoLocationMIPS64" +rm -rf "$yoctoInstaller" + + + +if [ -e "$yoctoLocationARMv7/sysroots/$sysrootARMv7" ] && [ -e "$yoctoLocationARMv7/${crosscompileARMv7}g++" ] && \ + [ -e "$yoctoLocationARMv7/$envSetupARMv7" ] && [ -e "$yoctoLocationARMv7/$toolchainFileARMv7" ] && \ + [ -e "$yoctoLocationARM64/sysroots/$sysrootARM64" ] && [ -e "$yoctoLocationARM64/${crosscompileARM64}g++" ] && \ + [ -e "$yoctoLocationARM64/$envSetupARM64" ] && [ -e "$yoctoLocationARM64/$toolchainFileARM64" ] && \ + [ -e "$yoctoLocationMIPS64/sysroots/$sysrootMIPS64" ] && [ -e "$yoctoLocationMIPS64/${crosscompileMIPS64}g++" ] && \ + [ -e "$yoctoLocationMIPS64/$envSetupMIPS64" ] && [ -e "$yoctoLocationMIPS64/$toolchainFileMIPS64" ]; then + SetEnvVar "QEMUARMV7_TOOLCHAIN_SYSROOT" "$yoctoLocationARMv7/sysroots/$sysrootARMv7" + SetEnvVar "QEMUARMV7_TOOLCHAIN_CROSS_COMPILE" "$yoctoLocationARMv7/$crosscompileARMv7" + SetEnvVar "QEMUARMV7_TOOLCHAIN_ENVSETUP" "$yoctoLocationARMv7/$envSetupARMv7" + SetEnvVar "QEMUARMV7_TOOLCHAIN_FILE" "$yoctoLocationARMv7/$toolchainFileARMv7" + SetEnvVar "QEMUARM64_TOOLCHAIN_SYSROOT" "$yoctoLocationARM64/sysroots/$sysrootARM64" + SetEnvVar "QEMUARM64_TOOLCHAIN_CROSS_COMPILE" "$yoctoLocationARM64/$crosscompileARM64" + SetEnvVar "QEMUARM64_TOOLCHAIN_ENVSETUP" "$yoctoLocationARM64/$envSetupARM64" + SetEnvVar "QEMUARM64_TOOLCHAIN_FILE" "$yoctoLocationARM64/$toolchainFileARM64" + SetEnvVar "QEMUMIPS64_TOOLCHAIN_SYSROOT" "$yoctoLocationMIPS64/sysroots/$sysrootMIPS64" + SetEnvVar "QEMUMIPS64_TOOLCHAIN_CROSS_COMPILE" "$yoctoLocationMIPS64/$crosscompileMIPS64" + SetEnvVar "QEMUMIPS64_TOOLCHAIN_ENVSETUP" "$yoctoLocationMIPS64/$envSetupMIPS64" + SetEnvVar "QEMUMIPS64_TOOLCHAIN_FILE" "$yoctoLocationMIPS64/$toolchainFileMIPS64" +else + echo "Error! Couldn't find installation paths for Yocto toolchain. Aborting provisioning." 1>&2 + exit 1 +fi + +cat << EOB >> ~/versions.txt +Yocto ARMv7 toolchain = $versionARM +Yocto ARM64 toolchain = $versionARM64 +Yocto MIPS64 toolchain = $versionMIPS64 +EOB + +# List qt user in qemu toolchain sysroots +sudo sh -c "grep ^qt /etc/passwd >> $yoctoLocationARMv7/sysroots/$sysrootARMv7/etc/passwd" +sudo sh -c "grep ^qt /etc/group >> $yoctoLocationARMv7/sysroots/$sysrootARMv7/etc/group" +sudo sh -c "grep ^qt /etc/passwd >> $yoctoLocationARM64/sysroots/$sysrootARM64/etc/passwd" +sudo sh -c "grep ^qt /etc/group >> $yoctoLocationARM64/sysroots/$sysrootARM64/etc/group" + +# Fix mdns to support both docker and network tests +# See also https://bugreports.qt.io/browse/QTBUG-106013 +sudo 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 \ +--magic "\x7f\x45\x4c\x46\x01\x01\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02\x00\x28\x00" \ +--mask "\xff\xff\xff\xff\xff\xff\xff\x00\xff\xff\xff\xff\xff\xff\xff\xff\xfe\xff\xff\xff" +sudo update-binfmts --package qemu-aarch64 --install aarch64 $yoctoLocationARM64/sysroots/x86_64-pokysdk-linux/usr/bin/qemu-aarch64 \ +--magic "\x7f\x45\x4c\x46\x02\x01\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02\x00\xb7\x00" \ +--mask "\xff\xff\xff\xff\xff\xff\xff\x00\xff\xff\xff\xff\xff\xff\xff\xff\xfe\xff\xff\xff" diff --git a/coin/provisioning/qtci-linux-Ubuntu-22.04-x86_64/08-integrity.sh b/coin/provisioning/qtci-linux-Ubuntu-22.04-x86_64/08-integrity.sh new file mode 100755 index 00000000..0e8dbb39 --- /dev/null +++ b/coin/provisioning/qtci-linux-Ubuntu-22.04-x86_64/08-integrity.sh @@ -0,0 +1,8 @@ +#!/usr/bin/env bash +# Copyright (C) 2017 The Qt Company Ltd. +# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only + +set -ex + +# shellcheck source=../common/linux/integrity.sh +source "${BASH_SOURCE%/*}/../common/linux/integrity.sh" diff --git a/coin/provisioning/qtci-linux-Ubuntu-22.04-x86_64/20-sccache.sh b/coin/provisioning/qtci-linux-Ubuntu-22.04-x86_64/20-sccache.sh new file mode 100755 index 00000000..b371d947 --- /dev/null +++ b/coin/provisioning/qtci-linux-Ubuntu-22.04-x86_64/20-sccache.sh @@ -0,0 +1,3 @@ +#!/usr/bin/env bash + +source "${BASH_SOURCE%/*}/../common/linux/sccache.sh" diff --git a/coin/provisioning/qtci-linux-Ubuntu-22.04-x86_64/22-mqtt_broker.sh b/coin/provisioning/qtci-linux-Ubuntu-22.04-x86_64/22-mqtt_broker.sh new file mode 100755 index 00000000..b0791cb1 --- /dev/null +++ b/coin/provisioning/qtci-linux-Ubuntu-22.04-x86_64/22-mqtt_broker.sh @@ -0,0 +1,8 @@ +#!/usr/bin/env bash +# Copyright (C) 2018 The Qt Company Ltd. +# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only + +set -ex + +# shellcheck source=../common/unix/mqtt_broker.sh +source "${BASH_SOURCE%/*}/../common/unix/mqtt_broker.sh" diff --git a/coin/provisioning/qtci-linux-Ubuntu-22.04-x86_64/30-fbx.sh b/coin/provisioning/qtci-linux-Ubuntu-22.04-x86_64/30-fbx.sh new file mode 100755 index 00000000..16a9bda8 --- /dev/null +++ b/coin/provisioning/qtci-linux-Ubuntu-22.04-x86_64/30-fbx.sh @@ -0,0 +1,8 @@ +#!/usr/bin/env bash +#Copyright (C) 2023 The Qt Company Ltd +#SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only + +set -ex + +BASEDIR=$(dirname "$0") +"$BASEDIR/../common/linux/fbx_linux.sh" diff --git a/coin/provisioning/qtci-linux-Ubuntu-22.04-x86_64/30-install-conan.sh b/coin/provisioning/qtci-linux-Ubuntu-22.04-x86_64/30-install-conan.sh new file mode 100755 index 00000000..c5b53fac --- /dev/null +++ b/coin/provisioning/qtci-linux-Ubuntu-22.04-x86_64/30-install-conan.sh @@ -0,0 +1,8 @@ +#!/usr/bin/env bash +#Copyright (C) 2023 The Qt Company Ltd +#SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only + +set -ex + +BASEDIR=$(dirname "$0") +"$BASEDIR/../common/unix/install-conan.sh" "linux" diff --git a/coin/provisioning/qtci-linux-Ubuntu-22.04-x86_64/30-install_icu.sh b/coin/provisioning/qtci-linux-Ubuntu-22.04-x86_64/30-install_icu.sh new file mode 100755 index 00000000..260dc55a --- /dev/null +++ b/coin/provisioning/qtci-linux-Ubuntu-22.04-x86_64/30-install_icu.sh @@ -0,0 +1,48 @@ +#!/usr/bin/env bash +# Copyright (C) 2023 The Qt Company Ltd. +# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only + +# shellcheck source=../common/unix/DownloadURL.sh +source "${BASH_SOURCE%/*}/../common/unix/DownloadURL.sh" + +set -ex + +# This script will install ICU + +icuVersion="73.2" +icuLocationLib="/opt/icu/lib64" +icuLocationInclude="/opt/icu/include" +sha1="5699987afcceb0390e52fb860bb3b4ab8b39cabe" +baseBinaryPackageURL="http://ci-files01-hki.ci.qt.io/input/icu/$icuVersion/icu-linux-g++-Ubuntu22.04-x64.7z" +baseBinaryPackageExternalURL="http://master.qt.io/development_releases/prebuilt/icu/prebuilt/$icuVersion/icu-linux-g++-Ubuntu22.04-x64.7z" + +sha1Dev="6b9da2fa5fd88db88e9957ee5e3cf9dbcd08fe6b" +develPackageURL="http://ci-files01-hki.ci.qt.io/input/icu/$icuVersion/icu-linux-g++-Ubuntu22.04-x64-devel.7z" +develPackageExternalURL="http://master.qt.io/development_releases/prebuilt/icu/prebuilt/$icuVersion/icu-linux-g++-Ubuntu22.04-x64-devel.7z" + +echo "Installing custom ICU $icuVersion $sha1 packages on CentOS to $icuLocationLib" + +targetFile=$(mktemp) +sudo mkdir -p "$icuLocationLib" +sudo mkdir -p "$icuLocationInclude" +DownloadURL "$baseBinaryPackageURL" "$baseBinaryPackageExternalURL" "$sha1" "$targetFile" +sudo 7z x -y -o$icuLocationLib "$targetFile" +sudo rm "$targetFile" + +echo "Installing custom ICU devel packages on CentOS" + +tempDir=$(mktemp -d) + +targetFile=$(mktemp) +DownloadURL "$develPackageURL" "$develPackageExternalURL" "$sha1Dev" "$targetFile" +7z x -y -o"$tempDir" "$targetFile" + +sudo cp -a "$tempDir"/lib/* "$icuLocationLib" +sudo cp -a "$tempDir"/* /opt/icu/ + +sudo rm "$targetFile" +sudo rm -fr "$tempDir" + +sudo /sbin/ldconfig + +echo "ICU = $icuVersion" >> ~/versions.txt diff --git a/coin/provisioning/qtci-linux-Ubuntu-22.04-x86_64/35-install-breakpad.sh b/coin/provisioning/qtci-linux-Ubuntu-22.04-x86_64/35-install-breakpad.sh new file mode 100755 index 00000000..8a9dde56 --- /dev/null +++ b/coin/provisioning/qtci-linux-Ubuntu-22.04-x86_64/35-install-breakpad.sh @@ -0,0 +1,8 @@ +#!/usr/bin/env bash +#Copyright (C) 2023 The Qt Company Ltd +#SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only + +set -ex + +# shellcheck source=../common/unix/install-breakpad.sh +source "${BASH_SOURCE%/*}/../common/unix/install-breakpad.sh" diff --git a/coin/provisioning/qtci-linux-Ubuntu-22.04-x86_64/40-android_linux.sh b/coin/provisioning/qtci-linux-Ubuntu-22.04-x86_64/40-android_linux.sh new file mode 100755 index 00000000..2526bc6d --- /dev/null +++ b/coin/provisioning/qtci-linux-Ubuntu-22.04-x86_64/40-android_linux.sh @@ -0,0 +1,8 @@ +#!/bin/bash +# Copyright (C) 2017 The Qt Company Ltd. +# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only + +set -ex + +# shellcheck source=../common/linux/android_linux.sh +source "${BASH_SOURCE%/*}/../common/linux/android_linux.sh" diff --git a/coin/provisioning/qtci-linux-Ubuntu-22.04-x86_64/40-install-cmake.sh b/coin/provisioning/qtci-linux-Ubuntu-22.04-x86_64/40-install-cmake.sh new file mode 100755 index 00000000..a418e4c5 --- /dev/null +++ b/coin/provisioning/qtci-linux-Ubuntu-22.04-x86_64/40-install-cmake.sh @@ -0,0 +1,7 @@ +#!/bin/bash +#Copyright (C) 2023 The Qt Company Ltd +#SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only + +BASEDIR=$(dirname "$0") +"$BASEDIR/../common/linux/cmake_linux.sh" + diff --git a/coin/provisioning/qtci-linux-Ubuntu-22.04-x86_64/41-install-vcpkg.sh b/coin/provisioning/qtci-linux-Ubuntu-22.04-x86_64/41-install-vcpkg.sh new file mode 100644 index 00000000..aa88364d --- /dev/null +++ b/coin/provisioning/qtci-linux-Ubuntu-22.04-x86_64/41-install-vcpkg.sh @@ -0,0 +1,6 @@ +#!/usr/bin/env bash + +set -ex + +BASEDIR=$(dirname "$0") +"$BASEDIR/../common/linux/install-vcpkg.sh" diff --git a/coin/provisioning/qtci-linux-Ubuntu-22.04-x86_64/42-install-vcpkg-ports.sh b/coin/provisioning/qtci-linux-Ubuntu-22.04-x86_64/42-install-vcpkg-ports.sh new file mode 100755 index 00000000..71a46f9a --- /dev/null +++ b/coin/provisioning/qtci-linux-Ubuntu-22.04-x86_64/42-install-vcpkg-ports.sh @@ -0,0 +1,6 @@ +#!/usr/bin/env bash + +set -ex + +BASEDIR=$(dirname "$0") +"$BASEDIR/../common/linux/install-vcpkg-ports.sh" diff --git a/coin/provisioning/qtci-linux-Ubuntu-22.04-x86_64/45-install-cpdb.sh b/coin/provisioning/qtci-linux-Ubuntu-22.04-x86_64/45-install-cpdb.sh new file mode 100755 index 00000000..40497ee0 --- /dev/null +++ b/coin/provisioning/qtci-linux-Ubuntu-22.04-x86_64/45-install-cpdb.sh @@ -0,0 +1,13 @@ +#!/usr/bin/env bash +# Copyright (C) 2023 The Qt Company Ltd. +# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only + +# This script install cpdb from sources. +# Requires GCC and Perl to be in PATH. +set -ex + +# Install the dependencies +sudo apt install -y make autoconf autopoint libglib2.0-dev libdbus-1-dev libtool + +BASEDIR=$(dirname "$0") +"$BASEDIR/../common/linux/install-cpdb.sh" diff --git a/coin/provisioning/qtci-linux-Ubuntu-22.04-x86_64/50-openssl_for_android_linux.sh b/coin/provisioning/qtci-linux-Ubuntu-22.04-x86_64/50-openssl_for_android_linux.sh new file mode 100755 index 00000000..fd1151d9 --- /dev/null +++ b/coin/provisioning/qtci-linux-Ubuntu-22.04-x86_64/50-openssl_for_android_linux.sh @@ -0,0 +1,8 @@ +#!/bin/bash +# Copyright (C) 2021 The Qt Company Ltd. +# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only + +set -ex + +# shellcheck source=../common/unix/openssl_for_android.sh +source "${BASH_SOURCE%/*}/../common/unix/openssl_for_android.sh" diff --git a/coin/provisioning/qtci-linux-Ubuntu-22.04-x86_64/60-install_protobuf.sh b/coin/provisioning/qtci-linux-Ubuntu-22.04-x86_64/60-install_protobuf.sh new file mode 100755 index 00000000..3e2b8921 --- /dev/null +++ b/coin/provisioning/qtci-linux-Ubuntu-22.04-x86_64/60-install_protobuf.sh @@ -0,0 +1,9 @@ +#!/usr/bin/env bash +# Copyright (C) 2018 The Qt Company Ltd. +# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only + +set -ex + +# shellcheck source=../common/unix/install_protobuf.sh +source "${BASH_SOURCE%/*}/../common/unix/install_protobuf.sh" + diff --git a/coin/provisioning/qtci-linux-Ubuntu-22.04-x86_64/61-install_grpc.sh b/coin/provisioning/qtci-linux-Ubuntu-22.04-x86_64/61-install_grpc.sh new file mode 100755 index 00000000..ecd6a51f --- /dev/null +++ b/coin/provisioning/qtci-linux-Ubuntu-22.04-x86_64/61-install_grpc.sh @@ -0,0 +1,9 @@ +#!/usr/bin/env bash +# Copyright (C) 2022 The Qt Company Ltd. +# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only + +set -ex + +# shellcheck source=../common/unix/install_grpc.sh +source "${BASH_SOURCE%/*}/../common/unix/install_grpc.sh" + diff --git a/coin/provisioning/qtci-linux-Ubuntu-22.04-x86_64/70-install_QemuGA.sh b/coin/provisioning/qtci-linux-Ubuntu-22.04-x86_64/70-install_QemuGA.sh new file mode 100755 index 00000000..9a80fc0b --- /dev/null +++ b/coin/provisioning/qtci-linux-Ubuntu-22.04-x86_64/70-install_QemuGA.sh @@ -0,0 +1,10 @@ +#!/usr/bin/env bash +# Copyright (C) 2020 The Qt Company Ltd. +# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only + +# This script installs QEMU Guest Agent + +set -ex + +sudo apt -y install qemu-guest-agent +sudo systemctl start qemu-guest-agent diff --git a/coin/provisioning/qtci-linux-Ubuntu-22.04-x86_64/70-qnx710.sh b/coin/provisioning/qtci-linux-Ubuntu-22.04-x86_64/70-qnx710.sh new file mode 100755 index 00000000..08eeb57b --- /dev/null +++ b/coin/provisioning/qtci-linux-Ubuntu-22.04-x86_64/70-qnx710.sh @@ -0,0 +1,13 @@ +#!/usr/bin/env bash +# Copyright (C) 2021 The Qt Company Ltd. +# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only + +set -ex + +# shellcheck source=../common/linux/qnx_710.sh +source "${BASH_SOURCE%/*}/../common/linux/qnx_710.sh" + +# setup NFS +sudo bash -c "echo '/home/qt/work ${qemuNetwork}/24(rw,sync,root_squash,no_subtree_check,anonuid=1000,anongid=1000)' >> /etc/exports" +sudo exportfs -a +sudo systemctl restart nfs-kernel-server diff --git a/coin/provisioning/qtci-linux-Ubuntu-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-22.04-x86_64/70-vxworks.sh b/coin/provisioning/qtci-linux-Ubuntu-22.04-x86_64/70-vxworks.sh new file mode 100755 index 00000000..3bb48d11 --- /dev/null +++ b/coin/provisioning/qtci-linux-Ubuntu-22.04-x86_64/70-vxworks.sh @@ -0,0 +1,8 @@ +#!/usr/bin/env bash +# Copyright (C) 2021 The Qt Company Ltd. +# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only + +set -ex + +# shellcheck source=../common/linux/vx_works.sh +source "${BASH_SOURCE%/*}/../common/linux/vx_works.sh" diff --git a/coin/provisioning/qtci-linux-Ubuntu-22.04-x86_64/80-docker.sh b/coin/provisioning/qtci-linux-Ubuntu-22.04-x86_64/80-docker.sh new file mode 100755 index 00000000..3338562f --- /dev/null +++ b/coin/provisioning/qtci-linux-Ubuntu-22.04-x86_64/80-docker.sh @@ -0,0 +1,58 @@ +#!/usr/bin/env bash +# Copyright (C) 2023 The Qt Company Ltd. +# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only + +set -e + +PROVISIONING_DIR="$(dirname "$0")/../" +# shellcheck source=../common/unix/common.sourced.sh +source "$PROVISIONING_DIR"/common/unix/common.sourced.sh +# shellcheck source=../common/unix/DownloadURL.sh +source "$PROVISIONING_DIR"/common/unix/DownloadURL.sh + +localRepo=http://ci-files01-hki.ci.qt.io/input/docker +# upstreamRepo=https://download.docker.com/linux/ubuntu/dists/bionic/pool/stable/amd64 +upstreamRepo=https://download.docker.com/linux/ubuntu/dists/jammy/pool/stable/amd64 +echo ' + 429078ba4948395ab88cd06c6ef49ea37c965273 containerd.io_1.6.4-1_amd64.deb + 5ce7508bb9d478dd9fe8ed9869e8ab0eed0355d9 docker-ce_20.10.15_3-0_ubuntu-jammy_amd64.deb + 445e81ad86c37d796de64644da4f9b3d6c6df913 docker-ce-cli_20.10.15_3-0_ubuntu-jammy_amd64.deb +' \ + | xargs -n2 | while read -r sha f +do + DownloadURL "$localRepo/$f" "$upstreamRepo/$f" "$sha" +done + +sudo apt-get -y install ./containerd.io_*.deb ./docker-ce_*.deb ./docker-ce-cli_*.deb +rm -f ./containerd.io_*.deb ./docker-ce_*.deb ./docker-ce-cli_*.deb + +sudo usermod -a -G docker "$USER" +sudo docker --version + +# Download and install the docker-compose extension from https://github.com/docker/compose/releases +f=docker-compose-$(uname -s)-$(uname -m) +DownloadURL \ + "$localRepo/$f-1.24.1" \ + "https://github.com/docker/compose/releases/download/1.24.1/$f" \ + cfb3439956216b1248308141f7193776fcf4b9c9b49cbbe2fb07885678e2bb8a +sudo install -m 755 ./docker-compose* /usr/local/bin/docker-compose +sudo docker-compose --version +rm ./docker-compose* + +# Install Avahi to discover Docker containers in the test network +sudo apt-get install avahi-daemon -y + +# Add registry mirror for docker images +sudo tee -a /etc/docker/daemon.json <<"EOF" +{ + "registry-mirrors": ["http://repo-clones.ci.qt.io:5000"] +} +EOF + +echo "Restart Docker" +sudo systemctl daemon-reload +sudo systemctl restart docker + +# Start testserver provisioning +sudo "$(readlink -f "$(dirname "${BASH_SOURCE[0]}")")/../common/shared/testserver/docker_testserver.sh" + diff --git a/coin/provisioning/qtci-linux-Ubuntu-22.04-x86_64/81-fix_mdns_docker_resolution.sh b/coin/provisioning/qtci-linux-Ubuntu-22.04-x86_64/81-fix_mdns_docker_resolution.sh new file mode 100755 index 00000000..30fe71ca --- /dev/null +++ b/coin/provisioning/qtci-linux-Ubuntu-22.04-x86_64/81-fix_mdns_docker_resolution.sh @@ -0,0 +1,15 @@ +#!/usr/bin/env bash +# Copyright (C) 2021 The Qt Company Ltd. +# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only + +# The new version of libnss-mdns resolver library automatically rejects all +# hostnames with more than two labels (i.e. subdomains deep), for example +# vsftpd.test-net.qt.local is automatically rejected. The changes here fix +# this, see also https://github.com/lathiat/nss-mdns#etcmdnsallow + +cat <<EOT | sudo tee /etc/mdns.allow +.local. +.local +EOT + +sudo sed -i '/^hosts:/s/.*/hosts: files mdns_minimal [NOTFOUND=return] mdns4 dns/' /etc/nsswitch.conf diff --git a/coin/provisioning/qtci-linux-Ubuntu-22.04-x86_64/85-qdoc_qtattributionsscanner.sh b/coin/provisioning/qtci-linux-Ubuntu-22.04-x86_64/85-qdoc_qtattributionsscanner.sh new file mode 100755 index 00000000..fd2a3afd --- /dev/null +++ b/coin/provisioning/qtci-linux-Ubuntu-22.04-x86_64/85-qdoc_qtattributionsscanner.sh @@ -0,0 +1,33 @@ +#!/usr/bin/env bash +# Copyright (C) 2022 The Qt Company Ltd. +# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only + +# Provisions qdoc and qtattributionsscanner binaries; these are used for +# documentation testing without the need for a dependency to qttools. + +set -e + +# shellcheck source=../common/unix/check_and_set_proxy.sh +"${BASH_SOURCE%/*}/../common/unix/check_and_set_proxy.sh" +# shellcheck source=../common/unix/DownloadURL.sh +source "${BASH_SOURCE%/*}/../common/unix/DownloadURL.sh" +version="68bdc5764da2d4e442181b408751b6572f36fa74" +sha1="dac76e8f6cb69990661e7d814bea6f32fea29bf4" +url="https://download.qt.io/development_releases/prebuilt/qdoc/qt/qdoc-qtattributionsscanner_${version//\./}-based-linux-Ubuntu22.04-gcc11.4-x86_64.7z" +url_cached="http://ci-files01-hki.ci.qt.io/input/qdoc/qt/qdoc-qtattributionsscanner_${version//\./}-based-linux-Ubuntu22.04-gcc11.4-x86_64.7z" + +zip="/tmp/qdoc-qtattributionsscanner.7z" +destination="/opt/qt-doctools" + +sudo mkdir -p "$destination" +sudo chmod 755 "$destination" +DownloadURL "$url_cached" "$url" "$sha1" "$zip" +if command -v 7zr &> /dev/null; then + sudo 7zr x "$zip" "-o$destination/" +else + sudo 7z x "$zip" "-o$destination/" +fi +sudo chown -R qt:users "$destination" +rm -rf "$zip" + +echo -e "qdoc = $version\nqtattributionsscanner = $version" >> ~/versions.txt diff --git a/coin/provisioning/qtci-linux-Ubuntu-22.04-x86_64/90-bootstrap-autostart.sh b/coin/provisioning/qtci-linux-Ubuntu-22.04-x86_64/90-bootstrap-autostart.sh new file mode 100755 index 00000000..1ff43850 --- /dev/null +++ b/coin/provisioning/qtci-linux-Ubuntu-22.04-x86_64/90-bootstrap-autostart.sh @@ -0,0 +1,3 @@ +#!/usr/bin/env bash + +source "${BASH_SOURCE%/*}/../common/linux/bootstrap-autostart.sh" diff --git a/coin/provisioning/qtci-linux-Ubuntu-22.04-x86_64/90-install-ffmpeg.sh b/coin/provisioning/qtci-linux-Ubuntu-22.04-x86_64/90-install-ffmpeg.sh new file mode 100755 index 00000000..61da9b7b --- /dev/null +++ b/coin/provisioning/qtci-linux-Ubuntu-22.04-x86_64/90-install-ffmpeg.sh @@ -0,0 +1,3 @@ +#!/usr/bin/env bash + +source "${BASH_SOURCE%/*}/../common/unix/install-ffmpeg.sh" "linux" diff --git a/coin/provisioning/qtci-linux-Ubuntu-22.04-x86_64/90-mimer.sh b/coin/provisioning/qtci-linux-Ubuntu-22.04-x86_64/90-mimer.sh new file mode 100755 index 00000000..f06ca1c8 --- /dev/null +++ b/coin/provisioning/qtci-linux-Ubuntu-22.04-x86_64/90-mimer.sh @@ -0,0 +1,8 @@ +#!/usr/bin/env bash +# Copyright (C) 2022 The Qt Company Ltd. +# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only + +set -ex + +BASEDIR=$(dirname "$0") +"$BASEDIR/../common/linux/mimersql.sh" "openssl-3" "deb" diff --git a/coin/provisioning/qtci-linux-Ubuntu-22.04-x86_64/90-squish.sh b/coin/provisioning/qtci-linux-Ubuntu-22.04-x86_64/90-squish.sh new file mode 100755 index 00000000..f803ccc1 --- /dev/null +++ b/coin/provisioning/qtci-linux-Ubuntu-22.04-x86_64/90-squish.sh @@ -0,0 +1,6 @@ +#!/usr/bin/env bash +#Copyright (C) 2023 The Qt Company Ltd +#SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only +BASEDIR=$(dirname "$0") +"$BASEDIR/../common/unix/squishInstall.sh" + diff --git a/coin/provisioning/qtci-linux-Ubuntu-22.04-x86_64/91-squish-coco.sh b/coin/provisioning/qtci-linux-Ubuntu-22.04-x86_64/91-squish-coco.sh new file mode 100755 index 00000000..e42a5373 --- /dev/null +++ b/coin/provisioning/qtci-linux-Ubuntu-22.04-x86_64/91-squish-coco.sh @@ -0,0 +1,6 @@ +#!/bin/bash +#Copyright (C) 2023 The Qt Company Ltd +#SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only + +# shellcheck source=../common/linux/squish-coco.sh +source "${BASH_SOURCE%/*}/../common/linux/squish-coco.sh" diff --git a/coin/provisioning/qtci-linux-Ubuntu-22.04-x86_64/92-sbuild.sh b/coin/provisioning/qtci-linux-Ubuntu-22.04-x86_64/92-sbuild.sh new file mode 100755 index 00000000..b178d71a --- /dev/null +++ b/coin/provisioning/qtci-linux-Ubuntu-22.04-x86_64/92-sbuild.sh @@ -0,0 +1,57 @@ +#!/usr/bin/env bash +# Copyright (C) 2021 The Qt Company Ltd. +# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only + +# Setups sbuild environment + +tee ~/.sbuildrc << EOF +############################################################################## +# PACKAGE BUILD RELATED (additionally produce _source.changes) +############################################################################## +# -d +\$distribution = 'stable'; +# -A +\$build_arch_all = 1; +# -s +\$build_source = 1; +# -v +\$verbose = 1; +# parallel build +\$ENV{'DEB_BUILD_OPTIONS'} = 'parallel=8'; +############################################################################## +# POST-BUILD RELATED (turn off functionality by setting variables to 0) +############################################################################## +\$run_lintian = 1; +\$lintian_opts = ['-i', '-I']; +\$run_piuparts = 0; +\$piuparts_opts = ['--schroot', 'stable-amd64-sbuild', '--no-eatmydata']; +\$run_autopkgtest = 0; +\$autopkgtest_root_args = ''; +\$autopkgtest_opts = [ '--', 'schroot', '%r-%a-sbuild' ]; + +############################################################################## +# PERL MAGIC +############################################################################## +1; +EOF + +# Add user group +sudo sbuild-adduser "$LOGNAME" +newgrp sbuild + +# Create chroot +sudo sbuild-createchroot --include=eatmydata,ccache,gnupg,ca-certificates stable /srv/chroot/stable-amd64 + +# For ubuntu 22.04 +echo "Create chroot for Ubuntu Jammy" +## ccache can't be found with Jammy +sudo sbuild-createchroot --include=eatmydata,gnupg,ca-certificates jammy /srv/chroot/jammy-amd64 http://archive.ubuntu.com/ubuntu/ +echo "Done creating chroot for Ubuntu Jammy" + +# Update chroot. +sudo sbuild-update -udcar stable + + + + + diff --git a/coin/provisioning/qtci-linux-Ubuntu-22.04-x86_64/93-axivion-bauhaus-suite.sh b/coin/provisioning/qtci-linux-Ubuntu-22.04-x86_64/93-axivion-bauhaus-suite.sh new file mode 100755 index 00000000..8cecbbc3 --- /dev/null +++ b/coin/provisioning/qtci-linux-Ubuntu-22.04-x86_64/93-axivion-bauhaus-suite.sh @@ -0,0 +1,6 @@ +#!/bin/bash +#Copyright (C) 2023 The Qt Company Ltd +#SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only + +# shellcheck source=../common/linux/axivion-bauhaus-suite.sh +source "${BASH_SOURCE%/*}/../common/linux/axivion-bauhaus-suite.sh" diff --git a/coin/provisioning/qtci-linux-Ubuntu-22.04-x86_64/93-download-files-for-sbuild.sh b/coin/provisioning/qtci-linux-Ubuntu-22.04-x86_64/93-download-files-for-sbuild.sh new file mode 100755 index 00000000..8b8530a3 --- /dev/null +++ b/coin/provisioning/qtci-linux-Ubuntu-22.04-x86_64/93-download-files-for-sbuild.sh @@ -0,0 +1,16 @@ +#!/usr/bin/env bash +# Copyright (C) 2023 The Qt Company Ltd. +# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only + +# Get required deb files for sbuild to build qt debian packages for Ubuntu jammy +mkdir -p /home/qt/debian_packages +cd /home/qt/debian_packages || exit +# Backported cmake 3.24 +wget https://ci-files01-hki.intra.qt.io/input/debian/cmake/amd64-jammy/cmake-3.24-deb.tar.gz +tar xzf cmake-3.24-deb.tar.gz +rm -rf cmake-3.24-deb.tar.gz +# get rest of ready made Ubuntu jammy arm debian packages +# so that sbuild can find those + +wget http://ci-files01-hki.ci.qt.io/input/debian/icu/amd64-jammy/libicu-56.1-qt_56.1-1_amd64.deb +wget http://ci-files01-hki.ci.qt.io/input/debian/icu/amd64-jammy/libicu-56.1-qt-dev_56.1-1_amd64.deb diff --git a/coin/provisioning/qtci-linux-Ubuntu-22.04-x86_64/93-lcov.sh b/coin/provisioning/qtci-linux-Ubuntu-22.04-x86_64/93-lcov.sh new file mode 100755 index 00000000..de4a74d5 --- /dev/null +++ b/coin/provisioning/qtci-linux-Ubuntu-22.04-x86_64/93-lcov.sh @@ -0,0 +1,9 @@ +#!/usr/bin/env bash +# Copyright (C) 2024 The Qt Company Ltd. +# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only + +# Install lcov 2.0 from 24.04/noble numbat + +echo "Installing lcov" +wget https://ci-files01-hki.ci.qt.io/input/lcov/lcov_2.0-4ubuntu1_all.deb +sudo DEBIAN_FRONTEND=noninteractive apt-get -q -y -o DPkg::Lock::Timeout=300 install -f ./lcov_2.0-4ubuntu1_all.deb diff --git a/coin/provisioning/qtci-linux-Ubuntu-22.04-x86_64/99-cleanup.sh b/coin/provisioning/qtci-linux-Ubuntu-22.04-x86_64/99-cleanup.sh new file mode 100755 index 00000000..4d6e16ea --- /dev/null +++ b/coin/provisioning/qtci-linux-Ubuntu-22.04-x86_64/99-cleanup.sh @@ -0,0 +1,7 @@ +#!/usr/bin/env bash +# Copyright (C) 2022 The Qt Company Ltd. +# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only + +set -ex + +"$(dirname "$0")"/../common/linux/cleanup_cache.sh diff --git a/coin/provisioning/qtci-linux-Ubuntu-22.04-x86_64/99-enable_test_stacktraces.sh b/coin/provisioning/qtci-linux-Ubuntu-22.04-x86_64/99-enable_test_stacktraces.sh new file mode 100755 index 00000000..600b7850 --- /dev/null +++ b/coin/provisioning/qtci-linux-Ubuntu-22.04-x86_64/99-enable_test_stacktraces.sh @@ -0,0 +1,8 @@ +#!/usr/bin/env bash +#Copyright (C) 2023 The Qt Company Ltd +#SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only + +set -ex + +BASEDIR=$(dirname "$0") +"$BASEDIR"/../common/linux/enable_test_stacktraces.sh diff --git a/coin/provisioning/qtci-linux-Ubuntu-22.04-x86_64/99-version.sh b/coin/provisioning/qtci-linux-Ubuntu-22.04-x86_64/99-version.sh new file mode 100755 index 00000000..31821f6b --- /dev/null +++ b/coin/provisioning/qtci-linux-Ubuntu-22.04-x86_64/99-version.sh @@ -0,0 +1,6 @@ +#!/bin/bash +#Copyright (C) 2023 The Qt Company Ltd +#SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only + +BASEDIR=$(dirname "$0") +"$BASEDIR/../common/linux/ubuntu-version.sh" diff --git a/coin/provisioning/qtci-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..8796ad26 --- /dev/null +++ b/coin/provisioning/qtci-linux-Ubuntu-24.04-aarch64/02-apt.sh @@ -0,0 +1,243 @@ +#!/usr/bin/env bash +# Copyright (C) 2022 The Qt Company Ltd. +# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only + +# Install required packages with APT + +# shellcheck source=../common/linux/apt_wait_loop.sh +source "${BASH_SOURCE%/*}/../common/linux/apt_wait_loop.sh" + +echo "Disabling auto update" +sudo sed -i 's/APT::Periodic::Update-Package-Lists "1";/APT::Periodic::Update-Package-Lists "0";/' /etc/apt/apt.conf.d/10periodic +for service in apt-daily.timer apt-daily-upgrade.timer apt-daily.service apt-daily-upgrade.service; do + sudo systemctl stop $service + sudo systemctl disable $service +done + +function set_internal_repo { + + # Stop fetching the dep-11 metadata, since our mirrors do not handle them well + sudo mv /etc/apt/apt.conf.d/50appstream{,.disabled} + + sudo tee "/etc/apt/sources.list.d/ubuntu.list" > /dev/null <<-EOC + deb [arch=aarch64] http://repo-clones.ci.qt.io/apt-mirror/mirror/ubuntu/ noble main restricted universe multiverse + deb [arch=aarch64] http://repo-clones.ci.qt.io/apt-mirror/mirror/ubuntu/ noble-updates main restricted universe multiverse + deb [arch=aarch64] http://repo-clones.ci.qt.io/apt-mirror/mirror/ubuntu/ noble-backports main restricted universe + deb [arch=aarch64] http://repo-clones.ci.qt.io/apt-mirror/mirror/ubuntu/ noble-security main restricted universe multiverse +EOC +} + +#(ping -c 3 repo-clones.ci.qt.io && set_internal_repo) || echo "Internal package repository not found. Using public repositories." +echo "Internal package repository not loading Translation en package (QTQAINFRA-6297). Using public repositories." + +# Make sure needed ca-certificates are available +sudo apt-get install --reinstall ca-certificates + +# Git is not needed by builds themselves, but is nice to have +# immediately as one starts debugging +installPackages+=(git) +# 7zip is a needed decompressing tool +installPackages+=(p7zip-full) +# To be able to mount yocto-cache during builds +installPackages+=(nfs-common) +# libssl-dev provides headers for OpenSSL +installPackages+=(libssl-dev) +# Needed libraries for X11 support accordingly to https://wiki.qt.io/Building_Qt_5_from_Git +installPackages+=("^libxcb.*") +installPackages+=(libxkbcommon-dev) +installPackages+=(libxkbcommon-x11-dev) +installPackages+=(libx11-xcb-dev) +installPackages+=(libglu1-mesa-dev) +installPackages+=(libxrender-dev) +installPackages+=(libxi-dev) +# Enable linking to system dbus +installPackages+=(libdbus-1-dev) +# Needed libraries for WebEngine +installPackages+=(udev) +installPackages+=(libudev-dev) +installPackages+=(libdrm-dev) +installPackages+=(libegl1-mesa-dev) +installPackages+=(libfontconfig1-dev) +installPackages+=(libgbm-dev) +installPackages+=(liblcms2-dev) +installPackages+=(libpci-dev) +installPackages+=(libre2-dev) +installPackages+=(libsnappy-dev) +installPackages+=(libva-dev) +installPackages+=(libvpx-dev) +installPackages+=(libxkbfile-dev) +installPackages+=(libxshmfence-dev) +installPackages+=(libxss-dev) +# installPackages+=(nodejs) too old +installPackages+=(python3-html5lib) + +# Common event loop handling +installPackages+=(libglib2.0-dev) +# MySQL support +installPackages+=(libmysqlclient-dev) +# PostgreSQL support +installPackages+=(libpq-dev) +# SQLite support +installPackages+=(libsqlite3-dev) +# ODBC support +installPackages+=(unixodbc-dev) +# Support for FreeType font engine +installPackages+=(libfreetype6-dev) +# Enable the usage of system jpeg libraries +installPackages+=(libjpeg-dev) +# Enable support for printer driver +installPackages+=(libcups2-dev) +# Enable support for printer test +installPackages+=(cups-pdf) +# Install libraries needed for QtMultimedia to be able to support all plugins +installPackages+=(libasound2-dev) +installPackages+=(libgstreamer1.0-dev) +installPackages+=(libgstreamer-plugins-base1.0-dev) +installPackages+=(libgstreamer-plugins-good1.0-dev) +installPackages+=(libgstreamer-plugins-bad1.0-dev) +installPackages+=(gstreamer1.0-libav) +installPackages+=(gstreamer1.0-plugins-base) +installPackages+=(gstreamer1.0-plugins-good) +installPackages+=(gstreamer1.0-plugins-bad) +installPackages+=(gstreamer1.0-plugins-rtp) +installPackages+=(gstreamer1.0-plugins-ugly) +installPackages+=(libgstreamer-gl1.0-0) +installPackages+=(gir1.2-gst-plugins-base-1.0) +installPackages+=(gir1.2-gst-plugins-bad-1.0) +installPackages+=(yasm) +installPackages+=(libva-dev) +# for QtMultimedia streaming tests +installPackages+=(vlc-bin) +installPackages+=(vlc-plugin-base) + +# 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+=(python3-venv) +installPackages+=(virtualenv) +installPackages+=(python3-wheel) +installPackages+=(python-is-python3) + +# Automates interactive applications (Needed by RTA to automate configure testing) +installPackages+=(expect) +installPackages+=(mesa-common-dev) + +# TODO: Ubuntu 24.04 Replacement +#installPackages+=(libgl1-mesa-glx) +installPackages+=(libglx-mesa0) + +installPackages+=(libgl1-mesa-dev) +installPackages+=(libegl1-mesa-dev) +installPackages+=(libegl1) +installPackages+=(libegl-mesa0) +installPackages+=(libegl-dev) +installPackages+=(libglvnd-dev) +installPackages+=(libgles2-mesa-dev) +installPackages+=(curl) +installPackages+=(libcurl4-openssl-dev) +installPackages+=(libicu-dev) +installPackages+=(zlib1g-dev) +installPackages+=(zlib1g) +installPackages+=(openjdk-8-jdk) +#Java 11 for Android +installPackages+=(openjdk-11-jdk) +installPackages+=(libgtk-3-dev) +installPackages+=(ninja-build) +installPackages+=(libssl-dev) +installPackages+=(libxcursor-dev) +installPackages+=(libxcomposite-dev) +installPackages+=(libxdamage-dev) +installPackages+=(libxrandr-dev) +installPackages+=(libfontconfig1-dev) +installPackages+=(libsrtp2-dev) +installPackages+=(libwebp-dev) +installPackages+=(libjsoncpp-dev) +installPackages+=(libopus-dev) +installPackages+=(libminizip-dev) +installPackages+=(libavutil-dev) +installPackages+=(libavformat-dev) +installPackages+=(libavcodec-dev) +installPackages+=(libevent-dev) +installPackages+=(bison) +installPackages+=(flex) +installPackages+=(gperf) +installPackages+=(libasound2-dev) +installPackages+=(libpulse-dev) +installPackages+=(libxtst-dev) +installPackages+=(libnspr4-dev) +installPackages+=(libnss3-dev) +installPackages+=(libnss3) +installPackages+=(libopenal-dev) +installPackages+=(libbluetooth-dev) +# Needed for qtspeech +installPackages+=(libspeechd-dev) +#Pypdf for PDF reading in RTA tests +installPackages+=(python3-pypdf2) +# Needed for b2qt +installPackages+=(git-lfs) +installPackages+=(chrpath) +installPackages+=(gawk) +installPackages+=(texinfo) +# Needed for Poppler test in QtWebEngine +installPackages+=(libpoppler-cpp-dev) +# Needed for QtCore +installPackages+=(libdouble-conversion-dev) +installPackages+=(libpcre2-dev) +# Needed for testlib selftests +installPackages+=(valgrind) +# Needed for qtgampepad +installPackages+=(libsdl2-2.0) +installPackages+=(libsdl2-dev) +# Needed for qtwebkit +installPackages+=(ruby) +installPackages+=(libxslt1-dev) +installPackages+=(libxml2-dev) +installPackages+=(libhyphen-dev) +# For remote access +installPackages+=(ssh) +# For bitbake +installPackages+=(diffstat) +installPackages+=(binfmt-support) +installPackages+=(zstd) +installPackages+=(lz4) +# Vulkan is needed for examples +installPackages+=(libvulkan-dev) +# Needed for qtdltlogging +installPackages+=(libdlt-dev) +# For QNX +installPackages+=(nfs-kernel-server) +installPackages+=(net-tools) +installPackages+=(bridge-utils) +# For Debian packaging +installPackages+=(sbuild) +installPackages+=(ubuntu-dev-tools) +# cifs-utils, for mounting smb drive +installPackages+=(keyutils) +installPackages+=(cifs-utils) +# VxWorks QEMU network setup (tunctl) +installPackages+=(uml-utilities) +# used for reading vcpkg packages version, from vcpkg.json +installPackages+=(jq) +# For building +installPackages+=(cmake) + +echo "Running update for apt" +waitLoop +sudo apt-get update +echo "Installing packages" +waitLoop +sudo DEBIAN_FRONTEND=noninteractive apt-get -q -y -o DPkg::Lock::Timeout=300 install "${installPackages[@]}" + +# Configure pip +pip config --user set global.index https://ci-files01-hki.ci.qt.io/input/python_module_cache +pip config --user set global.extra-index-url https://pypi.org/simple/ + +source "${BASH_SOURCE%/*}/../common/unix/SetEnvVar.sh" +# SetEnvVar "PATH" "/usr/lib/nodejs-mozilla/bin:\$PATH" + +OpenSSLVersion="$(openssl version |cut -b 9-14)" +echo "System's OpenSSL = $OpenSSLVersion" >> ~/versions.txt diff --git a/coin/provisioning/qtci-linux-Ubuntu-24.04-aarch64/02-disable-notifications.sh b/coin/provisioning/qtci-linux-Ubuntu-24.04-aarch64/02-disable-notifications.sh new file mode 100644 index 00000000..1b9ed6c9 --- /dev/null +++ b/coin/provisioning/qtci-linux-Ubuntu-24.04-aarch64/02-disable-notifications.sh @@ -0,0 +1,6 @@ +#!/usr/bin/env bash +#Copyright (C) 2023 The Qt Company Ltd +#SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only + +# shellcheck source=../common/linux/disable-notifications.sh +source "${BASH_SOURCE%/*}/../common/linux/disable-notifications.sh" diff --git a/coin/provisioning/qtci-linux-Ubuntu-24.04-aarch64/02-disable-ntp.sh b/coin/provisioning/qtci-linux-Ubuntu-24.04-aarch64/02-disable-ntp.sh new file mode 100644 index 00000000..1995aa14 --- /dev/null +++ b/coin/provisioning/qtci-linux-Ubuntu-24.04-aarch64/02-disable-ntp.sh @@ -0,0 +1,6 @@ +#!/usr/bin/env bash +#Copyright (C) 2023 The Qt Company Ltd +#SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only + +# shellcheck source=../common/linux/disable-ntp_linux.sh +source "${BASH_SOURCE%/*}/../common/linux/disable-ntp_linux.sh" diff --git a/coin/provisioning/qtci-linux-Ubuntu-24.04-aarch64/02-remove-apport.sh b/coin/provisioning/qtci-linux-Ubuntu-24.04-aarch64/02-remove-apport.sh new file mode 100644 index 00000000..879f3ffb --- /dev/null +++ b/coin/provisioning/qtci-linux-Ubuntu-24.04-aarch64/02-remove-apport.sh @@ -0,0 +1,6 @@ +#!/usr/bin/env bash +#Copyright (C) 2023 The Qt Company Ltd +#SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only + +# shellcheck source=../common/linux/remove-apport.sh +source "${BASH_SOURCE%/*}/../common/linux/remove-apport.sh" diff --git a/coin/provisioning/qtci-linux-Ubuntu-24.04-aarch64/02-remove-update_notifier.sh b/coin/provisioning/qtci-linux-Ubuntu-24.04-aarch64/02-remove-update_notifier.sh new file mode 100644 index 00000000..f4a5119f --- /dev/null +++ b/coin/provisioning/qtci-linux-Ubuntu-24.04-aarch64/02-remove-update_notifier.sh @@ -0,0 +1,6 @@ +#!/usr/bin/env bash +#Copyright (C) 2023 The Qt Company Ltd +#SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only + +# shellcheck source=../common/linux/remove-update_notifier.sh +source "${BASH_SOURCE%/*}/../common/linux/remove-update_notifier.sh" diff --git a/coin/provisioning/qtci-linux-Ubuntu-24.04-aarch64/03-fix-bwrap-apparmor.sh b/coin/provisioning/qtci-linux-Ubuntu-24.04-aarch64/03-fix-bwrap-apparmor.sh new file mode 100644 index 00000000..e155338a --- /dev/null +++ b/coin/provisioning/qtci-linux-Ubuntu-24.04-aarch64/03-fix-bwrap-apparmor.sh @@ -0,0 +1,6 @@ +#!/usr/bin/env bash +# Copyright (C) 2024 The Qt Company Ltd. +# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only + +# shellcheck source=../common/linux/fix-bwrap-apparmor.sh +source "${BASH_SOURCE%/*}/../common/linux/fix-bwrap-apparmor.sh" diff --git a/coin/provisioning/qtci-linux-Ubuntu-24.04-aarch64/99-cleanup.sh b/coin/provisioning/qtci-linux-Ubuntu-24.04-aarch64/99-cleanup.sh new file mode 100644 index 00000000..4d6e16ea --- /dev/null +++ b/coin/provisioning/qtci-linux-Ubuntu-24.04-aarch64/99-cleanup.sh @@ -0,0 +1,7 @@ +#!/usr/bin/env bash +# Copyright (C) 2022 The Qt Company Ltd. +# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only + +set -ex + +"$(dirname "$0")"/../common/linux/cleanup_cache.sh diff --git a/coin/provisioning/qtci-linux-Ubuntu-24.04-aarch64/99-version.sh b/coin/provisioning/qtci-linux-Ubuntu-24.04-aarch64/99-version.sh new file mode 100644 index 00000000..31821f6b --- /dev/null +++ b/coin/provisioning/qtci-linux-Ubuntu-24.04-aarch64/99-version.sh @@ -0,0 +1,6 @@ +#!/bin/bash +#Copyright (C) 2023 The Qt Company Ltd +#SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only + +BASEDIR=$(dirname "$0") +"$BASEDIR/../common/linux/ubuntu-version.sh" diff --git a/coin/provisioning/qtci-linux-Ubuntu-24.04-x86_64/01-disable-updates.sh b/coin/provisioning/qtci-linux-Ubuntu-24.04-x86_64/01-disable-updates.sh new file mode 100644 index 00000000..4c9adc5f --- /dev/null +++ b/coin/provisioning/qtci-linux-Ubuntu-24.04-x86_64/01-disable-updates.sh @@ -0,0 +1,9 @@ +#!/usr/bin/env bash +# Copyright (C) 2023 The Qt Company Ltd. +# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only + +set -ex + +# Disalbe updates +echo "Disabling auto-upgrades" +sudo sed -i 's/"1"/"0"/g' /etc/apt/apt.conf.d/20auto-upgrades diff --git a/coin/provisioning/qtci-linux-Ubuntu-24.04-x86_64/01-disable_net_lso.sh b/coin/provisioning/qtci-linux-Ubuntu-24.04-x86_64/01-disable_net_lso.sh new file mode 100644 index 00000000..81e7d137 --- /dev/null +++ b/coin/provisioning/qtci-linux-Ubuntu-24.04-x86_64/01-disable_net_lso.sh @@ -0,0 +1,6 @@ +#!/bin/sh +#Copyright (C) 2023 The Qt Company Ltd +#SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only + +echo "ethtool -K \${DEVICE_IFACE} tso off" | sudo tee -a /etc/NetworkManager/dispatcher.d/pre-up.d/net_tso_off +sudo chmod +x /etc/NetworkManager/dispatcher.d/pre-up.d/net_tso_off diff --git a/coin/provisioning/qtci-linux-Ubuntu-24.04-x86_64/01-install_telegraf.sh b/coin/provisioning/qtci-linux-Ubuntu-24.04-x86_64/01-install_telegraf.sh new file mode 100644 index 00000000..729f9003 --- /dev/null +++ b/coin/provisioning/qtci-linux-Ubuntu-24.04-x86_64/01-install_telegraf.sh @@ -0,0 +1,3 @@ +#!/bin/sh + +"$(dirname "$0")"/../common/unix/telegraf_install.sh diff --git a/coin/provisioning/qtci-linux-Ubuntu-24.04-x86_64/01-set-ulimit.sh b/coin/provisioning/qtci-linux-Ubuntu-24.04-x86_64/01-set-ulimit.sh new file mode 100644 index 00000000..e951e82a --- /dev/null +++ b/coin/provisioning/qtci-linux-Ubuntu-24.04-x86_64/01-set-ulimit.sh @@ -0,0 +1,8 @@ +#!/usr/bin/env bash +#Copyright (C) 2023 The Qt Company Ltd +#SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only + +set -ex + +BASEDIR=$(dirname "$0") +"$BASEDIR/../common/linux/set_ulimit.sh" diff --git a/coin/provisioning/qtci-linux-Ubuntu-24.04-x86_64/01-systemsetup.sh b/coin/provisioning/qtci-linux-Ubuntu-24.04-x86_64/01-systemsetup.sh new file mode 100644 index 00000000..98744822 --- /dev/null +++ b/coin/provisioning/qtci-linux-Ubuntu-24.04-x86_64/01-systemsetup.sh @@ -0,0 +1,43 @@ +#!/usr/bin/env bash +# Copyright (C) 2017 The Qt Company Ltd. +# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only + +# This script modifies system settings for automated use + +set -ex + +# shellcheck source=../common/unix/check_and_set_proxy.sh +source "${BASH_SOURCE%/*}/../common/unix/check_and_set_proxy.sh" + +NTS_IP=10.212.2.216 + +echo "Set timezone to UTC." +sudo timedatectl set-timezone Etc/UTC +echo "Timeout for blanking the screen (0 = never)" +gsettings set org.gnome.desktop.session idle-delay 0 +echo "Prevents screen lock when screesaver goes active." +gsettings set org.gnome.desktop.screensaver lock-enabled false +echo "Set grub timeout to 0" +sudo sed -i 's|GRUB_TIMEOUT=10|GRUB_TIMEOUT=0|g' /etc/default/grub +sudo update-grub + +# https://bugs.launchpad.net/ubuntu/+source/systemd/+bug/1624320 +# Checking if Ubuntu 20.04 works without this +#echo "Setting up workaround for Ubuntu systemd resolve bug" +#sudo rm -f /etc/resolv.conf +#sudo ln -s /run/systemd/resolve/resolv.conf /etc/resolv.conf + +# remove hostname to get unique based on IP address +sudo rm /etc/hostname + +echo "Set Network Test Server address to $NTS_IP in /etc/hosts" +echo "$NTS_IP qt-test-server qt-test-server.qt-test-net" | sudo tee -a /etc/hosts + +echo 'LC_ALL=en_US.UTF8' | sudo tee /etc/default/locale + +if [ "$http_proxy" != "" ]; then + echo "Acquire::http::Proxy \"$proxy\";" | sudo tee -a /etc/apt/apt.conf +fi + +# This script diverts qtlogging.ini file so we don't get debugging related auto-test failures. +sudo dpkg-divert --divert /etc/xdg/QtProject/qtlogging.ini.foo --rename /etc/xdg/QtProject/qtlogging.ini diff --git a/coin/provisioning/qtci-linux-Ubuntu-24.04-x86_64/02-apt.sh b/coin/provisioning/qtci-linux-Ubuntu-24.04-x86_64/02-apt.sh new file mode 100644 index 00000000..cf108d72 --- /dev/null +++ b/coin/provisioning/qtci-linux-Ubuntu-24.04-x86_64/02-apt.sh @@ -0,0 +1,254 @@ +#!/usr/bin/env bash +# Copyright (C) 2022 The Qt Company Ltd. +# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only + +# Install required packages with APT + +# shellcheck source=../common/linux/apt_wait_loop.sh +source "${BASH_SOURCE%/*}/../common/linux/apt_wait_loop.sh" + +echo "Disabling auto update" +sudo sed -i 's/APT::Periodic::Update-Package-Lists "1";/APT::Periodic::Update-Package-Lists "0";/' /etc/apt/apt.conf.d/10periodic +for service in apt-daily.timer apt-daily-upgrade.timer apt-daily.service apt-daily-upgrade.service; do + sudo systemctl stop $service + sudo systemctl disable $service +done + +function set_internal_repo { + + # Stop fetching the dep-11 metadata, since our mirrors do not handle them well + sudo mv /etc/apt/apt.conf.d/50appstream{,.disabled} + + sudo tee "/etc/apt/sources.list.d/ubuntu.list" > /dev/null <<-EOC + deb [arch=amd64] http://repo-clones.ci.qt.io/apt-mirror/mirror/ubuntu/ noble main restricted universe multiverse + deb [arch=amd64] http://repo-clones.ci.qt.io/apt-mirror/mirror/ubuntu/ noble-updates main restricted universe multiverse + deb [arch=amd64] http://repo-clones.ci.qt.io/apt-mirror/mirror/ubuntu/ noble-backports main restricted universe + deb [arch=amd64] http://repo-clones.ci.qt.io/apt-mirror/mirror/ubuntu/ noble-security main restricted universe multiverse + deb [arch=i386] http://repo-clones.ci.qt.io/apt-mirror/mirror/ubuntu/ noble main restricted + deb [arch=i386] http://repo-clones.ci.qt.io/apt-mirror/mirror/ubuntu/ noble-updates main restricted + deb [arch=i386] http://repo-clones.ci.qt.io/apt-mirror/mirror/ubuntu/ noble universe +EOC +} + +#(ping -c 3 repo-clones.ci.qt.io && set_internal_repo) || echo "Internal package repository not found. Using public repositories." +echo "Internal package repository not loading Translation en package (QTQAINFRA-6297). Using public repositories." + +# Make sure needed ca-certificates are available +sudo apt-get install --reinstall ca-certificates + +# Git is not needed by builds themselves, but is nice to have +# immediately as one starts debugging +installPackages+=(git) +# 7zip is a needed decompressing tool +installPackages+=(p7zip-full) +# To be able to mount yocto-cache during builds +installPackages+=(nfs-common) +# libssl-dev provides headers for OpenSSL +installPackages+=(libssl-dev) +# Needed libraries for X11 support accordingly to https://wiki.qt.io/Building_Qt_5_from_Git +installPackages+=("^libxcb.*") +installPackages+=(libxkbcommon-dev) +installPackages+=(libxkbcommon-x11-dev) +installPackages+=(libx11-xcb-dev) +installPackages+=(libglu1-mesa-dev) +installPackages+=(libxrender-dev) +installPackages+=(libxi-dev) +# Enable linking to system dbus +installPackages+=(libdbus-1-dev) +# Needed libraries for WebEngine +installPackages+=(udev) +installPackages+=(libudev-dev) +installPackages+=(libdrm-dev) +installPackages+=(libegl1-mesa-dev) +installPackages+=(libfontconfig1-dev) +installPackages+=(libgbm-dev) +installPackages+=(liblcms2-dev) +installPackages+=(libpci-dev) +installPackages+=(libre2-dev) +installPackages+=(libsnappy-dev) +installPackages+=(libva-dev) +installPackages+=(libvpx-dev) +installPackages+=(libxkbfile-dev) +installPackages+=(libxshmfence-dev) +installPackages+=(libxss-dev) +# installPackages+=(nodejs) too old +installPackages+=(python3-html5lib) + +# Common event loop handling +installPackages+=(libglib2.0-dev) +# MySQL support +installPackages+=(libmysqlclient-dev) +# PostgreSQL support +installPackages+=(libpq-dev) +# SQLite support +installPackages+=(libsqlite3-dev) +# ODBC support +installPackages+=(unixodbc-dev) +# Support for FreeType font engine +installPackages+=(libfreetype6-dev) +# Enable the usage of system jpeg libraries +installPackages+=(libjpeg-dev) +# Enable support for printer driver +installPackages+=(libcups2-dev) +# Enable support for printer test +installPackages+=(cups-pdf) +# Install libraries needed for QtMultimedia to be able to support all plugins +installPackages+=(libasound2-dev) +installPackages+=(libgstreamer1.0-dev) +installPackages+=(libgstreamer-plugins-base1.0-dev) +installPackages+=(libgstreamer-plugins-good1.0-dev) +installPackages+=(libgstreamer-plugins-bad1.0-dev) +installPackages+=(libgstreamer-gl1.0-0) +installPackages+=(gir1.2-gst-plugins-base-1.0) +installPackages+=(gir1.2-gst-plugins-bad-1.0) +installPackages+=(yasm) +installPackages+=(libva-dev) +# for QtMultimedia streaming tests +installPackages+=(vlc-bin) +installPackages+=(vlc-plugin-base) + +# Support for cross-building to x86 (needed by WebEngine boot2qt builds) +installPackages+=(g++-multilib) +# python3 development package +installPackages+=(python3-dev) +installPackages+=(python3-pip) +installPackages+=(python3-venv) +installPackages+=(virtualenv) +installPackages+=(python3-wheel) +installPackages+=(python-is-python3) +# TODO: Ubuntu 24.04 Removal - not available +# python2 development package +#installPackages+=(python2-dev) + +# Automates interactive applications (Needed by RTA to automate configure testing) +installPackages+=(expect) +installPackages+=(mesa-common-dev) + +# TODO: Ubuntu 24.04 Replacement +#installPackages+=(libgl1-mesa-glx) +installPackages+=(libglx-mesa0) + +installPackages+=(libgl1-mesa-dev) +installPackages+=(libegl1-mesa-dev) +installPackages+=(libegl1) +installPackages+=(libegl-mesa0) +installPackages+=(libegl-dev) +installPackages+=(libglvnd-dev) +installPackages+=(libgles2-mesa-dev) +installPackages+=(curl) +installPackages+=(libcurl4-openssl-dev) +installPackages+=(libicu-dev) +installPackages+=(zlib1g-dev) +installPackages+=(zlib1g) +installPackages+=(openjdk-8-jdk) +#Java 17 for Android, needed by RTA +installPackages+=(openjdk-17-jdk) +installPackages+=(libgtk-3-dev) +installPackages+=(ninja-build) +installPackages+=(libssl-dev) +installPackages+=(libxcursor-dev) +installPackages+=(libxcomposite-dev) +installPackages+=(libxdamage-dev) +installPackages+=(libxrandr-dev) +installPackages+=(libfontconfig1-dev) +installPackages+=(libsrtp2-dev) +installPackages+=(libwebp-dev) +installPackages+=(libjsoncpp-dev) +installPackages+=(libopus-dev) +installPackages+=(libminizip-dev) +installPackages+=(libavutil-dev) +installPackages+=(libavformat-dev) +installPackages+=(libavcodec-dev) +installPackages+=(libevent-dev) +installPackages+=(bison) +installPackages+=(flex) +installPackages+=(gperf) +installPackages+=(libasound2-dev) +installPackages+=(libpulse-dev) +installPackages+=(libxtst-dev) +installPackages+=(libnspr4-dev) +installPackages+=(libnss3-dev) +installPackages+=(libnss3) +installPackages+=(libopenal-dev) +installPackages+=(libbluetooth-dev) +#VirtualBox for RTA +installPackages+=(virtualbox) +installPackages+=(dkms) +# Needed for qtspeech +installPackages+=(libspeechd-dev) +#Pypdf for PDF reading in RTA tests +installPackages+=(python3-pypdf2) +# Needed for b2qt +installPackages+=(git-lfs) +installPackages+=(chrpath) +installPackages+=(gawk) +installPackages+=(texinfo) +# Needed for Poppler test in QtWebEngine +installPackages+=(libpoppler-cpp-dev) +# Needed for QtCore +installPackages+=(libdouble-conversion-dev) +installPackages+=(libpcre2-dev) +# Needed for testlib selftests +installPackages+=(valgrind) +# Needed for qtgampepad +installPackages+=(libsdl2-2.0) +installPackages+=(libsdl2-dev) +# Needed for qtwebkit +installPackages+=(ruby) +installPackages+=(libxslt1-dev) +installPackages+=(libxml2-dev) +installPackages+=(libhyphen-dev) +# For remote access +installPackages+=(ssh) +# For bitbake +installPackages+=(diffstat) +installPackages+=(binfmt-support) +installPackages+=(zstd) +installPackages+=(lz4) +# Vulkan is needed for examples +installPackages+=(libvulkan-dev) +# Needed for qtdltlogging +installPackages+=(libdlt-dev) +# For integrity +installPackages+=(libc6:i386) +# TODO: Ubuntu 24.04 Removal - not available +#installPackages+=(libncurses5:i386) + +installPackages+=(libstdc++6:i386) +installPackages+=(libx11-6:i386) +installPackages+=(lib32z1) +installPackages+=(linux-libc-dev:i386) +installPackages+=(libxcursor1:i386) +installPackages+=(libc6-dev-i386) +sudo dpkg --add-architecture i386 +# For QNX +installPackages+=(nfs-kernel-server) +installPackages+=(net-tools) +installPackages+=(bridge-utils) +# For Debian packaging +installPackages+=(sbuild) +installPackages+=(ubuntu-dev-tools) +# cifs-utils, for mounting smb drive +installPackages+=(keyutils) +installPackages+=(cifs-utils) +# VxWorks QEMU network setup (tunctl) +installPackages+=(uml-utilities) +# used for reading vcpkg packages version, from vcpkg.json +installPackages+=(jq) + +echo "Running update for apt" +waitLoop +sudo apt-get update +echo "Installing packages" +waitLoop +sudo DEBIAN_FRONTEND=noninteractive apt-get -q -y -o DPkg::Lock::Timeout=300 install "${installPackages[@]}" + +# Configure pip +pip config --user set global.index https://ci-files01-hki.ci.qt.io/input/python_module_cache +pip config --user set global.extra-index-url https://pypi.org/simple/ + +source "${BASH_SOURCE%/*}/../common/unix/SetEnvVar.sh" +# SetEnvVar "PATH" "/usr/lib/nodejs-mozilla/bin:\$PATH" + +OpenSSLVersion="$(openssl version |cut -b 9-14)" +echo "System's OpenSSL = $OpenSSLVersion" >> ~/versions.txt diff --git a/coin/provisioning/qtci-linux-Ubuntu-24.04-x86_64/02-disable-notifications.sh b/coin/provisioning/qtci-linux-Ubuntu-24.04-x86_64/02-disable-notifications.sh new file mode 100644 index 00000000..1b9ed6c9 --- /dev/null +++ b/coin/provisioning/qtci-linux-Ubuntu-24.04-x86_64/02-disable-notifications.sh @@ -0,0 +1,6 @@ +#!/usr/bin/env bash +#Copyright (C) 2023 The Qt Company Ltd +#SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only + +# shellcheck source=../common/linux/disable-notifications.sh +source "${BASH_SOURCE%/*}/../common/linux/disable-notifications.sh" diff --git a/coin/provisioning/qtci-linux-Ubuntu-24.04-x86_64/02-disable-ntp.sh b/coin/provisioning/qtci-linux-Ubuntu-24.04-x86_64/02-disable-ntp.sh new file mode 100644 index 00000000..1995aa14 --- /dev/null +++ b/coin/provisioning/qtci-linux-Ubuntu-24.04-x86_64/02-disable-ntp.sh @@ -0,0 +1,6 @@ +#!/usr/bin/env bash +#Copyright (C) 2023 The Qt Company Ltd +#SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only + +# shellcheck source=../common/linux/disable-ntp_linux.sh +source "${BASH_SOURCE%/*}/../common/linux/disable-ntp_linux.sh" diff --git a/coin/provisioning/qtci-linux-Ubuntu-24.04-x86_64/02-remove-apport.sh b/coin/provisioning/qtci-linux-Ubuntu-24.04-x86_64/02-remove-apport.sh new file mode 100644 index 00000000..879f3ffb --- /dev/null +++ b/coin/provisioning/qtci-linux-Ubuntu-24.04-x86_64/02-remove-apport.sh @@ -0,0 +1,6 @@ +#!/usr/bin/env bash +#Copyright (C) 2023 The Qt Company Ltd +#SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only + +# shellcheck source=../common/linux/remove-apport.sh +source "${BASH_SOURCE%/*}/../common/linux/remove-apport.sh" diff --git a/coin/provisioning/qtci-linux-Ubuntu-24.04-x86_64/02-remove-update_notifier.sh b/coin/provisioning/qtci-linux-Ubuntu-24.04-x86_64/02-remove-update_notifier.sh new file mode 100644 index 00000000..f4a5119f --- /dev/null +++ b/coin/provisioning/qtci-linux-Ubuntu-24.04-x86_64/02-remove-update_notifier.sh @@ -0,0 +1,6 @@ +#!/usr/bin/env bash +#Copyright (C) 2023 The Qt Company Ltd +#SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only + +# shellcheck source=../common/linux/remove-update_notifier.sh +source "${BASH_SOURCE%/*}/../common/linux/remove-update_notifier.sh" diff --git a/coin/provisioning/qtci-linux-Ubuntu-24.04-x86_64/03-install-nodejs.sh b/coin/provisioning/qtci-linux-Ubuntu-24.04-x86_64/03-install-nodejs.sh new file mode 100644 index 00000000..07121a36 --- /dev/null +++ b/coin/provisioning/qtci-linux-Ubuntu-24.04-x86_64/03-install-nodejs.sh @@ -0,0 +1,6 @@ +#!/usr/bin/env bash +# Copyright (C) 2023 The Qt Company Ltd. +# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only + +# shellcheck source=../common/linux/install-nodejs.sh +source "${BASH_SOURCE%/*}/../common/linux/install-nodejs.sh" diff --git a/coin/provisioning/qtci-linux-Ubuntu-24.04-x86_64/03-mount-vcpkg-cache-drive.sh b/coin/provisioning/qtci-linux-Ubuntu-24.04-x86_64/03-mount-vcpkg-cache-drive.sh new file mode 100644 index 00000000..ed49b3a5 --- /dev/null +++ b/coin/provisioning/qtci-linux-Ubuntu-24.04-x86_64/03-mount-vcpkg-cache-drive.sh @@ -0,0 +1,8 @@ +#!/usr/bin/env bash +# Copyright (C) 2023 The Qt Company Ltd. +# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only + +set -ex + +# shellcheck source=../common/linux/mount-vcpkg-cache-drive.sh +source "${BASH_SOURCE%/*}/../common/linux/mount-vcpkg-cache-drive.sh" diff --git a/coin/provisioning/qtci-linux-Ubuntu-24.04-x86_64/03-qemu.sh b/coin/provisioning/qtci-linux-Ubuntu-24.04-x86_64/03-qemu.sh new file mode 100644 index 00000000..5ed06f29 --- /dev/null +++ b/coin/provisioning/qtci-linux-Ubuntu-24.04-x86_64/03-qemu.sh @@ -0,0 +1,19 @@ +#!/usr/bin/env bash +# Copyright (C) 2021 The Qt Company Ltd. +# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only + +set -ex + +# shellcheck source=../common/unix/SetEnvVar.sh +source "${BASH_SOURCE%/*}/../common/unix/SetEnvVar.sh" + +# First test using QFont fails if fonts-noto-cjk is installed. This happens because +# running fontcache for that font takes > 5 mins when run on QEMU. Running fc-cache +# doesn't help since host version creates cache for a wrong architecture and running +# armv7 fc-cache segfaults on QEMU. +sudo DEBIAN_FRONTEND=noninteractive apt-get -y remove fonts-noto-cjk + +# Disable QtWayland window decorations, as they cause flakiness when used inside qemu (QTBUG-66173) +qemu_env="QT_WAYLAND_DISABLE_WINDOWDECORATION=1" + +SetEnvVar "QEMU_SET_ENV" "\"${qemu_env}\"" diff --git a/coin/provisioning/qtci-linux-Ubuntu-24.04-x86_64/04-libclang-v100-dyn.sh b/coin/provisioning/qtci-linux-Ubuntu-24.04-x86_64/04-libclang-v100-dyn.sh new file mode 100644 index 00000000..85c261ee --- /dev/null +++ b/coin/provisioning/qtci-linux-Ubuntu-24.04-x86_64/04-libclang-v100-dyn.sh @@ -0,0 +1,6 @@ +#!/usr/bin/env bash +#Copyright (C) 2023 The Qt Company Ltd +#SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only + +BASEDIR=$(dirname "$0") +"$BASEDIR/../common/unix/libclang-v100-dyn.sh" diff --git a/coin/provisioning/qtci-linux-Ubuntu-24.04-x86_64/04-libclang.sh b/coin/provisioning/qtci-linux-Ubuntu-24.04-x86_64/04-libclang.sh new file mode 100644 index 00000000..fac8d4e7 --- /dev/null +++ b/coin/provisioning/qtci-linux-Ubuntu-24.04-x86_64/04-libclang.sh @@ -0,0 +1,6 @@ +#!/usr/bin/env bash +#Copyright (C) 2023 The Qt Company Ltd +#SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only + +BASEDIR=$(dirname "$0") +"$BASEDIR/../common/unix/libclang.sh" diff --git a/coin/provisioning/qtci-linux-Ubuntu-24.04-x86_64/04-yocto.sh b/coin/provisioning/qtci-linux-Ubuntu-24.04-x86_64/04-yocto.sh new file mode 100644 index 00000000..26430c71 --- /dev/null +++ b/coin/provisioning/qtci-linux-Ubuntu-24.04-x86_64/04-yocto.sh @@ -0,0 +1,125 @@ +#!/usr/bin/env bash +# Copyright (C) 2021 The Qt Company Ltd. +# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only + +# This script installs the Yocto toolchain + +set -ex + +# shellcheck source=../common/unix/DownloadURL.sh +source "${BASH_SOURCE%/*}/../common/unix/DownloadURL.sh" +# shellcheck source=../common/unix/SetEnvVar.sh +source "${BASH_SOURCE%/*}/../common/unix/SetEnvVar.sh" + +primaryBaseUrlPath="http://ci-files01-hki.ci.qt.io/input/boot2qt/gatesgarth" +altBaseUrlPath="http://download.qt.io/development_releases/prebuilt/boot2qt/gatesgarth" + +echo "Installing Yocto toolchain for 32-bit b2qt ARMV7..." + +versionARM="3.2" +package="b2qt-x86_64-meta-toolchain-b2qt-ci-sdk-qemuarm-a9d5156a.sh" +PrimaryUrl="$primaryBaseUrlPath/$package" +AltUrl="$altBaseUrlPath/$package" +SHA1="f9f7d51656067a1cc9d7ab92ddcddb219886ab22" +yoctoInstaller="/tmp/yocto-toolchain-ARMv7.sh" +yoctoLocationARMv7="/opt/b2qt/$versionARM" +sysrootARMv7="armv7vet2hf-neon-poky-linux-gnueabi" +crosscompileARMv7="sysroots/x86_64-pokysdk-linux/usr/bin/arm-poky-linux-gnueabi/arm-poky-linux-gnueabi-" +envSetupARMv7="environment-setup-$sysrootARMv7" +toolchainFileARMv7="sysroots/x86_64-pokysdk-linux/usr/share/cmake/OEToolchainConfig.cmake" + +DownloadURL "$PrimaryUrl" "$AltUrl" "$SHA1" "$yoctoInstaller" +chmod +x "$yoctoInstaller" + +/bin/bash "$yoctoInstaller" -y -d "$yoctoLocationARMv7" +rm -rf "$yoctoInstaller" + +echo "Installing Yocto toolchain for 64-bit b2qt ARM64..." + +versionARM64="3.2" +package="b2qt-x86_64-meta-toolchain-b2qt-ci-sdk-qemuarm64-a9d5156a.sh" +PrimaryUrl="$primaryBaseUrlPath/$package" +AltUrl="$altBaseUrlPath/$package" +SHA1="f490cbcc4e0d5a87f4e07607a71013aeeabce94a" +yoctoInstaller="/tmp/yocto-toolchain-ARM64.sh" +yoctoLocationARM64="/opt/b2qt/$versionARM64" +sysrootARM64="cortexa57-poky-linux" +crosscompileARM64="sysroots/x86_64-pokysdk-linux/usr/bin/aarch64-poky-linux/aarch64-poky-linux-" +envSetupARM64="environment-setup-$sysrootARM64" +toolchainFileARM64="sysroots/x86_64-pokysdk-linux/usr/share/cmake/OEToolchainConfig.cmake" + +DownloadURL "$PrimaryUrl" "$AltUrl" "$SHA1" "$yoctoInstaller" +chmod +x "$yoctoInstaller" + +/bin/bash "$yoctoInstaller" -y -d "$yoctoLocationARM64" +rm -rf "$yoctoInstaller" + +echo "Installing Yocto toolchain for 64-bit b2qt MIPS64..." + +versionMIPS64="3.2" +package="b2qt-x86_64-meta-toolchain-b2qt-ci-sdk-qemumips64-a9d5156a.sh" +PrimaryUrl="$primaryBaseUrlPath/$package" +AltUrl="$altBaseUrlPath/$package" +SHA1="5d3a8bb4384de273937286d275d1dab36f969951" +yoctoInstaller="/tmp/yocto-toolchain-mips64.sh" +yoctoLocationMIPS64="/opt/b2qt/$versionMIPS64" +sysrootMIPS64="mips64r2-poky-linux" +crosscompileMIPS64="sysroots/x86_64-pokysdk-linux/usr/bin/mips64-poky-linux/mips64-poky-linux-" +envSetupMIPS64="environment-setup-$sysrootMIPS64" +toolchainFileMIPS64="sysroots/x86_64-pokysdk-linux/usr/share/cmake/OEToolchainConfig.cmake" + +DownloadURL "$PrimaryUrl" "$AltUrl" "$SHA1" "$yoctoInstaller" +chmod +x "$yoctoInstaller" + +/bin/bash "$yoctoInstaller" -y -d "$yoctoLocationMIPS64" +rm -rf "$yoctoInstaller" + + + +if [ -e "$yoctoLocationARMv7/sysroots/$sysrootARMv7" ] && [ -e "$yoctoLocationARMv7/${crosscompileARMv7}g++" ] && \ + [ -e "$yoctoLocationARMv7/$envSetupARMv7" ] && [ -e "$yoctoLocationARMv7/$toolchainFileARMv7" ] && \ + [ -e "$yoctoLocationARM64/sysroots/$sysrootARM64" ] && [ -e "$yoctoLocationARM64/${crosscompileARM64}g++" ] && \ + [ -e "$yoctoLocationARM64/$envSetupARM64" ] && [ -e "$yoctoLocationARM64/$toolchainFileARM64" ] && \ + [ -e "$yoctoLocationMIPS64/sysroots/$sysrootMIPS64" ] && [ -e "$yoctoLocationMIPS64/${crosscompileMIPS64}g++" ] && \ + [ -e "$yoctoLocationMIPS64/$envSetupMIPS64" ] && [ -e "$yoctoLocationMIPS64/$toolchainFileMIPS64" ]; then + SetEnvVar "QEMUARMV7_TOOLCHAIN_SYSROOT" "$yoctoLocationARMv7/sysroots/$sysrootARMv7" + SetEnvVar "QEMUARMV7_TOOLCHAIN_CROSS_COMPILE" "$yoctoLocationARMv7/$crosscompileARMv7" + SetEnvVar "QEMUARMV7_TOOLCHAIN_ENVSETUP" "$yoctoLocationARMv7/$envSetupARMv7" + SetEnvVar "QEMUARMV7_TOOLCHAIN_FILE" "$yoctoLocationARMv7/$toolchainFileARMv7" + SetEnvVar "QEMUARM64_TOOLCHAIN_SYSROOT" "$yoctoLocationARM64/sysroots/$sysrootARM64" + SetEnvVar "QEMUARM64_TOOLCHAIN_CROSS_COMPILE" "$yoctoLocationARM64/$crosscompileARM64" + SetEnvVar "QEMUARM64_TOOLCHAIN_ENVSETUP" "$yoctoLocationARM64/$envSetupARM64" + SetEnvVar "QEMUARM64_TOOLCHAIN_FILE" "$yoctoLocationARM64/$toolchainFileARM64" + SetEnvVar "QEMUMIPS64_TOOLCHAIN_SYSROOT" "$yoctoLocationMIPS64/sysroots/$sysrootMIPS64" + SetEnvVar "QEMUMIPS64_TOOLCHAIN_CROSS_COMPILE" "$yoctoLocationMIPS64/$crosscompileMIPS64" + SetEnvVar "QEMUMIPS64_TOOLCHAIN_ENVSETUP" "$yoctoLocationMIPS64/$envSetupMIPS64" + SetEnvVar "QEMUMIPS64_TOOLCHAIN_FILE" "$yoctoLocationMIPS64/$toolchainFileMIPS64" +else + echo "Error! Couldn't find installation paths for Yocto toolchain. Aborting provisioning." 1>&2 + exit 1 +fi + +cat << EOB >> ~/versions.txt +Yocto ARMv7 toolchain = $versionARM +Yocto ARM64 toolchain = $versionARM64 +Yocto MIPS64 toolchain = $versionMIPS64 +EOB + +# List qt user in qemu toolchain sysroots +sudo sh -c "grep ^qt /etc/passwd >> $yoctoLocationARMv7/sysroots/$sysrootARMv7/etc/passwd" +sudo sh -c "grep ^qt /etc/group >> $yoctoLocationARMv7/sysroots/$sysrootARMv7/etc/group" +sudo sh -c "grep ^qt /etc/passwd >> $yoctoLocationARM64/sysroots/$sysrootARM64/etc/passwd" +sudo sh -c "grep ^qt /etc/group >> $yoctoLocationARM64/sysroots/$sysrootARM64/etc/group" + +# Fix mdns to support both docker and network tests +# See also https://bugreports.qt.io/browse/QTBUG-106013 +sudo sh -c "sed -i '/^hosts:/s/.*/hosts: files myhostname mdns_minimal [NOTFOUND=return] dns mdns4/' $yoctoLocationARMv7/sysroots/$sysrootARMv7/etc/nsswitch.conf" +sudo sh -c "sed -i '/^hosts:/s/.*/hosts: files myhostname mdns_minimal [NOTFOUND=return] dns mdns4/' $yoctoLocationARM64/sysroots/$sysrootARM64/etc/nsswitch.conf" + +# Install qemu binfmt for 32bit and 64bit arm architectures +sudo update-binfmts --package qemu-arm --install arm $yoctoLocationARMv7/sysroots/x86_64-pokysdk-linux/usr/bin/qemu-arm \ +--magic "\x7f\x45\x4c\x46\x01\x01\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02\x00\x28\x00" \ +--mask "\xff\xff\xff\xff\xff\xff\xff\x00\xff\xff\xff\xff\xff\xff\xff\xff\xfe\xff\xff\xff" +sudo update-binfmts --package qemu-aarch64 --install aarch64 $yoctoLocationARM64/sysroots/x86_64-pokysdk-linux/usr/bin/qemu-aarch64 \ +--magic "\x7f\x45\x4c\x46\x02\x01\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02\x00\xb7\x00" \ +--mask "\xff\xff\xff\xff\xff\xff\xff\x00\xff\xff\xff\xff\xff\xff\xff\xff\xfe\xff\xff\xff" diff --git a/coin/provisioning/qtci-linux-Ubuntu-24.04-x86_64/08-integrity.sh b/coin/provisioning/qtci-linux-Ubuntu-24.04-x86_64/08-integrity.sh new file mode 100644 index 00000000..0e8dbb39 --- /dev/null +++ b/coin/provisioning/qtci-linux-Ubuntu-24.04-x86_64/08-integrity.sh @@ -0,0 +1,8 @@ +#!/usr/bin/env bash +# Copyright (C) 2017 The Qt Company Ltd. +# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only + +set -ex + +# shellcheck source=../common/linux/integrity.sh +source "${BASH_SOURCE%/*}/../common/linux/integrity.sh" diff --git a/coin/provisioning/qtci-linux-Ubuntu-24.04-x86_64/20-sccache.sh b/coin/provisioning/qtci-linux-Ubuntu-24.04-x86_64/20-sccache.sh new file mode 100644 index 00000000..b371d947 --- /dev/null +++ b/coin/provisioning/qtci-linux-Ubuntu-24.04-x86_64/20-sccache.sh @@ -0,0 +1,3 @@ +#!/usr/bin/env bash + +source "${BASH_SOURCE%/*}/../common/linux/sccache.sh" diff --git a/coin/provisioning/qtci-linux-Ubuntu-24.04-x86_64/22-mqtt_broker.sh b/coin/provisioning/qtci-linux-Ubuntu-24.04-x86_64/22-mqtt_broker.sh new file mode 100644 index 00000000..b0791cb1 --- /dev/null +++ b/coin/provisioning/qtci-linux-Ubuntu-24.04-x86_64/22-mqtt_broker.sh @@ -0,0 +1,8 @@ +#!/usr/bin/env bash +# Copyright (C) 2018 The Qt Company Ltd. +# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only + +set -ex + +# shellcheck source=../common/unix/mqtt_broker.sh +source "${BASH_SOURCE%/*}/../common/unix/mqtt_broker.sh" diff --git a/coin/provisioning/qtci-linux-Ubuntu-24.04-x86_64/30-fbx.sh b/coin/provisioning/qtci-linux-Ubuntu-24.04-x86_64/30-fbx.sh new file mode 100644 index 00000000..16a9bda8 --- /dev/null +++ b/coin/provisioning/qtci-linux-Ubuntu-24.04-x86_64/30-fbx.sh @@ -0,0 +1,8 @@ +#!/usr/bin/env bash +#Copyright (C) 2023 The Qt Company Ltd +#SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only + +set -ex + +BASEDIR=$(dirname "$0") +"$BASEDIR/../common/linux/fbx_linux.sh" diff --git a/coin/provisioning/qtci-linux-Ubuntu-24.04-x86_64/30-install-conan.sh b/coin/provisioning/qtci-linux-Ubuntu-24.04-x86_64/30-install-conan.sh new file mode 100644 index 00000000..d24cb242 --- /dev/null +++ b/coin/provisioning/qtci-linux-Ubuntu-24.04-x86_64/30-install-conan.sh @@ -0,0 +1,8 @@ +#!/usr/bin/env bash +#Copyright (C) 2023 The Qt Company Ltd +#SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only + +set -ex + +BASEDIR=$(dirname "$0") +"$BASEDIR/../common/unix/install-conan.sh" "linux" "--break-system-packages" diff --git a/coin/provisioning/qtci-linux-Ubuntu-24.04-x86_64/30-install_icu.sh b/coin/provisioning/qtci-linux-Ubuntu-24.04-x86_64/30-install_icu.sh new file mode 100644 index 00000000..260dc55a --- /dev/null +++ b/coin/provisioning/qtci-linux-Ubuntu-24.04-x86_64/30-install_icu.sh @@ -0,0 +1,48 @@ +#!/usr/bin/env bash +# Copyright (C) 2023 The Qt Company Ltd. +# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only + +# shellcheck source=../common/unix/DownloadURL.sh +source "${BASH_SOURCE%/*}/../common/unix/DownloadURL.sh" + +set -ex + +# This script will install ICU + +icuVersion="73.2" +icuLocationLib="/opt/icu/lib64" +icuLocationInclude="/opt/icu/include" +sha1="5699987afcceb0390e52fb860bb3b4ab8b39cabe" +baseBinaryPackageURL="http://ci-files01-hki.ci.qt.io/input/icu/$icuVersion/icu-linux-g++-Ubuntu22.04-x64.7z" +baseBinaryPackageExternalURL="http://master.qt.io/development_releases/prebuilt/icu/prebuilt/$icuVersion/icu-linux-g++-Ubuntu22.04-x64.7z" + +sha1Dev="6b9da2fa5fd88db88e9957ee5e3cf9dbcd08fe6b" +develPackageURL="http://ci-files01-hki.ci.qt.io/input/icu/$icuVersion/icu-linux-g++-Ubuntu22.04-x64-devel.7z" +develPackageExternalURL="http://master.qt.io/development_releases/prebuilt/icu/prebuilt/$icuVersion/icu-linux-g++-Ubuntu22.04-x64-devel.7z" + +echo "Installing custom ICU $icuVersion $sha1 packages on CentOS to $icuLocationLib" + +targetFile=$(mktemp) +sudo mkdir -p "$icuLocationLib" +sudo mkdir -p "$icuLocationInclude" +DownloadURL "$baseBinaryPackageURL" "$baseBinaryPackageExternalURL" "$sha1" "$targetFile" +sudo 7z x -y -o$icuLocationLib "$targetFile" +sudo rm "$targetFile" + +echo "Installing custom ICU devel packages on CentOS" + +tempDir=$(mktemp -d) + +targetFile=$(mktemp) +DownloadURL "$develPackageURL" "$develPackageExternalURL" "$sha1Dev" "$targetFile" +7z x -y -o"$tempDir" "$targetFile" + +sudo cp -a "$tempDir"/lib/* "$icuLocationLib" +sudo cp -a "$tempDir"/* /opt/icu/ + +sudo rm "$targetFile" +sudo rm -fr "$tempDir" + +sudo /sbin/ldconfig + +echo "ICU = $icuVersion" >> ~/versions.txt diff --git a/coin/provisioning/qtci-linux-Ubuntu-24.04-x86_64/35-install-breakpad.sh b/coin/provisioning/qtci-linux-Ubuntu-24.04-x86_64/35-install-breakpad.sh new file mode 100644 index 00000000..8a9dde56 --- /dev/null +++ b/coin/provisioning/qtci-linux-Ubuntu-24.04-x86_64/35-install-breakpad.sh @@ -0,0 +1,8 @@ +#!/usr/bin/env bash +#Copyright (C) 2023 The Qt Company Ltd +#SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only + +set -ex + +# shellcheck source=../common/unix/install-breakpad.sh +source "${BASH_SOURCE%/*}/../common/unix/install-breakpad.sh" diff --git a/coin/provisioning/qtci-linux-Ubuntu-24.04-x86_64/40-android_linux.sh b/coin/provisioning/qtci-linux-Ubuntu-24.04-x86_64/40-android_linux.sh new file mode 100644 index 00000000..2526bc6d --- /dev/null +++ b/coin/provisioning/qtci-linux-Ubuntu-24.04-x86_64/40-android_linux.sh @@ -0,0 +1,8 @@ +#!/bin/bash +# Copyright (C) 2017 The Qt Company Ltd. +# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only + +set -ex + +# shellcheck source=../common/linux/android_linux.sh +source "${BASH_SOURCE%/*}/../common/linux/android_linux.sh" diff --git a/coin/provisioning/qtci-linux-Ubuntu-24.04-x86_64/40-install-cmake.sh b/coin/provisioning/qtci-linux-Ubuntu-24.04-x86_64/40-install-cmake.sh new file mode 100644 index 00000000..a418e4c5 --- /dev/null +++ b/coin/provisioning/qtci-linux-Ubuntu-24.04-x86_64/40-install-cmake.sh @@ -0,0 +1,7 @@ +#!/bin/bash +#Copyright (C) 2023 The Qt Company Ltd +#SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only + +BASEDIR=$(dirname "$0") +"$BASEDIR/../common/linux/cmake_linux.sh" + diff --git a/coin/provisioning/qtci-linux-Ubuntu-24.04-x86_64/41-install-vcpkg.sh b/coin/provisioning/qtci-linux-Ubuntu-24.04-x86_64/41-install-vcpkg.sh new file mode 100644 index 00000000..aa88364d --- /dev/null +++ b/coin/provisioning/qtci-linux-Ubuntu-24.04-x86_64/41-install-vcpkg.sh @@ -0,0 +1,6 @@ +#!/usr/bin/env bash + +set -ex + +BASEDIR=$(dirname "$0") +"$BASEDIR/../common/linux/install-vcpkg.sh" diff --git a/coin/provisioning/qtci-linux-Ubuntu-24.04-x86_64/42-install-vcpkg-ports.sh b/coin/provisioning/qtci-linux-Ubuntu-24.04-x86_64/42-install-vcpkg-ports.sh new file mode 100644 index 00000000..71a46f9a --- /dev/null +++ b/coin/provisioning/qtci-linux-Ubuntu-24.04-x86_64/42-install-vcpkg-ports.sh @@ -0,0 +1,6 @@ +#!/usr/bin/env bash + +set -ex + +BASEDIR=$(dirname "$0") +"$BASEDIR/../common/linux/install-vcpkg-ports.sh" diff --git a/coin/provisioning/qtci-linux-Ubuntu-24.04-x86_64/45-install-cpdb.sh b/coin/provisioning/qtci-linux-Ubuntu-24.04-x86_64/45-install-cpdb.sh new file mode 100644 index 00000000..40497ee0 --- /dev/null +++ b/coin/provisioning/qtci-linux-Ubuntu-24.04-x86_64/45-install-cpdb.sh @@ -0,0 +1,13 @@ +#!/usr/bin/env bash +# Copyright (C) 2023 The Qt Company Ltd. +# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only + +# This script install cpdb from sources. +# Requires GCC and Perl to be in PATH. +set -ex + +# Install the dependencies +sudo apt install -y make autoconf autopoint libglib2.0-dev libdbus-1-dev libtool + +BASEDIR=$(dirname "$0") +"$BASEDIR/../common/linux/install-cpdb.sh" diff --git a/coin/provisioning/qtci-linux-Ubuntu-24.04-x86_64/50-openssl_for_android_linux.sh b/coin/provisioning/qtci-linux-Ubuntu-24.04-x86_64/50-openssl_for_android_linux.sh new file mode 100644 index 00000000..fd1151d9 --- /dev/null +++ b/coin/provisioning/qtci-linux-Ubuntu-24.04-x86_64/50-openssl_for_android_linux.sh @@ -0,0 +1,8 @@ +#!/bin/bash +# Copyright (C) 2021 The Qt Company Ltd. +# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only + +set -ex + +# shellcheck source=../common/unix/openssl_for_android.sh +source "${BASH_SOURCE%/*}/../common/unix/openssl_for_android.sh" diff --git a/coin/provisioning/qtci-linux-Ubuntu-24.04-x86_64/60-install_protobuf.sh b/coin/provisioning/qtci-linux-Ubuntu-24.04-x86_64/60-install_protobuf.sh new file mode 100644 index 00000000..3e2b8921 --- /dev/null +++ b/coin/provisioning/qtci-linux-Ubuntu-24.04-x86_64/60-install_protobuf.sh @@ -0,0 +1,9 @@ +#!/usr/bin/env bash +# Copyright (C) 2018 The Qt Company Ltd. +# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only + +set -ex + +# shellcheck source=../common/unix/install_protobuf.sh +source "${BASH_SOURCE%/*}/../common/unix/install_protobuf.sh" + diff --git a/coin/provisioning/qtci-linux-Ubuntu-24.04-x86_64/61-install_grpc.sh b/coin/provisioning/qtci-linux-Ubuntu-24.04-x86_64/61-install_grpc.sh new file mode 100644 index 00000000..ecd6a51f --- /dev/null +++ b/coin/provisioning/qtci-linux-Ubuntu-24.04-x86_64/61-install_grpc.sh @@ -0,0 +1,9 @@ +#!/usr/bin/env bash +# Copyright (C) 2022 The Qt Company Ltd. +# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only + +set -ex + +# shellcheck source=../common/unix/install_grpc.sh +source "${BASH_SOURCE%/*}/../common/unix/install_grpc.sh" + diff --git a/coin/provisioning/qtci-linux-Ubuntu-24.04-x86_64/70-install_QemuGA.sh b/coin/provisioning/qtci-linux-Ubuntu-24.04-x86_64/70-install_QemuGA.sh new file mode 100644 index 00000000..9a80fc0b --- /dev/null +++ b/coin/provisioning/qtci-linux-Ubuntu-24.04-x86_64/70-install_QemuGA.sh @@ -0,0 +1,10 @@ +#!/usr/bin/env bash +# Copyright (C) 2020 The Qt Company Ltd. +# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only + +# This script installs QEMU Guest Agent + +set -ex + +sudo apt -y install qemu-guest-agent +sudo systemctl start qemu-guest-agent diff --git a/coin/provisioning/qtci-linux-Ubuntu-24.04-x86_64/70-qnx710.sh b/coin/provisioning/qtci-linux-Ubuntu-24.04-x86_64/70-qnx710.sh new file mode 100644 index 00000000..08eeb57b --- /dev/null +++ b/coin/provisioning/qtci-linux-Ubuntu-24.04-x86_64/70-qnx710.sh @@ -0,0 +1,13 @@ +#!/usr/bin/env bash +# Copyright (C) 2021 The Qt Company Ltd. +# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only + +set -ex + +# shellcheck source=../common/linux/qnx_710.sh +source "${BASH_SOURCE%/*}/../common/linux/qnx_710.sh" + +# setup NFS +sudo bash -c "echo '/home/qt/work ${qemuNetwork}/24(rw,sync,root_squash,no_subtree_check,anonuid=1000,anongid=1000)' >> /etc/exports" +sudo exportfs -a +sudo systemctl restart nfs-kernel-server diff --git a/coin/provisioning/qtci-linux-Ubuntu-24.04-x86_64/70-vxworks.sh b/coin/provisioning/qtci-linux-Ubuntu-24.04-x86_64/70-vxworks.sh new file mode 100644 index 00000000..3bb48d11 --- /dev/null +++ b/coin/provisioning/qtci-linux-Ubuntu-24.04-x86_64/70-vxworks.sh @@ -0,0 +1,8 @@ +#!/usr/bin/env bash +# Copyright (C) 2021 The Qt Company Ltd. +# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only + +set -ex + +# shellcheck source=../common/linux/vx_works.sh +source "${BASH_SOURCE%/*}/../common/linux/vx_works.sh" diff --git a/coin/provisioning/qtci-linux-Ubuntu-24.04-x86_64/80-docker.sh b/coin/provisioning/qtci-linux-Ubuntu-24.04-x86_64/80-docker.sh new file mode 100644 index 00000000..049e61f6 --- /dev/null +++ b/coin/provisioning/qtci-linux-Ubuntu-24.04-x86_64/80-docker.sh @@ -0,0 +1,59 @@ +#!/usr/bin/env bash +# Copyright (C) 2023 The Qt Company Ltd. +# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only + +set -e + +PROVISIONING_DIR="$(dirname "$0")/../" +# shellcheck source=../common/unix/common.sourced.sh +source "$PROVISIONING_DIR"/common/unix/common.sourced.sh +# shellcheck source=../common/unix/DownloadURL.sh +source "$PROVISIONING_DIR"/common/unix/DownloadURL.sh + +localRepo=http://ci-files01-hki.ci.qt.io/input/docker +# upstreamRepo=https://download.docker.com/linux/ubuntu/dists/bionic/pool/stable/amd64 +#upstreamRepo=https://download.docker.com/linux/ubuntu/dists/jammy/pool/stable/amd64 +upstreamRepo=https://download.docker.com/linux/ubuntu/dists/noble/pool/stable/amd64 +echo ' + 57c62933ad2dc07a3a79efd5b464ea84fa80c773 containerd.io_1.6.31-1_amd64.deb + cbcd536345e052b9221a0240caa451e1b687a05e docker-ce_26.1.0-1~ubuntu.24.04~noble_amd64.deb + 6f0989763692b88b748444174e70b6069c781533 docker-ce-cli_26.1.0-1~ubuntu.24.04~noble_amd64.deb +' \ + | xargs -n2 | while read -r sha f +do + DownloadURL "$localRepo/$f" "$upstreamRepo/$f" "$sha" +done + +sudo apt-get -y install ./containerd.io_*.deb ./docker-ce_*.deb ./docker-ce-cli_*.deb +rm -f ./containerd.io_*.deb ./docker-ce_*.deb ./docker-ce-cli_*.deb + +sudo usermod -a -G docker "$USER" +sudo docker --version + +# Download and install the docker-compose extension from https://github.com/docker/compose/releases +f=docker-compose-$(uname -s)-$(uname -m) +DownloadURL \ + "$localRepo/$f-1.24.1" \ + "https://github.com/docker/compose/releases/download/1.24.1/$f" \ + cfb3439956216b1248308141f7193776fcf4b9c9b49cbbe2fb07885678e2bb8a +sudo install -m 755 ./docker-compose* /usr/local/bin/docker-compose +sudo docker-compose --version +rm ./docker-compose* + +# Install Avahi to discover Docker containers in the test network +sudo apt-get install avahi-daemon -y + +# Add registry mirror for docker images +sudo tee -a /etc/docker/daemon.json <<"EOF" +{ + "registry-mirrors": ["http://repo-clones.ci.qt.io:5000"] +} +EOF + +echo "Restart Docker" +sudo systemctl daemon-reload +sudo systemctl restart docker + +# Start testserver provisioning +sudo "$(readlink -f "$(dirname "${BASH_SOURCE[0]}")")/../common/shared/testserver/docker_testserver.sh" + diff --git a/coin/provisioning/qtci-linux-Ubuntu-24.04-x86_64/81-fix_mdns_docker_resolution.sh b/coin/provisioning/qtci-linux-Ubuntu-24.04-x86_64/81-fix_mdns_docker_resolution.sh new file mode 100644 index 00000000..30fe71ca --- /dev/null +++ b/coin/provisioning/qtci-linux-Ubuntu-24.04-x86_64/81-fix_mdns_docker_resolution.sh @@ -0,0 +1,15 @@ +#!/usr/bin/env bash +# Copyright (C) 2021 The Qt Company Ltd. +# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only + +# The new version of libnss-mdns resolver library automatically rejects all +# hostnames with more than two labels (i.e. subdomains deep), for example +# vsftpd.test-net.qt.local is automatically rejected. The changes here fix +# this, see also https://github.com/lathiat/nss-mdns#etcmdnsallow + +cat <<EOT | sudo tee /etc/mdns.allow +.local. +.local +EOT + +sudo sed -i '/^hosts:/s/.*/hosts: files mdns_minimal [NOTFOUND=return] mdns4 dns/' /etc/nsswitch.conf diff --git a/coin/provisioning/qtci-linux-Ubuntu-24.04-x86_64/85-qdoc_qtattributionsscanner.sh b/coin/provisioning/qtci-linux-Ubuntu-24.04-x86_64/85-qdoc_qtattributionsscanner.sh new file mode 100644 index 00000000..fd2a3afd --- /dev/null +++ b/coin/provisioning/qtci-linux-Ubuntu-24.04-x86_64/85-qdoc_qtattributionsscanner.sh @@ -0,0 +1,33 @@ +#!/usr/bin/env bash +# Copyright (C) 2022 The Qt Company Ltd. +# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only + +# Provisions qdoc and qtattributionsscanner binaries; these are used for +# documentation testing without the need for a dependency to qttools. + +set -e + +# shellcheck source=../common/unix/check_and_set_proxy.sh +"${BASH_SOURCE%/*}/../common/unix/check_and_set_proxy.sh" +# shellcheck source=../common/unix/DownloadURL.sh +source "${BASH_SOURCE%/*}/../common/unix/DownloadURL.sh" +version="68bdc5764da2d4e442181b408751b6572f36fa74" +sha1="dac76e8f6cb69990661e7d814bea6f32fea29bf4" +url="https://download.qt.io/development_releases/prebuilt/qdoc/qt/qdoc-qtattributionsscanner_${version//\./}-based-linux-Ubuntu22.04-gcc11.4-x86_64.7z" +url_cached="http://ci-files01-hki.ci.qt.io/input/qdoc/qt/qdoc-qtattributionsscanner_${version//\./}-based-linux-Ubuntu22.04-gcc11.4-x86_64.7z" + +zip="/tmp/qdoc-qtattributionsscanner.7z" +destination="/opt/qt-doctools" + +sudo mkdir -p "$destination" +sudo chmod 755 "$destination" +DownloadURL "$url_cached" "$url" "$sha1" "$zip" +if command -v 7zr &> /dev/null; then + sudo 7zr x "$zip" "-o$destination/" +else + sudo 7z x "$zip" "-o$destination/" +fi +sudo chown -R qt:users "$destination" +rm -rf "$zip" + +echo -e "qdoc = $version\nqtattributionsscanner = $version" >> ~/versions.txt diff --git a/coin/provisioning/qtci-linux-Ubuntu-24.04-x86_64/90-bootstrap-autostart.sh b/coin/provisioning/qtci-linux-Ubuntu-24.04-x86_64/90-bootstrap-autostart.sh new file mode 100644 index 00000000..1ff43850 --- /dev/null +++ b/coin/provisioning/qtci-linux-Ubuntu-24.04-x86_64/90-bootstrap-autostart.sh @@ -0,0 +1,3 @@ +#!/usr/bin/env bash + +source "${BASH_SOURCE%/*}/../common/linux/bootstrap-autostart.sh" diff --git a/coin/provisioning/qtci-linux-Ubuntu-24.04-x86_64/90-install-ffmpeg.sh b/coin/provisioning/qtci-linux-Ubuntu-24.04-x86_64/90-install-ffmpeg.sh new file mode 100644 index 00000000..61da9b7b --- /dev/null +++ b/coin/provisioning/qtci-linux-Ubuntu-24.04-x86_64/90-install-ffmpeg.sh @@ -0,0 +1,3 @@ +#!/usr/bin/env bash + +source "${BASH_SOURCE%/*}/../common/unix/install-ffmpeg.sh" "linux" diff --git a/coin/provisioning/qtci-linux-Ubuntu-24.04-x86_64/90-mimer.sh b/coin/provisioning/qtci-linux-Ubuntu-24.04-x86_64/90-mimer.sh new file mode 100644 index 00000000..f06ca1c8 --- /dev/null +++ b/coin/provisioning/qtci-linux-Ubuntu-24.04-x86_64/90-mimer.sh @@ -0,0 +1,8 @@ +#!/usr/bin/env bash +# Copyright (C) 2022 The Qt Company Ltd. +# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only + +set -ex + +BASEDIR=$(dirname "$0") +"$BASEDIR/../common/linux/mimersql.sh" "openssl-3" "deb" diff --git a/coin/provisioning/qtci-linux-Ubuntu-24.04-x86_64/90-squish.sh b/coin/provisioning/qtci-linux-Ubuntu-24.04-x86_64/90-squish.sh new file mode 100644 index 00000000..f803ccc1 --- /dev/null +++ b/coin/provisioning/qtci-linux-Ubuntu-24.04-x86_64/90-squish.sh @@ -0,0 +1,6 @@ +#!/usr/bin/env bash +#Copyright (C) 2023 The Qt Company Ltd +#SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only +BASEDIR=$(dirname "$0") +"$BASEDIR/../common/unix/squishInstall.sh" + diff --git a/coin/provisioning/qtci-linux-Ubuntu-24.04-x86_64/91-squish-coco.sh b/coin/provisioning/qtci-linux-Ubuntu-24.04-x86_64/91-squish-coco.sh new file mode 100644 index 00000000..e42a5373 --- /dev/null +++ b/coin/provisioning/qtci-linux-Ubuntu-24.04-x86_64/91-squish-coco.sh @@ -0,0 +1,6 @@ +#!/bin/bash +#Copyright (C) 2023 The Qt Company Ltd +#SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only + +# shellcheck source=../common/linux/squish-coco.sh +source "${BASH_SOURCE%/*}/../common/linux/squish-coco.sh" diff --git a/coin/provisioning/qtci-linux-Ubuntu-24.04-x86_64/92-sbuild.sh b/coin/provisioning/qtci-linux-Ubuntu-24.04-x86_64/92-sbuild.sh new file mode 100644 index 00000000..d538d783 --- /dev/null +++ b/coin/provisioning/qtci-linux-Ubuntu-24.04-x86_64/92-sbuild.sh @@ -0,0 +1,57 @@ +#!/usr/bin/env bash +# Copyright (C) 2021 The Qt Company Ltd. +# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only + +# Setups sbuild environment + +tee ~/.sbuildrc << EOF +############################################################################## +# PACKAGE BUILD RELATED (additionally produce _source.changes) +############################################################################## +# -d +\$distribution = 'stable'; +# -A +\$build_arch_all = 1; +# -s +\$build_source = 1; +# -v +\$verbose = 1; +# parallel build +\$ENV{'DEB_BUILD_OPTIONS'} = 'parallel=8'; +############################################################################## +# POST-BUILD RELATED (turn off functionality by setting variables to 0) +############################################################################## +\$run_lintian = 1; +\$lintian_opts = ['-i', '-I']; +\$run_piuparts = 0; +\$piuparts_opts = ['--schroot', 'stable-amd64-sbuild', '--no-eatmydata']; +\$run_autopkgtest = 0; +\$autopkgtest_root_args = ''; +\$autopkgtest_opts = [ '--', 'schroot', '%r-%a-sbuild' ]; + +############################################################################## +# PERL MAGIC +############################################################################## +1; +EOF + +# Add user group +sudo sbuild-adduser "$LOGNAME" +newgrp sbuild + +# Create chroot +sudo sbuild-createchroot --include=eatmydata,ccache,gnupg,ca-certificates stable /srv/chroot/stable-amd64 + +# For ubuntu 24.04 +echo "Create chroot for Ubuntu Noble" +## ccache can't be found with Jammy (TODO: but now we have Noble - this should be tested) +sudo sbuild-createchroot --include=eatmydata,gnupg,ca-certificates noble /srv/chroot/noble-amd64 http://archive.ubuntu.com/ubuntu/ +echo "Done creating chroot for Ubuntu Noble" + +# Update chroot. +sudo sbuild-update -udcar stable + + + + + diff --git a/coin/provisioning/qtci-linux-Ubuntu-24.04-x86_64/93-axivion-bauhaus-suite.sh b/coin/provisioning/qtci-linux-Ubuntu-24.04-x86_64/93-axivion-bauhaus-suite.sh new file mode 100644 index 00000000..8cecbbc3 --- /dev/null +++ b/coin/provisioning/qtci-linux-Ubuntu-24.04-x86_64/93-axivion-bauhaus-suite.sh @@ -0,0 +1,6 @@ +#!/bin/bash +#Copyright (C) 2023 The Qt Company Ltd +#SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only + +# shellcheck source=../common/linux/axivion-bauhaus-suite.sh +source "${BASH_SOURCE%/*}/../common/linux/axivion-bauhaus-suite.sh" diff --git a/coin/provisioning/qtci-linux-Ubuntu-24.04-x86_64/93-download-files-for-sbuild.sh b/coin/provisioning/qtci-linux-Ubuntu-24.04-x86_64/93-download-files-for-sbuild.sh new file mode 100644 index 00000000..f2192a4f --- /dev/null +++ b/coin/provisioning/qtci-linux-Ubuntu-24.04-x86_64/93-download-files-for-sbuild.sh @@ -0,0 +1,17 @@ +#!/usr/bin/env bash +# Copyright (C) 2023 The Qt Company Ltd. +# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only + +# Get required deb files for sbuild to build qt debian packages for Ubuntu jammy +mkdir -p /home/qt/debian_packages +cd /home/qt/debian_packages || exit +# Backported cmake 3.24 +wget https://ci-files01-hki.intra.qt.io/input/debian/cmake/amd64-jammy/cmake-3.24-deb.tar.gz +tar xzf cmake-3.24-deb.tar.gz +rm -rf cmake-3.24-deb.tar.gz +# TODO: Adapt this from jammy to noble Ubuntu 24.04: +# get rest of ready made Ubuntu jammy arm debian packages +# so that sbuild can find those + +#wget http://ci-files01-hki.ci.qt.io/input/debian/icu/amd64-jammy/libicu-56.1-qt_56.1-1_amd64.deb +#wget http://ci-files01-hki.ci.qt.io/input/debian/icu/amd64-jammy/libicu-56.1-qt-dev_56.1-1_amd64.deb diff --git a/coin/provisioning/qtci-linux-Ubuntu-24.04-x86_64/93-lcov.sh b/coin/provisioning/qtci-linux-Ubuntu-24.04-x86_64/93-lcov.sh new file mode 100644 index 00000000..de4a74d5 --- /dev/null +++ b/coin/provisioning/qtci-linux-Ubuntu-24.04-x86_64/93-lcov.sh @@ -0,0 +1,9 @@ +#!/usr/bin/env bash +# Copyright (C) 2024 The Qt Company Ltd. +# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only + +# Install lcov 2.0 from 24.04/noble numbat + +echo "Installing lcov" +wget https://ci-files01-hki.ci.qt.io/input/lcov/lcov_2.0-4ubuntu1_all.deb +sudo DEBIAN_FRONTEND=noninteractive apt-get -q -y -o DPkg::Lock::Timeout=300 install -f ./lcov_2.0-4ubuntu1_all.deb diff --git a/coin/provisioning/qtci-linux-Ubuntu-24.04-x86_64/99-cleanup.sh b/coin/provisioning/qtci-linux-Ubuntu-24.04-x86_64/99-cleanup.sh new file mode 100644 index 00000000..4d6e16ea --- /dev/null +++ b/coin/provisioning/qtci-linux-Ubuntu-24.04-x86_64/99-cleanup.sh @@ -0,0 +1,7 @@ +#!/usr/bin/env bash +# Copyright (C) 2022 The Qt Company Ltd. +# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only + +set -ex + +"$(dirname "$0")"/../common/linux/cleanup_cache.sh diff --git a/coin/provisioning/qtci-linux-Ubuntu-24.04-x86_64/99-enable_test_stacktraces.sh b/coin/provisioning/qtci-linux-Ubuntu-24.04-x86_64/99-enable_test_stacktraces.sh new file mode 100644 index 00000000..600b7850 --- /dev/null +++ b/coin/provisioning/qtci-linux-Ubuntu-24.04-x86_64/99-enable_test_stacktraces.sh @@ -0,0 +1,8 @@ +#!/usr/bin/env bash +#Copyright (C) 2023 The Qt Company Ltd +#SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only + +set -ex + +BASEDIR=$(dirname "$0") +"$BASEDIR"/../common/linux/enable_test_stacktraces.sh diff --git a/coin/provisioning/qtci-linux-Ubuntu-24.04-x86_64/99-version.sh b/coin/provisioning/qtci-linux-Ubuntu-24.04-x86_64/99-version.sh new file mode 100644 index 00000000..31821f6b --- /dev/null +++ b/coin/provisioning/qtci-linux-Ubuntu-24.04-x86_64/99-version.sh @@ -0,0 +1,6 @@ +#!/bin/bash +#Copyright (C) 2023 The Qt Company Ltd +#SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only + +BASEDIR=$(dirname "$0") +"$BASEDIR/../common/linux/ubuntu-version.sh" diff --git a/coin/provisioning/qtci-linux-openSUSE-15.3-x86_64/01-disable_net_lso.sh b/coin/provisioning/qtci-linux-openSUSE-15.3-x86_64/01-disable_net_lso.sh index c404c366..fc209ad8 100755 --- a/coin/provisioning/qtci-linux-openSUSE-15.3-x86_64/01-disable_net_lso.sh +++ b/coin/provisioning/qtci-linux-openSUSE-15.3-x86_64/01-disable_net_lso.sh @@ -1,4 +1,6 @@ #!/bin/sh +#Copyright (C) 2023 The Qt Company Ltd +#SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only echo "ethtool -K \${DEVICE_IFACE} tso off" | sudo tee -a /etc/NetworkManager/dispatcher.d/net_tso_off sudo chmod +x /etc/NetworkManager/dispatcher.d/net_tso_off diff --git a/coin/provisioning/qtci-linux-openSUSE-15.3-x86_64/01-set-ulimit.sh b/coin/provisioning/qtci-linux-openSUSE-15.3-x86_64/01-set-ulimit.sh index dadc0781..e951e82a 100755 --- a/coin/provisioning/qtci-linux-openSUSE-15.3-x86_64/01-set-ulimit.sh +++ b/coin/provisioning/qtci-linux-openSUSE-15.3-x86_64/01-set-ulimit.sh @@ -1,4 +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 set -ex diff --git a/coin/provisioning/qtci-linux-openSUSE-15.3-x86_64/01-systemsetup.sh b/coin/provisioning/qtci-linux-openSUSE-15.3-x86_64/01-systemsetup.sh index d3724ceb..13e5c31d 100755 --- a/coin/provisioning/qtci-linux-openSUSE-15.3-x86_64/01-systemsetup.sh +++ b/coin/provisioning/qtci-linux-openSUSE-15.3-x86_64/01-systemsetup.sh @@ -1,4 +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 set -ex diff --git a/coin/provisioning/qtci-linux-openSUSE-15.3-x86_64/03-enable-repos.sh b/coin/provisioning/qtci-linux-openSUSE-15.3-x86_64/03-enable-repos.sh index 41545e01..5542b071 100755 --- a/coin/provisioning/qtci-linux-openSUSE-15.3-x86_64/03-enable-repos.sh +++ b/coin/provisioning/qtci-linux-openSUSE-15.3-x86_64/03-enable-repos.sh @@ -1,43 +1,6 @@ #!/usr/bin/env bash - -############################################################################# -## -## Copyright (C) 2020 The Qt Company Ltd. -## Contact: https://www.qt.io/licensing/ -## -## This file is part of the provisioning scripts of the Qt Toolkit. -## -## $QT_BEGIN_LICENSE:LGPL$ -## Commercial License Usage -## Licensees holding valid commercial Qt licenses may use this file in -## accordance with the commercial license agreement provided with the -## Software or, alternatively, in accordance with the terms contained in -## a written agreement between you and The Qt Company. For licensing terms -## and conditions see https://www.qt.io/terms-conditions. For further -## information use the contact form at https://www.qt.io/contact-us. -## -## GNU Lesser General Public License Usage -## Alternatively, this file may be used under the terms of the GNU Lesser -## General Public License version 3 as published by the Free Software -## Foundation and appearing in the file LICENSE.LGPL3 included in the -## packaging of this file. Please review the following information to -## ensure the GNU Lesser General Public License version 3 requirements -## will be met: https://www.gnu.org/licenses/lgpl-3.0.html. -## -## GNU General Public License Usage -## Alternatively, this file may be used under the terms of the GNU -## General Public License version 2.0 or (at your option) the GNU General -## Public license version 3 or any later version approved by the KDE Free -## Qt Foundation. The licenses are as published by the Free Software -## Foundation and appearing in the file LICENSE.GPL2 and LICENSE.GPL3 -## included in the packaging of this file. Please review the following -## information to ensure the GNU General Public License requirements will -## be met: https://www.gnu.org/licenses/gpl-2.0.html and -## https://www.gnu.org/licenses/gpl-3.0.html. -## -## $QT_END_LICENSE$ -## -############################################################################# +# 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 set -ex diff --git a/coin/provisioning/qtci-linux-openSUSE-15.3-x86_64/04-zypperpackages.sh b/coin/provisioning/qtci-linux-openSUSE-15.3-x86_64/04-zypperpackages.sh index 9c81732d..49d2333d 100755 --- a/coin/provisioning/qtci-linux-openSUSE-15.3-x86_64/04-zypperpackages.sh +++ b/coin/provisioning/qtci-linux-openSUSE-15.3-x86_64/04-zypperpackages.sh @@ -1,4 +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 set -ex @@ -29,7 +31,7 @@ sudo zypper -nq install libXi-devel # system provided XCB libraries sudo zypper -nq install xcb-util-devel xcb-util-image-devel xcb-util-keysyms-devel \ - xcb-util-wm-devel xcb-util-renderutil-devel + xcb-util-wm-devel xcb-util-renderutil-devel xcb-util-cursor-devel # ICU sudo zypper -nq install libicu-devel @@ -38,11 +40,17 @@ sudo zypper -nq install libicu-devel sudo zypper -nq install alsa-devel dbus-1-devel libxkbfile-devel \ libXcomposite-devel libXcursor-devel libXrandr-devel libXtst-devel \ mozilla-nspr-devel mozilla-nss-devel nodejs12 glproto-devel \ - libxshmfence-devel libXdamage-devel + libxshmfence-devel libXdamage-devel libdrm-devel libgbm-devel + +# qtwebengine, qtmultimedia+ffmpeg +sudo zypper -nq install libva-devel # qtwebkit sudo zypper -nq install libxml2-devel libxslt-devel +# yasm (for ffmpeg in multimedia) +sudo zypper -nq install yasm + # GStreamer (qtwebkit and qtmultimedia), pulseaudio (qtmultimedia) sudo zypper -nq install gstreamer-devel gstreamer-plugins-base-devel libpulse-devel @@ -55,6 +63,9 @@ sudo zypper -nq install libspeechd-devel # make sudo zypper -nq install make +# Tools to build Git +sudo zypper -nq install autoconf libcurl-devel libexpat-devel + gccVersion="$(gcc --version |grep gcc |cut -b 17-23)" echo "GCC = $gccVersion" >> versions.txt diff --git a/coin/provisioning/qtci-linux-openSUSE-15.3-x86_64/05-disable_kwin_overview.sh b/coin/provisioning/qtci-linux-openSUSE-15.3-x86_64/05-disable_kwin_overview.sh new file mode 100755 index 00000000..f6a3d71c --- /dev/null +++ b/coin/provisioning/qtci-linux-openSUSE-15.3-x86_64/05-disable_kwin_overview.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/linux/disable_kwin_overview.sh diff --git a/coin/provisioning/qtci-linux-openSUSE-15.3-x86_64/08-libclang-v100-dyn.sh b/coin/provisioning/qtci-linux-openSUSE-15.3-x86_64/08-libclang-v100-dyn.sh index b0080cbc..e1fc1550 100755 --- a/coin/provisioning/qtci-linux-openSUSE-15.3-x86_64/08-libclang-v100-dyn.sh +++ b/coin/provisioning/qtci-linux-openSUSE-15.3-x86_64/08-libclang-v100-dyn.sh @@ -1,4 +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 set -ex diff --git a/coin/provisioning/qtci-linux-openSUSE-15.3-x86_64/08-libclang.sh b/coin/provisioning/qtci-linux-openSUSE-15.3-x86_64/08-libclang.sh index bbe2b4b4..4e371161 100755 --- a/coin/provisioning/qtci-linux-openSUSE-15.3-x86_64/08-libclang.sh +++ b/coin/provisioning/qtci-linux-openSUSE-15.3-x86_64/08-libclang.sh @@ -1,4 +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 set -ex diff --git a/coin/provisioning/qtci-linux-openSUSE-15.3-x86_64/08-pythondev.sh b/coin/provisioning/qtci-linux-openSUSE-15.3-x86_64/08-pythondev.sh index ab966a02..1523e042 100755 --- a/coin/provisioning/qtci-linux-openSUSE-15.3-x86_64/08-pythondev.sh +++ b/coin/provisioning/qtci-linux-openSUSE-15.3-x86_64/08-pythondev.sh @@ -1,4 +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 # provides: python development libraries # version: provided by default Linux distribution repository # needed to build pyside @@ -10,9 +12,6 @@ sudo zypper -nq install python-devel python-xml # install python3 sudo zypper -nq install python3-base python3 python3-pip python3-devel python3-virtualenv python3-wheel -# Install all needed packages in a special wheel cache directory -pip3 wheel --wheel-dir "$HOME/python3-wheels" -r "${BASH_SOURCE%/*}/../common/shared/requirements.txt" - -# shellcheck source=../common/unix/SetEnvVar.sh -source "${BASH_SOURCE%/*}/../common/unix/SetEnvVar.sh" -SetEnvVar "PYTHON3_WHEEL_CACHE" "$HOME/python3-wheels" +# 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/ diff --git a/coin/provisioning/qtci-linux-openSUSE-15.3-x86_64/09-cmake.sh b/coin/provisioning/qtci-linux-openSUSE-15.3-x86_64/09-cmake.sh index 5eb53566..38e86081 100755 --- a/coin/provisioning/qtci-linux-openSUSE-15.3-x86_64/09-cmake.sh +++ b/coin/provisioning/qtci-linux-openSUSE-15.3-x86_64/09-cmake.sh @@ -1,4 +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 set -ex diff --git a/coin/provisioning/qtci-linux-openSUSE-15.3-x86_64/10-cmake-min-supported.sh b/coin/provisioning/qtci-linux-openSUSE-15.3-x86_64/10-cmake-min-supported.sh new file mode 100755 index 00000000..70bd2d08 --- /dev/null +++ b/coin/provisioning/qtci-linux-openSUSE-15.3-x86_64/10-cmake-min-supported.sh @@ -0,0 +1,10 @@ +#!/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/linux/cmake_min_supported.sh" + +# For testing Qt's CMake deployment API with CMake < 3.21, we need patchelf. +sudo zypper -nq install patchelf diff --git a/coin/provisioning/qtci-linux-openSUSE-15.3-x86_64/22-mqtt_broker.sh b/coin/provisioning/qtci-linux-openSUSE-15.3-x86_64/22-mqtt_broker.sh index e0875b37..c81f5c66 100755 --- a/coin/provisioning/qtci-linux-openSUSE-15.3-x86_64/22-mqtt_broker.sh +++ b/coin/provisioning/qtci-linux-openSUSE-15.3-x86_64/22-mqtt_broker.sh @@ -1,43 +1,6 @@ #!/usr/bin/env bash - -############################################################################# -## -## Copyright (C) 2017 The Qt Company Ltd. -## Contact: https://www.qt.io/licensing/ -## -## This file is part of the provisioning scripts of the Qt Toolkit. -## -## $QT_BEGIN_LICENSE:LGPL$ -## Commercial License Usage -## Licensees holding valid commercial Qt licenses may use this file in -## accordance with the commercial license agreement provided with the -## Software or, alternatively, in accordance with the terms contained in -## a written agreement between you and The Qt Company. For licensing terms -## and conditions see https://www.qt.io/terms-conditions. For further -## information use the contact form at https://www.qt.io/contact-us. -## -## GNU Lesser General Public License Usage -## Alternatively, this file may be used under the terms of the GNU Lesser -## General Public License version 3 as published by the Free Software -## Foundation and appearing in the file LICENSE.LGPL3 included in the -## packaging of this file. Please review the following information to -## ensure the GNU Lesser General Public License version 3 requirements -## will be met: https://www.gnu.org/licenses/lgpl-3.0.html. -## -## GNU General Public License Usage -## Alternatively, this file may be used under the terms of the GNU -## General Public License version 2.0 or (at your option) the GNU General -## Public license version 3 or any later version approved by the KDE Free -## Qt Foundation. The licenses are as published by the Free Software -## Foundation and appearing in the file LICENSE.GPL2 and LICENSE.GPL3 -## included in the packaging of this file. Please review the following -## information to ensure the GNU General Public License requirements will -## be met: https://www.gnu.org/licenses/gpl-2.0.html and -## https://www.gnu.org/licenses/gpl-3.0.html. -## -## $QT_END_LICENSE$ -## -############################################################################# +# 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 # shellcheck source=../common/unix/mqtt_broker.sh source "${BASH_SOURCE%/*}/../common/unix/mqtt_broker.sh" diff --git a/coin/provisioning/qtci-linux-openSUSE-15.3-x86_64/30-install-conan.sh b/coin/provisioning/qtci-linux-openSUSE-15.3-x86_64/30-install-conan.sh index b8820053..c5b53fac 100755 --- a/coin/provisioning/qtci-linux-openSUSE-15.3-x86_64/30-install-conan.sh +++ b/coin/provisioning/qtci-linux-openSUSE-15.3-x86_64/30-install-conan.sh @@ -1,4 +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 set -ex diff --git a/coin/provisioning/qtci-linux-openSUSE-15.3-x86_64/30-install-git.sh b/coin/provisioning/qtci-linux-openSUSE-15.3-x86_64/30-install-git.sh new file mode 100755 index 00000000..7a73f354 --- /dev/null +++ b/coin/provisioning/qtci-linux-openSUSE-15.3-x86_64/30-install-git.sh @@ -0,0 +1,8 @@ +#!/usr/bin/env bash +#Copyright (C) 2023 The Qt Company Ltd +#SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only + +set -ex + +BASEDIR=$(dirname "$0") +"$BASEDIR/../common/linux/install-git.sh" diff --git a/coin/provisioning/qtci-linux-openSUSE-15.3-x86_64/40-install-flite.sh b/coin/provisioning/qtci-linux-openSUSE-15.3-x86_64/40-install-flite.sh new file mode 100755 index 00000000..acd5b030 --- /dev/null +++ b/coin/provisioning/qtci-linux-openSUSE-15.3-x86_64/40-install-flite.sh @@ -0,0 +1,8 @@ +#!/usr/bin/env bash +#Copyright (C) 2023 The Qt Company Ltd +#SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only + +set -ex + +BASEDIR=$(dirname "$0") +"$BASEDIR/../common/linux/install-flite.sh" diff --git a/coin/provisioning/qtci-linux-openSUSE-15.3-x86_64/55-emsdk.sh b/coin/provisioning/qtci-linux-openSUSE-15.3-x86_64/55-emsdk.sh index 3299f3e5..6b1a79e5 100755 --- a/coin/provisioning/qtci-linux-openSUSE-15.3-x86_64/55-emsdk.sh +++ b/coin/provisioning/qtci-linux-openSUSE-15.3-x86_64/55-emsdk.sh @@ -1,43 +1,6 @@ #!/usr/bin/env bash - -############################################################################# -## -## Copyright (C) 2018 The Qt Company Ltd. -## Contact: https://www.qt.io/licensing/ -## -## This file is part of the provisioning scripts of the Qt Toolkit. -## -## $QT_BEGIN_LICENSE:LGPL$ -## Commercial License Usage -## Licensees holding valid commercial Qt licenses may use this file in -## accordance with the commercial license agreement provided with the -## Software or, alternatively, in accordance with the terms contained in -## a written agreement between you and The Qt Company. For licensing terms -## and conditions see https://www.qt.io/terms-conditions. For further -## information use the contact form at https://www.qt.io/contact-us. -## -## GNU Lesser General Public License Usage -## Alternatively, this file may be used under the terms of the GNU Lesser -## General Public License version 3 as published by the Free Software -## Foundation and appearing in the file LICENSE.LGPL3 included in the -## packaging of this file. Please review the following information to -## ensure the GNU Lesser General Public License version 3 requirements -## will be met: https://www.gnu.org/licenses/lgpl-3.0.html. -## -## GNU General Public License Usage -## Alternatively, this file may be used under the terms of the GNU -## General Public License version 2.0 or (at your option) the GNU General -## Public license version 3 or any later version approved by the KDE Free -## Qt Foundation. The licenses are as published by the Free Software -## Foundation and appearing in the file LICENSE.GPL2 and LICENSE.GPL3 -## included in the packaging of this file. Please review the following -## information to ensure the GNU General Public License requirements will -## be met: https://www.gnu.org/licenses/gpl-2.0.html and -## https://www.gnu.org/licenses/gpl-3.0.html. -## -## $QT_END_LICENSE$ -## -############################################################################# +# Copyright (C) 2018 The Qt Company Ltd. +# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only set -ex diff --git a/coin/provisioning/qtci-linux-openSUSE-15.3-x86_64/60-install_protobuf.sh b/coin/provisioning/qtci-linux-openSUSE-15.3-x86_64/60-install_protobuf.sh new file mode 100755 index 00000000..3e2b8921 --- /dev/null +++ b/coin/provisioning/qtci-linux-openSUSE-15.3-x86_64/60-install_protobuf.sh @@ -0,0 +1,9 @@ +#!/usr/bin/env bash +# Copyright (C) 2018 The Qt Company Ltd. +# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only + +set -ex + +# shellcheck source=../common/unix/install_protobuf.sh +source "${BASH_SOURCE%/*}/../common/unix/install_protobuf.sh" + diff --git a/coin/provisioning/qtci-linux-openSUSE-15.3-x86_64/70-install_QemuGA.sh b/coin/provisioning/qtci-linux-openSUSE-15.3-x86_64/70-install_QemuGA.sh index 248e17db..76459a03 100755 --- a/coin/provisioning/qtci-linux-openSUSE-15.3-x86_64/70-install_QemuGA.sh +++ b/coin/provisioning/qtci-linux-openSUSE-15.3-x86_64/70-install_QemuGA.sh @@ -1,43 +1,6 @@ #!/usr/bin/env bash - -############################################################################# -## -## Copyright (C) 2020 The Qt Company Ltd. -## Contact: https://www.qt.io/licensing/ -## -## This file is part of the provisioning scripts of the Qt Toolkit. -## -## $QT_BEGIN_LICENSE:LGPL$ -## Commercial License Usage -## Licensees holding valid commercial Qt licenses may use this file in -## accordance with the commercial license agreement provided with the -## Software or, alternatively, in accordance with the terms contained in -## a written agreement between you and The Qt Company. For licensing terms -## and conditions see https://www.qt.io/terms-conditions. For further -## information use the contact form at https://www.qt.io/contact-us. -## -## GNU Lesser General Public License Usage -## Alternatively, this file may be used under the terms of the GNU Lesser -## General Public License version 3 as published by the Free Software -## Foundation and appearing in the file LICENSE.LGPL3 included in the -## packaging of this file. Please review the following information to -## ensure the GNU Lesser General Public License version 3 requirements -## will be met: https://www.gnu.org/licenses/lgpl-3.0.html. -## -## GNU General Public License Usage -## Alternatively, this file may be used under the terms of the GNU -## General Public License version 2.0 or (at your option) the GNU General -## Public license version 3 or any later version approved by the KDE Free -## Qt Foundation. The licenses are as published by the Free Software -## Foundation and appearing in the file LICENSE.GPL2 and LICENSE.GPL3 -## included in the packaging of this file. Please review the following -## information to ensure the GNU General Public License requirements will -## be met: https://www.gnu.org/licenses/gpl-2.0.html and -## https://www.gnu.org/licenses/gpl-3.0.html. -## -## $QT_END_LICENSE$ -## -############################################################################# +# Copyright (C) 2020 The Qt Company Ltd. +# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only # This script installs QEMU Guest Agent diff --git a/coin/provisioning/qtci-linux-openSUSE-15.3-x86_64/80-install-chrome.sh b/coin/provisioning/qtci-linux-openSUSE-15.3-x86_64/80-install-chrome.sh index 857fe860..d680e017 100755 --- a/coin/provisioning/qtci-linux-openSUSE-15.3-x86_64/80-install-chrome.sh +++ b/coin/provisioning/qtci-linux-openSUSE-15.3-x86_64/80-install-chrome.sh @@ -1,36 +1,6 @@ #!/usr/bin/env bash -############################################################################# -## -## Copyright (C) 2021 The Qt Company Ltd. -## Contact: http://www.qt.io/licensing/ -## -## This file is part of the provisioning scripts of the Qt Toolkit. -## -## $QT_BEGIN_LICENSE:LGPL21$ -## Commercial License Usage -## Licensees holding valid commercial Qt licenses may use this file in -## accordance with the commercial license agreement provided with the -## Software or, alternatively, in accordance with the terms contained in -## a written agreement between you and The Qt Company. For licensing terms -## and conditions see http://www.qt.io/terms-conditions. For further -## information use the contact form at http://www.qt.io/contact-us. -## -## GNU Lesser General Public License Usage -## Alternatively, this file may be used under the terms of the GNU Lesser -## General Public License version 2.1 or version 3 as published by the Free -## Software Foundation and appearing in the file LICENSE.LGPLv21 and -## LICENSE.LGPLv3 included in the packaging of this file. Please review the -## following information to ensure the GNU Lesser General Public License -## requirements will be met: https://www.gnu.org/licenses/lgpl.html and -## http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html. -## -## As a special exception, The Qt Company gives you certain additional -## rights. These rights are described in The Qt Company LGPL Exception -## version 1.1, included in the file LGPL_EXCEPTION.txt in this package. -## -## $QT_END_LICENSE$ -## -############################################################################# +# 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 # This script will install up-to-date google Chrome needed for Webassembly auto tests. @@ -49,3 +19,7 @@ sudo rpm --import /tmp/linux_signing_key.pub # Update the repo cache of zypper and install Chrome sudo zypper ref -f sudo zypper -nq install --no-confirm google-chrome-stable + +# Install Chromedriver Chromium +sudo zypper -nq install chromedriver + diff --git a/coin/provisioning/qtci-linux-openSUSE-15.3-x86_64/90-install-ffmpeg.sh b/coin/provisioning/qtci-linux-openSUSE-15.3-x86_64/90-install-ffmpeg.sh new file mode 100755 index 00000000..61da9b7b --- /dev/null +++ b/coin/provisioning/qtci-linux-openSUSE-15.3-x86_64/90-install-ffmpeg.sh @@ -0,0 +1,3 @@ +#!/usr/bin/env bash + +source "${BASH_SOURCE%/*}/../common/unix/install-ffmpeg.sh" "linux" diff --git a/coin/provisioning/qtci-linux-openSUSE-15.3-x86_64/90-mimer.sh b/coin/provisioning/qtci-linux-openSUSE-15.3-x86_64/90-mimer.sh new file mode 100755 index 00000000..bff2a7c7 --- /dev/null +++ b/coin/provisioning/qtci-linux-openSUSE-15.3-x86_64/90-mimer.sh @@ -0,0 +1,8 @@ +#!/usr/bin/env bash +# Copyright (C) 2022 The Qt Company Ltd. +# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only + +set -ex + +BASEDIR=$(dirname "$0") +"$BASEDIR/../common/linux/mimersql.sh" "openssl-1" "rpm" diff --git a/coin/provisioning/qtci-linux-openSUSE-15.3-x86_64/90-squish.sh b/coin/provisioning/qtci-linux-openSUSE-15.3-x86_64/90-squish.sh index e4281588..f803ccc1 100755 --- a/coin/provisioning/qtci-linux-openSUSE-15.3-x86_64/90-squish.sh +++ b/coin/provisioning/qtci-linux-openSUSE-15.3-x86_64/90-squish.sh @@ -1,4 +1,6 @@ #!/usr/bin/env bash +#Copyright (C) 2023 The Qt Company Ltd +#SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only BASEDIR=$(dirname "$0") "$BASEDIR/../common/unix/squishInstall.sh" diff --git a/coin/provisioning/qtci-linux-openSUSE-15.3-x86_64/99-cleanup.sh b/coin/provisioning/qtci-linux-openSUSE-15.3-x86_64/99-cleanup.sh new file mode 100755 index 00000000..4d6e16ea --- /dev/null +++ b/coin/provisioning/qtci-linux-openSUSE-15.3-x86_64/99-cleanup.sh @@ -0,0 +1,7 @@ +#!/usr/bin/env bash +# Copyright (C) 2022 The Qt Company Ltd. +# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only + +set -ex + +"$(dirname "$0")"/../common/linux/cleanup_cache.sh diff --git a/coin/provisioning/qtci-linux-openSUSE-15.3-x86_64/99-unset-proxy.sh b/coin/provisioning/qtci-linux-openSUSE-15.3-x86_64/99-unset-proxy.sh index 59f3abc2..d63c4919 100755 --- a/coin/provisioning/qtci-linux-openSUSE-15.3-x86_64/99-unset-proxy.sh +++ b/coin/provisioning/qtci-linux-openSUSE-15.3-x86_64/99-unset-proxy.sh @@ -1,42 +1,6 @@ #!/usr/bin/env bash -############################################################################# -## -## Copyright (C) 2017 The Qt Company Ltd. -## Contact: https://www.qt.io/licensing/ -## -## This file is part of the provisioning scripts of the Qt Toolkit. -## -## $QT_BEGIN_LICENSE:LGPL$ -## Commercial License Usage -## Licensees holding valid commercial Qt licenses may use this file in -## accordance with the commercial license agreement provided with the -## Software or, alternatively, in accordance with the terms contained in -## a written agreement between you and The Qt Company. For licensing terms -## and conditions see https://www.qt.io/terms-conditions. For further -## information use the contact form at https://www.qt.io/contact-us. -## -## GNU Lesser General Public License Usage -## Alternatively, this file may be used under the terms of the GNU Lesser -## General Public License version 3 as published by the Free Software -## Foundation and appearing in the file LICENSE.LGPL3 included in the -## packaging of this file. Please review the following information to -## ensure the GNU Lesser General Public License version 3 requirements -## will be met: https://www.gnu.org/licenses/lgpl-3.0.html. -## -## GNU General Public License Usage -## Alternatively, this file may be used under the terms of the GNU -## General Public License version 2.0 or (at your option) the GNU General -## Public license version 3 or any later version approved by the KDE Free -## Qt Foundation. The licenses are as published by the Free Software -## Foundation and appearing in the file LICENSE.GPL2 and LICENSE.GPL3 -## included in the packaging of this file. Please review the following -## information to ensure the GNU General Public License requirements will -## be met: https://www.gnu.org/licenses/gpl-2.0.html and -## https://www.gnu.org/licenses/gpl-3.0.html. -## -## $QT_END_LICENSE$ -## -############################################################################# +# Copyright (C) 2017 The Qt Company Ltd. +# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only set -ex diff --git a/coin/provisioning/qtci-linux-openSUSE-15.3-x86_64/99-version.sh b/coin/provisioning/qtci-linux-openSUSE-15.3-x86_64/99-version.sh index 87825b16..00d06674 100755 --- a/coin/provisioning/qtci-linux-openSUSE-15.3-x86_64/99-version.sh +++ b/coin/provisioning/qtci-linux-openSUSE-15.3-x86_64/99-version.sh @@ -1,43 +1,6 @@ #!/usr/bin/env bash - -############################################################################# -## -## Copyright (C) 2018 The Qt Company Ltd. -## Contact: https://www.qt.io/licensing/ -## -## This file is part of the provisioning scripts of the Qt Toolkit. -## -## $QT_BEGIN_LICENSE:LGPL$ -## Commercial License Usage -## Licensees holding valid commercial Qt licenses may use this file in -## accordance with the commercial license agreement provided with the -## Software or, alternatively, in accordance with the terms contained in -## a written agreement between you and The Qt Company. For licensing terms -## and conditions see https://www.qt.io/terms-conditions. For further -## information use the contact form at https://www.qt.io/contact-us. -## -## GNU Lesser General Public License Usage -## Alternatively, this file may be used under the terms of the GNU Lesser -## General Public License version 3 as published by the Free Software -## Foundation and appearing in the file LICENSE.LGPL3 included in the -## packaging of this file. Please review the following information to -## ensure the GNU Lesser General Public License version 3 requirements -## will be met: https://www.gnu.org/licenses/lgpl-3.0.html. -## -## GNU General Public License Usage -## Alternatively, this file may be used under the terms of the GNU -## General Public License version 2.0 or (at your option) the GNU General -## Public license version 3 or any later version approved by the KDE Free -## Qt Foundation. The licenses are as published by the Free Software -## Foundation and appearing in the file LICENSE.GPL2 and LICENSE.GPL3 -## included in the packaging of this file. Please review the following -## information to ensure the GNU General Public License requirements will -## be met: https://www.gnu.org/licenses/gpl-2.0.html and -## https://www.gnu.org/licenses/gpl-3.0.html. -## -## $QT_END_LICENSE$ -## -############################################################################# +# Copyright (C) 2018 The Qt Company Ltd. +# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only # This script needs to be called last during provisioning so that the software information will show up last in provision log. diff --git a/coin/provisioning/qtci-linux-openSUSE-15.4-x86_64/01-disable_net_lso.sh b/coin/provisioning/qtci-linux-openSUSE-15.4-x86_64/01-disable_net_lso.sh new file mode 100755 index 00000000..fc209ad8 --- /dev/null +++ b/coin/provisioning/qtci-linux-openSUSE-15.4-x86_64/01-disable_net_lso.sh @@ -0,0 +1,6 @@ +#!/bin/sh +#Copyright (C) 2023 The Qt Company Ltd +#SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only + +echo "ethtool -K \${DEVICE_IFACE} tso off" | sudo tee -a /etc/NetworkManager/dispatcher.d/net_tso_off +sudo chmod +x /etc/NetworkManager/dispatcher.d/net_tso_off diff --git a/coin/provisioning/qtci-linux-openSUSE-15.4-x86_64/01-install_telegraf.sh b/coin/provisioning/qtci-linux-openSUSE-15.4-x86_64/01-install_telegraf.sh new file mode 100755 index 00000000..729f9003 --- /dev/null +++ b/coin/provisioning/qtci-linux-openSUSE-15.4-x86_64/01-install_telegraf.sh @@ -0,0 +1,3 @@ +#!/bin/sh + +"$(dirname "$0")"/../common/unix/telegraf_install.sh diff --git a/coin/provisioning/qtci-linux-openSUSE-15.4-x86_64/01-set-ulimit.sh b/coin/provisioning/qtci-linux-openSUSE-15.4-x86_64/01-set-ulimit.sh new file mode 100755 index 00000000..e951e82a --- /dev/null +++ b/coin/provisioning/qtci-linux-openSUSE-15.4-x86_64/01-set-ulimit.sh @@ -0,0 +1,8 @@ +#!/usr/bin/env bash +#Copyright (C) 2023 The Qt Company Ltd +#SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only + +set -ex + +BASEDIR=$(dirname "$0") +"$BASEDIR/../common/linux/set_ulimit.sh" diff --git a/coin/provisioning/qtci-linux-openSUSE-15.4-x86_64/01-systemsetup.sh b/coin/provisioning/qtci-linux-openSUSE-15.4-x86_64/01-systemsetup.sh new file mode 100755 index 00000000..f89ed0c6 --- /dev/null +++ b/coin/provisioning/qtci-linux-openSUSE-15.4-x86_64/01-systemsetup.sh @@ -0,0 +1,44 @@ +#!/usr/bin/env bash +# Copyright (C) 2022 The Qt Company Ltd. +# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only + +set -ex + +BASEDIR=$(dirname "$0") +# shellcheck source=../common/shared/network_test_server_ip.txt +source "$BASEDIR/../common/shared/network_test_server_ip.txt" +# shellcheck source=../common/unix/check_and_set_proxy.sh +source "${BASH_SOURCE%/*}/../common/unix/check_and_set_proxy.sh" + +# https://bugzilla.opensuse.org/show_bug.cgi?id=1032027 +sudo btrfs quota disable / + +sed -i '$ a\[Daemon\]\nAutolock=false\nLockOnResume=false' ~/.config/kscreenlockerrc + +sudo sed -i 's|GRUB_TIMEOUT=8|GRUB_TIMEOUT=0|g' /etc/default/grub +sudo grub2-mkconfig -o /boot/grub2/grub.cfg + +echo "Set Network Test Server address to $network_test_server_ip in /etc/hosts" +echo "$network_test_server_ip qt-test-server qt-test-server.qt-test-net" | sudo tee -a /etc/hosts +echo "Set DISPLAY" +echo 'export DISPLAY=":0"' >> ~/.bashrc +echo "Disabling file indexing." +sudo balooctl disable + +sudo systemctl enable sshd +sudo systemctl stop packagekit +sudo systemctl disable packagekit +sudo systemctl mask packagekit +while sudo fuser /usr/lib/packagekitd >/dev/null 2>&1 ; do + echo "Waiting for PackageKit to finish..." + sleep 0.5 +done +echo "Disabling update notifications" +sudo zypper -nq remove plasma5-pk-updates + + +# shellcheck disable=SC2031 +if [ "$http_proxy" != "" ]; then + sudo sed -i 's/PROXY_ENABLED=\"no\"/PROXY_ENABLED=\"yes\"/' /etc/sysconfig/proxy + sudo sed -i "s|HTTP_PROXY=\".*\"|HTTP_PROXY=\"$proxy\"|" /etc/sysconfig/proxy +fi diff --git a/coin/provisioning/qtci-linux-openSUSE-15.4-x86_64/02-disable-ntp.sh b/coin/provisioning/qtci-linux-openSUSE-15.4-x86_64/02-disable-ntp.sh new file mode 100755 index 00000000..38707a8a --- /dev/null +++ b/coin/provisioning/qtci-linux-openSUSE-15.4-x86_64/02-disable-ntp.sh @@ -0,0 +1,3 @@ +#!/usr/bin/env bash +# shellcheck source=../common/linux/disable-ntp_linux.sh +source "${BASH_SOURCE%/*}/../common/linux/disable-ntp_linux.sh" diff --git a/coin/provisioning/qtci-linux-openSUSE-15.4-x86_64/03-enable-repos.sh b/coin/provisioning/qtci-linux-openSUSE-15.4-x86_64/03-enable-repos.sh new file mode 100755 index 00000000..1378a305 --- /dev/null +++ b/coin/provisioning/qtci-linux-openSUSE-15.4-x86_64/03-enable-repos.sh @@ -0,0 +1,12 @@ +#!/usr/bin/env bash +# Copyright (C) 2020 The Qt Company Ltd. +# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only + +set -ex + +sudo sed -i "s#baseurl=.*#baseurl=http://repo-clones.ci.qt.io/repos/opensuse/distribution/leap/15.4/repo/oss/#g" /etc/zypp/repos.d/repo-oss.repo +sudo sed -i "s#baseurl=.*#baseurl=http://repo-clones.ci.qt.io/repos/opensuse/distribution/leap/15.4/repo/non-oss/#g" /etc/zypp/repos.d/repo-non-oss.repo +sudo sed -i "s#baseurl=.*#baseurl=http://repo-clones.ci.qt.io/repos/opensuse/update/leap/15.4/oss/#g" /etc/zypp/repos.d/repo-update.repo +sudo sed -i "s#baseurl=.*#baseurl=http://repo-clones.ci.qt.io/repos/opensuse/update/leap/15.4/non-oss/#g" /etc/zypp/repos.d/repo-update-non-oss.repo + +sudo zypper lr -u diff --git a/coin/provisioning/qtci-linux-openSUSE-15.4-x86_64/04-zypperpackages.sh b/coin/provisioning/qtci-linux-openSUSE-15.4-x86_64/04-zypperpackages.sh new file mode 100755 index 00000000..f55387b4 --- /dev/null +++ b/coin/provisioning/qtci-linux-openSUSE-15.4-x86_64/04-zypperpackages.sh @@ -0,0 +1,79 @@ +#!/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 + +sudo zypper -nq install git gcc9 gcc9-c++ ninja +sudo /usr/sbin/update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-9 1 \ + --slave /usr/bin/g++ g++ /usr/bin/g++-9 \ + --slave /usr/bin/cc cc /usr/bin/gcc-9 \ + --slave /usr/bin/c++ c++ /usr/bin/g++-9 + +sudo zypper -nq install bison flex gperf \ + zlib-devel \ + systemd-devel \ + glib2-devel \ + libopenssl-3-devel \ + freetype2-devel \ + fontconfig-devel \ + sqlite3-devel \ + libxkbcommon-devel \ + libxkbcommon-x11-devel \ + pcre2-devel libpng16-devel + +# EGL support +sudo zypper -nq install Mesa-libEGL-devel Mesa-libGL-devel + + +# Xinput2 +sudo zypper -nq install libXi-devel + +# system provided XCB libraries +sudo zypper -nq install xcb-util-devel xcb-util-image-devel xcb-util-keysyms-devel \ + xcb-util-wm-devel xcb-util-renderutil-devel xcb-util-cursor-devel + +# ICU +sudo zypper -nq install libicu-devel + +# qtwebengine +sudo zypper -nq install alsa-devel dbus-1-devel libxkbfile-devel \ + libXcomposite-devel libXcursor-devel libXrandr-devel libXtst-devel \ + mozilla-nspr-devel mozilla-nss-devel nodejs12 glproto-devel \ + libxshmfence-devel libXdamage-devel libdrm-devel libgbm-devel + +# qtwebengine, qtmultimedia+ffmpeg +sudo zypper -nq install libva-devel + +# qtwebkit +sudo zypper -nq install libxml2-devel libxslt-devel + +# yasm (for ffmpeg in multimedia) +sudo zypper -nq install yasm + +# GStreamer (qtwebkit and qtmultimedia), pulseaudio (qtmultimedia) +sudo zypper -nq install gstreamer-devel gstreamer-plugins-base-devel libpulse-devel + +# cups +sudo zypper -nq install cups-devel + +#speech-dispatcher +sudo zypper -nq install libspeechd-devel + +# make +sudo zypper -nq install make + +# Tools to build Git +sudo zypper -nq install autoconf libcurl-devel libexpat-devel + +# OpenSSL 3 +sudo zypper -nq install openssl-3 + +# Valgrind (Needed for testlib selftests) +sudo zypper -nq install valgrind-devel + +gccVersion="$(gcc --version |grep gcc |cut -b 17-23)" +echo "GCC = $gccVersion" >> versions.txt + +OpenSSLVersion="$(openssl-3 version |cut -b 9-14)" +echo "OpenSSL = $OpenSSLVersion" >> ~/versions.txt diff --git a/coin/provisioning/qtci-linux-openSUSE-15.4-x86_64/05-disable_kwin_overview.sh b/coin/provisioning/qtci-linux-openSUSE-15.4-x86_64/05-disable_kwin_overview.sh new file mode 100755 index 00000000..f6a3d71c --- /dev/null +++ b/coin/provisioning/qtci-linux-openSUSE-15.4-x86_64/05-disable_kwin_overview.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/linux/disable_kwin_overview.sh diff --git a/coin/provisioning/qtci-linux-openSUSE-15.4-x86_64/08-libclang-v100-dyn.sh b/coin/provisioning/qtci-linux-openSUSE-15.4-x86_64/08-libclang-v100-dyn.sh new file mode 100755 index 00000000..e1fc1550 --- /dev/null +++ b/coin/provisioning/qtci-linux-openSUSE-15.4-x86_64/08-libclang-v100-dyn.sh @@ -0,0 +1,9 @@ +#!/usr/bin/env bash +#Copyright (C) 2023 The Qt Company Ltd +#SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only + +set -ex + +BASEDIR=$(dirname "$0") +# shellcheck source=../common/unix/libclang-v100-dyn.sh +"$BASEDIR/../common/unix/libclang-v100-dyn.sh" diff --git a/coin/provisioning/qtci-linux-openSUSE-15.4-x86_64/08-libclang.sh b/coin/provisioning/qtci-linux-openSUSE-15.4-x86_64/08-libclang.sh new file mode 100755 index 00000000..4e371161 --- /dev/null +++ b/coin/provisioning/qtci-linux-openSUSE-15.4-x86_64/08-libclang.sh @@ -0,0 +1,9 @@ +#!/usr/bin/env bash +#Copyright (C) 2023 The Qt Company Ltd +#SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only + +set -ex + +BASEDIR=$(dirname "$0") +# shellcheck source=../common/unix/libclang.sh +"$BASEDIR/../common/unix/libclang.sh" diff --git a/coin/provisioning/qtci-linux-openSUSE-15.4-x86_64/08-pythondev.sh b/coin/provisioning/qtci-linux-openSUSE-15.4-x86_64/08-pythondev.sh new file mode 100755 index 00000000..a43e9fad --- /dev/null +++ b/coin/provisioning/qtci-linux-openSUSE-15.4-x86_64/08-pythondev.sh @@ -0,0 +1,18 @@ +#!/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 + +# provides: python development libraries +# version: provided by default Linux distribution repository +# needed to build pyside + +set -ex + +sudo zypper -nq install python-devel python-xml + +# install python3 +sudo zypper -nq install python3-base python3 python3-pip python3-devel python3-virtualenv python3-wheel + +# 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/ diff --git a/coin/provisioning/qtci-linux-openSUSE-15.4-x86_64/09-cmake.sh b/coin/provisioning/qtci-linux-openSUSE-15.4-x86_64/09-cmake.sh new file mode 100755 index 00000000..38e86081 --- /dev/null +++ b/coin/provisioning/qtci-linux-openSUSE-15.4-x86_64/09-cmake.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/linux/cmake_linux.sh" diff --git a/coin/provisioning/qtci-linux-openSUSE-15.4-x86_64/09-openssl.sh b/coin/provisioning/qtci-linux-openSUSE-15.4-x86_64/09-openssl.sh new file mode 100755 index 00000000..94f30890 --- /dev/null +++ b/coin/provisioning/qtci-linux-openSUSE-15.4-x86_64/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-openSUSE-15.4-x86_64/10-cmake-min-supported.sh b/coin/provisioning/qtci-linux-openSUSE-15.4-x86_64/10-cmake-min-supported.sh new file mode 100755 index 00000000..70bd2d08 --- /dev/null +++ b/coin/provisioning/qtci-linux-openSUSE-15.4-x86_64/10-cmake-min-supported.sh @@ -0,0 +1,10 @@ +#!/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/linux/cmake_min_supported.sh" + +# For testing Qt's CMake deployment API with CMake < 3.21, we need patchelf. +sudo zypper -nq install patchelf diff --git a/coin/provisioning/qtci-linux-openSUSE-15.4-x86_64/20-sccache.sh b/coin/provisioning/qtci-linux-openSUSE-15.4-x86_64/20-sccache.sh new file mode 100755 index 00000000..b371d947 --- /dev/null +++ b/coin/provisioning/qtci-linux-openSUSE-15.4-x86_64/20-sccache.sh @@ -0,0 +1,3 @@ +#!/usr/bin/env bash + +source "${BASH_SOURCE%/*}/../common/linux/sccache.sh" diff --git a/coin/provisioning/qtci-linux-openSUSE-15.4-x86_64/22-mqtt_broker.sh b/coin/provisioning/qtci-linux-openSUSE-15.4-x86_64/22-mqtt_broker.sh new file mode 100755 index 00000000..c81f5c66 --- /dev/null +++ b/coin/provisioning/qtci-linux-openSUSE-15.4-x86_64/22-mqtt_broker.sh @@ -0,0 +1,6 @@ +#!/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 + +# shellcheck source=../common/unix/mqtt_broker.sh +source "${BASH_SOURCE%/*}/../common/unix/mqtt_broker.sh" diff --git a/coin/provisioning/qtci-linux-openSUSE-15.4-x86_64/30-install-conan.sh b/coin/provisioning/qtci-linux-openSUSE-15.4-x86_64/30-install-conan.sh new file mode 100755 index 00000000..c5b53fac --- /dev/null +++ b/coin/provisioning/qtci-linux-openSUSE-15.4-x86_64/30-install-conan.sh @@ -0,0 +1,8 @@ +#!/usr/bin/env bash +#Copyright (C) 2023 The Qt Company Ltd +#SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only + +set -ex + +BASEDIR=$(dirname "$0") +"$BASEDIR/../common/unix/install-conan.sh" "linux" diff --git a/coin/provisioning/qtci-linux-openSUSE-15.4-x86_64/30-install-git.sh b/coin/provisioning/qtci-linux-openSUSE-15.4-x86_64/30-install-git.sh new file mode 100755 index 00000000..7a73f354 --- /dev/null +++ b/coin/provisioning/qtci-linux-openSUSE-15.4-x86_64/30-install-git.sh @@ -0,0 +1,8 @@ +#!/usr/bin/env bash +#Copyright (C) 2023 The Qt Company Ltd +#SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only + +set -ex + +BASEDIR=$(dirname "$0") +"$BASEDIR/../common/linux/install-git.sh" diff --git a/coin/provisioning/qtci-linux-openSUSE-15.4-x86_64/40-install-flite.sh b/coin/provisioning/qtci-linux-openSUSE-15.4-x86_64/40-install-flite.sh new file mode 100755 index 00000000..acd5b030 --- /dev/null +++ b/coin/provisioning/qtci-linux-openSUSE-15.4-x86_64/40-install-flite.sh @@ -0,0 +1,8 @@ +#!/usr/bin/env bash +#Copyright (C) 2023 The Qt Company Ltd +#SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only + +set -ex + +BASEDIR=$(dirname "$0") +"$BASEDIR/../common/linux/install-flite.sh" diff --git a/coin/provisioning/qtci-linux-openSUSE-15.4-x86_64/55-emsdk.sh b/coin/provisioning/qtci-linux-openSUSE-15.4-x86_64/55-emsdk.sh new file mode 100755 index 00000000..6b1a79e5 --- /dev/null +++ b/coin/provisioning/qtci-linux-openSUSE-15.4-x86_64/55-emsdk.sh @@ -0,0 +1,8 @@ +#!/usr/bin/env bash +# Copyright (C) 2018 The Qt Company Ltd. +# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only + +set -ex + +# shellcheck source=../common/unix/emsdk.sh +source "${BASH_SOURCE%/*}/../common/unix/emsdk.sh" diff --git a/coin/provisioning/qtci-linux-openSUSE-15.4-x86_64/60-install_protobuf.sh b/coin/provisioning/qtci-linux-openSUSE-15.4-x86_64/60-install_protobuf.sh new file mode 100755 index 00000000..c538ca07 --- /dev/null +++ b/coin/provisioning/qtci-linux-openSUSE-15.4-x86_64/60-install_protobuf.sh @@ -0,0 +1,9 @@ +#!/usr/bin/env bash +# Copyright (C) 2022 The Qt Company Ltd. +# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only + +set -ex + +# shellcheck source=../common/unix/install_protobuf.sh +source "${BASH_SOURCE%/*}/../common/unix/install_protobuf.sh" + diff --git a/coin/provisioning/qtci-linux-openSUSE-15.4-x86_64/61-install_grpc.sh b/coin/provisioning/qtci-linux-openSUSE-15.4-x86_64/61-install_grpc.sh new file mode 100755 index 00000000..ecd6a51f --- /dev/null +++ b/coin/provisioning/qtci-linux-openSUSE-15.4-x86_64/61-install_grpc.sh @@ -0,0 +1,9 @@ +#!/usr/bin/env bash +# Copyright (C) 2022 The Qt Company Ltd. +# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only + +set -ex + +# shellcheck source=../common/unix/install_grpc.sh +source "${BASH_SOURCE%/*}/../common/unix/install_grpc.sh" + diff --git a/coin/provisioning/qtci-linux-openSUSE-15.4-x86_64/70-install_QemuGA.sh b/coin/provisioning/qtci-linux-openSUSE-15.4-x86_64/70-install_QemuGA.sh new file mode 100755 index 00000000..76459a03 --- /dev/null +++ b/coin/provisioning/qtci-linux-openSUSE-15.4-x86_64/70-install_QemuGA.sh @@ -0,0 +1,9 @@ +#!/usr/bin/env bash +# Copyright (C) 2020 The Qt Company Ltd. +# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only + +# This script installs QEMU Guest Agent + +set -ex + +sudo zypper -nq install qemu-guest-agent diff --git a/coin/provisioning/qtci-linux-openSUSE-15.4-x86_64/80-install-chrome.sh b/coin/provisioning/qtci-linux-openSUSE-15.4-x86_64/80-install-chrome.sh new file mode 100755 index 00000000..d680e017 --- /dev/null +++ b/coin/provisioning/qtci-linux-openSUSE-15.4-x86_64/80-install-chrome.sh @@ -0,0 +1,25 @@ +#!/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 + +# This script will install up-to-date google Chrome needed for Webassembly auto tests. + +# shellcheck source=../common/unix/DownloadURL.sh +source "${BASH_SOURCE%/*}/../common/unix/DownloadURL.sh" + +# Webassembly auto tests run requires latest Chrome. Let's use the latest stable one which means we can't cache this +sudo zypper ar http://dl.google.com/linux/chrome/rpm/stable/x86_64 Google-Chrome + +# Add the Google public signing key +externalUrl="https://dl.google.com/linux/linux_signing_key.pub" +Download "$externalUrl" "/tmp/linux_signing_key.pub" +sudo rpm --import /tmp/linux_signing_key.pub + +# Update the repo cache of zypper and install Chrome +sudo zypper ref -f +sudo zypper -nq install --no-confirm google-chrome-stable + +# Install Chromedriver Chromium +sudo zypper -nq install chromedriver + diff --git a/coin/provisioning/qtci-linux-openSUSE-15.4-x86_64/90-bootstrap-autostart.sh b/coin/provisioning/qtci-linux-openSUSE-15.4-x86_64/90-bootstrap-autostart.sh new file mode 100755 index 00000000..1ff43850 --- /dev/null +++ b/coin/provisioning/qtci-linux-openSUSE-15.4-x86_64/90-bootstrap-autostart.sh @@ -0,0 +1,3 @@ +#!/usr/bin/env bash + +source "${BASH_SOURCE%/*}/../common/linux/bootstrap-autostart.sh" diff --git a/coin/provisioning/qtci-linux-openSUSE-15.4-x86_64/90-install-ffmpeg.sh b/coin/provisioning/qtci-linux-openSUSE-15.4-x86_64/90-install-ffmpeg.sh new file mode 100755 index 00000000..61da9b7b --- /dev/null +++ b/coin/provisioning/qtci-linux-openSUSE-15.4-x86_64/90-install-ffmpeg.sh @@ -0,0 +1,3 @@ +#!/usr/bin/env bash + +source "${BASH_SOURCE%/*}/../common/unix/install-ffmpeg.sh" "linux" diff --git a/coin/provisioning/qtci-linux-openSUSE-15.4-x86_64/90-mimer.sh b/coin/provisioning/qtci-linux-openSUSE-15.4-x86_64/90-mimer.sh new file mode 100755 index 00000000..bff2a7c7 --- /dev/null +++ b/coin/provisioning/qtci-linux-openSUSE-15.4-x86_64/90-mimer.sh @@ -0,0 +1,8 @@ +#!/usr/bin/env bash +# Copyright (C) 2022 The Qt Company Ltd. +# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only + +set -ex + +BASEDIR=$(dirname "$0") +"$BASEDIR/../common/linux/mimersql.sh" "openssl-1" "rpm" diff --git a/coin/provisioning/qtci-linux-openSUSE-15.4-x86_64/90-squish.sh b/coin/provisioning/qtci-linux-openSUSE-15.4-x86_64/90-squish.sh new file mode 100755 index 00000000..f803ccc1 --- /dev/null +++ b/coin/provisioning/qtci-linux-openSUSE-15.4-x86_64/90-squish.sh @@ -0,0 +1,6 @@ +#!/usr/bin/env bash +#Copyright (C) 2023 The Qt Company Ltd +#SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only +BASEDIR=$(dirname "$0") +"$BASEDIR/../common/unix/squishInstall.sh" + diff --git a/coin/provisioning/qtci-linux-openSUSE-15.4-x86_64/99-cleanup.sh b/coin/provisioning/qtci-linux-openSUSE-15.4-x86_64/99-cleanup.sh new file mode 100755 index 00000000..4d6e16ea --- /dev/null +++ b/coin/provisioning/qtci-linux-openSUSE-15.4-x86_64/99-cleanup.sh @@ -0,0 +1,7 @@ +#!/usr/bin/env bash +# Copyright (C) 2022 The Qt Company Ltd. +# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only + +set -ex + +"$(dirname "$0")"/../common/linux/cleanup_cache.sh diff --git a/coin/provisioning/qtci-linux-openSUSE-15.4-x86_64/99-unset-proxy.sh b/coin/provisioning/qtci-linux-openSUSE-15.4-x86_64/99-unset-proxy.sh new file mode 100755 index 00000000..d63c4919 --- /dev/null +++ b/coin/provisioning/qtci-linux-openSUSE-15.4-x86_64/99-unset-proxy.sh @@ -0,0 +1,9 @@ +#!/usr/bin/env bash +# Copyright (C) 2017 The Qt Company Ltd. +# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only + +set -ex + +# Having proxy set while running autotests makes them fail +sudo sed -i 's/PROXY_ENABLED=\"yes\"/PROXY_ENABLED=\"no\"/' /etc/sysconfig/proxy + diff --git a/coin/provisioning/qtci-linux-openSUSE-15.4-x86_64/99-version.sh b/coin/provisioning/qtci-linux-openSUSE-15.4-x86_64/99-version.sh new file mode 100755 index 00000000..00d06674 --- /dev/null +++ b/coin/provisioning/qtci-linux-openSUSE-15.4-x86_64/99-version.sh @@ -0,0 +1,17 @@ +#!/usr/bin/env bash +# Copyright (C) 2018 The Qt Company Ltd. +# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only + +# This script needs to be called last during provisioning so that the software information will show up last in provision log. + +# Storage installed RPM packages information + +set -ex + +# shellcheck disable=SC2129 +echo "*********************************************" >> ~/versions.txt +echo "***** All installed RPM packages *****" >> ~/versions.txt +rpm -q -a | sort >> ~/versions.txt +echo "*********************************************" >> ~/versions.txt + +"$(dirname "$0")/../common/linux/version.sh" diff --git a/coin/provisioning/qtci-linux-openSUSE-15.5-x86_64/01-disable_net_lso.sh b/coin/provisioning/qtci-linux-openSUSE-15.5-x86_64/01-disable_net_lso.sh new file mode 100755 index 00000000..c404c366 --- /dev/null +++ b/coin/provisioning/qtci-linux-openSUSE-15.5-x86_64/01-disable_net_lso.sh @@ -0,0 +1,4 @@ +#!/bin/sh + +echo "ethtool -K \${DEVICE_IFACE} tso off" | sudo tee -a /etc/NetworkManager/dispatcher.d/net_tso_off +sudo chmod +x /etc/NetworkManager/dispatcher.d/net_tso_off diff --git a/coin/provisioning/qtci-linux-openSUSE-15.5-x86_64/01-install_telegraf.sh b/coin/provisioning/qtci-linux-openSUSE-15.5-x86_64/01-install_telegraf.sh new file mode 100755 index 00000000..729f9003 --- /dev/null +++ b/coin/provisioning/qtci-linux-openSUSE-15.5-x86_64/01-install_telegraf.sh @@ -0,0 +1,3 @@ +#!/bin/sh + +"$(dirname "$0")"/../common/unix/telegraf_install.sh diff --git a/coin/provisioning/qtci-linux-SLES-15_SP3-x86_64/01-set-ulimit.sh b/coin/provisioning/qtci-linux-openSUSE-15.5-x86_64/01-set-ulimit.sh index dadc0781..dadc0781 100755 --- a/coin/provisioning/qtci-linux-SLES-15_SP3-x86_64/01-set-ulimit.sh +++ b/coin/provisioning/qtci-linux-openSUSE-15.5-x86_64/01-set-ulimit.sh diff --git a/coin/provisioning/qtci-linux-openSUSE-15.5-x86_64/01-systemsetup.sh b/coin/provisioning/qtci-linux-openSUSE-15.5-x86_64/01-systemsetup.sh new file mode 100755 index 00000000..f3334d07 --- /dev/null +++ b/coin/provisioning/qtci-linux-openSUSE-15.5-x86_64/01-systemsetup.sh @@ -0,0 +1,42 @@ +#!/usr/bin/env bash +# Copyright (C) 2022 The Qt Company Ltd. + +set -ex + +BASEDIR=$(dirname "$0") +# shellcheck source=../common/shared/network_test_server_ip.txt +source "$BASEDIR/../common/shared/network_test_server_ip.txt" +# shellcheck source=../common/unix/check_and_set_proxy.sh +source "${BASH_SOURCE%/*}/../common/unix/check_and_set_proxy.sh" + +# https://bugzilla.opensuse.org/show_bug.cgi?id=1032027 +sudo btrfs quota disable / + +sed -i '$ a\[Daemon\]\nAutolock=false\nLockOnResume=false' ~/.config/kscreenlockerrc + +sudo sed -i 's|GRUB_TIMEOUT=8|GRUB_TIMEOUT=0|g' /etc/default/grub +sudo grub2-mkconfig -o /boot/grub2/grub.cfg + +echo "Set Network Test Server address to $network_test_server_ip in /etc/hosts" +echo "$network_test_server_ip qt-test-server qt-test-server.qt-test-net" | sudo tee -a /etc/hosts +echo "Set DISPLAY" +echo 'export DISPLAY=":0"' >> ~/.bashrc +echo "Disabling file indexing." +sudo balooctl disable + +sudo systemctl stop packagekit +sudo systemctl disable packagekit +sudo systemctl mask packagekit +while sudo fuser /usr/lib/packagekitd >/dev/null 2>&1 ; do + echo "Waiting for PackageKit to finish..." + sleep 0.5 +done +echo "Disabling update notifications" +sudo zypper -nq remove plasma5-pk-updates + + +# shellcheck disable=SC2031 +if [ "$http_proxy" != "" ]; then + sudo sed -i 's/PROXY_ENABLED=\"no\"/PROXY_ENABLED=\"yes\"/' /etc/sysconfig/proxy + sudo sed -i "s|HTTP_PROXY=\".*\"|HTTP_PROXY=\"$proxy\"|" /etc/sysconfig/proxy +fi diff --git a/coin/provisioning/qtci-linux-openSUSE-15.5-x86_64/02-disable-ntp.sh b/coin/provisioning/qtci-linux-openSUSE-15.5-x86_64/02-disable-ntp.sh new file mode 100755 index 00000000..38707a8a --- /dev/null +++ b/coin/provisioning/qtci-linux-openSUSE-15.5-x86_64/02-disable-ntp.sh @@ -0,0 +1,3 @@ +#!/usr/bin/env bash +# shellcheck source=../common/linux/disable-ntp_linux.sh +source "${BASH_SOURCE%/*}/../common/linux/disable-ntp_linux.sh" diff --git a/coin/provisioning/qtci-linux-openSUSE-15.5-x86_64/03-enable-repos.sh b/coin/provisioning/qtci-linux-openSUSE-15.5-x86_64/03-enable-repos.sh new file mode 100755 index 00000000..4dd0314f --- /dev/null +++ b/coin/provisioning/qtci-linux-openSUSE-15.5-x86_64/03-enable-repos.sh @@ -0,0 +1,12 @@ +#!/usr/bin/env bash +# Copyright (C) 2020 The Qt Company Ltd. +# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only + +set -ex + +sudo sed -i "s#baseurl=.*#baseurl=http://repo-clones.ci.qt.io/repos/opensuse/distribution/leap/15.5/repo/oss/#g" /etc/zypp/repos.d/repo-oss.repo +sudo sed -i "s#baseurl=.*#baseurl=http://repo-clones.ci.qt.io/repos/opensuse/distribution/leap/15.5/repo/non-oss/#g" /etc/zypp/repos.d/repo-non-oss.repo +sudo sed -i "s#baseurl=.*#baseurl=http://repo-clones.ci.qt.io/repos/opensuse/update/leap/15.5/oss/#g" /etc/zypp/repos.d/repo-update.repo +sudo sed -i "s#baseurl=.*#baseurl=http://repo-clones.ci.qt.io/repos/opensuse/update/leap/15.5/non-oss/#g" /etc/zypp/repos.d/repo-update-non-oss.repo + +sudo zypper lr -u diff --git a/coin/provisioning/qtci-linux-openSUSE-15.5-x86_64/04-zypperpackages.sh b/coin/provisioning/qtci-linux-openSUSE-15.5-x86_64/04-zypperpackages.sh new file mode 100755 index 00000000..afea0ff8 --- /dev/null +++ b/coin/provisioning/qtci-linux-openSUSE-15.5-x86_64/04-zypperpackages.sh @@ -0,0 +1,85 @@ +#!/usr/bin/env bash +# Copyright (C) 2022 The Qt Company Ltd. + +set -ex + +sudo zypper -nq install git gcc9 gcc9-c++ ninja +sudo /usr/sbin/update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-9 1 \ + --slave /usr/bin/g++ g++ /usr/bin/g++-9 \ + --slave /usr/bin/cc cc /usr/bin/gcc-9 \ + --slave /usr/bin/c++ c++ /usr/bin/g++-9 + +sudo zypper -nq install bison flex gperf \ + zlib-devel \ + systemd-devel \ + glib2-devel \ + libopenssl-3-devel \ + freetype2-devel \ + fontconfig-devel \ + sqlite3-devel \ + libxkbcommon-devel \ + libxkbcommon-x11-devel \ + pcre2-devel libpng16-devel + +# EGL support +sudo zypper -nq install Mesa-libEGL-devel Mesa-libGL-devel + + +# Xinput2 +sudo zypper -nq install libXi-devel + +# system provided XCB libraries +sudo zypper -nq install xcb-util-devel xcb-util-image-devel xcb-util-keysyms-devel \ + xcb-util-wm-devel xcb-util-renderutil-devel xcb-util-cursor-devel + +# ICU +sudo zypper -nq install libicu-devel + +# qtwebengine +# Removing nodejs12 as it's not available and testing with common nodejs 18.16.0 +sudo zypper -nq install alsa-devel dbus-1-devel libxkbfile-devel \ + libXcomposite-devel libXcursor-devel libXrandr-devel libXtst-devel \ + mozilla-nspr-devel mozilla-nss-devel glproto-devel \ + libxshmfence-devel libXdamage-devel + +# qtwebkit +sudo zypper -nq install libxml2-devel libxslt-devel + +# yasm (for ffmpeg in multimedia) +sudo zypper -nq install yasm + +# GStreamer (qtwebkit and qtmultimedia), pulseaudio (qtmultimedia) +sudo zypper -nq install gstreamer-devel gstreamer-plugins-base-devel libpulse-devel + +# cups +sudo zypper -nq install cups-devel + +#speech-dispatcher +sudo zypper -nq install libspeechd-devel + +# make +sudo zypper -nq install make + +# Tools to build Git +sudo zypper -nq install autoconf libcurl-devel libexpat-devel + +# zip, needed for vcpkg caching +sudo zypper -nq install zip + +# OpenSSL 3 +sudo zypper -nq install openssl-3 + +# used for reading vcpkg packages version, from vcpkg.json +sudo zypper -nq install jq + +# Valgrind (Needed for testlib selftests) +sudo zypper -nq install valgrind-devel + +# cifs-utils, for mounting smb drive +sudo zypper -nq install cifs-utils + +gccVersion="$(gcc --version |grep gcc |cut -b 17-23)" +echo "GCC = $gccVersion" >> versions.txt + +OpenSSLVersion="$(openssl-3 version |cut -b 9-14)" +echo "System's OpenSSL = $OpenSSLVersion" >> ~/versions.txt diff --git a/coin/provisioning/qtci-linux-openSUSE-15.5-x86_64/05-disable_kwin_overview.sh b/coin/provisioning/qtci-linux-openSUSE-15.5-x86_64/05-disable_kwin_overview.sh new file mode 100755 index 00000000..f6a3d71c --- /dev/null +++ b/coin/provisioning/qtci-linux-openSUSE-15.5-x86_64/05-disable_kwin_overview.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/linux/disable_kwin_overview.sh diff --git a/coin/provisioning/qtci-linux-openSUSE-15.5-x86_64/05-mount-vcpkg-cache-drive.sh b/coin/provisioning/qtci-linux-openSUSE-15.5-x86_64/05-mount-vcpkg-cache-drive.sh new file mode 100755 index 00000000..ed49b3a5 --- /dev/null +++ b/coin/provisioning/qtci-linux-openSUSE-15.5-x86_64/05-mount-vcpkg-cache-drive.sh @@ -0,0 +1,8 @@ +#!/usr/bin/env bash +# Copyright (C) 2023 The Qt Company Ltd. +# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only + +set -ex + +# shellcheck source=../common/linux/mount-vcpkg-cache-drive.sh +source "${BASH_SOURCE%/*}/../common/linux/mount-vcpkg-cache-drive.sh" diff --git a/coin/provisioning/qtci-linux-SLES-15_SP3-x86_64/08-libclang-v100-dyn.sh b/coin/provisioning/qtci-linux-openSUSE-15.5-x86_64/08-libclang-v100-dyn.sh index b0080cbc..b0080cbc 100755 --- a/coin/provisioning/qtci-linux-SLES-15_SP3-x86_64/08-libclang-v100-dyn.sh +++ b/coin/provisioning/qtci-linux-openSUSE-15.5-x86_64/08-libclang-v100-dyn.sh diff --git a/coin/provisioning/qtci-linux-SLES-15_SP3-x86_64/08-libclang.sh b/coin/provisioning/qtci-linux-openSUSE-15.5-x86_64/08-libclang.sh index bbe2b4b4..bbe2b4b4 100755 --- a/coin/provisioning/qtci-linux-SLES-15_SP3-x86_64/08-libclang.sh +++ b/coin/provisioning/qtci-linux-openSUSE-15.5-x86_64/08-libclang.sh diff --git a/coin/provisioning/qtci-linux-openSUSE-15.5-x86_64/08-pythondev.sh b/coin/provisioning/qtci-linux-openSUSE-15.5-x86_64/08-pythondev.sh new file mode 100755 index 00000000..82101c9b --- /dev/null +++ b/coin/provisioning/qtci-linux-openSUSE-15.5-x86_64/08-pythondev.sh @@ -0,0 +1,18 @@ +#!/usr/bin/env bash +# Copyright (C) 2022 The Qt Company Ltd. + +# provides: python development libraries +# version: provided by default Linux distribution repository +# needed to build pyside + +set -ex + +source "${BASH_SOURCE%/*}/../common/unix/SetEnvVar.sh" + +sudo zypper -nq install python-devel python-xml + +# install python3 +sudo zypper -nq install python311-base python311-devel python311-pip python311-virtualenv python311-wheel +python3.11 -m pip install selenium netifaces scache webdriver-manager + +SetEnvVar "PYTHON3_EXECUTABLE" "/usr/bin/python3.11" diff --git a/coin/provisioning/qtci-linux-SLES-15_SP3-x86_64/09-cmake.sh b/coin/provisioning/qtci-linux-openSUSE-15.5-x86_64/09-cmake.sh index 5eb53566..5eb53566 100755 --- a/coin/provisioning/qtci-linux-SLES-15_SP3-x86_64/09-cmake.sh +++ b/coin/provisioning/qtci-linux-openSUSE-15.5-x86_64/09-cmake.sh diff --git a/coin/provisioning/qtci-linux-openSUSE-15.5-x86_64/09-openssl.sh b/coin/provisioning/qtci-linux-openSUSE-15.5-x86_64/09-openssl.sh new file mode 100755 index 00000000..e1131e39 --- /dev/null +++ b/coin/provisioning/qtci-linux-openSUSE-15.5-x86_64/09-openssl.sh @@ -0,0 +1,5 @@ +#!/usr/bin/env bash + +set -ex + +"$(dirname "$0")/../common/unix/install-openssl.sh" "linux" diff --git a/coin/provisioning/qtci-linux-openSUSE-15.5-x86_64/10-cmake-min-supported.sh b/coin/provisioning/qtci-linux-openSUSE-15.5-x86_64/10-cmake-min-supported.sh new file mode 100755 index 00000000..cc79d066 --- /dev/null +++ b/coin/provisioning/qtci-linux-openSUSE-15.5-x86_64/10-cmake-min-supported.sh @@ -0,0 +1,8 @@ +#!/usr/bin/env bash + +set -ex + +"$(dirname "$0")/../common/linux/cmake_min_supported.sh" + +# For testing Qt's CMake deployment API with CMake < 3.21, we need patchelf. +sudo zypper -nq install patchelf diff --git a/coin/provisioning/qtci-linux-openSUSE-15.5-x86_64/20-sccache.sh b/coin/provisioning/qtci-linux-openSUSE-15.5-x86_64/20-sccache.sh new file mode 100755 index 00000000..b371d947 --- /dev/null +++ b/coin/provisioning/qtci-linux-openSUSE-15.5-x86_64/20-sccache.sh @@ -0,0 +1,3 @@ +#!/usr/bin/env bash + +source "${BASH_SOURCE%/*}/../common/linux/sccache.sh" diff --git a/coin/provisioning/qtci-linux-openSUSE-15.5-x86_64/22-mqtt_broker.sh b/coin/provisioning/qtci-linux-openSUSE-15.5-x86_64/22-mqtt_broker.sh new file mode 100755 index 00000000..c81f5c66 --- /dev/null +++ b/coin/provisioning/qtci-linux-openSUSE-15.5-x86_64/22-mqtt_broker.sh @@ -0,0 +1,6 @@ +#!/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 + +# shellcheck source=../common/unix/mqtt_broker.sh +source "${BASH_SOURCE%/*}/../common/unix/mqtt_broker.sh" diff --git a/coin/provisioning/qtci-linux-CentOS-8.3-x86_64/30-install-conan.sh b/coin/provisioning/qtci-linux-openSUSE-15.5-x86_64/30-install-conan.sh index b8820053..b8820053 100755 --- a/coin/provisioning/qtci-linux-CentOS-8.3-x86_64/30-install-conan.sh +++ b/coin/provisioning/qtci-linux-openSUSE-15.5-x86_64/30-install-conan.sh diff --git a/coin/provisioning/qtci-linux-openSUSE-15.5-x86_64/30-install-git.sh b/coin/provisioning/qtci-linux-openSUSE-15.5-x86_64/30-install-git.sh new file mode 100755 index 00000000..05fcdf8e --- /dev/null +++ b/coin/provisioning/qtci-linux-openSUSE-15.5-x86_64/30-install-git.sh @@ -0,0 +1,6 @@ +#!/usr/bin/env bash + +set -ex + +BASEDIR=$(dirname "$0") +"$BASEDIR/../common/linux/install-git.sh" diff --git a/coin/provisioning/qtci-linux-openSUSE-15.5-x86_64/40-install-flite.sh b/coin/provisioning/qtci-linux-openSUSE-15.5-x86_64/40-install-flite.sh new file mode 100755 index 00000000..67ed1991 --- /dev/null +++ b/coin/provisioning/qtci-linux-openSUSE-15.5-x86_64/40-install-flite.sh @@ -0,0 +1,6 @@ +#!/usr/bin/env bash + +set -ex + +BASEDIR=$(dirname "$0") +"$BASEDIR/../common/linux/install-flite.sh" diff --git a/coin/provisioning/qtci-linux-openSUSE-15.5-x86_64/41-install-vcpkg.sh b/coin/provisioning/qtci-linux-openSUSE-15.5-x86_64/41-install-vcpkg.sh new file mode 100644 index 00000000..aa88364d --- /dev/null +++ b/coin/provisioning/qtci-linux-openSUSE-15.5-x86_64/41-install-vcpkg.sh @@ -0,0 +1,6 @@ +#!/usr/bin/env bash + +set -ex + +BASEDIR=$(dirname "$0") +"$BASEDIR/../common/linux/install-vcpkg.sh" diff --git a/coin/provisioning/qtci-linux-openSUSE-15.5-x86_64/42-install-vcpkg-ports.sh b/coin/provisioning/qtci-linux-openSUSE-15.5-x86_64/42-install-vcpkg-ports.sh new file mode 100755 index 00000000..71a46f9a --- /dev/null +++ b/coin/provisioning/qtci-linux-openSUSE-15.5-x86_64/42-install-vcpkg-ports.sh @@ -0,0 +1,6 @@ +#!/usr/bin/env bash + +set -ex + +BASEDIR=$(dirname "$0") +"$BASEDIR/../common/linux/install-vcpkg-ports.sh" diff --git a/coin/provisioning/qtci-linux-openSUSE-15.5-x86_64/55-emsdk.sh b/coin/provisioning/qtci-linux-openSUSE-15.5-x86_64/55-emsdk.sh new file mode 100755 index 00000000..6b1a79e5 --- /dev/null +++ b/coin/provisioning/qtci-linux-openSUSE-15.5-x86_64/55-emsdk.sh @@ -0,0 +1,8 @@ +#!/usr/bin/env bash +# Copyright (C) 2018 The Qt Company Ltd. +# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only + +set -ex + +# shellcheck source=../common/unix/emsdk.sh +source "${BASH_SOURCE%/*}/../common/unix/emsdk.sh" diff --git a/coin/provisioning/qtci-linux-openSUSE-15.5-x86_64/60-install_protobuf.sh b/coin/provisioning/qtci-linux-openSUSE-15.5-x86_64/60-install_protobuf.sh new file mode 100755 index 00000000..c538ca07 --- /dev/null +++ b/coin/provisioning/qtci-linux-openSUSE-15.5-x86_64/60-install_protobuf.sh @@ -0,0 +1,9 @@ +#!/usr/bin/env bash +# Copyright (C) 2022 The Qt Company Ltd. +# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only + +set -ex + +# shellcheck source=../common/unix/install_protobuf.sh +source "${BASH_SOURCE%/*}/../common/unix/install_protobuf.sh" + diff --git a/coin/provisioning/qtci-linux-openSUSE-15.5-x86_64/61-install_grpc.sh b/coin/provisioning/qtci-linux-openSUSE-15.5-x86_64/61-install_grpc.sh new file mode 100755 index 00000000..ecd6a51f --- /dev/null +++ b/coin/provisioning/qtci-linux-openSUSE-15.5-x86_64/61-install_grpc.sh @@ -0,0 +1,9 @@ +#!/usr/bin/env bash +# Copyright (C) 2022 The Qt Company Ltd. +# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only + +set -ex + +# shellcheck source=../common/unix/install_grpc.sh +source "${BASH_SOURCE%/*}/../common/unix/install_grpc.sh" + diff --git a/coin/provisioning/qtci-linux-openSUSE-15.5-x86_64/70-install_QemuGA.sh b/coin/provisioning/qtci-linux-openSUSE-15.5-x86_64/70-install_QemuGA.sh new file mode 100755 index 00000000..76459a03 --- /dev/null +++ b/coin/provisioning/qtci-linux-openSUSE-15.5-x86_64/70-install_QemuGA.sh @@ -0,0 +1,9 @@ +#!/usr/bin/env bash +# Copyright (C) 2020 The Qt Company Ltd. +# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only + +# This script installs QEMU Guest Agent + +set -ex + +sudo zypper -nq install qemu-guest-agent diff --git a/coin/provisioning/qtci-linux-openSUSE-15.5-x86_64/80-install-chrome.sh b/coin/provisioning/qtci-linux-openSUSE-15.5-x86_64/80-install-chrome.sh new file mode 100755 index 00000000..1cd18de0 --- /dev/null +++ b/coin/provisioning/qtci-linux-openSUSE-15.5-x86_64/80-install-chrome.sh @@ -0,0 +1,24 @@ +#!/usr/bin/env bash +# Copyright (C) 2022 The Qt Company Ltd. +set -ex + +# This script will install up-to-date google Chrome needed for Webassembly auto tests. + +# shellcheck source=../common/unix/DownloadURL.sh +source "${BASH_SOURCE%/*}/../common/unix/DownloadURL.sh" + +# Webassembly auto tests run requires latest Chrome. Let's use the latest stable one which means we can't cache this +sudo zypper ar http://dl.google.com/linux/chrome/rpm/stable/x86_64 Google-Chrome + +# Add the Google public signing key +externalUrl="https://dl.google.com/linux/linux_signing_key.pub" +Download "$externalUrl" "/tmp/linux_signing_key.pub" +sudo rpm --import /tmp/linux_signing_key.pub + +# Update the repo cache of zypper and install Chrome +sudo zypper ref -f +sudo zypper -nq install --no-confirm google-chrome-stable + +# Install Chromedriver Chromium +sudo zypper -nq install chromedriver + diff --git a/coin/provisioning/qtci-linux-openSUSE-15.5-x86_64/90-bootstrap-autostart.sh b/coin/provisioning/qtci-linux-openSUSE-15.5-x86_64/90-bootstrap-autostart.sh new file mode 100755 index 00000000..1ff43850 --- /dev/null +++ b/coin/provisioning/qtci-linux-openSUSE-15.5-x86_64/90-bootstrap-autostart.sh @@ -0,0 +1,3 @@ +#!/usr/bin/env bash + +source "${BASH_SOURCE%/*}/../common/linux/bootstrap-autostart.sh" diff --git a/coin/provisioning/qtci-linux-openSUSE-15.5-x86_64/90-install-ffmpeg.sh b/coin/provisioning/qtci-linux-openSUSE-15.5-x86_64/90-install-ffmpeg.sh new file mode 100755 index 00000000..61da9b7b --- /dev/null +++ b/coin/provisioning/qtci-linux-openSUSE-15.5-x86_64/90-install-ffmpeg.sh @@ -0,0 +1,3 @@ +#!/usr/bin/env bash + +source "${BASH_SOURCE%/*}/../common/unix/install-ffmpeg.sh" "linux" diff --git a/coin/provisioning/qtci-linux-openSUSE-15.5-x86_64/90-mimer.sh b/coin/provisioning/qtci-linux-openSUSE-15.5-x86_64/90-mimer.sh new file mode 100755 index 00000000..bff2a7c7 --- /dev/null +++ b/coin/provisioning/qtci-linux-openSUSE-15.5-x86_64/90-mimer.sh @@ -0,0 +1,8 @@ +#!/usr/bin/env bash +# Copyright (C) 2022 The Qt Company Ltd. +# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only + +set -ex + +BASEDIR=$(dirname "$0") +"$BASEDIR/../common/linux/mimersql.sh" "openssl-1" "rpm" diff --git a/coin/provisioning/qtci-linux-CentOS-8.3-x86_64/90-squish.sh b/coin/provisioning/qtci-linux-openSUSE-15.5-x86_64/90-squish.sh index e4281588..e4281588 100755 --- a/coin/provisioning/qtci-linux-CentOS-8.3-x86_64/90-squish.sh +++ b/coin/provisioning/qtci-linux-openSUSE-15.5-x86_64/90-squish.sh diff --git a/coin/provisioning/qtci-linux-openSUSE-15.5-x86_64/91-install-dummy-sound.sh b/coin/provisioning/qtci-linux-openSUSE-15.5-x86_64/91-install-dummy-sound.sh new file mode 100755 index 00000000..345c5efa --- /dev/null +++ b/coin/provisioning/qtci-linux-openSUSE-15.5-x86_64/91-install-dummy-sound.sh @@ -0,0 +1,60 @@ +#!/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 + +systemd_folder=/etc/systemd/system +systemd_file=dummysound.service +script_folder=/home/qt/bin +script_file=dummy_sound.sh + +# Create script to install dummy sound driver, +# in case no other sound driver is installed. +sudo tee "${script_folder}/${script_file}" <<"EOF" +# Check for existing sound driver +if lsmod | grep -q -i snd +then + echo "(**) Sound driver already loaded. Nothing to do."; + exit 0; +fi + +# load dummy sound module +sudo modprobe snd-dummy + +# Check result +if lsmod | grep -q snd_dummy +then + echo "(**) Dummy sound driver loaded."; +else + echo "(EE) Failed to load dummy sound driver."; + exit 1; +fi +EOF + +# set permissions +sudo chmod 750 "${script_folder}/${script_file}" + +# Create service file +sudo tee "${systemd_folder}/${systemd_file}" <<"EOF" +# /etc/systemd/system/dummysound.service +# + +[Unit] +Description=Install dummy sound driver + +[Service] +Type=oneshot +ExecStart=/bin/sh -c "/home/qt/bin/dummy_sound.sh" + +[Install] +WantedBy=multi-user.target +EOF + +# Start servive and output result, just for logging +sudo systemctl start dummysound.service +# status commented out, returns 3 on VM. +# sudo systemctl status dummysound.service + +# enable service +sudo systemctl enable dummysound.service diff --git a/coin/provisioning/qtci-linux-openSUSE-15.5-x86_64/99-cleanup.sh b/coin/provisioning/qtci-linux-openSUSE-15.5-x86_64/99-cleanup.sh new file mode 100755 index 00000000..4d6e16ea --- /dev/null +++ b/coin/provisioning/qtci-linux-openSUSE-15.5-x86_64/99-cleanup.sh @@ -0,0 +1,7 @@ +#!/usr/bin/env bash +# Copyright (C) 2022 The Qt Company Ltd. +# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only + +set -ex + +"$(dirname "$0")"/../common/linux/cleanup_cache.sh diff --git a/coin/provisioning/qtci-linux-openSUSE-15.5-x86_64/99-enable_test_stacktraces.sh b/coin/provisioning/qtci-linux-openSUSE-15.5-x86_64/99-enable_test_stacktraces.sh new file mode 100755 index 00000000..600b7850 --- /dev/null +++ b/coin/provisioning/qtci-linux-openSUSE-15.5-x86_64/99-enable_test_stacktraces.sh @@ -0,0 +1,8 @@ +#!/usr/bin/env bash +#Copyright (C) 2023 The Qt Company Ltd +#SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only + +set -ex + +BASEDIR=$(dirname "$0") +"$BASEDIR"/../common/linux/enable_test_stacktraces.sh diff --git a/coin/provisioning/qtci-linux-openSUSE-15.5-x86_64/99-unset-proxy.sh b/coin/provisioning/qtci-linux-openSUSE-15.5-x86_64/99-unset-proxy.sh new file mode 100755 index 00000000..d63c4919 --- /dev/null +++ b/coin/provisioning/qtci-linux-openSUSE-15.5-x86_64/99-unset-proxy.sh @@ -0,0 +1,9 @@ +#!/usr/bin/env bash +# Copyright (C) 2017 The Qt Company Ltd. +# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only + +set -ex + +# Having proxy set while running autotests makes them fail +sudo sed -i 's/PROXY_ENABLED=\"yes\"/PROXY_ENABLED=\"no\"/' /etc/sysconfig/proxy + diff --git a/coin/provisioning/qtci-linux-openSUSE-15.5-x86_64/99-version.sh b/coin/provisioning/qtci-linux-openSUSE-15.5-x86_64/99-version.sh new file mode 100755 index 00000000..00d06674 --- /dev/null +++ b/coin/provisioning/qtci-linux-openSUSE-15.5-x86_64/99-version.sh @@ -0,0 +1,17 @@ +#!/usr/bin/env bash +# Copyright (C) 2018 The Qt Company Ltd. +# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only + +# This script needs to be called last during provisioning so that the software information will show up last in provision log. + +# Storage installed RPM packages information + +set -ex + +# shellcheck disable=SC2129 +echo "*********************************************" >> ~/versions.txt +echo "***** All installed RPM packages *****" >> ~/versions.txt +rpm -q -a | sort >> ~/versions.txt +echo "*********************************************" >> ~/versions.txt + +"$(dirname "$0")/../common/linux/version.sh" diff --git a/coin/provisioning/qtci-macos-10.14-x86_64/01-sha1sum-compatibility.sh b/coin/provisioning/qtci-macos-10.14-x86_64/01-sha1sum-compatibility.sh deleted file mode 100755 index f38666c9..00000000 --- a/coin/provisioning/qtci-macos-10.14-x86_64/01-sha1sum-compatibility.sh +++ /dev/null @@ -1,47 +0,0 @@ -#!/usr/bin/env bash - -############################################################################# -## -## Copyright (C) 2018 The Qt Company Ltd. -## Contact: https://www.qt.io/licensing/ -## -## This file is part of the provisioning scripts of the Qt Toolkit. -## -## $QT_BEGIN_LICENSE:LGPL$ -## Commercial License Usage -## Licensees holding valid commercial Qt licenses may use this file in -## accordance with the commercial license agreement provided with the -## Software or, alternatively, in accordance with the terms contained in -## a written agreement between you and The Qt Company. For licensing terms -## and conditions see https://www.qt.io/terms-conditions. For further -## information use the contact form at https://www.qt.io/contact-us. -## -## GNU Lesser General Public License Usage -## Alternatively, this file may be used under the terms of the GNU Lesser -## General Public License version 3 as published by the Free Software -## Foundation and appearing in the file LICENSE.LGPL3 included in the -## packaging of this file. Please review the following information to -## ensure the GNU Lesser General Public License version 3 requirements -## will be met: https://www.gnu.org/licenses/lgpl-3.0.html. -## -## GNU General Public License Usage -## Alternatively, this file may be used under the terms of the GNU -## General Public License version 2.0 or (at your option) the GNU General -## Public license version 3 or any later version approved by the KDE Free -## Qt Foundation. The licenses are as published by the Free Software -## Foundation and appearing in the file LICENSE.GPL2 and LICENSE.GPL3 -## included in the packaging of this file. Please review the following -## information to ensure the GNU General Public License requirements will -## be met: https://www.gnu.org/licenses/gpl-2.0.html and -## https://www.gnu.org/licenses/gpl-3.0.html. -## -## $QT_END_LICENSE$ -## -############################################################################# - -#!/usr/bin/env bash - -set -ex - -# shellcheck source=../common/macos/sha1sum-compatibility.sh -source "${BASH_SOURCE%/*}/../common/macos/sha1sum-compatibility.sh" diff --git a/coin/provisioning/qtci-macos-10.14-x86_64/03-bashprofile.sh b/coin/provisioning/qtci-macos-10.14-x86_64/03-bashprofile.sh deleted file mode 100755 index 2c3e45f3..00000000 --- a/coin/provisioning/qtci-macos-10.14-x86_64/03-bashprofile.sh +++ /dev/null @@ -1,7 +0,0 @@ -#!/usr/bin/env sh - -set -ex - -# Read .bashrc if exist -printf -- "# Get the aliases and functions\nif [ -f ~/.bashrc ]; then\n . ~/.bashrc\nfi\n" >> ~/.bash_profile - diff --git a/coin/provisioning/qtci-macos-10.14-x86_64/05-systemsetup.sh b/coin/provisioning/qtci-macos-10.14-x86_64/05-systemsetup.sh deleted file mode 100755 index 228e1a1a..00000000 --- a/coin/provisioning/qtci-macos-10.14-x86_64/05-systemsetup.sh +++ /dev/null @@ -1,122 +0,0 @@ -#!/usr/bin/env bash - -############################################################################# -## -## Copyright (C) 2021 The Qt Company Ltd. -## Contact: https://www.qt.io/licensing/ -## -## This file is part of the provisioning scripts of the Qt Toolkit. -## -## $QT_BEGIN_LICENSE:LGPL$ -## Commercial License Usage -## Licensees holding valid commercial Qt licenses may use this file in -## accordance with the commercial license agreement provided with the -## Software or, alternatively, in accordance with the terms contained in -## a written agreement between you and The Qt Company. For licensing terms -## and conditions see https://www.qt.io/terms-conditions. For further -## information use the contact form at https://www.qt.io/contact-us. -## -## GNU Lesser General Public License Usage -## Alternatively, this file may be used under the terms of the GNU Lesser -## General Public License version 3 as published by the Free Software -## Foundation and appearing in the file LICENSE.LGPL3 included in the -## packaging of this file. Please review the following information to -## ensure the GNU Lesser General Public License version 3 requirements -## will be met: https://www.gnu.org/licenses/lgpl-3.0.html. -## -## GNU General Public License Usage -## Alternatively, this file may be used under the terms of the GNU -## General Public License version 2.0 or (at your option) the GNU General -## Public license version 3 or any later version approved by the KDE Free -## Qt Foundation. The licenses are as published by the Free Software -## Foundation and appearing in the file LICENSE.GPL2 and LICENSE.GPL3 -## included in the packaging of this file. Please review the following -## information to ensure the GNU General Public License requirements will -## be met: https://www.gnu.org/licenses/gpl-2.0.html and -## https://www.gnu.org/licenses/gpl-3.0.html. -## -## $QT_END_LICENSE$ -## -############################################################################# - -set -ex - -# This script modified system settings for automated use - -targetFile="$HOME/vncpw.txt" - -# Fetch password -curl --retry 5 --retry-delay 10 --retry-max-time 60 "http://ci-files01-hki.intra.qt.io/input/semisecure/vncpw.txt" -o "$targetFile" -shasum "$targetFile" |grep "a795fccaa8f277e62ec08e6056c544b8b63924a0" - -{ VNCPassword=$(cat "$targetFile"); } 2> /dev/null -NTS_IP=10.212.2.216 - -echo "Disable Screensaver" -# For current session -defaults -currentHost write com.apple.screensaver idleTime 0 - -echo "Disable sleep" -sudo pmset sleep 0 displaysleep 0 - -# For session after a reboot -mkdir -p "$HOME/Library/LaunchAgents" -cat >"$HOME/Library/LaunchAgents/no-screensaver.plist" <<EOT -<?xml version="1.0" encoding="UTF-8"?> -<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd"> - -<plist version="1.0"> - <dict> - <key>Label</key> - <string>org.qt.io.screensaver_disable</string> - <key>ProgramArguments</key> - <array> - <string>defaults</string> - <string>-currentHost</string> - <string>write</string> - <string>com.apple.screensaver</string> - <string>idleTime</string> - <string>0</string> - </array> - <key>RunAtLoad</key> - <true/> - <key>KeepAlive</key> - <false/> - </dict> -</plist> -EOT - -defaults write com.apple.screensaver askForPassword -int 0 - -echo "Set keyboard type rates and delays" -# normal minimum is 15 (225 ms) -defaults write -g InitialKeyRepeat -int 15 -# normal minimum is 2 (30 ms) -defaults write -g KeyRepeat -int 2 - -set +x -echo "Enable remote desktop sharing" -sudo /System/Library/CoreServices/RemoteManagement/ARDAgent.app/Contents/Resources/kickstart -activate -configure -access -on -clientopts -setvnclegacy -vnclegacy yes -clientopts -setvncpw -vncpw $VNCPassword -restart -agent -privs -all -set -x - -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 - -sudo systemsetup settimezone GMT -# Setting Time Zone seems to be flaky in macOS 10.13 and in macOS 10.14. Checking that Time Zone is correct. If not, reset it. -if [[ $(sudo systemsetup -gettimezone) = *GMT* ]]; then - echo "Time Zone is GMT" -else - echo "Wrong Time Zone. Reset Time Zone to GMT" - sleep 5 - sudo systemsetup settimezone GMT - if [[ $(sudo systemsetup -gettimezone) != *GMT* ]]; then - echo "Couldn't set Time Zone!" - exit 1 - fi -fi -sudo systemsetup setusingnetworktime off -sudo rm -f "$targetFile" - -# Enable Use keyboard navigation to move focus between controls -defaults write -g AppleKeyboardUIMode -int 2 diff --git a/coin/provisioning/qtci-macos-10.14-x86_64/06-crashreporter.sh b/coin/provisioning/qtci-macos-10.14-x86_64/06-crashreporter.sh deleted file mode 100755 index 8461c656..00000000 --- a/coin/provisioning/qtci-macos-10.14-x86_64/06-crashreporter.sh +++ /dev/null @@ -1,5 +0,0 @@ -#!/usr/bin/env sh - -set -ex - -defaults write com.apple.CrashReporter DialogType server diff --git a/coin/provisioning/qtci-macos-10.14-x86_64/06-disable_spotlight.sh b/coin/provisioning/qtci-macos-10.14-x86_64/06-disable_spotlight.sh deleted file mode 100755 index 67e2c1f6..00000000 --- a/coin/provisioning/qtci-macos-10.14-x86_64/06-disable_spotlight.sh +++ /dev/null @@ -1,5 +0,0 @@ -#!/usr/bin/env bash -set -ex - -# shellcheck source=../common/macos/disable_spotlight.sh -source "${BASH_SOURCE%/*}/../common/macos/disable_spotlight.sh" diff --git a/coin/provisioning/qtci-macos-10.14-x86_64/06-disable_update_downloads.sh b/coin/provisioning/qtci-macos-10.14-x86_64/06-disable_update_downloads.sh deleted file mode 100755 index 3c11214d..00000000 --- a/coin/provisioning/qtci-macos-10.14-x86_64/06-disable_update_downloads.sh +++ /dev/null @@ -1,4 +0,0 @@ -#!/usr/bin/env bash -set -ex -BASEDIR=$(dirname "$0") -"$BASEDIR"/../common/macos/disable_update_downloads.sh diff --git a/coin/provisioning/qtci-macos-10.14-x86_64/07-SSL_keychain.sh b/coin/provisioning/qtci-macos-10.14-x86_64/07-SSL_keychain.sh deleted file mode 100755 index 6e7c796a..00000000 --- a/coin/provisioning/qtci-macos-10.14-x86_64/07-SSL_keychain.sh +++ /dev/null @@ -1,9 +0,0 @@ -#!/usr/bin/env sh - -set -ex - -# shellcheck source=../common/unix/SetEnvVar.sh -source "${BASH_SOURCE%/*}/../common/unix/SetEnvVar.sh" - -# Enables the usage of temporary keychains for SSL autotests -SetEnvVar "QT_SSL_USE_TEMPORARY_KEYCHAIN" "1" diff --git a/coin/provisioning/qtci-macos-10.14-x86_64/15-xz.sh b/coin/provisioning/qtci-macos-10.14-x86_64/15-xz.sh deleted file mode 100755 index d979cb71..00000000 --- a/coin/provisioning/qtci-macos-10.14-x86_64/15-xz.sh +++ /dev/null @@ -1,58 +0,0 @@ -#!/usr/bin/env bash - -############################################################################# -## -## Copyright (C) 2018 The Qt Company Ltd. -## Contact: https://www.qt.io/licensing/ -## -## This file is part of the provisioning scripts of the Qt Toolkit. -## -## $QT_BEGIN_LICENSE:LGPL$ -## Commercial License Usage -## Licensees holding valid commercial Qt licenses may use this file in -## accordance with the commercial license agreement provided with the -## Software or, alternatively, in accordance with the terms contained in -## a written agreement between you and The Qt Company. For licensing terms -## and conditions see https://www.qt.io/terms-conditions. For further -## information use the contact form at https://www.qt.io/contact-us. -## -## GNU Lesser General Public License Usage -## Alternatively, this file may be used under the terms of the GNU Lesser -## General Public License version 3 as published by the Free Software -## Foundation and appearing in the file LICENSE.LGPL3 included in the -## packaging of this file. Please review the following information to -## ensure the GNU Lesser General Public License version 3 requirements -## will be met: https://www.gnu.org/licenses/lgpl-3.0.html. -## -## GNU General Public License Usage -## Alternatively, this file may be used under the terms of the GNU -## General Public License version 2.0 or (at your option) the GNU General -## Public license version 3 or any later version approved by the KDE Free -## Qt Foundation. The licenses are as published by the Free Software -## Foundation and appearing in the file LICENSE.GPL2 and LICENSE.GPL3 -## included in the packaging of this file. Please review the following -## information to ensure the GNU General Public License requirements will -## be met: https://www.gnu.org/licenses/gpl-2.0.html and -## https://www.gnu.org/licenses/gpl-3.0.html. -## -## $QT_END_LICENSE$ -## -############################################################################# - -# This script installs XZ-Utils - -# XZ-Utils are needed for uncompressing xz-compressed files - -set -ex - -# shellcheck source=../common/macos/InstallPKGFromURL.sh -source "${BASH_SOURCE%/*}/../common/macos/InstallPKGFromURL.sh" - -PrimaryUrl="http://ci-files01-hki.intra.qt.io/input/mac/macos_10.12_sierra/XZ.pkg" -AltUrl="http://sourceforge.net/projects/macpkg/files/XZ/5.0.7/XZ.pkg" -SHA1="f0c1f82ebcffe0bd4b8b57b6a77805db56b2de67" -DestDir="/" - -InstallPKGFromURL "$PrimaryUrl" "$AltUrl" "$SHA1" "$DestDir" - -echo "XZ = 5.0.7" >> ~/versions.txt diff --git a/coin/provisioning/qtci-macos-10.14-x86_64/20-java.sh b/coin/provisioning/qtci-macos-10.14-x86_64/20-java.sh deleted file mode 100755 index dcfcb93b..00000000 --- a/coin/provisioning/qtci-macos-10.14-x86_64/20-java.sh +++ /dev/null @@ -1,5 +0,0 @@ -#!/usr/bin/env bash -set -ex - -BASEDIR=$(dirname "$0") -"$BASEDIR/../common/macos/java.sh" diff --git a/coin/provisioning/qtci-macos-10.14-x86_64/20-xcode.sh b/coin/provisioning/qtci-macos-10.14-x86_64/20-xcode.sh deleted file mode 100755 index 15560521..00000000 --- a/coin/provisioning/qtci-macos-10.14-x86_64/20-xcode.sh +++ /dev/null @@ -1,59 +0,0 @@ -#!/usr/bin/env bash - -############################################################################# -## -## Copyright (C) 2021 The Qt Company Ltd. -## Contact: https://www.qt.io/licensing/ -## -## This file is part of the provisioning scripts of the Qt Toolkit. -## -## $QT_BEGIN_LICENSE:LGPL$ -## Commercial License Usage -## Licensees holding valid commercial Qt licenses may use this file in -## accordance with the commercial license agreement provided with the -## Software or, alternatively, in accordance with the terms contained in -## a written agreement between you and The Qt Company. For licensing terms -## and conditions see https://www.qt.io/terms-conditions. For further -## information use the contact form at https://www.qt.io/contact-us. -## -## GNU Lesser General Public License Usage -## Alternatively, this file may be used under the terms of the GNU Lesser -## General Public License version 3 as published by the Free Software -## Foundation and appearing in the file LICENSE.LGPL3 included in the -## packaging of this file. Please review the following information to -## ensure the GNU Lesser General Public License version 3 requirements -## will be met: https://www.gnu.org/licenses/lgpl-3.0.html. -## -## GNU General Public License Usage -## Alternatively, this file may be used under the terms of the GNU -## General Public License version 2.0 or (at your option) the GNU General -## Public license version 3 or any later version approved by the KDE Free -## Qt Foundation. The licenses are as published by the Free Software -## Foundation and appearing in the file LICENSE.GPL2 and LICENSE.GPL3 -## included in the packaging of this file. Please review the following -## information to ensure the GNU General Public License requirements will -## be met: https://www.gnu.org/licenses/gpl-2.0.html and -## https://www.gnu.org/licenses/gpl-3.0.html. -## -## $QT_END_LICENSE$ -## -############################################################################# - -# This script installs Xcode -# Prerequisites: Have Xcode prefetched to local cache as xz compressed. -# This can be achieved by fetching Xcode_9.xip from Apple Store. -# Uncompress it with 'xar -xf Xcode_9.xip' -# Then get https://gist.githubusercontent.com/pudquick/ff412bcb29c9c1fa4b8d/raw/24b25538ea8df8d0634a2a6189aa581ccc6a5b4b/parse_pbzx2.py -# with which you can run 'python parse_pbzx2.py Content'. -# This will give you five files called "Content.part<00..05>.cpio.xz". -# Extract those that have the extension .xz with xz. -# "cat" together all the content files "cat file1, file2, file3, file4, file5 >file_new" -# Compress the new file with xz back to something like Xcode_9.xz -# Upload the file to temporary storage for this script to use. - -set -ex - -# shellcheck source=../common/macos/install_xcode.sh -source "${BASH_SOURCE%/*}/../common/macos/install_xcode.sh" - -InstallXCode http://ci-files01-hki.intra.qt.io/input/mac/macos_10.14_mojave/Xcode_11.3.1.xip 11.3.1 diff --git a/coin/provisioning/qtci-macos-10.14-x86_64/21-install-commandlinetools.sh b/coin/provisioning/qtci-macos-10.14-x86_64/21-install-commandlinetools.sh deleted file mode 100755 index e9f5d4c1..00000000 --- a/coin/provisioning/qtci-macos-10.14-x86_64/21-install-commandlinetools.sh +++ /dev/null @@ -1,52 +0,0 @@ -#!/usr/bin/env bash - -############################################################################# -## -## Copyright (C) 2021 The Qt Company Ltd. -## Contact: https://www.qt.io/licensing/ -## -## This file is part of the provisioning scripts of the Qt Toolkit. -## -## $QT_BEGIN_LICENSE:LGPL$ -## Commercial License Usage -## Licensees holding valid commercial Qt licenses may use this file in -## accordance with the commercial license agreement provided with the -## Software or, alternatively, in accordance with the terms contained in -## a written agreement between you and The Qt Company. For licensing terms -## and conditions see https://www.qt.io/terms-conditions. For further -## information use the contact form at https://www.qt.io/contact-us. -## -## GNU Lesser General Public License Usage -## Alternatively, this file may be used under the terms of the GNU Lesser -## General Public License version 3 as published by the Free Software -## Foundation and appearing in the file LICENSE.LGPL3 included in the -## packaging of this file. Please review the following information to -## ensure the GNU Lesser General Public License version 3 requirements -## will be met: https://www.gnu.org/licenses/lgpl-3.0.html. -## -## GNU General Public License Usage -## Alternatively, this file may be used under the terms of the GNU -## General Public License version 2.0 or (at your option) the GNU General -## Public license version 3 or any later version approved by the KDE Free -## Qt Foundation. The licenses are as published by the Free Software -## Foundation and appearing in the file LICENSE.GPL2 and LICENSE.GPL3 -## included in the packaging of this file. Please review the following -## information to ensure the GNU General Public License requirements will -## be met: https://www.gnu.org/licenses/gpl-2.0.html and -## https://www.gnu.org/licenses/gpl-3.0.html. -## -## $QT_END_LICENSE$ -## -############################################################################# - -set -ex - -# shellcheck source=../common/macos/install-commandlinetools.sh -source "${BASH_SOURCE%/*}/../common/macos/install-commandlinetools.sh" -version="11.3.1" -packageName="Command_Line_Tools_for_Xcode_$version.dmg" -url="http://ci-files01-hki.intra.qt.io/input/mac/macos_10.14_mojave/$packageName" -sha1="cec5824d127bba2d2a3ba8e5343ae7a32214e62c" - -InstallCommandLineTools $url $url $sha1 $packageName $version - diff --git a/coin/provisioning/qtci-macos-10.14-x86_64/25-cmake.sh b/coin/provisioning/qtci-macos-10.14-x86_64/25-cmake.sh deleted file mode 100755 index 4f4d405e..00000000 --- a/coin/provisioning/qtci-macos-10.14-x86_64/25-cmake.sh +++ /dev/null @@ -1,6 +0,0 @@ -#!/usr/bin/env bash - -set -ex - -BASEDIR=$(dirname "$0") -"$BASEDIR/../common/macos/cmake.sh" diff --git a/coin/provisioning/qtci-macos-10.14-x86_64/25-homebrew.sh b/coin/provisioning/qtci-macos-10.14-x86_64/25-homebrew.sh deleted file mode 100755 index f7f9e214..00000000 --- a/coin/provisioning/qtci-macos-10.14-x86_64/25-homebrew.sh +++ /dev/null @@ -1,6 +0,0 @@ -#!/usr/bin/env bash - -set -e - -BASEDIR=$(dirname "$0") -"$BASEDIR/../common/macos/homebrew.sh" diff --git a/coin/provisioning/qtci-macos-10.14-x86_64/25-mysql.sh b/coin/provisioning/qtci-macos-10.14-x86_64/25-mysql.sh deleted file mode 100755 index 5361ed9a..00000000 --- a/coin/provisioning/qtci-macos-10.14-x86_64/25-mysql.sh +++ /dev/null @@ -1,64 +0,0 @@ -#!/usr/bin/env bash - -############################################################################# -## -## Copyright (C) 2018 The Qt Company Ltd. -## Contact: https://www.qt.io/licensing/ -## -## This file is part of the provisioning scripts of the Qt Toolkit. -## -## $QT_BEGIN_LICENSE:LGPL$ -## Commercial License Usage -## Licensees holding valid commercial Qt licenses may use this file in -## accordance with the commercial license agreement provided with the -## Software or, alternatively, in accordance with the terms contained in -## a written agreement between you and The Qt Company. For licensing terms -## and conditions see https://www.qt.io/terms-conditions. For further -## information use the contact form at https://www.qt.io/contact-us. -## -## GNU Lesser General Public License Usage -## Alternatively, this file may be used under the terms of the GNU Lesser -## General Public License version 3 as published by the Free Software -## Foundation and appearing in the file LICENSE.LGPL3 included in the -## packaging of this file. Please review the following information to -## ensure the GNU Lesser General Public License version 3 requirements -## will be met: https://www.gnu.org/licenses/lgpl-3.0.html. -## -## GNU General Public License Usage -## Alternatively, this file may be used under the terms of the GNU -## General Public License version 2.0 or (at your option) the GNU General -## Public license version 3 or any later version approved by the KDE Free -## Qt Foundation. The licenses are as published by the Free Software -## Foundation and appearing in the file LICENSE.GPL2 and LICENSE.GPL3 -## included in the packaging of this file. Please review the following -## information to ensure the GNU General Public License requirements will -## be met: https://www.gnu.org/licenses/gpl-2.0.html and -## https://www.gnu.org/licenses/gpl-3.0.html. -## -## $QT_END_LICENSE$ -## -############################################################################# - -# This script installs MySQL - -# MySQL is needed for Qt to be able to support MySQL - -set -ex - -# shellcheck source=../common/macos/InstallAppFromCompressedFileFromURL.sh -source "${BASH_SOURCE%/*}/../common/macos/InstallAppFromCompressedFileFromURL.sh" -# shellcheck source=../common/unix/SetEnvVar.sh -source "${BASH_SOURCE%/*}/../common/unix/SetEnvVar.sh" - -PrimaryUrl="http://ci-files01-hki.intra.qt.io/input/mac/macos_10.12_sierra/mysql-5.7.15-osx10.11-x86_64.tar.gz" -AltUrl="https://dev.mysql.com/get/Downloads/MySQL-5.7/mysql-5.7.15-osx10.11-x86_64.tar.gz" -SHA1="07949bd42f350b0504a1536b8830b809b4a34fca" -appPrefix="" -targetDir="/opt/mysql57/" - -sudo mkdir -p "/opt" - -InstallAppFromCompressedFileFromURL "$PrimaryUrl" "$AltUrl" "$SHA1" "$appPrefix" "$targetDir" - -SetEnvVar "MYSQLBINPATH" "/opt/mysql57/bin" -echo "MySQL = 5.7.15" >> ~/versions.txt diff --git a/coin/provisioning/qtci-macos-10.14-x86_64/25-pip.sh b/coin/provisioning/qtci-macos-10.14-x86_64/25-pip.sh deleted file mode 100755 index 86db3e27..00000000 --- a/coin/provisioning/qtci-macos-10.14-x86_64/25-pip.sh +++ /dev/null @@ -1,6 +0,0 @@ -#!/usr/bin/env bash - -set -ex - -BASEDIR=$(dirname "$0") -"$BASEDIR/../common/macos/pip.sh" diff --git a/coin/provisioning/qtci-macos-10.14-x86_64/25-postgresql.sh b/coin/provisioning/qtci-macos-10.14-x86_64/25-postgresql.sh deleted file mode 100755 index 5a7347a3..00000000 --- a/coin/provisioning/qtci-macos-10.14-x86_64/25-postgresql.sh +++ /dev/null @@ -1,63 +0,0 @@ -#!/usr/bin/env bash - -############################################################################# -## -## Copyright (C) 2018 The Qt Company Ltd. -## Contact: https://www.qt.io/licensing/ -## -## This file is part of the provisioning scripts of the Qt Toolkit. -## -## $QT_BEGIN_LICENSE:LGPL$ -## Commercial License Usage -## Licensees holding valid commercial Qt licenses may use this file in -## accordance with the commercial license agreement provided with the -## Software or, alternatively, in accordance with the terms contained in -## a written agreement between you and The Qt Company. For licensing terms -## and conditions see https://www.qt.io/terms-conditions. For further -## information use the contact form at https://www.qt.io/contact-us. -## -## GNU Lesser General Public License Usage -## Alternatively, this file may be used under the terms of the GNU Lesser -## General Public License version 3 as published by the Free Software -## Foundation and appearing in the file LICENSE.LGPL3 included in the -## packaging of this file. Please review the following information to -## ensure the GNU Lesser General Public License version 3 requirements -## will be met: https://www.gnu.org/licenses/lgpl-3.0.html. -## -## GNU General Public License Usage -## Alternatively, this file may be used under the terms of the GNU -## General Public License version 2.0 or (at your option) the GNU General -## Public license version 3 or any later version approved by the KDE Free -## Qt Foundation. The licenses are as published by the Free Software -## Foundation and appearing in the file LICENSE.GPL2 and LICENSE.GPL3 -## included in the packaging of this file. Please review the following -## information to ensure the GNU General Public License requirements will -## be met: https://www.gnu.org/licenses/gpl-2.0.html and -## https://www.gnu.org/licenses/gpl-3.0.html. -## -## $QT_END_LICENSE$ -## -############################################################################# - -# This script installs PostgreSQL - -# PostgreSQL is needed for Qt to be able to support PostgreSQL - -set -ex - -# shellcheck source=../common/macos/InstallAppFromCompressedFileFromURL.sh -source "${BASH_SOURCE%/*}/../common/macos/InstallAppFromCompressedFileFromURL.sh" -# shellcheck source=../common/unix/SetEnvVar.sh -source "${BASH_SOURCE%/*}/../common/unix/SetEnvVar.sh" - -psqlVersion="9.6.0" - -PrimaryUrl="http://ci-files01-hki.intra.qt.io/input/mac/macos_10.12_sierra/Postgres-$psqlVersion.zip" -AltUrl="https://github.com/PostgresApp/PostgresApp/releases/download/$psqlVersion/Postgres-$psqlVersion.zip" -SHA1="5078e44663787006ca55fa3b5e2be598bed82eb5" -appPrefix="" - -InstallAppFromCompressedFileFromURL "$PrimaryUrl" "$AltUrl" "$SHA1" "$appPrefix" - -SetEnvVar "POSTGRESQLBINPATH" "/Applications/Postgres.app/Contents/Versions/9.6/bin" -echo "PostgreSQL = $psqlVersion" >> ~/versions.txt diff --git a/coin/provisioning/qtci-macos-10.14-x86_64/25-python2.sh b/coin/provisioning/qtci-macos-10.14-x86_64/25-python2.sh deleted file mode 100755 index 7ebb8825..00000000 --- a/coin/provisioning/qtci-macos-10.14-x86_64/25-python2.sh +++ /dev/null @@ -1,5 +0,0 @@ -#!/usr/bin/env bash -set -ex - -# shellcheck source=../common/macos/python2.sh -source "${BASH_SOURCE%/*}/../common/macos/python2.sh" diff --git a/coin/provisioning/qtci-macos-10.14-x86_64/25-python3.sh b/coin/provisioning/qtci-macos-10.14-x86_64/25-python3.sh deleted file mode 100755 index eb2a4863..00000000 --- a/coin/provisioning/qtci-macos-10.14-x86_64/25-python3.sh +++ /dev/null @@ -1,5 +0,0 @@ -#!/usr/bin/env bash -set -ex - -# shellcheck source=../common/macos/python3.sh -source "${BASH_SOURCE%/*}/../common/macos/python3.sh" diff --git a/coin/provisioning/qtci-macos-10.14-x86_64/26-freetype.sh b/coin/provisioning/qtci-macos-10.14-x86_64/26-freetype.sh deleted file mode 100755 index 0faec4b4..00000000 --- a/coin/provisioning/qtci-macos-10.14-x86_64/26-freetype.sh +++ /dev/null @@ -1,5 +0,0 @@ -#!/usr/bin/env bash - -set -ex - -brew install freetype diff --git a/coin/provisioning/qtci-macos-10.14-x86_64/26-ninja.sh b/coin/provisioning/qtci-macos-10.14-x86_64/26-ninja.sh deleted file mode 100755 index 08428b2f..00000000 --- a/coin/provisioning/qtci-macos-10.14-x86_64/26-ninja.sh +++ /dev/null @@ -1,8 +0,0 @@ -#!/usr/bin/env bash - -set -ex - -# shellcheck source=../common/macos/ninja.sh -source "${BASH_SOURCE%/*}/../common/macos/ninja.sh" - - diff --git a/coin/provisioning/qtci-macos-10.14-x86_64/26-odbc.sh b/coin/provisioning/qtci-macos-10.14-x86_64/26-odbc.sh deleted file mode 100755 index 2aedfe7b..00000000 --- a/coin/provisioning/qtci-macos-10.14-x86_64/26-odbc.sh +++ /dev/null @@ -1,7 +0,0 @@ -#!/usr/bin/env bash -# Install libiodbc - -set -ex - -BASEDIR=$(dirname "$0") -"$BASEDIR/../common/macos/libiodbc.sh" diff --git a/coin/provisioning/qtci-macos-10.14-x86_64/26-p7zip.sh b/coin/provisioning/qtci-macos-10.14-x86_64/26-p7zip.sh deleted file mode 100755 index 15511332..00000000 --- a/coin/provisioning/qtci-macos-10.14-x86_64/26-p7zip.sh +++ /dev/null @@ -1,7 +0,0 @@ -#!/usr/bin/env bash -# Install 7z to be used from command line - -set -ex - -brew update -brew install p7zip diff --git a/coin/provisioning/qtci-macos-10.14-x86_64/26-pcre2.sh b/coin/provisioning/qtci-macos-10.14-x86_64/26-pcre2.sh deleted file mode 100755 index f8af516b..00000000 --- a/coin/provisioning/qtci-macos-10.14-x86_64/26-pcre2.sh +++ /dev/null @@ -1,5 +0,0 @@ -#!/usr/bin/env bash - -set -ex - -brew install pcre2 diff --git a/coin/provisioning/qtci-macos-10.14-x86_64/27-libclang.sh b/coin/provisioning/qtci-macos-10.14-x86_64/27-libclang.sh deleted file mode 100755 index aad628cb..00000000 --- a/coin/provisioning/qtci-macos-10.14-x86_64/27-libclang.sh +++ /dev/null @@ -1,7 +0,0 @@ -#!/usr/bin/env bash - -set -ex - -BASEDIR=$(dirname "$0") -# There is only one mac package and common script uses it as a default -"$BASEDIR/../common/unix/libclang.sh" diff --git a/coin/provisioning/qtci-macos-10.14-x86_64/28-libclang-v100-dyn.sh b/coin/provisioning/qtci-macos-10.14-x86_64/28-libclang-v100-dyn.sh deleted file mode 100755 index c9d6e93d..00000000 --- a/coin/provisioning/qtci-macos-10.14-x86_64/28-libclang-v100-dyn.sh +++ /dev/null @@ -1,6 +0,0 @@ -#!/usr/bin/env bash - -set -ex - -BASEDIR=$(dirname "$0") -"$BASEDIR/../common/unix/libclang-v100-dyn.sh" diff --git a/coin/provisioning/qtci-macos-10.14-x86_64/29-libusb.sh b/coin/provisioning/qtci-macos-10.14-x86_64/29-libusb.sh deleted file mode 100755 index c58274b6..00000000 --- a/coin/provisioning/qtci-macos-10.14-x86_64/29-libusb.sh +++ /dev/null @@ -1,7 +0,0 @@ -#!/usr/bin/env bash - -set -ex - -BASEDIR=$(dirname "$0") - -"$BASEDIR/../common/macos/libusb.sh" diff --git a/coin/provisioning/qtci-macos-10.14-x86_64/30-android.sh b/coin/provisioning/qtci-macos-10.14-x86_64/30-android.sh deleted file mode 100755 index 5bd87fa7..00000000 --- a/coin/provisioning/qtci-macos-10.14-x86_64/30-android.sh +++ /dev/null @@ -1,99 +0,0 @@ -#!/usr/bin/env bash - -############################################################################# -## -## Copyright (C) 2020 The Qt Company Ltd. -## Contact: https://www.qt.io/licensing/ -## -## This file is part of the provisioning scripts of the Qt Toolkit. -## -## $QT_BEGIN_LICENSE:LGPL$ -## Commercial License Usage -## Licensees holding valid commercial Qt licenses may use this file in -## accordance with the commercial license agreement provided with the -## Software or, alternatively, in accordance with the terms contained in -## a written agreement between you and The Qt Company. For licensing terms -## and conditions see https://www.qt.io/terms-conditions. For further -## information use the contact form at https://www.qt.io/contact-us. -## -## GNU Lesser General Public License Usage -## Alternatively, this file may be used under the terms of the GNU Lesser -## General Public License version 3 as published by the Free Software -## Foundation and appearing in the file LICENSE.LGPL3 included in the -## packaging of this file. Please review the following information to -## ensure the GNU Lesser General Public License version 3 requirements -## will be met: https://www.gnu.org/licenses/lgpl-3.0.html. -## -## GNU General Public License Usage -## Alternatively, this file may be used under the terms of the GNU -## General Public License version 2.0 or (at your option) the GNU General -## Public license version 3 or any later version approved by the KDE Free -## Qt Foundation. The licenses are as published by the Free Software -## Foundation and appearing in the file LICENSE.GPL2 and LICENSE.GPL3 -## included in the packaging of this file. Please review the following -## information to ensure the GNU General Public License requirements will -## be met: https://www.gnu.org/licenses/gpl-2.0.html and -## https://www.gnu.org/licenses/gpl-3.0.html. -## -## $QT_END_LICENSE$ -## -############################################################################# - -# This script install Android sdk and ndk. - -# It also runs update for SDK API, latest SDK tools, latest platform-tools and build-tools version - -set -ex - -# shellcheck source=../common/unix/SetEnvVar.sh -source "${BASH_SOURCE%/*}/../common/unix/SetEnvVar.sh" - -targetFolder="/opt/android" -sdkTargetFolder="$targetFolder/sdk" - -basePath="/net/ci-files01-hki.intra.qt.io/hdd/www/input/android" - -toolsVersion="2.1" -# toolsFile dertermines tools version -toolsFile="commandlinetools-mac-6609375_latest.zip" - -ndkVersion="r22b" -ndkFile="android-ndk-$ndkVersion-darwin-x86_64.zip" -sdkBuildToolsVersion="31.0.0" -# this is compile sdk version -sdkApiLevel="android-31" - -toolsSourceFile="$basePath/$toolsFile" -ndkSourceFile="$basePath/$ndkFile" - -echo "Unzipping Android NDK to '$targetFolder'" -sudo unzip -q "$ndkSourceFile" -d "$targetFolder" -echo "Unzipping Android Tools to '$sdkTargetFolder'" -sudo unzip -q "$toolsSourceFile" -d "$sdkTargetFolder" - -echo "Changing ownership of Android files." -sudo chown -R qt:wheel "$targetFolder" - -# Run the following command under `eval` or `sh -c` so that the shell properly splits it -sdkmanager_no_progress_bar_cmd="tr '\r' '\n' | grep -v '^\[[ =]*\]'" - -sudo mkdir "$sdkTargetFolder/cmdline-tools" -sudo mv "$sdkTargetFolder/tools" "$sdkTargetFolder/cmdline-tools" - -echo "Running SDK manager for platforms;$sdkApiLevel, platform-tools and build-tools;$sdkBuildToolsVersion." -(echo "y"; echo "y") | "$sdkTargetFolder/cmdline-tools/tools/bin/sdkmanager" "--sdk_root=$sdkTargetFolder" \ - "platforms;$sdkApiLevel" "platform-tools" "build-tools;$sdkBuildToolsVersion" \ - | eval $sdkmanager_no_progress_bar_cmd - -echo "Checking the contents of Android SDK..." -ls -l "$sdkTargetFolder" - -SetEnvVar "ANDROID_SDK_ROOT" "$sdkTargetFolder" -SetEnvVar "ANDROID_NDK_ROOT" "$targetFolder/android-ndk-$ndkVersion" -SetEnvVar "ANDROID_NDK_HOST" "darwin-x86_64" -SetEnvVar "ANDROID_API_VERSION" "$sdkApiLevel" - -echo "Android SDK tools = $toolsVersion" >> ~/versions.txt -echo "Android SDK Build Tools = $sdkBuildToolsVersion" >> ~/versions.txt -echo "Android SDK API level = $sdkApiLevel" >> ~/versions.txt -echo "Android NDK = $ndkVersion" >> ~/versions.txt diff --git a/coin/provisioning/qtci-macos-10.14-x86_64/30-fbx.sh b/coin/provisioning/qtci-macos-10.14-x86_64/30-fbx.sh deleted file mode 100755 index 34eefeb6..00000000 --- a/coin/provisioning/qtci-macos-10.14-x86_64/30-fbx.sh +++ /dev/null @@ -1,7 +0,0 @@ -#!/usr/bin/env bash - -set -ex - -BASEDIR=$(dirname "$0") -"$BASEDIR/../common/macos/fbx_macos.sh" - diff --git a/coin/provisioning/qtci-macos-10.14-x86_64/30-install-conan.sh b/coin/provisioning/qtci-macos-10.14-x86_64/30-install-conan.sh deleted file mode 100755 index f1d084fd..00000000 --- a/coin/provisioning/qtci-macos-10.14-x86_64/30-install-conan.sh +++ /dev/null @@ -1,6 +0,0 @@ -#!/usr/bin/env bash - -set -ex - -BASEDIR=$(dirname "$0") -"$BASEDIR/../common/unix/install-conan.sh" "macos" diff --git a/coin/provisioning/qtci-macos-10.14-x86_64/30-nodejs.sh b/coin/provisioning/qtci-macos-10.14-x86_64/30-nodejs.sh deleted file mode 100755 index 3b88d526..00000000 --- a/coin/provisioning/qtci-macos-10.14-x86_64/30-nodejs.sh +++ /dev/null @@ -1,5 +0,0 @@ -#!/usr/bin/env bash -set -ex - -BASEDIR=$(dirname "$0") -"$BASEDIR/../common/macos/nodejs.sh" diff --git a/coin/provisioning/qtci-macos-10.14-x86_64/35-install-breakpad.sh b/coin/provisioning/qtci-macos-10.14-x86_64/35-install-breakpad.sh deleted file mode 100755 index 74dd1579..00000000 --- a/coin/provisioning/qtci-macos-10.14-x86_64/35-install-breakpad.sh +++ /dev/null @@ -1,6 +0,0 @@ -#!/usr/bin/env bash - -set -ex - -# shellcheck source=../common/unix/install-breakpad.sh -source "${BASH_SOURCE%/*}/../common/unix/install-breakpad.sh" diff --git a/coin/provisioning/qtci-macos-10.14-x86_64/35-install_protobuff.sh b/coin/provisioning/qtci-macos-10.14-x86_64/35-install_protobuff.sh deleted file mode 100755 index 2f55353a..00000000 --- a/coin/provisioning/qtci-macos-10.14-x86_64/35-install_protobuff.sh +++ /dev/null @@ -1,46 +0,0 @@ -#!/usr/bin/env bash - -############################################################################# -## -## Copyright (C) 2018 The Qt Company Ltd. -## Contact: https://www.qt.io/licensing/ -## -## This file is part of the provisioning scripts of the Qt Toolkit. -## -## $QT_BEGIN_LICENSE:LGPL$ -## Commercial License Usage -## Licensees holding valid commercial Qt licenses may use this file in -## accordance with the commercial license agreement provided with the -## Software or, alternatively, in accordance with the terms contained in -## a written agreement between you and The Qt Company. For licensing terms -## and conditions see https://www.qt.io/terms-conditions. For further -## information use the contact form at https://www.qt.io/contact-us. -## -## GNU Lesser General Public License Usage -## Alternatively, this file may be used under the terms of the GNU Lesser -## General Public License version 3 as published by the Free Software -## Foundation and appearing in the file LICENSE.LGPL3 included in the -## packaging of this file. Please review the following information to -## ensure the GNU Lesser General Public License version 3 requirements -## will be met: https://www.gnu.org/licenses/lgpl-3.0.html. -## -## GNU General Public License Usage -## Alternatively, this file may be used under the terms of the GNU -## General Public License version 2.0 or (at your option) the GNU General -## Public license version 3 or any later version approved by the KDE Free -## Qt Foundation. The licenses are as published by the Free Software -## Foundation and appearing in the file LICENSE.GPL2 and LICENSE.GPL3 -## included in the packaging of this file. Please review the following -## information to ensure the GNU General Public License requirements will -## be met: https://www.gnu.org/licenses/gpl-2.0.html and -## https://www.gnu.org/licenses/gpl-3.0.html. -## -## $QT_END_LICENSE$ -## -############################################################################# - -set -ex - -# shellcheck source=../common/unix/install_protobuff.sh -source "${BASH_SOURCE%/*}/../common/unix/install_protobuff.sh" - diff --git a/coin/provisioning/qtci-macos-10.14-x86_64/35-openssl.sh b/coin/provisioning/qtci-macos-10.14-x86_64/35-openssl.sh deleted file mode 100755 index 57a86c47..00000000 --- a/coin/provisioning/qtci-macos-10.14-x86_64/35-openssl.sh +++ /dev/null @@ -1,7 +0,0 @@ -#!/usr/bin/env bash - -set -ex - -# shellcheck source=../common/macos/install_openssl.sh -source "${BASH_SOURCE%/*}/../common/unix/install-openssl.sh" "macos" - diff --git a/coin/provisioning/qtci-macos-10.14-x86_64/36-emsdk.sh b/coin/provisioning/qtci-macos-10.14-x86_64/36-emsdk.sh deleted file mode 100755 index 7396d336..00000000 --- a/coin/provisioning/qtci-macos-10.14-x86_64/36-emsdk.sh +++ /dev/null @@ -1,6 +0,0 @@ -#!/usr/bin/env bash - -set -ex - -# shellcheck source=../common/unix/emsdk.sh -source "${BASH_SOURCE%/*}/../common/unix/emsdk.sh" diff --git a/coin/provisioning/qtci-macos-10.14-x86_64/50-openssl_for_android_darwin.sh b/coin/provisioning/qtci-macos-10.14-x86_64/50-openssl_for_android_darwin.sh deleted file mode 100755 index 05306ed1..00000000 --- a/coin/provisioning/qtci-macos-10.14-x86_64/50-openssl_for_android_darwin.sh +++ /dev/null @@ -1,44 +0,0 @@ -#!/usr/bin/env bash - -############################################################################# -## -## Copyright (C) 2021 The Qt Company Ltd. -## Contact: https://www.qt.io/licensing/ -## -## This file is part of the provisioning scripts of the Qt Toolkit. -## -## $QT_BEGIN_LICENSE:LGPL$ -## Commercial License Usage -## Licensees holding valid commercial Qt licenses may use this file in -## accordance with the commercial license agreement provided with the -## Software or, alternatively, in accordance with the terms contained in -## a written agreement between you and The Qt Company. For licensing terms -## and conditions see https://www.qt.io/terms-conditions. For further -## information use the contact form at https://www.qt.io/contact-us. -## -## GNU Lesser General Public License Usage -## Alternatively, this file may be used under the terms of the GNU Lesser -## General Public License version 3 as published by the Free Software -## Foundation and appearing in the file LICENSE.LGPL3 included in the -## packaging of this file. Please review the following information to -## ensure the GNU Lesser General Public License version 3 requirements -## will be met: https://www.gnu.org/licenses/lgpl-3.0.html. -## -## GNU General Public License Usage -## Alternatively, this file may be used under the terms of the GNU -## General Public License version 2.0 or (at your option) the GNU General -## Public license version 3 or any later version approved by the KDE Free -## Qt Foundation. The licenses are as published by the Free Software -## Foundation and appearing in the file LICENSE.GPL2 and LICENSE.GPL3 -## included in the packaging of this file. Please review the following -## information to ensure the GNU General Public License requirements will -## be met: https://www.gnu.org/licenses/gpl-2.0.html and -## https://www.gnu.org/licenses/gpl-3.0.html. -## -## $QT_END_LICENSE$ -## -############################################################################# -set -ex - -# shellcheck source=../common/unix/openssl_for_android.sh -source "${BASH_SOURCE%/*}/../common/unix/openssl_for_android.sh" diff --git a/coin/provisioning/qtci-macos-10.14-x86_64/81-bluetooth.sh b/coin/provisioning/qtci-macos-10.14-x86_64/81-bluetooth.sh deleted file mode 100755 index e08aca4e..00000000 --- a/coin/provisioning/qtci-macos-10.14-x86_64/81-bluetooth.sh +++ /dev/null @@ -1,8 +0,0 @@ -#!/usr/bin/env bash - -set -ex - -brew install blueutil - -#Disable Bluetooth -blueutil -p 0 diff --git a/coin/provisioning/qtci-macos-10.14-x86_64/90-squish.sh b/coin/provisioning/qtci-macos-10.14-x86_64/90-squish.sh deleted file mode 100755 index 17a0c38e..00000000 --- a/coin/provisioning/qtci-macos-10.14-x86_64/90-squish.sh +++ /dev/null @@ -1,6 +0,0 @@ -#!/usr/bin/env bash -set -ex - -BASEDIR=$(dirname "$0") -"$BASEDIR/../common/unix/squishInstall.sh" - diff --git a/coin/provisioning/qtci-macos-10.14-x86_64/97-set-locale.sh b/coin/provisioning/qtci-macos-10.14-x86_64/97-set-locale.sh deleted file mode 100755 index e34b7381..00000000 --- a/coin/provisioning/qtci-macos-10.14-x86_64/97-set-locale.sh +++ /dev/null @@ -1,6 +0,0 @@ -#!/usr/bin/env bash - -set -ex - -BASEDIR=$(dirname "$0") -$BASEDIR/../common/macos/set-locale.sh diff --git a/coin/provisioning/qtci-macos-10.14-x86_64/99-mac-version.sh b/coin/provisioning/qtci-macos-10.14-x86_64/99-mac-version.sh deleted file mode 100755 index 99d94150..00000000 --- a/coin/provisioning/qtci-macos-10.14-x86_64/99-mac-version.sh +++ /dev/null @@ -1,6 +0,0 @@ -#!/usr/bin/env bash - -set -ex - -BASEDIR=$(dirname "$0") -$BASEDIR/../common/macos/macos-version.sh diff --git a/coin/provisioning/qtci-macos-10.15-x86_64/01-disable-updates.sh b/coin/provisioning/qtci-macos-10.15-x86_64/01-disable-updates.sh new file mode 100755 index 00000000..a2b2a0f0 --- /dev/null +++ b/coin/provisioning/qtci-macos-10.15-x86_64/01-disable-updates.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 + +BASEDIR=$(dirname "$0") +"$BASEDIR/../common/macos/system_updates.sh" diff --git a/coin/provisioning/qtci-macos-10.15-x86_64/01-enable_zsh_history_and_viminfo.sh b/coin/provisioning/qtci-macos-10.15-x86_64/01-enable_zsh_history_and_viminfo.sh new file mode 100755 index 00000000..6004b140 --- /dev/null +++ b/coin/provisioning/qtci-macos-10.15-x86_64/01-enable_zsh_history_and_viminfo.sh @@ -0,0 +1,5 @@ +#!/usr/bin/env bash +set -ex + +# shellcheck source=../common/macos/enable_zsh_history_and_viminfo.sh +source "${BASH_SOURCE%/*}/../common/macos/enable_zsh_history_and_viminfo.sh" diff --git a/coin/provisioning/qtci-macos-10.15-x86_64/01-sha1sum-compatibility.sh b/coin/provisioning/qtci-macos-10.15-x86_64/01-sha1sum-compatibility.sh index cf0611cd..e52367c8 100755 --- a/coin/provisioning/qtci-macos-10.15-x86_64/01-sha1sum-compatibility.sh +++ b/coin/provisioning/qtci-macos-10.15-x86_64/01-sha1sum-compatibility.sh @@ -1,43 +1,6 @@ #!/usr/bin/env bash - -############################################################################# -## -## Copyright (C) 2020 The Qt Company Ltd. -## Contact: https://www.qt.io/licensing/ -## -## This file is part of the provisioning scripts of the Qt Toolkit. -## -## $QT_BEGIN_LICENSE:LGPL$ -## Commercial License Usage -## Licensees holding valid commercial Qt licenses may use this file in -## accordance with the commercial license agreement provided with the -## Software or, alternatively, in accordance with the terms contained in -## a written agreement between you and The Qt Company. For licensing terms -## and conditions see https://www.qt.io/terms-conditions. For further -## information use the contact form at https://www.qt.io/contact-us. -## -## GNU Lesser General Public License Usage -## Alternatively, this file may be used under the terms of the GNU Lesser -## General Public License version 3 as published by the Free Software -## Foundation and appearing in the file LICENSE.LGPL3 included in the -## packaging of this file. Please review the following information to -## ensure the GNU Lesser General Public License version 3 requirements -## will be met: https://www.gnu.org/licenses/lgpl-3.0.html. -## -## GNU General Public License Usage -## Alternatively, this file may be used under the terms of the GNU -## General Public License version 2.0 or (at your option) the GNU General -## Public license version 3 or any later version approved by the KDE Free -## Qt Foundation. The licenses are as published by the Free Software -## Foundation and appearing in the file LICENSE.GPL2 and LICENSE.GPL3 -## included in the packaging of this file. Please review the following -## information to ensure the GNU General Public License requirements will -## be met: https://www.gnu.org/licenses/gpl-2.0.html and -## https://www.gnu.org/licenses/gpl-3.0.html. -## -## $QT_END_LICENSE$ -## -############################################################################# +# 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 #!/usr/bin/env bash diff --git a/coin/provisioning/qtci-macos-10.15-x86_64/03-bashprofile.sh b/coin/provisioning/qtci-macos-10.15-x86_64/03-bashprofile.sh index 2c3e45f3..4eed8433 100755 --- a/coin/provisioning/qtci-macos-10.15-x86_64/03-bashprofile.sh +++ b/coin/provisioning/qtci-macos-10.15-x86_64/03-bashprofile.sh @@ -1,4 +1,6 @@ #!/usr/bin/env 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 set -ex diff --git a/coin/provisioning/qtci-macos-10.15-x86_64/05-systemsetup.sh b/coin/provisioning/qtci-macos-10.15-x86_64/05-systemsetup.sh index 99e22d40..115c0489 100755 --- a/coin/provisioning/qtci-macos-10.15-x86_64/05-systemsetup.sh +++ b/coin/provisioning/qtci-macos-10.15-x86_64/05-systemsetup.sh @@ -1,43 +1,6 @@ #!/usr/bin/env bash - -############################################################################# -## -## Copyright (C) 2021 The Qt Company Ltd. -## Contact: https://www.qt.io/licensing/ -## -## This file is part of the provisioning scripts of the Qt Toolkit. -## -## $QT_BEGIN_LICENSE:LGPL$ -## Commercial License Usage -## Licensees holding valid commercial Qt licenses may use this file in -## accordance with the commercial license agreement provided with the -## Software or, alternatively, in accordance with the terms contained in -## a written agreement between you and The Qt Company. For licensing terms -## and conditions see https://www.qt.io/terms-conditions. For further -## information use the contact form at https://www.qt.io/contact-us. -## -## GNU Lesser General Public License Usage -## Alternatively, this file may be used under the terms of the GNU Lesser -## General Public License version 3 as published by the Free Software -## Foundation and appearing in the file LICENSE.LGPL3 included in the -## packaging of this file. Please review the following information to -## ensure the GNU Lesser General Public License version 3 requirements -## will be met: https://www.gnu.org/licenses/lgpl-3.0.html. -## -## GNU General Public License Usage -## Alternatively, this file may be used under the terms of the GNU -## General Public License version 2.0 or (at your option) the GNU General -## Public license version 3 or any later version approved by the KDE Free -## Qt Foundation. The licenses are as published by the Free Software -## Foundation and appearing in the file LICENSE.GPL2 and LICENSE.GPL3 -## included in the packaging of this file. Please review the following -## information to ensure the GNU General Public License requirements will -## be met: https://www.gnu.org/licenses/gpl-2.0.html and -## https://www.gnu.org/licenses/gpl-3.0.html. -## -## $QT_END_LICENSE$ -## -############################################################################# +# 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 @@ -46,7 +9,7 @@ set -ex targetFile="$HOME/vncpw.txt" # Fetch password -curl --retry 5 --retry-delay 10 --retry-max-time 60 "http://ci-files01-hki.intra.qt.io/input/semisecure/vncpw.txt" -o "$targetFile" +curl --retry 5 --retry-delay 10 --retry-max-time 60 "http://ci-files01-hki.ci.qt.io/input/semisecure/vncpw.txt" -o "$targetFile" shasum "$targetFile" |grep "a795fccaa8f277e62ec08e6056c544b8b63924a0" { VNCPassword=$(cat "$targetFile"); } 2> /dev/null @@ -96,7 +59,7 @@ defaults write -g KeyRepeat -int 2 set +x echo "Enable remote desktop sharing" -sudo /System/Library/CoreServices/RemoteManagement/ARDAgent.app/Contents/Resources/kickstart -activate -configure -access -on -clientopts -setvnclegacy -vnclegacy yes -clientopts -setvncpw -vncpw $VNCPassword -restart -agent -privs -all +sudo /System/Library/CoreServices/RemoteManagement/ARDAgent.app/Contents/Resources/kickstart -activate -configure -access -on -clientopts -setvnclegacy -vnclegacy yes -clientopts -setvncpw -vncpw "$VNCPassword" -restart -agent -privs -all set -x echo "Set Network Test Server address to $NTS_IP in /etc/hosts" diff --git a/coin/provisioning/qtci-macos-10.15-x86_64/06-crashreporter.sh b/coin/provisioning/qtci-macos-10.15-x86_64/06-crashreporter.sh index 8461c656..cb7c0774 100755 --- a/coin/provisioning/qtci-macos-10.15-x86_64/06-crashreporter.sh +++ b/coin/provisioning/qtci-macos-10.15-x86_64/06-crashreporter.sh @@ -1,4 +1,6 @@ #!/usr/bin/env 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 set -ex diff --git a/coin/provisioning/qtci-macos-10.15-x86_64/06-disable_spotlight.sh b/coin/provisioning/qtci-macos-10.15-x86_64/06-disable_spotlight.sh index 67e2c1f6..ab85a262 100755 --- a/coin/provisioning/qtci-macos-10.15-x86_64/06-disable_spotlight.sh +++ b/coin/provisioning/qtci-macos-10.15-x86_64/06-disable_spotlight.sh @@ -1,4 +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 set -ex # shellcheck source=../common/macos/disable_spotlight.sh diff --git a/coin/provisioning/qtci-macos-10.15-x86_64/06-disable_update_downloads.sh b/coin/provisioning/qtci-macos-10.15-x86_64/06-disable_update_downloads.sh index 3c11214d..18cb98ea 100755 --- a/coin/provisioning/qtci-macos-10.15-x86_64/06-disable_update_downloads.sh +++ b/coin/provisioning/qtci-macos-10.15-x86_64/06-disable_update_downloads.sh @@ -1,4 +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 set -ex BASEDIR=$(dirname "$0") "$BASEDIR"/../common/macos/disable_update_downloads.sh diff --git a/coin/provisioning/qtci-macos-10.15-x86_64/07-SSL_keychain.sh b/coin/provisioning/qtci-macos-10.15-x86_64/07-SSL_keychain.sh index 6e7c796a..e14dcee9 100755 --- a/coin/provisioning/qtci-macos-10.15-x86_64/07-SSL_keychain.sh +++ b/coin/provisioning/qtci-macos-10.15-x86_64/07-SSL_keychain.sh @@ -1,4 +1,6 @@ -#!/usr/bin/env sh +#!/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 diff --git a/coin/provisioning/qtci-macos-10.15-x86_64/15-xz.sh b/coin/provisioning/qtci-macos-10.15-x86_64/15-xz.sh index c2f6e73f..ffe00992 100755 --- a/coin/provisioning/qtci-macos-10.15-x86_64/15-xz.sh +++ b/coin/provisioning/qtci-macos-10.15-x86_64/15-xz.sh @@ -1,43 +1,6 @@ #!/usr/bin/env bash - -############################################################################# -## -## Copyright (C) 2020 The Qt Company Ltd. -## Contact: https://www.qt.io/licensing/ -## -## This file is part of the provisioning scripts of the Qt Toolkit. -## -## $QT_BEGIN_LICENSE:LGPL$ -## Commercial License Usage -## Licensees holding valid commercial Qt licenses may use this file in -## accordance with the commercial license agreement provided with the -## Software or, alternatively, in accordance with the terms contained in -## a written agreement between you and The Qt Company. For licensing terms -## and conditions see https://www.qt.io/terms-conditions. For further -## information use the contact form at https://www.qt.io/contact-us. -## -## GNU Lesser General Public License Usage -## Alternatively, this file may be used under the terms of the GNU Lesser -## General Public License version 3 as published by the Free Software -## Foundation and appearing in the file LICENSE.LGPL3 included in the -## packaging of this file. Please review the following information to -## ensure the GNU Lesser General Public License version 3 requirements -## will be met: https://www.gnu.org/licenses/lgpl-3.0.html. -## -## GNU General Public License Usage -## Alternatively, this file may be used under the terms of the GNU -## General Public License version 2.0 or (at your option) the GNU General -## Public license version 3 or any later version approved by the KDE Free -## Qt Foundation. The licenses are as published by the Free Software -## Foundation and appearing in the file LICENSE.GPL2 and LICENSE.GPL3 -## included in the packaging of this file. Please review the following -## information to ensure the GNU General Public License requirements will -## be met: https://www.gnu.org/licenses/gpl-2.0.html and -## https://www.gnu.org/licenses/gpl-3.0.html. -## -## $QT_END_LICENSE$ -## -############################################################################# +# 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 XZ-Utils @@ -48,7 +11,7 @@ set -ex # shellcheck source=../common/macos/InstallPKGFromURL.sh source "${BASH_SOURCE%/*}/../common/macos/InstallPKGFromURL.sh" -PrimaryUrl="http://ci-files01-hki.intra.qt.io/input/mac/macos_10.12_sierra/XZ.pkg" +PrimaryUrl="http://ci-files01-hki.ci.qt.io/input/mac/macos_10.12_sierra/XZ.pkg" AltUrl="http://sourceforge.net/projects/macpkg/files/XZ/5.0.7/XZ.pkg" SHA1="f0c1f82ebcffe0bd4b8b57b6a77805db56b2de67" DestDir="/" diff --git a/coin/provisioning/qtci-macos-10.15-x86_64/20-java.sh b/coin/provisioning/qtci-macos-10.15-x86_64/20-java.sh index dcfcb93b..325fee63 100755 --- a/coin/provisioning/qtci-macos-10.15-x86_64/20-java.sh +++ b/coin/provisioning/qtci-macos-10.15-x86_64/20-java.sh @@ -1,4 +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 set -ex BASEDIR=$(dirname "$0") diff --git a/coin/provisioning/qtci-macos-10.15-x86_64/20-xcode.sh b/coin/provisioning/qtci-macos-10.15-x86_64/20-xcode.sh index 34ce293d..0f711c1c 100755 --- a/coin/provisioning/qtci-macos-10.15-x86_64/20-xcode.sh +++ b/coin/provisioning/qtci-macos-10.15-x86_64/20-xcode.sh @@ -1,43 +1,6 @@ #!/usr/bin/env bash - -############################################################################# -## -## Copyright (C) 2021 The Qt Company Ltd. -## Contact: https://www.qt.io/licensing/ -## -## This file is part of the provisioning scripts of the Qt Toolkit. -## -## $QT_BEGIN_LICENSE:LGPL$ -## Commercial License Usage -## Licensees holding valid commercial Qt licenses may use this file in -## accordance with the commercial license agreement provided with the -## Software or, alternatively, in accordance with the terms contained in -## a written agreement between you and The Qt Company. For licensing terms -## and conditions see https://www.qt.io/terms-conditions. For further -## information use the contact form at https://www.qt.io/contact-us. -## -## GNU Lesser General Public License Usage -## Alternatively, this file may be used under the terms of the GNU Lesser -## General Public License version 3 as published by the Free Software -## Foundation and appearing in the file LICENSE.LGPL3 included in the -## packaging of this file. Please review the following information to -## ensure the GNU Lesser General Public License version 3 requirements -## will be met: https://www.gnu.org/licenses/lgpl-3.0.html. -## -## GNU General Public License Usage -## Alternatively, this file may be used under the terms of the GNU -## General Public License version 2.0 or (at your option) the GNU General -## Public license version 3 or any later version approved by the KDE Free -## Qt Foundation. The licenses are as published by the Free Software -## Foundation and appearing in the file LICENSE.GPL2 and LICENSE.GPL3 -## included in the packaging of this file. Please review the following -## information to ensure the GNU General Public License requirements will -## be met: https://www.gnu.org/licenses/gpl-2.0.html and -## https://www.gnu.org/licenses/gpl-3.0.html. -## -## $QT_END_LICENSE$ -## -############################################################################# +# Copyright (C) 2021 The Qt Company Ltd. +# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only # This script installs Xcode # Prerequisites: Have Xcode prefetched to local cache as xz compressed. @@ -56,4 +19,4 @@ set -ex # shellcheck source=../common/macos/install_xcode.sh source "${BASH_SOURCE%/*}/../common/macos/install_xcode.sh" -InstallXCode /net/ci-files01-hki.intra.qt.io/hdd/www/input/mac/macos_10.15_catalina/Xcode_12.4.xip 12.4 +InstallXCode /net/ci-files01-hki.ci.qt.io/hdd/www/input/mac/macos_10.15_catalina/Xcode_12.4.xip 12.4 diff --git a/coin/provisioning/qtci-macos-10.15-x86_64/21-install-commandlinetools.sh b/coin/provisioning/qtci-macos-10.15-x86_64/21-install-commandlinetools.sh index 93b079d6..a3e91ae8 100755 --- a/coin/provisioning/qtci-macos-10.15-x86_64/21-install-commandlinetools.sh +++ b/coin/provisioning/qtci-macos-10.15-x86_64/21-install-commandlinetools.sh @@ -1,43 +1,6 @@ #!/usr/bin/env bash - -############################################################################# -## -## Copyright (C) 2021 The Qt Company Ltd. -## Contact: https://www.qt.io/licensing/ -## -## This file is part of the provisioning scripts of the Qt Toolkit. -## -## $QT_BEGIN_LICENSE:LGPL$ -## Commercial License Usage -## Licensees holding valid commercial Qt licenses may use this file in -## accordance with the commercial license agreement provided with the -## Software or, alternatively, in accordance with the terms contained in -## a written agreement between you and The Qt Company. For licensing terms -## and conditions see https://www.qt.io/terms-conditions. For further -## information use the contact form at https://www.qt.io/contact-us. -## -## GNU Lesser General Public License Usage -## Alternatively, this file may be used under the terms of the GNU Lesser -## General Public License version 3 as published by the Free Software -## Foundation and appearing in the file LICENSE.LGPL3 included in the -## packaging of this file. Please review the following information to -## ensure the GNU Lesser General Public License version 3 requirements -## will be met: https://www.gnu.org/licenses/lgpl-3.0.html. -## -## GNU General Public License Usage -## Alternatively, this file may be used under the terms of the GNU -## General Public License version 2.0 or (at your option) the GNU General -## Public license version 3 or any later version approved by the KDE Free -## Qt Foundation. The licenses are as published by the Free Software -## Foundation and appearing in the file LICENSE.GPL2 and LICENSE.GPL3 -## included in the packaging of this file. Please review the following -## information to ensure the GNU General Public License requirements will -## be met: https://www.gnu.org/licenses/gpl-2.0.html and -## https://www.gnu.org/licenses/gpl-3.0.html. -## -## $QT_END_LICENSE$ -## -############################################################################# +# 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 @@ -45,7 +8,7 @@ set -ex source "${BASH_SOURCE%/*}/../common/macos/install-commandlinetools.sh" version="12.4" packageName="Command_Line_Tools_for_Xcode_$version.dmg" -url="http://ci-files01-hki.intra.qt.io/input/mac/macos_10.15_catalina/$packageName" +url="http://ci-files01-hki.ci.qt.io/input/mac/macos_10.15_catalina/$packageName" sha1="eabb32d167da029dfc70af94de2bf61abd416ca1" InstallCommandLineTools $url $url $sha1 $packageName $version diff --git a/coin/provisioning/qtci-macos-10.15-x86_64/25-cmake.sh b/coin/provisioning/qtci-macos-10.15-x86_64/25-cmake.sh index 4f4d405e..33095880 100755 --- a/coin/provisioning/qtci-macos-10.15-x86_64/25-cmake.sh +++ b/coin/provisioning/qtci-macos-10.15-x86_64/25-cmake.sh @@ -1,4 +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 set -ex diff --git a/coin/provisioning/qtci-macos-10.15-x86_64/25-homebrew.sh b/coin/provisioning/qtci-macos-10.15-x86_64/25-homebrew.sh index f7f9e214..b26d81da 100755 --- a/coin/provisioning/qtci-macos-10.15-x86_64/25-homebrew.sh +++ b/coin/provisioning/qtci-macos-10.15-x86_64/25-homebrew.sh @@ -1,4 +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 set -e diff --git a/coin/provisioning/qtci-macos-10.15-x86_64/25-mysql.sh b/coin/provisioning/qtci-macos-10.15-x86_64/25-mysql.sh index d113c4cb..0be1e6e8 100755 --- a/coin/provisioning/qtci-macos-10.15-x86_64/25-mysql.sh +++ b/coin/provisioning/qtci-macos-10.15-x86_64/25-mysql.sh @@ -1,43 +1,6 @@ #!/usr/bin/env bash - -############################################################################# -## -## Copyright (C) 2020 The Qt Company Ltd. -## Contact: https://www.qt.io/licensing/ -## -## This file is part of the provisioning scripts of the Qt Toolkit. -## -## $QT_BEGIN_LICENSE:LGPL$ -## Commercial License Usage -## Licensees holding valid commercial Qt licenses may use this file in -## accordance with the commercial license agreement provided with the -## Software or, alternatively, in accordance with the terms contained in -## a written agreement between you and The Qt Company. For licensing terms -## and conditions see https://www.qt.io/terms-conditions. For further -## information use the contact form at https://www.qt.io/contact-us. -## -## GNU Lesser General Public License Usage -## Alternatively, this file may be used under the terms of the GNU Lesser -## General Public License version 3 as published by the Free Software -## Foundation and appearing in the file LICENSE.LGPL3 included in the -## packaging of this file. Please review the following information to -## ensure the GNU Lesser General Public License version 3 requirements -## will be met: https://www.gnu.org/licenses/lgpl-3.0.html. -## -## GNU General Public License Usage -## Alternatively, this file may be used under the terms of the GNU -## General Public License version 2.0 or (at your option) the GNU General -## Public license version 3 or any later version approved by the KDE Free -## Qt Foundation. The licenses are as published by the Free Software -## Foundation and appearing in the file LICENSE.GPL2 and LICENSE.GPL3 -## included in the packaging of this file. Please review the following -## information to ensure the GNU General Public License requirements will -## be met: https://www.gnu.org/licenses/gpl-2.0.html and -## https://www.gnu.org/licenses/gpl-3.0.html. -## -## $QT_END_LICENSE$ -## -############################################################################# +# 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 MySQL @@ -50,7 +13,7 @@ source "${BASH_SOURCE%/*}/../common/macos/InstallAppFromCompressedFileFromURL.sh # shellcheck source=../common/unix/SetEnvVar.sh source "${BASH_SOURCE%/*}/../common/unix/SetEnvVar.sh" -PrimaryUrl="http://ci-files01-hki.intra.qt.io/input/mac/macos_10.12_sierra/mysql-5.7.15-osx10.11-x86_64.tar.gz" +PrimaryUrl="http://ci-files01-hki.ci.qt.io/input/mac/macos_10.12_sierra/mysql-5.7.15-osx10.11-x86_64.tar.gz" AltUrl="https://dev.mysql.com/get/Downloads/MySQL-5.7/mysql-5.7.15-osx10.11-x86_64.tar.gz" SHA1="07949bd42f350b0504a1536b8830b809b4a34fca" appPrefix="" diff --git a/coin/provisioning/qtci-macos-10.15-x86_64/25-pip.sh b/coin/provisioning/qtci-macos-10.15-x86_64/25-pip.sh index 86db3e27..3fc865d0 100755 --- a/coin/provisioning/qtci-macos-10.15-x86_64/25-pip.sh +++ b/coin/provisioning/qtci-macos-10.15-x86_64/25-pip.sh @@ -1,4 +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 set -ex diff --git a/coin/provisioning/qtci-macos-10.15-x86_64/25-postgresql.sh b/coin/provisioning/qtci-macos-10.15-x86_64/25-postgresql.sh index 09c7cd37..95460b55 100755 --- a/coin/provisioning/qtci-macos-10.15-x86_64/25-postgresql.sh +++ b/coin/provisioning/qtci-macos-10.15-x86_64/25-postgresql.sh @@ -1,43 +1,6 @@ #!/usr/bin/env bash - -############################################################################# -## -## Copyright (C) 2020 The Qt Company Ltd. -## Contact: https://www.qt.io/licensing/ -## -## This file is part of the provisioning scripts of the Qt Toolkit. -## -## $QT_BEGIN_LICENSE:LGPL$ -## Commercial License Usage -## Licensees holding valid commercial Qt licenses may use this file in -## accordance with the commercial license agreement provided with the -## Software or, alternatively, in accordance with the terms contained in -## a written agreement between you and The Qt Company. For licensing terms -## and conditions see https://www.qt.io/terms-conditions. For further -## information use the contact form at https://www.qt.io/contact-us. -## -## GNU Lesser General Public License Usage -## Alternatively, this file may be used under the terms of the GNU Lesser -## General Public License version 3 as published by the Free Software -## Foundation and appearing in the file LICENSE.LGPL3 included in the -## packaging of this file. Please review the following information to -## ensure the GNU Lesser General Public License version 3 requirements -## will be met: https://www.gnu.org/licenses/lgpl-3.0.html. -## -## GNU General Public License Usage -## Alternatively, this file may be used under the terms of the GNU -## General Public License version 2.0 or (at your option) the GNU General -## Public license version 3 or any later version approved by the KDE Free -## Qt Foundation. The licenses are as published by the Free Software -## Foundation and appearing in the file LICENSE.GPL2 and LICENSE.GPL3 -## included in the packaging of this file. Please review the following -## information to ensure the GNU General Public License requirements will -## be met: https://www.gnu.org/licenses/gpl-2.0.html and -## https://www.gnu.org/licenses/gpl-3.0.html. -## -## $QT_END_LICENSE$ -## -############################################################################# +# 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 PostgreSQL @@ -52,7 +15,7 @@ source "${BASH_SOURCE%/*}/../common/unix/SetEnvVar.sh" psqlVersion="9.6.0" -PrimaryUrl="http://ci-files01-hki.intra.qt.io/input/mac/macos_10.12_sierra/Postgres-$psqlVersion.zip" +PrimaryUrl="http://ci-files01-hki.ci.qt.io/input/mac/macos_10.12_sierra/Postgres-$psqlVersion.zip" AltUrl="https://github.com/PostgresApp/PostgresApp/releases/download/$psqlVersion/Postgres-$psqlVersion.zip" SHA1="5078e44663787006ca55fa3b5e2be598bed82eb5" appPrefix="" diff --git a/coin/provisioning/qtci-macos-10.15-x86_64/25-python2.sh b/coin/provisioning/qtci-macos-10.15-x86_64/25-python2.sh index 7ebb8825..4c88a413 100755 --- a/coin/provisioning/qtci-macos-10.15-x86_64/25-python2.sh +++ b/coin/provisioning/qtci-macos-10.15-x86_64/25-python2.sh @@ -1,4 +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 set -ex # shellcheck source=../common/macos/python2.sh diff --git a/coin/provisioning/qtci-macos-10.15-x86_64/25-python3.sh b/coin/provisioning/qtci-macos-10.15-x86_64/25-python3.sh index eb2a4863..8fee606c 100755 --- a/coin/provisioning/qtci-macos-10.15-x86_64/25-python3.sh +++ b/coin/provisioning/qtci-macos-10.15-x86_64/25-python3.sh @@ -1,4 +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 set -ex # shellcheck source=../common/macos/python3.sh diff --git a/coin/provisioning/qtci-macos-10.15-x86_64/26-freetype.sh b/coin/provisioning/qtci-macos-10.15-x86_64/26-freetype.sh index 0faec4b4..fa0790f8 100755 --- a/coin/provisioning/qtci-macos-10.15-x86_64/26-freetype.sh +++ b/coin/provisioning/qtci-macos-10.15-x86_64/26-freetype.sh @@ -1,4 +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 set -ex diff --git a/coin/provisioning/qtci-macos-10.15-x86_64/26-ninja.sh b/coin/provisioning/qtci-macos-10.15-x86_64/26-ninja.sh index 08428b2f..4443eeb4 100755 --- a/coin/provisioning/qtci-macos-10.15-x86_64/26-ninja.sh +++ b/coin/provisioning/qtci-macos-10.15-x86_64/26-ninja.sh @@ -1,4 +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 set -ex diff --git a/coin/provisioning/qtci-macos-10.15-x86_64/26-odbc.sh b/coin/provisioning/qtci-macos-10.15-x86_64/26-odbc.sh index 2aedfe7b..388ce0f0 100755 --- a/coin/provisioning/qtci-macos-10.15-x86_64/26-odbc.sh +++ b/coin/provisioning/qtci-macos-10.15-x86_64/26-odbc.sh @@ -1,4 +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 # Install libiodbc set -ex diff --git a/coin/provisioning/qtci-macos-10.15-x86_64/26-p7zip.sh b/coin/provisioning/qtci-macos-10.15-x86_64/26-p7zip.sh index 15511332..8cdcd0c3 100755 --- a/coin/provisioning/qtci-macos-10.15-x86_64/26-p7zip.sh +++ b/coin/provisioning/qtci-macos-10.15-x86_64/26-p7zip.sh @@ -1,4 +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 # Install 7z to be used from command line set -ex diff --git a/coin/provisioning/qtci-macos-10.15-x86_64/26-pcre2.sh b/coin/provisioning/qtci-macos-10.15-x86_64/26-pcre2.sh index f8af516b..c10d6206 100755 --- a/coin/provisioning/qtci-macos-10.15-x86_64/26-pcre2.sh +++ b/coin/provisioning/qtci-macos-10.15-x86_64/26-pcre2.sh @@ -1,4 +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 set -ex diff --git a/coin/provisioning/qtci-macos-10.15-x86_64/27-libclang.sh b/coin/provisioning/qtci-macos-10.15-x86_64/27-libclang.sh index aad628cb..cc025e6e 100755 --- a/coin/provisioning/qtci-macos-10.15-x86_64/27-libclang.sh +++ b/coin/provisioning/qtci-macos-10.15-x86_64/27-libclang.sh @@ -1,4 +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 set -ex diff --git a/coin/provisioning/qtci-macos-10.15-x86_64/28-libclang-v100-dyn.sh b/coin/provisioning/qtci-macos-10.15-x86_64/28-libclang-v100-dyn.sh index c9d6e93d..d95e7e00 100755 --- a/coin/provisioning/qtci-macos-10.15-x86_64/28-libclang-v100-dyn.sh +++ b/coin/provisioning/qtci-macos-10.15-x86_64/28-libclang-v100-dyn.sh @@ -1,4 +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 set -ex diff --git a/coin/provisioning/qtci-macos-10.15-x86_64/30-android.sh b/coin/provisioning/qtci-macos-10.15-x86_64/30-android.sh index 5bd87fa7..3ae2cbf6 100755 --- a/coin/provisioning/qtci-macos-10.15-x86_64/30-android.sh +++ b/coin/provisioning/qtci-macos-10.15-x86_64/30-android.sh @@ -1,43 +1,6 @@ #!/usr/bin/env bash - -############################################################################# -## -## Copyright (C) 2020 The Qt Company Ltd. -## Contact: https://www.qt.io/licensing/ -## -## This file is part of the provisioning scripts of the Qt Toolkit. -## -## $QT_BEGIN_LICENSE:LGPL$ -## Commercial License Usage -## Licensees holding valid commercial Qt licenses may use this file in -## accordance with the commercial license agreement provided with the -## Software or, alternatively, in accordance with the terms contained in -## a written agreement between you and The Qt Company. For licensing terms -## and conditions see https://www.qt.io/terms-conditions. For further -## information use the contact form at https://www.qt.io/contact-us. -## -## GNU Lesser General Public License Usage -## Alternatively, this file may be used under the terms of the GNU Lesser -## General Public License version 3 as published by the Free Software -## Foundation and appearing in the file LICENSE.LGPL3 included in the -## packaging of this file. Please review the following information to -## ensure the GNU Lesser General Public License version 3 requirements -## will be met: https://www.gnu.org/licenses/lgpl-3.0.html. -## -## GNU General Public License Usage -## Alternatively, this file may be used under the terms of the GNU -## General Public License version 2.0 or (at your option) the GNU General -## Public license version 3 or any later version approved by the KDE Free -## Qt Foundation. The licenses are as published by the Free Software -## Foundation and appearing in the file LICENSE.GPL2 and LICENSE.GPL3 -## included in the packaging of this file. Please review the following -## information to ensure the GNU General Public License requirements will -## be met: https://www.gnu.org/licenses/gpl-2.0.html and -## https://www.gnu.org/licenses/gpl-3.0.html. -## -## $QT_END_LICENSE$ -## -############################################################################# +# Copyright (C) 2022 The Qt Company Ltd. +# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only # This script install Android sdk and ndk. @@ -51,17 +14,17 @@ source "${BASH_SOURCE%/*}/../common/unix/SetEnvVar.sh" targetFolder="/opt/android" sdkTargetFolder="$targetFolder/sdk" -basePath="/net/ci-files01-hki.intra.qt.io/hdd/www/input/android" +basePath="/net/ci-files01-hki.ci.qt.io/hdd/www/input/android" toolsVersion="2.1" # toolsFile dertermines tools version toolsFile="commandlinetools-mac-6609375_latest.zip" -ndkVersion="r22b" -ndkFile="android-ndk-$ndkVersion-darwin-x86_64.zip" -sdkBuildToolsVersion="31.0.0" +ndkVersion="r26b" +ndkFile="android-ndk-$ndkVersion-darwin.zip" +sdkBuildToolsVersion="34.0.0" # this is compile sdk version -sdkApiLevel="android-31" +sdkApiLevel="android-34" toolsSourceFile="$basePath/$toolsFile" ndkSourceFile="$basePath/$ndkFile" @@ -83,7 +46,7 @@ sudo mv "$sdkTargetFolder/tools" "$sdkTargetFolder/cmdline-tools" echo "Running SDK manager for platforms;$sdkApiLevel, platform-tools and build-tools;$sdkBuildToolsVersion." (echo "y"; echo "y") | "$sdkTargetFolder/cmdline-tools/tools/bin/sdkmanager" "--sdk_root=$sdkTargetFolder" \ "platforms;$sdkApiLevel" "platform-tools" "build-tools;$sdkBuildToolsVersion" \ - | eval $sdkmanager_no_progress_bar_cmd + | eval "$sdkmanager_no_progress_bar_cmd" echo "Checking the contents of Android SDK..." ls -l "$sdkTargetFolder" @@ -93,7 +56,9 @@ SetEnvVar "ANDROID_NDK_ROOT" "$targetFolder/android-ndk-$ndkVersion" SetEnvVar "ANDROID_NDK_HOST" "darwin-x86_64" SetEnvVar "ANDROID_API_VERSION" "$sdkApiLevel" -echo "Android SDK tools = $toolsVersion" >> ~/versions.txt -echo "Android SDK Build Tools = $sdkBuildToolsVersion" >> ~/versions.txt -echo "Android SDK API level = $sdkApiLevel" >> ~/versions.txt -echo "Android NDK = $ndkVersion" >> ~/versions.txt +cat << EOB >> ~/versions.txt +Android SDK tools = $toolsVersion +Android SDK Build Tools = $sdkBuildToolsVersion +Android SDK API level = $sdkApiLevel +Android NDK = $ndkVersion +EOB diff --git a/coin/provisioning/qtci-macos-10.15-x86_64/30-fbx.sh b/coin/provisioning/qtci-macos-10.15-x86_64/30-fbx.sh index 34eefeb6..e991bc08 100755 --- a/coin/provisioning/qtci-macos-10.15-x86_64/30-fbx.sh +++ b/coin/provisioning/qtci-macos-10.15-x86_64/30-fbx.sh @@ -1,4 +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 set -ex diff --git a/coin/provisioning/qtci-macos-10.15-x86_64/30-install-conan.sh b/coin/provisioning/qtci-macos-10.15-x86_64/30-install-conan.sh index f1d084fd..8d90ef37 100755 --- a/coin/provisioning/qtci-macos-10.15-x86_64/30-install-conan.sh +++ b/coin/provisioning/qtci-macos-10.15-x86_64/30-install-conan.sh @@ -1,4 +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 set -ex diff --git a/coin/provisioning/qtci-macos-10.15-x86_64/30-install-git.sh b/coin/provisioning/qtci-macos-10.15-x86_64/30-install-git.sh new file mode 100755 index 00000000..08114adf --- /dev/null +++ b/coin/provisioning/qtci-macos-10.15-x86_64/30-install-git.sh @@ -0,0 +1,8 @@ +#!/usr/bin/env bash +#Copyright (C) 2023 The Qt Company Ltd +#SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only + +set -ex + +BASEDIR=$(dirname "$0") +"$BASEDIR/../common/macos/install-git.sh" diff --git a/coin/provisioning/qtci-macos-10.15-x86_64/30-nodejs.sh b/coin/provisioning/qtci-macos-10.15-x86_64/30-nodejs.sh index 3b88d526..a5cf7d4d 100755 --- a/coin/provisioning/qtci-macos-10.15-x86_64/30-nodejs.sh +++ b/coin/provisioning/qtci-macos-10.15-x86_64/30-nodejs.sh @@ -1,4 +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 set -ex BASEDIR=$(dirname "$0") diff --git a/coin/provisioning/qtci-macos-10.15-x86_64/35-install-breakpad.sh b/coin/provisioning/qtci-macos-10.15-x86_64/35-install-breakpad.sh index 74dd1579..8a9dde56 100755 --- a/coin/provisioning/qtci-macos-10.15-x86_64/35-install-breakpad.sh +++ b/coin/provisioning/qtci-macos-10.15-x86_64/35-install-breakpad.sh @@ -1,4 +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 set -ex diff --git a/coin/provisioning/qtci-macos-10.15-x86_64/35-install_protobuf.sh b/coin/provisioning/qtci-macos-10.15-x86_64/35-install_protobuf.sh new file mode 100755 index 00000000..ecb5f835 --- /dev/null +++ b/coin/provisioning/qtci-macos-10.15-x86_64/35-install_protobuf.sh @@ -0,0 +1,9 @@ +#!/usr/bin/env bash +# Copyright (C) 2020 The Qt Company Ltd. +# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only + +set -ex + +# shellcheck source=../common/unix/install_protobuf.sh +source "${BASH_SOURCE%/*}/../common/unix/install_protobuf.sh" + diff --git a/coin/provisioning/qtci-macos-10.15-x86_64/35-install_protobuff.sh b/coin/provisioning/qtci-macos-10.15-x86_64/35-install_protobuff.sh deleted file mode 100755 index 08c955e9..00000000 --- a/coin/provisioning/qtci-macos-10.15-x86_64/35-install_protobuff.sh +++ /dev/null @@ -1,46 +0,0 @@ -#!/usr/bin/env bash - -############################################################################# -## -## Copyright (C) 2020 The Qt Company Ltd. -## Contact: https://www.qt.io/licensing/ -## -## This file is part of the provisioning scripts of the Qt Toolkit. -## -## $QT_BEGIN_LICENSE:LGPL$ -## Commercial License Usage -## Licensees holding valid commercial Qt licenses may use this file in -## accordance with the commercial license agreement provided with the -## Software or, alternatively, in accordance with the terms contained in -## a written agreement between you and The Qt Company. For licensing terms -## and conditions see https://www.qt.io/terms-conditions. For further -## information use the contact form at https://www.qt.io/contact-us. -## -## GNU Lesser General Public License Usage -## Alternatively, this file may be used under the terms of the GNU Lesser -## General Public License version 3 as published by the Free Software -## Foundation and appearing in the file LICENSE.LGPL3 included in the -## packaging of this file. Please review the following information to -## ensure the GNU Lesser General Public License version 3 requirements -## will be met: https://www.gnu.org/licenses/lgpl-3.0.html. -## -## GNU General Public License Usage -## Alternatively, this file may be used under the terms of the GNU -## General Public License version 2.0 or (at your option) the GNU General -## Public license version 3 or any later version approved by the KDE Free -## Qt Foundation. The licenses are as published by the Free Software -## Foundation and appearing in the file LICENSE.GPL2 and LICENSE.GPL3 -## included in the packaging of this file. Please review the following -## information to ensure the GNU General Public License requirements will -## be met: https://www.gnu.org/licenses/gpl-2.0.html and -## https://www.gnu.org/licenses/gpl-3.0.html. -## -## $QT_END_LICENSE$ -## -############################################################################# - -set -ex - -# shellcheck source=../common/unix/install_protobuff.sh -source "${BASH_SOURCE%/*}/../common/unix/install_protobuff.sh" - diff --git a/coin/provisioning/qtci-macos-10.15-x86_64/35-openssl.sh b/coin/provisioning/qtci-macos-10.15-x86_64/35-openssl.sh index 57a86c47..c67c0aaf 100755 --- a/coin/provisioning/qtci-macos-10.15-x86_64/35-openssl.sh +++ b/coin/provisioning/qtci-macos-10.15-x86_64/35-openssl.sh @@ -1,7 +1,9 @@ #!/usr/bin/env bash +#Copyright (C) 2023 The Qt Company Ltd +#SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only set -ex -# shellcheck source=../common/macos/install_openssl.sh +# shellcheck source=../common/unix/install-openssl.sh source "${BASH_SOURCE%/*}/../common/unix/install-openssl.sh" "macos" diff --git a/coin/provisioning/qtci-macos-10.15-x86_64/36-emsdk.sh b/coin/provisioning/qtci-macos-10.15-x86_64/36-emsdk.sh index 7396d336..c8aec444 100755 --- a/coin/provisioning/qtci-macos-10.15-x86_64/36-emsdk.sh +++ b/coin/provisioning/qtci-macos-10.15-x86_64/36-emsdk.sh @@ -1,4 +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 set -ex diff --git a/coin/provisioning/qtci-macos-10.15-x86_64/80-screenresolution.sh b/coin/provisioning/qtci-macos-10.15-x86_64/80-screenresolution.sh index 920c579c..ed905a33 100755 --- a/coin/provisioning/qtci-macos-10.15-x86_64/80-screenresolution.sh +++ b/coin/provisioning/qtci-macos-10.15-x86_64/80-screenresolution.sh @@ -1,4 +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 "$(dirname "$0")"/../common/macos/screenresolution.sh diff --git a/coin/provisioning/qtci-macos-10.15-x86_64/81-bluetooth.sh b/coin/provisioning/qtci-macos-10.15-x86_64/81-bluetooth.sh index e08aca4e..c58b9a34 100755 --- a/coin/provisioning/qtci-macos-10.15-x86_64/81-bluetooth.sh +++ b/coin/provisioning/qtci-macos-10.15-x86_64/81-bluetooth.sh @@ -1,4 +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 set -ex diff --git a/coin/provisioning/qtci-macos-10.15-x86_64/90-docker.sh b/coin/provisioning/qtci-macos-10.15-x86_64/90-docker.sh new file mode 100755 index 00000000..1ab281cb --- /dev/null +++ b/coin/provisioning/qtci-macos-10.15-x86_64/90-docker.sh @@ -0,0 +1,9 @@ +#!/usr/bin/env bash +#Copyright (C) 2023 The Qt Company Ltd +#SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only + +set -ex + +# shellcheck source=../common/macos/docker.sh +source "${BASH_SOURCE%/*}/../common/macos/docker.sh" "amd64" + diff --git a/coin/provisioning/qtci-macos-10.15-x86_64/90-install-ffmpeg.sh b/coin/provisioning/qtci-macos-10.15-x86_64/90-install-ffmpeg.sh new file mode 100755 index 00000000..4a41cb74 --- /dev/null +++ b/coin/provisioning/qtci-macos-10.15-x86_64/90-install-ffmpeg.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 + +source "${BASH_SOURCE%/*}/../common/unix/install-ffmpeg.sh" "macos" diff --git a/coin/provisioning/qtci-macos-10.15-x86_64/90-squish.sh b/coin/provisioning/qtci-macos-10.15-x86_64/90-squish.sh index 17a0c38e..c2658d0e 100755 --- a/coin/provisioning/qtci-macos-10.15-x86_64/90-squish.sh +++ b/coin/provisioning/qtci-macos-10.15-x86_64/90-squish.sh @@ -1,4 +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 set -ex BASEDIR=$(dirname "$0") diff --git a/coin/provisioning/qtci-macos-10.15-x86_64/97-set-locale.sh b/coin/provisioning/qtci-macos-10.15-x86_64/97-set-locale.sh index e34b7381..bc966cbf 100755 --- a/coin/provisioning/qtci-macos-10.15-x86_64/97-set-locale.sh +++ b/coin/provisioning/qtci-macos-10.15-x86_64/97-set-locale.sh @@ -1,6 +1,8 @@ #!/usr/bin/env bash +#Copyright (C) 2023 The Qt Company Ltd +#SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only set -ex BASEDIR=$(dirname "$0") -$BASEDIR/../common/macos/set-locale.sh +"$BASEDIR/../common/macos/set-locale.sh" diff --git a/coin/provisioning/qtci-macos-10.15-x86_64/98-mimersql.sh b/coin/provisioning/qtci-macos-10.15-x86_64/98-mimersql.sh new file mode 100755 index 00000000..75be3f12 --- /dev/null +++ b/coin/provisioning/qtci-macos-10.15-x86_64/98-mimersql.sh @@ -0,0 +1,5 @@ +#!/usr/bin/env bash +set -ex + +BASEDIR=$(dirname "$0") +"$BASEDIR/../common/macos/mimersql.sh" "macos" diff --git a/coin/provisioning/qtci-macos-10.15-x86_64/99-mac-version.sh b/coin/provisioning/qtci-macos-10.15-x86_64/99-mac-version.sh index 99d94150..b9b5aeb0 100755 --- a/coin/provisioning/qtci-macos-10.15-x86_64/99-mac-version.sh +++ b/coin/provisioning/qtci-macos-10.15-x86_64/99-mac-version.sh @@ -1,6 +1,8 @@ #!/usr/bin/env bash +#Copyright (C) 2023 The Qt Company Ltd +#SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only set -ex BASEDIR=$(dirname "$0") -$BASEDIR/../common/macos/macos-version.sh +"$BASEDIR/../common/macos/macos-version.sh" diff --git a/coin/provisioning/qtci-macos-11-arm/01-disable-app-reopen.sh b/coin/provisioning/qtci-macos-11-arm/01-disable-app-reopen.sh new file mode 100755 index 00000000..382fb40c --- /dev/null +++ b/coin/provisioning/qtci-macos-11-arm/01-disable-app-reopen.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 +set -ex +BASEDIR=$(dirname "$0") +"$BASEDIR"/../common/macos/disable-app-reopen.sh diff --git a/coin/provisioning/qtci-macos-10.14-x86_64/01-disable-net-lso.sh b/coin/provisioning/qtci-macos-11-arm/01-disable-net-lso.sh index 659ebe96..659ebe96 100755 --- a/coin/provisioning/qtci-macos-10.14-x86_64/01-disable-net-lso.sh +++ b/coin/provisioning/qtci-macos-11-arm/01-disable-net-lso.sh diff --git a/coin/provisioning/qtci-macos-10.14-x86_64/01-disable-notifications_and_warnings.sh b/coin/provisioning/qtci-macos-11-arm/01-disable-notifications_and_warnings.sh index 27efbb62..27efbb62 100755 --- a/coin/provisioning/qtci-macos-10.14-x86_64/01-disable-notifications_and_warnings.sh +++ b/coin/provisioning/qtci-macos-11-arm/01-disable-notifications_and_warnings.sh diff --git a/coin/provisioning/qtci-macos-11-arm/01-disable-updates.sh b/coin/provisioning/qtci-macos-11-arm/01-disable-updates.sh new file mode 100755 index 00000000..a2b2a0f0 --- /dev/null +++ b/coin/provisioning/qtci-macos-11-arm/01-disable-updates.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 + +BASEDIR=$(dirname "$0") +"$BASEDIR/../common/macos/system_updates.sh" diff --git a/coin/provisioning/qtci-macos-10.14-x86_64/01-increase_limits.sh b/coin/provisioning/qtci-macos-11-arm/01-increase_limits.sh index 08669e52..08669e52 100755 --- a/coin/provisioning/qtci-macos-10.14-x86_64/01-increase_limits.sh +++ b/coin/provisioning/qtci-macos-11-arm/01-increase_limits.sh diff --git a/coin/provisioning/qtci-macos-11-arm/01-mount-vcpkg-cache-drive.sh b/coin/provisioning/qtci-macos-11-arm/01-mount-vcpkg-cache-drive.sh new file mode 100755 index 00000000..2739f40f --- /dev/null +++ b/coin/provisioning/qtci-macos-11-arm/01-mount-vcpkg-cache-drive.sh @@ -0,0 +1,8 @@ +#!/usr/bin/env bash +# Copyright (C) 2023 The Qt Company Ltd. +# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only + +set -ex + +# shellcheck source=../common/macos/mount-vcpkg-cache-drive.sh +source "${BASH_SOURCE%/*}/../common/macos/mount-vcpkg-cache-drive.sh" diff --git a/coin/provisioning/qtci-macos-11-arm/01-sha1sum-compatibility.sh b/coin/provisioning/qtci-macos-11-arm/01-sha1sum-compatibility.sh new file mode 100755 index 00000000..e52367c8 --- /dev/null +++ b/coin/provisioning/qtci-macos-11-arm/01-sha1sum-compatibility.sh @@ -0,0 +1,10 @@ +#!/usr/bin/env bash +# Copyright (C) 2020 The Qt Company Ltd. +# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only + +#!/usr/bin/env bash + +set -ex + +# shellcheck source=../common/macos/sha1sum-compatibility.sh +source "${BASH_SOURCE%/*}/../common/macos/sha1sum-compatibility.sh" diff --git a/coin/provisioning/qtci-macos-11-arm/03-bashprofile.sh b/coin/provisioning/qtci-macos-11-arm/03-bashprofile.sh new file mode 100755 index 00000000..4eed8433 --- /dev/null +++ b/coin/provisioning/qtci-macos-11-arm/03-bashprofile.sh @@ -0,0 +1,9 @@ +#!/usr/bin/env 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 + +set -ex + +# Read .bashrc if exist +printf -- "# Get the aliases and functions\nif [ -f ~/.bashrc ]; then\n . ~/.bashrc\nfi\n" >> ~/.bash_profile + diff --git a/coin/provisioning/qtci-macos-11-arm/05-systemsetup.sh b/coin/provisioning/qtci-macos-11-arm/05-systemsetup.sh new file mode 100755 index 00000000..1d8b7f09 --- /dev/null +++ b/coin/provisioning/qtci-macos-11-arm/05-systemsetup.sh @@ -0,0 +1,80 @@ +#!/usr/bin/env bash +# Copyright (C) 2021 The Qt Company Ltd. +# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only + +set -ex + +# This script modified system settings for automated use + +targetFile="$HOME/vncpw.txt" + +# Fetch password +curl --retry 5 --retry-delay 10 --retry-max-time 60 "http://ci-files01-hki.ci.qt.io/input/semisecure/vncpw.txt" -o "$targetFile" +shasum "$targetFile" |grep "a795fccaa8f277e62ec08e6056c544b8b63924a0" + +{ VNCPassword=$(cat "$targetFile"); } 2> /dev/null +NTS_IP=10.212.2.216 + +echo "Disable Screensaver" +# For current session +defaults -currentHost write com.apple.screensaver idleTime 0 + +echo "Disable sleep" +sudo pmset sleep 0 displaysleep 0 + +# For session after a reboot +mkdir -p "$HOME/Library/LaunchAgents" +sudo tee -a "$HOME/Library/LaunchAgents/no-screensaver.plist" <<EOT +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd"> + +<plist version="1.0"> + <dict> + <key>Label</key> + <string>org.qt.io.screensaver_disable</string> + <key>ProgramArguments</key> + <array> + <string>defaults</string> + <string>-currentHost</string> + <string>write</string> + <string>com.apple.screensaver</string> + <string>idleTime</string> + <string>0</string> + </array> + <key>RunAtLoad</key> + <true/> + <key>KeepAlive</key> + <false/> + </dict> +</plist> +EOT + +defaults write com.apple.screensaver askForPassword -int 0 + +echo "Set keyboard type rates and delays" +# normal minimum is 15 (225 ms) +defaults write -g InitialKeyRepeat -int 15 +# normal minimum is 2 (30 ms) +defaults write -g KeyRepeat -int 2 + +set +x +echo "Enable remote desktop sharing" +sudo /System/Library/CoreServices/RemoteManagement/ARDAgent.app/Contents/Resources/kickstart -activate -configure -access -on -clientopts -setvnclegacy -vnclegacy yes -clientopts -setvncpw -vncpw "$VNCPassword" -restart -agent -privs -all +set -x + +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 + +sudo systemsetup settimezone GMT +sudo systemsetup setusingnetworktime on +sudo rm -f "$targetFile" + +# Enable automount for nfs shares +sudo sed -i'.orig' -e 's:^#/net:/net:' -e 's:hidefromfinder,nosuid:hidefromfinder,nosuid,locallocks,nocallback:' /etc/auto_master || sudo curl -o /etc/auto_master http://ci-files01-hki.ci.qt.io/input/mac/arm/auto_master +sudo automount -cv + +# Disable multicast advertisements +sudo defaults write /Library/Preferences/com.apple.mDNSResponder.plist NoMulticastAdvertisements -bool true + +# Enable Use keyboard navigation to move focus between controls +defaults write -g AppleKeyboardUIMode -int 2 diff --git a/coin/provisioning/qtci-macos-11-arm/06-crashreporter.sh b/coin/provisioning/qtci-macos-11-arm/06-crashreporter.sh new file mode 100755 index 00000000..cb7c0774 --- /dev/null +++ b/coin/provisioning/qtci-macos-11-arm/06-crashreporter.sh @@ -0,0 +1,7 @@ +#!/usr/bin/env 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 + +set -ex + +defaults write com.apple.CrashReporter DialogType server diff --git a/coin/provisioning/qtci-macos-11-arm/06-disable_spotlight.sh b/coin/provisioning/qtci-macos-11-arm/06-disable_spotlight.sh new file mode 100755 index 00000000..ab85a262 --- /dev/null +++ b/coin/provisioning/qtci-macos-11-arm/06-disable_spotlight.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 + +# shellcheck source=../common/macos/disable_spotlight.sh +source "${BASH_SOURCE%/*}/../common/macos/disable_spotlight.sh" diff --git a/coin/provisioning/qtci-macos-11-arm/06-disable_update_downloads.sh b/coin/provisioning/qtci-macos-11-arm/06-disable_update_downloads.sh new file mode 100755 index 00000000..18cb98ea --- /dev/null +++ b/coin/provisioning/qtci-macos-11-arm/06-disable_update_downloads.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 +set -ex +BASEDIR=$(dirname "$0") +"$BASEDIR"/../common/macos/disable_update_downloads.sh diff --git a/coin/provisioning/qtci-macos-11-arm/07-SSL_keychain.sh b/coin/provisioning/qtci-macos-11-arm/07-SSL_keychain.sh new file mode 100755 index 00000000..e14dcee9 --- /dev/null +++ b/coin/provisioning/qtci-macos-11-arm/07-SSL_keychain.sh @@ -0,0 +1,11 @@ +#!/usr/bin/env bash +#Copyright (C) 2023 The Qt Company Ltd +#SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only + +set -ex + +# shellcheck source=../common/unix/SetEnvVar.sh +source "${BASH_SOURCE%/*}/../common/unix/SetEnvVar.sh" + +# Enables the usage of temporary keychains for SSL autotests +SetEnvVar "QT_SSL_USE_TEMPORARY_KEYCHAIN" "1" diff --git a/coin/provisioning/qtci-macos-11-arm/15-xz.sh b/coin/provisioning/qtci-macos-11-arm/15-xz.sh new file mode 100755 index 00000000..b7e00a20 --- /dev/null +++ b/coin/provisioning/qtci-macos-11-arm/15-xz.sh @@ -0,0 +1,32 @@ +#!/usr/bin/env bash +# Copyright (C) 2021 The Qt Company Ltd. +# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only + +# This script installs XZ-Utils + +# XZ-Utils are needed for uncompressing xz-compressed files + +# pkg was self builded. +# wget https://downloads.sourceforge.net/project/lzmautils/xz-5.2.5.tar.gz +# tar -xzf xz-5.2.5.tar.gz -C /tmp +# cd /tmp/xz-5.2.5 +# ./configure +# make +# ./configure prefix=/tmp/destination_root +# make install +# cd /tmp +# pkgbuild --root destination_root --identifier io.qt.xz.pkg xz-arm64.pkg + +set -ex + +# shellcheck source=../common/macos/InstallPKGFromURL.sh +source "${BASH_SOURCE%/*}/../common/macos/InstallPKGFromURL.sh" +PrimaryUrl="http://ci-files01-hki.ci.qt.io/input/mac/macos_11.0_big_sur_arm/xz-arm64.pkg" +# SourceUrl="https://tukaani.org/xz/xz-5.2.5.tar.gz" + +SHA1="1afc327965d4af33399ae28f22c4b8e5a9e98dc2" +DestDir="/" + +InstallPKGFromURL "$PrimaryUrl" "$PrimaryUrl" "$SHA1" "$DestDir" + +echo "XZ = 5.2.5" >> ~/versions.txt diff --git a/coin/provisioning/qtci-macos-11-arm/20-java.sh b/coin/provisioning/qtci-macos-11-arm/20-java.sh new file mode 100755 index 00000000..00c867f4 --- /dev/null +++ b/coin/provisioning/qtci-macos-11-arm/20-java.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 + +BASEDIR=$(dirname "$0") +"$BASEDIR/../common/macos/java_arm.sh" diff --git a/coin/provisioning/qtci-macos-11-arm/20-xcode.sh b/coin/provisioning/qtci-macos-11-arm/20-xcode.sh new file mode 100755 index 00000000..0e844bf0 --- /dev/null +++ b/coin/provisioning/qtci-macos-11-arm/20-xcode.sh @@ -0,0 +1,22 @@ +#!/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 + +# This script installs Xcode +# Prerequisites: Have Xcode prefetched to local cache as xz compressed. +# This can be achieved by fetching Xcode_9.xip from Apple Store. +# Uncompress it with 'xar -xf Xcode_9.xip' +# Then get https://gist.githubusercontent.com/pudquick/ff412bcb29c9c1fa4b8d/raw/24b25538ea8df8d0634a2a6189aa581ccc6a5b4b/parse_pbzx2.py +# with which you can run 'python parse_pbzx2.py Content'. +# This will give you five files called "Content.part<00..05>.cpio.xz". +# Extract those that have the extension .xz with xz. +# "cat" together all the content files "cat file1, file2, file3, file4, file5 >file_new" +# Compress the new file with xz back to something like Xcode_9.xz +# Upload the file to temporary storage for this script to use. + +set -ex + +# shellcheck source=../common/macos/install_xcode.sh +source "${BASH_SOURCE%/*}/../common/macos/install_xcode.sh" + +InstallXCode /net/ci-files01-hki.ci.qt.io/hdd/www/input/mac/Xcode_13.2.1.xip 13.2.1 diff --git a/coin/provisioning/qtci-macos-11-arm/21-install-commandlinetools.sh b/coin/provisioning/qtci-macos-11-arm/21-install-commandlinetools.sh new file mode 100755 index 00000000..6aea79fb --- /dev/null +++ b/coin/provisioning/qtci-macos-11-arm/21-install-commandlinetools.sh @@ -0,0 +1,14 @@ +#!/usr/bin/env bash +# Copyright (C) 2021 The Qt Company Ltd. +# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only + +set -ex + +# shellcheck source=../common/macos/install-commandlinetools.sh +source "${BASH_SOURCE%/*}/../common/macos/install-commandlinetools.sh" +version="13.2" +packageName="Command_Line_Tools_for_Xcode_$version.dmg" +url="http://ci-files01-hki.ci.qt.io/input/mac/$packageName" +sha1="b3a0b597435cfbc5c09ad5772cf7313c87032252" + +InstallCommandLineTools $url $url $sha1 $packageName $version diff --git a/coin/provisioning/qtci-macos-11-arm/23-homebrew.sh b/coin/provisioning/qtci-macos-11-arm/23-homebrew.sh new file mode 100755 index 00000000..c6377114 --- /dev/null +++ b/coin/provisioning/qtci-macos-11-arm/23-homebrew.sh @@ -0,0 +1,12 @@ +#!/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 + +# Will install homebrew package manager for macOS. +# WARNING: Requires commandlinetools + + +set -e + +BASEDIR=$(dirname "$0") +"$BASEDIR/../common/macos/homebrew_for_arm_mac.sh" diff --git a/coin/provisioning/qtci-macos-11-arm/24-pyenv.sh b/coin/provisioning/qtci-macos-11-arm/24-pyenv.sh new file mode 100755 index 00000000..3a7a8f77 --- /dev/null +++ b/coin/provisioning/qtci-macos-11-arm/24-pyenv.sh @@ -0,0 +1,49 @@ +#!/usr/bin/env bash + +############################################################################# +## +## Copyright (C) 2021 The Qt Company Ltd. +## Copyright (C) 2017 Pelagicore AG +## Contact: https://www.qt.io/licensing/ +## +## This file is part of the provisioning scripts of the Qt Toolkit. +## +## $QT_BEGIN_LICENSE:LGPL$ +## Commercial License Usage +## Licensees holding valid commercial Qt licenses may use this file in +## accordance with the commercial license agreement provided with the +## Software or, alternatively, in accordance with the terms contained in +## a written agreement between you and The Qt Company. For licensing terms +## and conditions see https://www.qt.io/terms-conditions. For further +## information use the contact form at https://www.qt.io/contact-us. +## +## GNU Lesser General Public License Usage +## Alternatively, this file may be used under the terms of the GNU Lesser +## General Public License version 3 as published by the Free Software +## Foundation and appearing in the file LICENSE.LGPL3 included in the +## packaging of this file. Please review the following information to +## ensure the GNU Lesser General Public License version 3 requirements +## will be met: https://www.gnu.org/licenses/lgpl-3.0.html. +## +## GNU General Public License Usage +## Alternatively, this file may be used under the terms of the GNU +## General Public License version 2.0 or (at your option) the GNU General +## Public license version 3 or any later version approved by the KDE Free +## Qt Foundation. The licenses are as published by the Free Software +## Foundation and appearing in the file LICENSE.GPL2 and LICENSE.GPL3 +## included in the packaging of this file. Please review the following +## information to ensure the GNU General Public License requirements will +## be met: https://www.gnu.org/licenses/gpl-2.0.html and +## https://www.gnu.org/licenses/gpl-3.0.html. +## +## $QT_END_LICENSE$ +## +############################################################################# + +# This script installs python3 + +# shellcheck source=../common/unix/SetEnvVar.sh +source "${BASH_SOURCE%/*}/../common/unix/SetEnvVar.sh" + +# Try with default +/opt/homebrew/bin/brew install pyenv diff --git a/coin/provisioning/qtci-macos-10.14-x86_64/24-sccache.sh b/coin/provisioning/qtci-macos-11-arm/24-sccache.sh index 358b23fb..358b23fb 100755 --- a/coin/provisioning/qtci-macos-10.14-x86_64/24-sccache.sh +++ b/coin/provisioning/qtci-macos-11-arm/24-sccache.sh diff --git a/coin/provisioning/qtci-macos-11-arm/25-cmake.sh b/coin/provisioning/qtci-macos-11-arm/25-cmake.sh new file mode 100755 index 00000000..33095880 --- /dev/null +++ b/coin/provisioning/qtci-macos-11-arm/25-cmake.sh @@ -0,0 +1,8 @@ +#!/usr/bin/env bash +#Copyright (C) 2023 The Qt Company Ltd +#SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only + +set -ex + +BASEDIR=$(dirname "$0") +"$BASEDIR/../common/macos/cmake.sh" diff --git a/coin/provisioning/qtci-macos-11-arm/25-mysql.sh b/coin/provisioning/qtci-macos-11-arm/25-mysql.sh new file mode 100755 index 00000000..0be1e6e8 --- /dev/null +++ b/coin/provisioning/qtci-macos-11-arm/25-mysql.sh @@ -0,0 +1,27 @@ +#!/usr/bin/env bash +# Copyright (C) 2020 The Qt Company Ltd. +# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only + +# This script installs MySQL + +# MySQL is needed for Qt to be able to support MySQL + +set -ex + +# shellcheck source=../common/macos/InstallAppFromCompressedFileFromURL.sh +source "${BASH_SOURCE%/*}/../common/macos/InstallAppFromCompressedFileFromURL.sh" +# shellcheck source=../common/unix/SetEnvVar.sh +source "${BASH_SOURCE%/*}/../common/unix/SetEnvVar.sh" + +PrimaryUrl="http://ci-files01-hki.ci.qt.io/input/mac/macos_10.12_sierra/mysql-5.7.15-osx10.11-x86_64.tar.gz" +AltUrl="https://dev.mysql.com/get/Downloads/MySQL-5.7/mysql-5.7.15-osx10.11-x86_64.tar.gz" +SHA1="07949bd42f350b0504a1536b8830b809b4a34fca" +appPrefix="" +targetDir="/opt/mysql57/" + +sudo mkdir -p "/opt" + +InstallAppFromCompressedFileFromURL "$PrimaryUrl" "$AltUrl" "$SHA1" "$appPrefix" "$targetDir" + +SetEnvVar "MYSQLBINPATH" "/opt/mysql57/bin" +echo "MySQL = 5.7.15" >> ~/versions.txt diff --git a/coin/provisioning/qtci-macos-11-arm/25-pip.sh b/coin/provisioning/qtci-macos-11-arm/25-pip.sh new file mode 100755 index 00000000..3fc865d0 --- /dev/null +++ b/coin/provisioning/qtci-macos-11-arm/25-pip.sh @@ -0,0 +1,8 @@ +#!/usr/bin/env bash +#Copyright (C) 2023 The Qt Company Ltd +#SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only + +set -ex + +BASEDIR=$(dirname "$0") +"$BASEDIR/../common/macos/pip.sh" diff --git a/coin/provisioning/qtci-macos-11-arm/25-postgresql.sh b/coin/provisioning/qtci-macos-11-arm/25-postgresql.sh new file mode 100755 index 00000000..06cae6ef --- /dev/null +++ b/coin/provisioning/qtci-macos-11-arm/25-postgresql.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 + +BASEDIR=$(dirname "$0") +"$BASEDIR/../common/macos/postgresql.sh" diff --git a/coin/provisioning/qtci-macos-11-arm/25-python2.sh b/coin/provisioning/qtci-macos-11-arm/25-python2.sh new file mode 100755 index 00000000..51331de4 --- /dev/null +++ b/coin/provisioning/qtci-macos-11-arm/25-python2.sh @@ -0,0 +1,22 @@ +#!/usr/bin/env bash +# Copyright (C) 2021 The Qt Company Ltd. +# Copyright (C) 2017 Pelagicore AG +# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only +set -ex + +# This script installs python2 + +# shellcheck source=../common/macos/InstallPKGFromURL.sh +source "${BASH_SOURCE%/*}/../common/macos/InstallPKGFromURL.sh" +# shellcheck source=../common/unix/SetEnvVar.sh +source "${BASH_SOURCE%/*}/../common/unix/SetEnvVar.sh" +# shellcheck source=../common/macos/pip.sh +source "${BASH_SOURCE%/*}/../common/macos/pip.sh" + +InstallPip python2.7 + +/usr/local/bin/pip install virtualenv + +SetEnvVar "PATH" "/Library/Frameworks/Python.framework/Versions/2.7/bin/:\$PATH" + +echo "python2 = 2.7.16" >> ~/versions.txt diff --git a/coin/provisioning/qtci-macos-11-arm/25-python3.sh b/coin/provisioning/qtci-macos-11-arm/25-python3.sh new file mode 100755 index 00000000..5a0df739 --- /dev/null +++ b/coin/provisioning/qtci-macos-11-arm/25-python3.sh @@ -0,0 +1,20 @@ +#!/usr/bin/env bash +# Copyright (C) 2021 The Qt Company Ltd. +# Copyright (C) 2017 Pelagicore AG +# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only + +# This script installs python3 + +# shellcheck source=../common/unix/SetEnvVar.sh +source "${BASH_SOURCE%/*}/../common/unix/SetEnvVar.sh" + +pyenv install 3.9.7 + +/Users/qt/.pyenv/versions/3.9.7/bin/pip3 install --user install virtualenv wheel html5lib + +SetEnvVar "PYTHON3_PATH" "/Users/qt/.pyenv/versions/3.9.7/bin/" +SetEnvVar "PIP3_PATH" "/Users/qt/.pyenv/versions/3.9.7/bin/" +# Use 3.9 as a default python +SetEnvVar "PATH" "\$PYTHON3_PATH:\$PATH" + +echo "python3 = 3.9.7" >> ~/versions.txt diff --git a/coin/provisioning/qtci-macos-11-arm/26-brew_packages.sh b/coin/provisioning/qtci-macos-11-arm/26-brew_packages.sh new file mode 100644 index 00000000..aa5b881b --- /dev/null +++ b/coin/provisioning/qtci-macos-11-arm/26-brew_packages.sh @@ -0,0 +1,9 @@ +#!/usr/bin/env 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 + +set -ex + +# Util-linux is needed for libuuid which is needed during the license service build +# Path to util-linux folder is defined in 'src/libs/qlicenseservice/CMakeLists.txt' +brew install util-linux diff --git a/coin/provisioning/qtci-macos-11-arm/26-freetype.sh b/coin/provisioning/qtci-macos-11-arm/26-freetype.sh new file mode 100755 index 00000000..fa0790f8 --- /dev/null +++ b/coin/provisioning/qtci-macos-11-arm/26-freetype.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 + +brew install freetype diff --git a/coin/provisioning/qtci-macos-11-arm/26-jq.sh b/coin/provisioning/qtci-macos-11-arm/26-jq.sh new file mode 100755 index 00000000..4dffcb96 --- /dev/null +++ b/coin/provisioning/qtci-macos-11-arm/26-jq.sh @@ -0,0 +1,5 @@ +#!/usr/bin/env bash + +set -ex + +brew install jq diff --git a/coin/provisioning/qtci-macos-11-arm/26-ninja.sh b/coin/provisioning/qtci-macos-11-arm/26-ninja.sh new file mode 100755 index 00000000..4443eeb4 --- /dev/null +++ b/coin/provisioning/qtci-macos-11-arm/26-ninja.sh @@ -0,0 +1,10 @@ +#!/usr/bin/env bash +#Copyright (C) 2023 The Qt Company Ltd +#SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only + +set -ex + +# shellcheck source=../common/macos/ninja.sh +source "${BASH_SOURCE%/*}/../common/macos/ninja.sh" + + diff --git a/coin/provisioning/qtci-macos-11-arm/26-odbc.sh b/coin/provisioning/qtci-macos-11-arm/26-odbc.sh new file mode 100755 index 00000000..2b6b013a --- /dev/null +++ b/coin/provisioning/qtci-macos-11-arm/26-odbc.sh @@ -0,0 +1,9 @@ +#!/usr/bin/env bash +#Copyright (C) 2023 The Qt Company Ltd +#SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only +# Install libiodbc + +set -ex + +BASEDIR=$(dirname "$0") +"$BASEDIR/../common/macos/libiodbc.sh" --with-universal diff --git a/coin/provisioning/qtci-macos-11-arm/26-p7zip.sh b/coin/provisioning/qtci-macos-11-arm/26-p7zip.sh new file mode 100755 index 00000000..8cdcd0c3 --- /dev/null +++ b/coin/provisioning/qtci-macos-11-arm/26-p7zip.sh @@ -0,0 +1,9 @@ +#!/usr/bin/env bash +#Copyright (C) 2023 The Qt Company Ltd +#SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only +# Install 7z to be used from command line + +set -ex + +brew update +brew install p7zip diff --git a/coin/provisioning/qtci-macos-11-arm/26-pcre2.sh b/coin/provisioning/qtci-macos-11-arm/26-pcre2.sh new file mode 100755 index 00000000..c10d6206 --- /dev/null +++ b/coin/provisioning/qtci-macos-11-arm/26-pcre2.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 + +brew install pcre2 diff --git a/coin/provisioning/qtci-macos-11-arm/27-libclang.sh b/coin/provisioning/qtci-macos-11-arm/27-libclang.sh new file mode 100755 index 00000000..cc025e6e --- /dev/null +++ b/coin/provisioning/qtci-macos-11-arm/27-libclang.sh @@ -0,0 +1,9 @@ +#!/usr/bin/env bash +#Copyright (C) 2023 The Qt Company Ltd +#SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only + +set -ex + +BASEDIR=$(dirname "$0") +# There is only one mac package and common script uses it as a default +"$BASEDIR/../common/unix/libclang.sh" diff --git a/coin/provisioning/qtci-macos-11-arm/28-libclang-v100-dyn.sh b/coin/provisioning/qtci-macos-11-arm/28-libclang-v100-dyn.sh new file mode 100755 index 00000000..d95e7e00 --- /dev/null +++ b/coin/provisioning/qtci-macos-11-arm/28-libclang-v100-dyn.sh @@ -0,0 +1,8 @@ +#!/usr/bin/env bash +#Copyright (C) 2023 The Qt Company Ltd +#SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only + +set -ex + +BASEDIR=$(dirname "$0") +"$BASEDIR/../common/unix/libclang-v100-dyn.sh" diff --git a/coin/provisioning/qtci-macos-11-arm/29-install-pkgconfig.sh b/coin/provisioning/qtci-macos-11-arm/29-install-pkgconfig.sh new file mode 100755 index 00000000..33e11580 --- /dev/null +++ b/coin/provisioning/qtci-macos-11-arm/29-install-pkgconfig.sh @@ -0,0 +1,6 @@ +#!/usr/bin/env bash + +set -ex + +BASEDIR=$(dirname "$0") +"$BASEDIR/../common/macos/pkgconfig.sh" diff --git a/coin/provisioning/qtci-macos-11-arm/30-android.sh b/coin/provisioning/qtci-macos-11-arm/30-android.sh new file mode 100755 index 00000000..3ae2cbf6 --- /dev/null +++ b/coin/provisioning/qtci-macos-11-arm/30-android.sh @@ -0,0 +1,64 @@ +#!/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 + +# This script install Android sdk and ndk. + +# It also runs update for SDK API, latest SDK tools, latest platform-tools and build-tools version + +set -ex + +# shellcheck source=../common/unix/SetEnvVar.sh +source "${BASH_SOURCE%/*}/../common/unix/SetEnvVar.sh" + +targetFolder="/opt/android" +sdkTargetFolder="$targetFolder/sdk" + +basePath="/net/ci-files01-hki.ci.qt.io/hdd/www/input/android" + +toolsVersion="2.1" +# toolsFile dertermines tools version +toolsFile="commandlinetools-mac-6609375_latest.zip" + +ndkVersion="r26b" +ndkFile="android-ndk-$ndkVersion-darwin.zip" +sdkBuildToolsVersion="34.0.0" +# this is compile sdk version +sdkApiLevel="android-34" + +toolsSourceFile="$basePath/$toolsFile" +ndkSourceFile="$basePath/$ndkFile" + +echo "Unzipping Android NDK to '$targetFolder'" +sudo unzip -q "$ndkSourceFile" -d "$targetFolder" +echo "Unzipping Android Tools to '$sdkTargetFolder'" +sudo unzip -q "$toolsSourceFile" -d "$sdkTargetFolder" + +echo "Changing ownership of Android files." +sudo chown -R qt:wheel "$targetFolder" + +# Run the following command under `eval` or `sh -c` so that the shell properly splits it +sdkmanager_no_progress_bar_cmd="tr '\r' '\n' | grep -v '^\[[ =]*\]'" + +sudo mkdir "$sdkTargetFolder/cmdline-tools" +sudo mv "$sdkTargetFolder/tools" "$sdkTargetFolder/cmdline-tools" + +echo "Running SDK manager for platforms;$sdkApiLevel, platform-tools and build-tools;$sdkBuildToolsVersion." +(echo "y"; echo "y") | "$sdkTargetFolder/cmdline-tools/tools/bin/sdkmanager" "--sdk_root=$sdkTargetFolder" \ + "platforms;$sdkApiLevel" "platform-tools" "build-tools;$sdkBuildToolsVersion" \ + | eval "$sdkmanager_no_progress_bar_cmd" + +echo "Checking the contents of Android SDK..." +ls -l "$sdkTargetFolder" + +SetEnvVar "ANDROID_SDK_ROOT" "$sdkTargetFolder" +SetEnvVar "ANDROID_NDK_ROOT" "$targetFolder/android-ndk-$ndkVersion" +SetEnvVar "ANDROID_NDK_HOST" "darwin-x86_64" +SetEnvVar "ANDROID_API_VERSION" "$sdkApiLevel" + +cat << EOB >> ~/versions.txt +Android SDK tools = $toolsVersion +Android SDK Build Tools = $sdkBuildToolsVersion +Android SDK API level = $sdkApiLevel +Android NDK = $ndkVersion +EOB diff --git a/coin/provisioning/qtci-macos-11-arm/30-fbx.sh b/coin/provisioning/qtci-macos-11-arm/30-fbx.sh new file mode 100755 index 00000000..e991bc08 --- /dev/null +++ b/coin/provisioning/qtci-macos-11-arm/30-fbx.sh @@ -0,0 +1,9 @@ +#!/usr/bin/env bash +#Copyright (C) 2023 The Qt Company Ltd +#SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only + +set -ex + +BASEDIR=$(dirname "$0") +"$BASEDIR/../common/macos/fbx_macos.sh" + diff --git a/coin/provisioning/qtci-macos-11-arm/30-install-conan.sh b/coin/provisioning/qtci-macos-11-arm/30-install-conan.sh new file mode 100755 index 00000000..67a4f911 --- /dev/null +++ b/coin/provisioning/qtci-macos-11-arm/30-install-conan.sh @@ -0,0 +1,8 @@ +#!/usr/bin/env bash +#Copyright (C) 2023 The Qt Company Ltd +#SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only + +set -ex + +BASEDIR=$(dirname "$0") +"$BASEDIR/../common/unix/install-conan.sh" diff --git a/coin/provisioning/qtci-macos-11-arm/30-nodejs.sh b/coin/provisioning/qtci-macos-11-arm/30-nodejs.sh new file mode 100755 index 00000000..8f73b2d6 --- /dev/null +++ b/coin/provisioning/qtci-macos-11-arm/30-nodejs.sh @@ -0,0 +1,8 @@ +#!/usr/bin/env bash +#Copyright (C) 2023 The Qt Company Ltd +#SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only + +set -ex + +brew install nodejs + diff --git a/coin/provisioning/qtci-macos-11-arm/35-install-breakpad.sh b/coin/provisioning/qtci-macos-11-arm/35-install-breakpad.sh new file mode 100755 index 00000000..8a9dde56 --- /dev/null +++ b/coin/provisioning/qtci-macos-11-arm/35-install-breakpad.sh @@ -0,0 +1,8 @@ +#!/usr/bin/env bash +#Copyright (C) 2023 The Qt Company Ltd +#SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only + +set -ex + +# shellcheck source=../common/unix/install-breakpad.sh +source "${BASH_SOURCE%/*}/../common/unix/install-breakpad.sh" diff --git a/coin/provisioning/qtci-macos-11-arm/35-install_protobuf.sh b/coin/provisioning/qtci-macos-11-arm/35-install_protobuf.sh new file mode 100755 index 00000000..ecb5f835 --- /dev/null +++ b/coin/provisioning/qtci-macos-11-arm/35-install_protobuf.sh @@ -0,0 +1,9 @@ +#!/usr/bin/env bash +# Copyright (C) 2020 The Qt Company Ltd. +# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only + +set -ex + +# shellcheck source=../common/unix/install_protobuf.sh +source "${BASH_SOURCE%/*}/../common/unix/install_protobuf.sh" + diff --git a/coin/provisioning/qtci-macos-11-arm/35-openssl.sh b/coin/provisioning/qtci-macos-11-arm/35-openssl.sh new file mode 100755 index 00000000..c86788db --- /dev/null +++ b/coin/provisioning/qtci-macos-11-arm/35-openssl.sh @@ -0,0 +1,9 @@ +#!/usr/bin/env bash +#Copyright (C) 2023 The Qt Company Ltd +#SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only + +set -ex + +# shellcheck source=../common/unix/install-openssl.sh +source "${BASH_SOURCE%/*}/../common/unix/install-openssl.sh" "macos-universal" + diff --git a/coin/provisioning/qtci-macos-11-arm/36-emsdk.sh b/coin/provisioning/qtci-macos-11-arm/36-emsdk.sh new file mode 100755 index 00000000..c8aec444 --- /dev/null +++ b/coin/provisioning/qtci-macos-11-arm/36-emsdk.sh @@ -0,0 +1,8 @@ +#!/usr/bin/env bash +#Copyright (C) 2023 The Qt Company Ltd +#SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only + +set -ex + +# shellcheck source=../common/unix/emsdk.sh +source "${BASH_SOURCE%/*}/../common/unix/emsdk.sh" diff --git a/coin/provisioning/qtci-macos-11-arm/36-install_grpc.sh b/coin/provisioning/qtci-macos-11-arm/36-install_grpc.sh new file mode 100755 index 00000000..ecd6a51f --- /dev/null +++ b/coin/provisioning/qtci-macos-11-arm/36-install_grpc.sh @@ -0,0 +1,9 @@ +#!/usr/bin/env bash +# Copyright (C) 2022 The Qt Company Ltd. +# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only + +set -ex + +# shellcheck source=../common/unix/install_grpc.sh +source "${BASH_SOURCE%/*}/../common/unix/install_grpc.sh" + diff --git a/coin/provisioning/qtci-macos-11-arm/40-qnx700.sh b/coin/provisioning/qtci-macos-11-arm/40-qnx700.sh new file mode 100755 index 00000000..48286a67 --- /dev/null +++ b/coin/provisioning/qtci-macos-11-arm/40-qnx700.sh @@ -0,0 +1,25 @@ +#!/bin/bash +# Copyright (C) 2020 The Qt Company Ltd. +# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only + +# This script installs QNX 7. + +targetFolder="/opt/" +sourceFile="/net/ci-files01-hki.ci.qt.io/hdd/www/input/qnx/qnx700-20190325-2-macos.tar.xz" +folderName="qnx700" + +sudo mkdir -p "$targetFolder" + +echo "Extracting QNX 7" +sudo tar -C "$targetFolder" -Jxf $sourceFile + +sudo chown -R qt:wheel "$targetFolder"/"$folderName" + +# Verify that we have last file in zip +if [ ! -f $targetFolder/$folderName/qnxsdp-env.sh ]; then + exit 1 +fi + +# Set env variables +echo "export QNX_700=$targetFolder/$folderName" >> ~/.bashrc +echo "QNX SDP = 7.0.0" >> ~/versions.txt diff --git a/coin/provisioning/qtci-macos-11-arm/55-signtools.sh b/coin/provisioning/qtci-macos-11-arm/55-signtools.sh new file mode 100755 index 00000000..ff5a977a --- /dev/null +++ b/coin/provisioning/qtci-macos-11-arm/55-signtools.sh @@ -0,0 +1,107 @@ +#!/usr/bin/env sh +# 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 + +# Install tools for singing packages +# This script assume that OS is vanilla. Target machine dosen't have any signing certificates installed. + +set -ex + +cache="http://ci-files01-hki.ci.qt.io/input" +cacheSigningTools="$cache/mac/sign_tools" +targetFolder="/Users/qt" +keychains="$targetFolder/Library/Keychains" + +Install() { + + url=$1 + targetFile=$2 + expectedSha1=$3 + + echo "Fetching $targetFile from $url..." + curl --retry 5 --retry-delay 10 --retry-max-time 60 "$url" -o "$targetFile" + shasum "$targetFile" |grep "$expectedSha1" + +} + +# qt-license +sha1QtLicense="9d59241d16f68d914f1c7aa1dc23e05faa169e8d" +Install "$cache/semisecure/.qt-license" "$targetFolder/.qt-license" $sha1QtLicense + +# Login keychain +sha1LoginKeychainPassword="aae58d00d0a1b179a09f21cfc67f9d16fb95ff36" +Install "$cacheSigningTools/login_keychain_password.txt" "$targetFolder/login_keychain_password.txt" "$sha1LoginKeychainPassword" +{ loginKeychainPassword=$(cat "$targetFolder/login_keychain_password.txt"); } 2> /dev/null +loginKeychain=$keychains/login.keychain + +echo "Setting login.keychain as default keychain.." +security default-keychain -s $loginKeychain* +echo "Unlocking Login keychain with password.." +{ security unlock-keychain -p "$loginKeychainPassword" $loginKeychain*; } 2> /dev/null + +echo "remove the "Lock after X minutes of inactivity" from login.keychain" +security set-keychain-settings $loginKeychain + +# Apple Worldwide Developer Relations Certification Authority -> https://developer.apple.com/certificationauthority/AppleWWDRCA.cer +sha1AppleWWDRCA="ff6797793a3cd798dc5b2abef56f73edc9f83a64" +Install "$cacheSigningTools/AppleWWDRCA.cer" "$targetFolder/AppleWWDRCA.cer" $sha1AppleWWDRCA +sudo security add-certificates -k $loginKeychain* "$targetFolder/AppleWWDRCA.cer" + +# Developer ID Certification Authority -> https://www.apple.com/certificateauthority/DeveloperIDCA.cer +sha1DeveloperIDCA="3b166c3b7dc4b751c9fe2afab9135641e388e186" +Install "$cacheSigningTools/DeveloperIDCA.cer" "$targetFolder/DeveloperIDCA.cer" $sha1DeveloperIDCA +sudo security add-certificates -k $loginKeychain* "$targetFolder/DeveloperIDCA.cer" + +# Create script to unlock keychain 'security unlock-keychain -p 'password' Developer_ID_TheQtCompany.keychain' +sha1UnLockKeychain="4398870e3f558ad28c80566b5f70e24dc29ea724" +unlockKeychain=$targetFolder/unlock-keychain.sh +{ Install "$cacheSigningTools/unlock-keychain.sh" "$unlockKeychain" $sha1UnLockKeychain; } 2> /dev/null +sudo chmod 755 "$unlockKeychain" + +# Codesigning requirements file. The bundle identifier in the requirements file should match the identifier of the application that is signed. +shaCsreq="2c3f00b1845a0f475673fd6934ba25ea51d1f910" +csreq=$targetFolder/csreq_qt_company.txt +Install "$cacheSigningTools/csreq_qt_company.txt" "$csreq" $shaCsreq +chmod 755 "$csreq" + +# iOS signing tools +devIDKeychain="Developer_ID_TheQtCompany.keychain-db" +shaDevIdKeychain="972cca1879cdaeeb6042f9879756c748a8d1eddc" +Install "$cacheSigningTools/$devIDKeychain" "$keychains/$devIDKeychain" $shaDevIdKeychain +echo "Opening $devIDKeychain.." +open "$keychains/$devIDKeychain" + +sha1DeveloperIDTheQtCompanyKeychainPassword="d758e067736bbda7a91ffaec66cd38afdaf68ea6" +Install "$cacheSigningTools/Developer_ID_TheQtCompany_keychain_password.txt" "$targetFolder/Developer_ID_TheQtCompany_keychain_password.txt" "$sha1DeveloperIDTheQtCompanyKeychainPassword" +{ DeveloperIDTheQtCompanyKeychainPassword=$(cat "$targetFolder/Developer_ID_TheQtCompany_keychain_password.txt"); } 2> /dev/null + +echo "Unlocking $devIDKeychain with password.." +{ security unlock-keychain -p "$DeveloperIDTheQtCompanyKeychainPassword" $keychains/Developer_ID_TheQtCompany.keychain; } 2> /dev/null +security set-keychain-settings $keychains/Developer_ID_TheQtCompany.keychain + +sha1Ios="aae58d00d0a1b179a09f21cfc67f9d16fb95ff36" +{ Install "$cacheSigningTools/ios_password.txt" "$targetFolder/ios_password.txt" $sha1Ios; } 2> /dev/null +{ iosPassword=$(cat "$targetFolder/ios_password.txt"); } 2> /dev/null + +iPhoneDeveloper="iPhoneDeveloperCiTeam2020.p12" +shaIPhoneDeveloper="73136e44fed850f398e85908e4a73f20a6bdd8a2" +Install "$cacheSigningTools/latest_ios_cert_2020/$iPhoneDeveloper" "$targetFolder/$iPhoneDeveloper" $shaIPhoneDeveloper +echo "Importing $iPhoneDeveloper.." +{ security import $targetFolder/$iPhoneDeveloper -k $loginKeychain* -P "$iosPassword" -T /usr/bin/codesign; } 2> /dev/null + +iPhoneDistribution="iPhoneDistributionCiTeam2020.p12" +shaIPhoneDistribution="36215c3cbc6bfee48e86aafbd53c56282fe36d8d" +Install "$cacheSigningTools/latest_ios_cert_2020/$iPhoneDistribution" "$targetFolder/$iPhoneDistribution" $shaIPhoneDistribution +echo "Importing $iPhoneDistribution.." +{ security import "$targetFolder/$iPhoneDistribution" -k $loginKeychain* -P "$iosPassword" -T /usr/bin/codesign; } 2> /dev/null + +# Mobileprovision +echo "Creating directory $targetFolder/Library/MobileDevice/Provisioning Profiles.." +mkdir "$targetFolder/Library/MobileDevice" +mkdir "$targetFolder/Library/MobileDevice/Provisioning Profiles" +shaMobileprovision="ec9697276253ca7bf4401912236f0e6fde4214da" +Install "$cacheSigningTools/latest_ios_cert_2020/iOS_Dev_2020_citeam.mobileprovision" "$targetFolder/Library/MobileDevice/Provisioning Profiles/iOS_Dev_2020_citeam.mobileprovision" $shaMobileprovision + +# Removing password files +rm -fr "$targetFolder/login_keychain_password.txt" + diff --git a/coin/provisioning/qtci-macos-11-arm/80-screenresolution.sh b/coin/provisioning/qtci-macos-11-arm/80-screenresolution.sh new file mode 100755 index 00000000..ed905a33 --- /dev/null +++ b/coin/provisioning/qtci-macos-11-arm/80-screenresolution.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 + +"$(dirname "$0")"/../common/macos/screenresolution.sh + diff --git a/coin/provisioning/qtci-macos-11-arm/81-bluetooth.sh b/coin/provisioning/qtci-macos-11-arm/81-bluetooth.sh new file mode 100755 index 00000000..c58b9a34 --- /dev/null +++ b/coin/provisioning/qtci-macos-11-arm/81-bluetooth.sh @@ -0,0 +1,10 @@ +#!/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 + +brew install blueutil + +#Disable Bluetooth +blueutil -p 0 diff --git a/coin/provisioning/qtci-macos-11-arm/90-install-ffmpeg.sh b/coin/provisioning/qtci-macos-11-arm/90-install-ffmpeg.sh new file mode 100755 index 00000000..23cb13e1 --- /dev/null +++ b/coin/provisioning/qtci-macos-11-arm/90-install-ffmpeg.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 + +source "${BASH_SOURCE%/*}/../common/unix/install-ffmpeg.sh" "macos-universal" diff --git a/coin/provisioning/qtci-macos-11-arm/97-set-locale.sh b/coin/provisioning/qtci-macos-11-arm/97-set-locale.sh new file mode 100755 index 00000000..bc966cbf --- /dev/null +++ b/coin/provisioning/qtci-macos-11-arm/97-set-locale.sh @@ -0,0 +1,8 @@ +#!/usr/bin/env bash +#Copyright (C) 2023 The Qt Company Ltd +#SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only + +set -ex + +BASEDIR=$(dirname "$0") +"$BASEDIR/../common/macos/set-locale.sh" diff --git a/coin/provisioning/qtci-macos-11-arm/98-mimersql.sh b/coin/provisioning/qtci-macos-11-arm/98-mimersql.sh new file mode 100755 index 00000000..70d5bc1d --- /dev/null +++ b/coin/provisioning/qtci-macos-11-arm/98-mimersql.sh @@ -0,0 +1,5 @@ +#!/usr/bin/env bash +set -ex + +BASEDIR=$(dirname "$0") +"$BASEDIR/../common/macos/mimersql.sh" "macos-universal" diff --git a/coin/provisioning/qtci-macos-11-arm/99-mac-version.sh b/coin/provisioning/qtci-macos-11-arm/99-mac-version.sh new file mode 100755 index 00000000..b9b5aeb0 --- /dev/null +++ b/coin/provisioning/qtci-macos-11-arm/99-mac-version.sh @@ -0,0 +1,8 @@ +#!/usr/bin/env bash +#Copyright (C) 2023 The Qt Company Ltd +#SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only + +set -ex + +BASEDIR=$(dirname "$0") +"$BASEDIR/../common/macos/macos-version.sh" diff --git a/coin/provisioning/qtci-macos-11.0-arm/01-disable-net-lso.sh b/coin/provisioning/qtci-macos-11-x86_64/01-disable-net-lso.sh index 659ebe96..659ebe96 100644..100755 --- a/coin/provisioning/qtci-macos-11.0-arm/01-disable-net-lso.sh +++ b/coin/provisioning/qtci-macos-11-x86_64/01-disable-net-lso.sh diff --git a/coin/provisioning/qtci-macos-11.0-arm/01-disable-notifications_and_warnings.sh b/coin/provisioning/qtci-macos-11-x86_64/01-disable-notifications_and_warnings.sh index 27efbb62..27efbb62 100755 --- a/coin/provisioning/qtci-macos-11.0-arm/01-disable-notifications_and_warnings.sh +++ b/coin/provisioning/qtci-macos-11-x86_64/01-disable-notifications_and_warnings.sh diff --git a/coin/provisioning/qtci-macos-11-x86_64/01-disable-updates.sh b/coin/provisioning/qtci-macos-11-x86_64/01-disable-updates.sh new file mode 100755 index 00000000..a2b2a0f0 --- /dev/null +++ b/coin/provisioning/qtci-macos-11-x86_64/01-disable-updates.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 + +BASEDIR=$(dirname "$0") +"$BASEDIR/../common/macos/system_updates.sh" diff --git a/coin/provisioning/qtci-macos-11-x86_64/01-enable_zsh_history_and_viminfo.sh b/coin/provisioning/qtci-macos-11-x86_64/01-enable_zsh_history_and_viminfo.sh new file mode 100755 index 00000000..6004b140 --- /dev/null +++ b/coin/provisioning/qtci-macos-11-x86_64/01-enable_zsh_history_and_viminfo.sh @@ -0,0 +1,5 @@ +#!/usr/bin/env bash +set -ex + +# shellcheck source=../common/macos/enable_zsh_history_and_viminfo.sh +source "${BASH_SOURCE%/*}/../common/macos/enable_zsh_history_and_viminfo.sh" diff --git a/coin/provisioning/qtci-macos-11.0-arm/01-increase_limits.sh b/coin/provisioning/qtci-macos-11-x86_64/01-increase_limits.sh index 08669e52..08669e52 100755 --- a/coin/provisioning/qtci-macos-11.0-arm/01-increase_limits.sh +++ b/coin/provisioning/qtci-macos-11-x86_64/01-increase_limits.sh diff --git a/coin/provisioning/qtci-macos-11.0-x86_64/01-install_telegraf.sh b/coin/provisioning/qtci-macos-11-x86_64/01-install_telegraf.sh index abd9ba0d..abd9ba0d 100755 --- a/coin/provisioning/qtci-macos-11.0-x86_64/01-install_telegraf.sh +++ b/coin/provisioning/qtci-macos-11-x86_64/01-install_telegraf.sh diff --git a/coin/provisioning/qtci-macos-11-x86_64/01-mount-vcpkg-cache-drive.sh b/coin/provisioning/qtci-macos-11-x86_64/01-mount-vcpkg-cache-drive.sh new file mode 100755 index 00000000..2739f40f --- /dev/null +++ b/coin/provisioning/qtci-macos-11-x86_64/01-mount-vcpkg-cache-drive.sh @@ -0,0 +1,8 @@ +#!/usr/bin/env bash +# Copyright (C) 2023 The Qt Company Ltd. +# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only + +set -ex + +# shellcheck source=../common/macos/mount-vcpkg-cache-drive.sh +source "${BASH_SOURCE%/*}/../common/macos/mount-vcpkg-cache-drive.sh" diff --git a/coin/provisioning/qtci-macos-11-x86_64/01-sha1sum-compatibility.sh b/coin/provisioning/qtci-macos-11-x86_64/01-sha1sum-compatibility.sh new file mode 100755 index 00000000..e52367c8 --- /dev/null +++ b/coin/provisioning/qtci-macos-11-x86_64/01-sha1sum-compatibility.sh @@ -0,0 +1,10 @@ +#!/usr/bin/env bash +# Copyright (C) 2020 The Qt Company Ltd. +# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only + +#!/usr/bin/env bash + +set -ex + +# shellcheck source=../common/macos/sha1sum-compatibility.sh +source "${BASH_SOURCE%/*}/../common/macos/sha1sum-compatibility.sh" diff --git a/coin/provisioning/qtci-macos-11-x86_64/03-bashprofile.sh b/coin/provisioning/qtci-macos-11-x86_64/03-bashprofile.sh new file mode 100755 index 00000000..4eed8433 --- /dev/null +++ b/coin/provisioning/qtci-macos-11-x86_64/03-bashprofile.sh @@ -0,0 +1,9 @@ +#!/usr/bin/env 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 + +set -ex + +# Read .bashrc if exist +printf -- "# Get the aliases and functions\nif [ -f ~/.bashrc ]; then\n . ~/.bashrc\nfi\n" >> ~/.bash_profile + diff --git a/coin/provisioning/qtci-macos-11-x86_64/05-systemsetup.sh b/coin/provisioning/qtci-macos-11-x86_64/05-systemsetup.sh new file mode 100755 index 00000000..115c0489 --- /dev/null +++ b/coin/provisioning/qtci-macos-11-x86_64/05-systemsetup.sh @@ -0,0 +1,80 @@ +#!/usr/bin/env bash +# Copyright (C) 2021 The Qt Company Ltd. +# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only + +set -ex + +# This script modified system settings for automated use + +targetFile="$HOME/vncpw.txt" + +# Fetch password +curl --retry 5 --retry-delay 10 --retry-max-time 60 "http://ci-files01-hki.ci.qt.io/input/semisecure/vncpw.txt" -o "$targetFile" +shasum "$targetFile" |grep "a795fccaa8f277e62ec08e6056c544b8b63924a0" + +{ VNCPassword=$(cat "$targetFile"); } 2> /dev/null +NTS_IP=10.212.2.216 + +echo "Disable Screensaver" +# For current session +defaults -currentHost write com.apple.screensaver idleTime 0 + +echo "Disable sleep" +sudo pmset sleep 0 displaysleep 0 + +# For session after a reboot +mkdir -p "$HOME/Library/LaunchAgents" +sudo tee -a "$HOME/Library/LaunchAgents/no-screensaver.plist" <<EOT +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd"> + +<plist version="1.0"> + <dict> + <key>Label</key> + <string>org.qt.io.screensaver_disable</string> + <key>ProgramArguments</key> + <array> + <string>defaults</string> + <string>-currentHost</string> + <string>write</string> + <string>com.apple.screensaver</string> + <string>idleTime</string> + <string>0</string> + </array> + <key>RunAtLoad</key> + <true/> + <key>KeepAlive</key> + <false/> + </dict> +</plist> +EOT + +defaults write com.apple.screensaver askForPassword -int 0 + +echo "Set keyboard type rates and delays" +# normal minimum is 15 (225 ms) +defaults write -g InitialKeyRepeat -int 15 +# normal minimum is 2 (30 ms) +defaults write -g KeyRepeat -int 2 + +set +x +echo "Enable remote desktop sharing" +sudo /System/Library/CoreServices/RemoteManagement/ARDAgent.app/Contents/Resources/kickstart -activate -configure -access -on -clientopts -setvnclegacy -vnclegacy yes -clientopts -setvncpw -vncpw "$VNCPassword" -restart -agent -privs -all +set -x + +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 + +sudo systemsetup settimezone GMT +sudo systemsetup setusingnetworktime off +sudo rm -f "$targetFile" + +# Enable automount for nfs shares +sudo sed -i'.orig' -e 's:^#/net:/net:' -e 's:hidefromfinder,nosuid:hidefromfinder,nosuid,locallocks,nocallback:' /etc/auto_master +sudo automount -cv + +# Disable multicast advertisements +sudo defaults write /Library/Preferences/com.apple.mDNSResponder.plist NoMulticastAdvertisements -bool true + +# Enable Use keyboard navigation to move focus between controls +defaults write -g AppleKeyboardUIMode -int 2 diff --git a/coin/provisioning/qtci-macos-11-x86_64/06-crashreporter.sh b/coin/provisioning/qtci-macos-11-x86_64/06-crashreporter.sh new file mode 100755 index 00000000..cb7c0774 --- /dev/null +++ b/coin/provisioning/qtci-macos-11-x86_64/06-crashreporter.sh @@ -0,0 +1,7 @@ +#!/usr/bin/env 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 + +set -ex + +defaults write com.apple.CrashReporter DialogType server diff --git a/coin/provisioning/qtci-macos-11-x86_64/06-disable_spotlight.sh b/coin/provisioning/qtci-macos-11-x86_64/06-disable_spotlight.sh new file mode 100755 index 00000000..ab85a262 --- /dev/null +++ b/coin/provisioning/qtci-macos-11-x86_64/06-disable_spotlight.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 + +# shellcheck source=../common/macos/disable_spotlight.sh +source "${BASH_SOURCE%/*}/../common/macos/disable_spotlight.sh" diff --git a/coin/provisioning/qtci-macos-11-x86_64/06-disable_update_downloads.sh b/coin/provisioning/qtci-macos-11-x86_64/06-disable_update_downloads.sh new file mode 100755 index 00000000..18cb98ea --- /dev/null +++ b/coin/provisioning/qtci-macos-11-x86_64/06-disable_update_downloads.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 +set -ex +BASEDIR=$(dirname "$0") +"$BASEDIR"/../common/macos/disable_update_downloads.sh diff --git a/coin/provisioning/qtci-macos-11-x86_64/07-SSL_keychain.sh b/coin/provisioning/qtci-macos-11-x86_64/07-SSL_keychain.sh new file mode 100755 index 00000000..e14dcee9 --- /dev/null +++ b/coin/provisioning/qtci-macos-11-x86_64/07-SSL_keychain.sh @@ -0,0 +1,11 @@ +#!/usr/bin/env bash +#Copyright (C) 2023 The Qt Company Ltd +#SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only + +set -ex + +# shellcheck source=../common/unix/SetEnvVar.sh +source "${BASH_SOURCE%/*}/../common/unix/SetEnvVar.sh" + +# Enables the usage of temporary keychains for SSL autotests +SetEnvVar "QT_SSL_USE_TEMPORARY_KEYCHAIN" "1" diff --git a/coin/provisioning/qtci-macos-11-x86_64/15-xz.sh b/coin/provisioning/qtci-macos-11-x86_64/15-xz.sh new file mode 100755 index 00000000..ffe00992 --- /dev/null +++ b/coin/provisioning/qtci-macos-11-x86_64/15-xz.sh @@ -0,0 +1,21 @@ +#!/usr/bin/env bash +# Copyright (C) 2020 The Qt Company Ltd. +# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only + +# This script installs XZ-Utils + +# XZ-Utils are needed for uncompressing xz-compressed files + +set -ex + +# shellcheck source=../common/macos/InstallPKGFromURL.sh +source "${BASH_SOURCE%/*}/../common/macos/InstallPKGFromURL.sh" + +PrimaryUrl="http://ci-files01-hki.ci.qt.io/input/mac/macos_10.12_sierra/XZ.pkg" +AltUrl="http://sourceforge.net/projects/macpkg/files/XZ/5.0.7/XZ.pkg" +SHA1="f0c1f82ebcffe0bd4b8b57b6a77805db56b2de67" +DestDir="/" + +InstallPKGFromURL "$PrimaryUrl" "$AltUrl" "$SHA1" "$DestDir" + +echo "XZ = 5.0.7" >> ~/versions.txt diff --git a/coin/provisioning/qtci-macos-11-x86_64/20-java.sh b/coin/provisioning/qtci-macos-11-x86_64/20-java.sh new file mode 100755 index 00000000..325fee63 --- /dev/null +++ b/coin/provisioning/qtci-macos-11-x86_64/20-java.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 + +BASEDIR=$(dirname "$0") +"$BASEDIR/../common/macos/java.sh" diff --git a/coin/provisioning/qtci-macos-11-x86_64/20-xcode.sh b/coin/provisioning/qtci-macos-11-x86_64/20-xcode.sh new file mode 100755 index 00000000..0e844bf0 --- /dev/null +++ b/coin/provisioning/qtci-macos-11-x86_64/20-xcode.sh @@ -0,0 +1,22 @@ +#!/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 + +# This script installs Xcode +# Prerequisites: Have Xcode prefetched to local cache as xz compressed. +# This can be achieved by fetching Xcode_9.xip from Apple Store. +# Uncompress it with 'xar -xf Xcode_9.xip' +# Then get https://gist.githubusercontent.com/pudquick/ff412bcb29c9c1fa4b8d/raw/24b25538ea8df8d0634a2a6189aa581ccc6a5b4b/parse_pbzx2.py +# with which you can run 'python parse_pbzx2.py Content'. +# This will give you five files called "Content.part<00..05>.cpio.xz". +# Extract those that have the extension .xz with xz. +# "cat" together all the content files "cat file1, file2, file3, file4, file5 >file_new" +# Compress the new file with xz back to something like Xcode_9.xz +# Upload the file to temporary storage for this script to use. + +set -ex + +# shellcheck source=../common/macos/install_xcode.sh +source "${BASH_SOURCE%/*}/../common/macos/install_xcode.sh" + +InstallXCode /net/ci-files01-hki.ci.qt.io/hdd/www/input/mac/Xcode_13.2.1.xip 13.2.1 diff --git a/coin/provisioning/qtci-macos-11-x86_64/21-install-commandlinetools.sh b/coin/provisioning/qtci-macos-11-x86_64/21-install-commandlinetools.sh new file mode 100755 index 00000000..6aea79fb --- /dev/null +++ b/coin/provisioning/qtci-macos-11-x86_64/21-install-commandlinetools.sh @@ -0,0 +1,14 @@ +#!/usr/bin/env bash +# Copyright (C) 2021 The Qt Company Ltd. +# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only + +set -ex + +# shellcheck source=../common/macos/install-commandlinetools.sh +source "${BASH_SOURCE%/*}/../common/macos/install-commandlinetools.sh" +version="13.2" +packageName="Command_Line_Tools_for_Xcode_$version.dmg" +url="http://ci-files01-hki.ci.qt.io/input/mac/$packageName" +sha1="b3a0b597435cfbc5c09ad5772cf7313c87032252" + +InstallCommandLineTools $url $url $sha1 $packageName $version diff --git a/coin/provisioning/qtci-macos-11.0-arm/24-sccache.sh b/coin/provisioning/qtci-macos-11-x86_64/24-sccache.sh index 358b23fb..358b23fb 100755 --- a/coin/provisioning/qtci-macos-11.0-arm/24-sccache.sh +++ b/coin/provisioning/qtci-macos-11-x86_64/24-sccache.sh diff --git a/coin/provisioning/qtci-macos-11-x86_64/25-cmake.sh b/coin/provisioning/qtci-macos-11-x86_64/25-cmake.sh new file mode 100755 index 00000000..33095880 --- /dev/null +++ b/coin/provisioning/qtci-macos-11-x86_64/25-cmake.sh @@ -0,0 +1,8 @@ +#!/usr/bin/env bash +#Copyright (C) 2023 The Qt Company Ltd +#SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only + +set -ex + +BASEDIR=$(dirname "$0") +"$BASEDIR/../common/macos/cmake.sh" diff --git a/coin/provisioning/qtci-macos-11-x86_64/25-homebrew.sh b/coin/provisioning/qtci-macos-11-x86_64/25-homebrew.sh new file mode 100755 index 00000000..f83960f4 --- /dev/null +++ b/coin/provisioning/qtci-macos-11-x86_64/25-homebrew.sh @@ -0,0 +1,28 @@ +#!/usr/bin/env bash +# Copyright (C) 2021 The Qt Company Ltd. +# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only + +# Will install homebrew package manager for macOS. +# WARNING: Requires commandlinetools + + +set -e + +. "$(dirname "$0")"/../common/unix/DownloadURL.sh + + +DownloadURL \ + http://ci-files01-hki.ci.qt.io/input/mac/homebrew/a822f0d0f1838c07e86b356fcd2bf93c7a11c2aa/install.sh \ + https://raw.githubusercontent.com/Homebrew/install/c744a716f9845988d01e6e238eee7117b8c366c9/install \ + 3210da71e12a699ab3bba43910a6d5fc64b92000 \ + /tmp/homebrew_install.sh + +DownloadURL "http://ci-files01-hki.ci.qt.io/input/semisecure/sign/pw" "http://ci-files01-hki.ci.qt.io/input/semisecure/sign/pw" "aae58d00d0a1b179a09f21cfc67f9d16fb95ff36" "/Users/qt/pw" +{ pw=$(cat "/Users/qt/pw"); } 2> /dev/null +sudo chmod 755 /tmp/homebrew_install.sh +{ (echo "$pw" | /tmp/homebrew_install.sh); } 2> /dev/null +rm -f "/Users/qt/pw" + +# No need to manually do `brew update`, the homebrew installer script does it. +### brew update + diff --git a/coin/provisioning/qtci-macos-11-x86_64/25-mysql.sh b/coin/provisioning/qtci-macos-11-x86_64/25-mysql.sh new file mode 100755 index 00000000..0be1e6e8 --- /dev/null +++ b/coin/provisioning/qtci-macos-11-x86_64/25-mysql.sh @@ -0,0 +1,27 @@ +#!/usr/bin/env bash +# Copyright (C) 2020 The Qt Company Ltd. +# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only + +# This script installs MySQL + +# MySQL is needed for Qt to be able to support MySQL + +set -ex + +# shellcheck source=../common/macos/InstallAppFromCompressedFileFromURL.sh +source "${BASH_SOURCE%/*}/../common/macos/InstallAppFromCompressedFileFromURL.sh" +# shellcheck source=../common/unix/SetEnvVar.sh +source "${BASH_SOURCE%/*}/../common/unix/SetEnvVar.sh" + +PrimaryUrl="http://ci-files01-hki.ci.qt.io/input/mac/macos_10.12_sierra/mysql-5.7.15-osx10.11-x86_64.tar.gz" +AltUrl="https://dev.mysql.com/get/Downloads/MySQL-5.7/mysql-5.7.15-osx10.11-x86_64.tar.gz" +SHA1="07949bd42f350b0504a1536b8830b809b4a34fca" +appPrefix="" +targetDir="/opt/mysql57/" + +sudo mkdir -p "/opt" + +InstallAppFromCompressedFileFromURL "$PrimaryUrl" "$AltUrl" "$SHA1" "$appPrefix" "$targetDir" + +SetEnvVar "MYSQLBINPATH" "/opt/mysql57/bin" +echo "MySQL = 5.7.15" >> ~/versions.txt diff --git a/coin/provisioning/qtci-macos-11-x86_64/25-pip.sh b/coin/provisioning/qtci-macos-11-x86_64/25-pip.sh new file mode 100755 index 00000000..3fc865d0 --- /dev/null +++ b/coin/provisioning/qtci-macos-11-x86_64/25-pip.sh @@ -0,0 +1,8 @@ +#!/usr/bin/env bash +#Copyright (C) 2023 The Qt Company Ltd +#SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only + +set -ex + +BASEDIR=$(dirname "$0") +"$BASEDIR/../common/macos/pip.sh" diff --git a/coin/provisioning/qtci-macos-11-x86_64/25-postgresql.sh b/coin/provisioning/qtci-macos-11-x86_64/25-postgresql.sh new file mode 100755 index 00000000..06cae6ef --- /dev/null +++ b/coin/provisioning/qtci-macos-11-x86_64/25-postgresql.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 + +BASEDIR=$(dirname "$0") +"$BASEDIR/../common/macos/postgresql.sh" diff --git a/coin/provisioning/qtci-macos-11-x86_64/25-python2.sh b/coin/provisioning/qtci-macos-11-x86_64/25-python2.sh new file mode 100755 index 00000000..4c88a413 --- /dev/null +++ b/coin/provisioning/qtci-macos-11-x86_64/25-python2.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 + +# shellcheck source=../common/macos/python2.sh +source "${BASH_SOURCE%/*}/../common/macos/python2.sh" diff --git a/coin/provisioning/qtci-macos-11-x86_64/25-python3.sh b/coin/provisioning/qtci-macos-11-x86_64/25-python3.sh new file mode 100755 index 00000000..8fee606c --- /dev/null +++ b/coin/provisioning/qtci-macos-11-x86_64/25-python3.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 + +# shellcheck source=../common/macos/python3.sh +source "${BASH_SOURCE%/*}/../common/macos/python3.sh" diff --git a/coin/provisioning/qtci-macos-11-x86_64/26-freetype.sh b/coin/provisioning/qtci-macos-11-x86_64/26-freetype.sh new file mode 100755 index 00000000..fa0790f8 --- /dev/null +++ b/coin/provisioning/qtci-macos-11-x86_64/26-freetype.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 + +brew install freetype diff --git a/coin/provisioning/qtci-macos-11-x86_64/26-jq.sh b/coin/provisioning/qtci-macos-11-x86_64/26-jq.sh new file mode 100755 index 00000000..4dffcb96 --- /dev/null +++ b/coin/provisioning/qtci-macos-11-x86_64/26-jq.sh @@ -0,0 +1,5 @@ +#!/usr/bin/env bash + +set -ex + +brew install jq diff --git a/coin/provisioning/qtci-macos-11-x86_64/26-ninja.sh b/coin/provisioning/qtci-macos-11-x86_64/26-ninja.sh new file mode 100755 index 00000000..4443eeb4 --- /dev/null +++ b/coin/provisioning/qtci-macos-11-x86_64/26-ninja.sh @@ -0,0 +1,10 @@ +#!/usr/bin/env bash +#Copyright (C) 2023 The Qt Company Ltd +#SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only + +set -ex + +# shellcheck source=../common/macos/ninja.sh +source "${BASH_SOURCE%/*}/../common/macos/ninja.sh" + + diff --git a/coin/provisioning/qtci-macos-11-x86_64/26-odbc.sh b/coin/provisioning/qtci-macos-11-x86_64/26-odbc.sh new file mode 100755 index 00000000..2b6b013a --- /dev/null +++ b/coin/provisioning/qtci-macos-11-x86_64/26-odbc.sh @@ -0,0 +1,9 @@ +#!/usr/bin/env bash +#Copyright (C) 2023 The Qt Company Ltd +#SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only +# Install libiodbc + +set -ex + +BASEDIR=$(dirname "$0") +"$BASEDIR/../common/macos/libiodbc.sh" --with-universal diff --git a/coin/provisioning/qtci-macos-11-x86_64/26-p7zip.sh b/coin/provisioning/qtci-macos-11-x86_64/26-p7zip.sh new file mode 100755 index 00000000..8cdcd0c3 --- /dev/null +++ b/coin/provisioning/qtci-macos-11-x86_64/26-p7zip.sh @@ -0,0 +1,9 @@ +#!/usr/bin/env bash +#Copyright (C) 2023 The Qt Company Ltd +#SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only +# Install 7z to be used from command line + +set -ex + +brew update +brew install p7zip diff --git a/coin/provisioning/qtci-macos-11-x86_64/26-pcre2.sh b/coin/provisioning/qtci-macos-11-x86_64/26-pcre2.sh new file mode 100755 index 00000000..c10d6206 --- /dev/null +++ b/coin/provisioning/qtci-macos-11-x86_64/26-pcre2.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 + +brew install pcre2 diff --git a/coin/provisioning/qtci-macos-11-x86_64/27-libclang.sh b/coin/provisioning/qtci-macos-11-x86_64/27-libclang.sh new file mode 100755 index 00000000..cc025e6e --- /dev/null +++ b/coin/provisioning/qtci-macos-11-x86_64/27-libclang.sh @@ -0,0 +1,9 @@ +#!/usr/bin/env bash +#Copyright (C) 2023 The Qt Company Ltd +#SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only + +set -ex + +BASEDIR=$(dirname "$0") +# There is only one mac package and common script uses it as a default +"$BASEDIR/../common/unix/libclang.sh" diff --git a/coin/provisioning/qtci-macos-11-x86_64/28-libclang-v100-dyn.sh b/coin/provisioning/qtci-macos-11-x86_64/28-libclang-v100-dyn.sh new file mode 100755 index 00000000..d95e7e00 --- /dev/null +++ b/coin/provisioning/qtci-macos-11-x86_64/28-libclang-v100-dyn.sh @@ -0,0 +1,8 @@ +#!/usr/bin/env bash +#Copyright (C) 2023 The Qt Company Ltd +#SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only + +set -ex + +BASEDIR=$(dirname "$0") +"$BASEDIR/../common/unix/libclang-v100-dyn.sh" diff --git a/coin/provisioning/qtci-macos-11-x86_64/29-install-pkgconfig.sh b/coin/provisioning/qtci-macos-11-x86_64/29-install-pkgconfig.sh new file mode 100755 index 00000000..33e11580 --- /dev/null +++ b/coin/provisioning/qtci-macos-11-x86_64/29-install-pkgconfig.sh @@ -0,0 +1,6 @@ +#!/usr/bin/env bash + +set -ex + +BASEDIR=$(dirname "$0") +"$BASEDIR/../common/macos/pkgconfig.sh" diff --git a/coin/provisioning/qtci-macos-11-x86_64/29-libusb.sh b/coin/provisioning/qtci-macos-11-x86_64/29-libusb.sh new file mode 100755 index 00000000..e9e9e238 --- /dev/null +++ b/coin/provisioning/qtci-macos-11-x86_64/29-libusb.sh @@ -0,0 +1,9 @@ +#!/usr/bin/env bash +#Copyright (C) 2023 The Qt Company Ltd +#SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only + +set -ex + +BASEDIR=$(dirname "$0") + +"$BASEDIR/../common/macos/libusb.sh" diff --git a/coin/provisioning/qtci-macos-11-x86_64/30-android.sh b/coin/provisioning/qtci-macos-11-x86_64/30-android.sh new file mode 100755 index 00000000..11bcf7ad --- /dev/null +++ b/coin/provisioning/qtci-macos-11-x86_64/30-android.sh @@ -0,0 +1,65 @@ +#!/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 + +# This script install Android sdk and ndk. + +# It also runs update for SDK API, latest SDK tools, latest platform-tools and build-tools version + +set -ex + +# shellcheck source=../common/unix/SetEnvVar.sh +source "${BASH_SOURCE%/*}/../common/unix/SetEnvVar.sh" + +targetFolder="/opt/android" +sdkTargetFolder="$targetFolder/sdk" + +basePath="/net/ci-files01-hki.ci.qt.io/hdd/www/input/android" + +toolsVersion="2.1" +# toolsFile dertermines tools version +toolsFile="commandlinetools-mac-6609375_latest.zip" + +ndkVersion="r26b" +ndkFile="android-ndk-$ndkVersion-darwin.zip" +sdkBuildToolsVersion="34.0.0" +# this is compile sdk version +sdkApiLevel="android-34" + +toolsSourceFile="$basePath/$toolsFile" +ndkSourceFile="$basePath/$ndkFile" + +echo "Unzipping Android NDK to '$targetFolder'" +sudo unzip -q "$ndkSourceFile" -d "$targetFolder" +echo "Unzipping Android Tools to '$sdkTargetFolder'" +sudo unzip -q "$toolsSourceFile" -d "$sdkTargetFolder" + +echo "Changing ownership of Android files." +sudo chown -R qt:wheel "$targetFolder" +sudo chmod -R 755 $targetFolder + +# Run the following command under `eval` or `sh -c` so that the shell properly splits it +sdkmanager_no_progress_bar_cmd="tr '\r' '\n' | grep -v '^\[[ =]*\]'" + +sudo mkdir "$sdkTargetFolder/cmdline-tools" +sudo mv "$sdkTargetFolder/tools" "$sdkTargetFolder/cmdline-tools" + +echo "Running SDK manager for platforms;$sdkApiLevel, platform-tools and build-tools;$sdkBuildToolsVersion." +(echo "y"; echo "y") | "$sdkTargetFolder/cmdline-tools/tools/bin/sdkmanager" "--sdk_root=$sdkTargetFolder" \ + "platforms;$sdkApiLevel" "platform-tools" "build-tools;$sdkBuildToolsVersion" \ + | eval "$sdkmanager_no_progress_bar_cmd" + +echo "Checking the contents of Android SDK..." +ls -l "$sdkTargetFolder" + +SetEnvVar "ANDROID_SDK_ROOT" "$sdkTargetFolder" +SetEnvVar "ANDROID_NDK_ROOT" "$targetFolder/android-ndk-$ndkVersion" +SetEnvVar "ANDROID_NDK_HOST" "darwin-x86_64" +SetEnvVar "ANDROID_API_VERSION" "$sdkApiLevel" + +cat << EOB >> ~/versions.txt +Android SDK tools = $toolsVersion +Android SDK Build Tools = $sdkBuildToolsVersion +Android SDK API level = $sdkApiLevel +Android NDK = $ndkVersion +EOB diff --git a/coin/provisioning/qtci-macos-11-x86_64/30-fbx.sh b/coin/provisioning/qtci-macos-11-x86_64/30-fbx.sh new file mode 100755 index 00000000..e991bc08 --- /dev/null +++ b/coin/provisioning/qtci-macos-11-x86_64/30-fbx.sh @@ -0,0 +1,9 @@ +#!/usr/bin/env bash +#Copyright (C) 2023 The Qt Company Ltd +#SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only + +set -ex + +BASEDIR=$(dirname "$0") +"$BASEDIR/../common/macos/fbx_macos.sh" + diff --git a/coin/provisioning/qtci-macos-11-x86_64/30-install-conan.sh b/coin/provisioning/qtci-macos-11-x86_64/30-install-conan.sh new file mode 100755 index 00000000..8d90ef37 --- /dev/null +++ b/coin/provisioning/qtci-macos-11-x86_64/30-install-conan.sh @@ -0,0 +1,8 @@ +#!/usr/bin/env bash +#Copyright (C) 2023 The Qt Company Ltd +#SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only + +set -ex + +BASEDIR=$(dirname "$0") +"$BASEDIR/../common/unix/install-conan.sh" "macos" diff --git a/coin/provisioning/qtci-macos-11-x86_64/30-nodejs.sh b/coin/provisioning/qtci-macos-11-x86_64/30-nodejs.sh new file mode 100755 index 00000000..a5cf7d4d --- /dev/null +++ b/coin/provisioning/qtci-macos-11-x86_64/30-nodejs.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 + +BASEDIR=$(dirname "$0") +"$BASEDIR/../common/macos/nodejs.sh" diff --git a/coin/provisioning/qtci-macos-11-x86_64/35-install-breakpad.sh b/coin/provisioning/qtci-macos-11-x86_64/35-install-breakpad.sh new file mode 100755 index 00000000..8a9dde56 --- /dev/null +++ b/coin/provisioning/qtci-macos-11-x86_64/35-install-breakpad.sh @@ -0,0 +1,8 @@ +#!/usr/bin/env bash +#Copyright (C) 2023 The Qt Company Ltd +#SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only + +set -ex + +# shellcheck source=../common/unix/install-breakpad.sh +source "${BASH_SOURCE%/*}/../common/unix/install-breakpad.sh" diff --git a/coin/provisioning/qtci-macos-11-x86_64/35-install_protobuf.sh b/coin/provisioning/qtci-macos-11-x86_64/35-install_protobuf.sh new file mode 100755 index 00000000..ecb5f835 --- /dev/null +++ b/coin/provisioning/qtci-macos-11-x86_64/35-install_protobuf.sh @@ -0,0 +1,9 @@ +#!/usr/bin/env bash +# Copyright (C) 2020 The Qt Company Ltd. +# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only + +set -ex + +# shellcheck source=../common/unix/install_protobuf.sh +source "${BASH_SOURCE%/*}/../common/unix/install_protobuf.sh" + diff --git a/coin/provisioning/qtci-macos-11-x86_64/35-openssl.sh b/coin/provisioning/qtci-macos-11-x86_64/35-openssl.sh new file mode 100755 index 00000000..c86788db --- /dev/null +++ b/coin/provisioning/qtci-macos-11-x86_64/35-openssl.sh @@ -0,0 +1,9 @@ +#!/usr/bin/env bash +#Copyright (C) 2023 The Qt Company Ltd +#SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only + +set -ex + +# shellcheck source=../common/unix/install-openssl.sh +source "${BASH_SOURCE%/*}/../common/unix/install-openssl.sh" "macos-universal" + diff --git a/coin/provisioning/qtci-macos-11-x86_64/36-emsdk.sh b/coin/provisioning/qtci-macos-11-x86_64/36-emsdk.sh new file mode 100755 index 00000000..c8aec444 --- /dev/null +++ b/coin/provisioning/qtci-macos-11-x86_64/36-emsdk.sh @@ -0,0 +1,8 @@ +#!/usr/bin/env bash +#Copyright (C) 2023 The Qt Company Ltd +#SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only + +set -ex + +# shellcheck source=../common/unix/emsdk.sh +source "${BASH_SOURCE%/*}/../common/unix/emsdk.sh" diff --git a/coin/provisioning/qtci-macos-11-x86_64/36-install_grpc.sh b/coin/provisioning/qtci-macos-11-x86_64/36-install_grpc.sh new file mode 100755 index 00000000..ecd6a51f --- /dev/null +++ b/coin/provisioning/qtci-macos-11-x86_64/36-install_grpc.sh @@ -0,0 +1,9 @@ +#!/usr/bin/env bash +# Copyright (C) 2022 The Qt Company Ltd. +# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only + +set -ex + +# shellcheck source=../common/unix/install_grpc.sh +source "${BASH_SOURCE%/*}/../common/unix/install_grpc.sh" + diff --git a/coin/provisioning/qtci-macos-11-x86_64/80-screenresolution.sh b/coin/provisioning/qtci-macos-11-x86_64/80-screenresolution.sh new file mode 100755 index 00000000..ed905a33 --- /dev/null +++ b/coin/provisioning/qtci-macos-11-x86_64/80-screenresolution.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 + +"$(dirname "$0")"/../common/macos/screenresolution.sh + diff --git a/coin/provisioning/qtci-macos-11-x86_64/81-bluetooth.sh b/coin/provisioning/qtci-macos-11-x86_64/81-bluetooth.sh new file mode 100755 index 00000000..c58b9a34 --- /dev/null +++ b/coin/provisioning/qtci-macos-11-x86_64/81-bluetooth.sh @@ -0,0 +1,10 @@ +#!/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 + +brew install blueutil + +#Disable Bluetooth +blueutil -p 0 diff --git a/coin/provisioning/qtci-macos-11-x86_64/90-install-ffmpeg.sh b/coin/provisioning/qtci-macos-11-x86_64/90-install-ffmpeg.sh new file mode 100755 index 00000000..23cb13e1 --- /dev/null +++ b/coin/provisioning/qtci-macos-11-x86_64/90-install-ffmpeg.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 + +source "${BASH_SOURCE%/*}/../common/unix/install-ffmpeg.sh" "macos-universal" diff --git a/coin/provisioning/qtci-macos-11-x86_64/90-squish.sh b/coin/provisioning/qtci-macos-11-x86_64/90-squish.sh new file mode 100755 index 00000000..c2658d0e --- /dev/null +++ b/coin/provisioning/qtci-macos-11-x86_64/90-squish.sh @@ -0,0 +1,8 @@ +#!/usr/bin/env bash +#Copyright (C) 2023 The Qt Company Ltd +#SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only +set -ex + +BASEDIR=$(dirname "$0") +"$BASEDIR/../common/unix/squishInstall.sh" + diff --git a/coin/provisioning/qtci-macos-11-x86_64/97-set-locale.sh b/coin/provisioning/qtci-macos-11-x86_64/97-set-locale.sh new file mode 100755 index 00000000..bc966cbf --- /dev/null +++ b/coin/provisioning/qtci-macos-11-x86_64/97-set-locale.sh @@ -0,0 +1,8 @@ +#!/usr/bin/env bash +#Copyright (C) 2023 The Qt Company Ltd +#SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only + +set -ex + +BASEDIR=$(dirname "$0") +"$BASEDIR/../common/macos/set-locale.sh" diff --git a/coin/provisioning/qtci-macos-11-x86_64/98-mimersql.sh b/coin/provisioning/qtci-macos-11-x86_64/98-mimersql.sh new file mode 100755 index 00000000..70d5bc1d --- /dev/null +++ b/coin/provisioning/qtci-macos-11-x86_64/98-mimersql.sh @@ -0,0 +1,5 @@ +#!/usr/bin/env bash +set -ex + +BASEDIR=$(dirname "$0") +"$BASEDIR/../common/macos/mimersql.sh" "macos-universal" diff --git a/coin/provisioning/qtci-macos-11-x86_64/99-mac-version.sh b/coin/provisioning/qtci-macos-11-x86_64/99-mac-version.sh new file mode 100755 index 00000000..b9b5aeb0 --- /dev/null +++ b/coin/provisioning/qtci-macos-11-x86_64/99-mac-version.sh @@ -0,0 +1,8 @@ +#!/usr/bin/env bash +#Copyright (C) 2023 The Qt Company Ltd +#SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only + +set -ex + +BASEDIR=$(dirname "$0") +"$BASEDIR/../common/macos/macos-version.sh" diff --git a/coin/provisioning/qtci-macos-11.0-arm/01-sha1sum-compatibility.sh b/coin/provisioning/qtci-macos-11.0-arm/01-sha1sum-compatibility.sh deleted file mode 100755 index cf0611cd..00000000 --- a/coin/provisioning/qtci-macos-11.0-arm/01-sha1sum-compatibility.sh +++ /dev/null @@ -1,47 +0,0 @@ -#!/usr/bin/env bash - -############################################################################# -## -## Copyright (C) 2020 The Qt Company Ltd. -## Contact: https://www.qt.io/licensing/ -## -## This file is part of the provisioning scripts of the Qt Toolkit. -## -## $QT_BEGIN_LICENSE:LGPL$ -## Commercial License Usage -## Licensees holding valid commercial Qt licenses may use this file in -## accordance with the commercial license agreement provided with the -## Software or, alternatively, in accordance with the terms contained in -## a written agreement between you and The Qt Company. For licensing terms -## and conditions see https://www.qt.io/terms-conditions. For further -## information use the contact form at https://www.qt.io/contact-us. -## -## GNU Lesser General Public License Usage -## Alternatively, this file may be used under the terms of the GNU Lesser -## General Public License version 3 as published by the Free Software -## Foundation and appearing in the file LICENSE.LGPL3 included in the -## packaging of this file. Please review the following information to -## ensure the GNU Lesser General Public License version 3 requirements -## will be met: https://www.gnu.org/licenses/lgpl-3.0.html. -## -## GNU General Public License Usage -## Alternatively, this file may be used under the terms of the GNU -## General Public License version 2.0 or (at your option) the GNU General -## Public license version 3 or any later version approved by the KDE Free -## Qt Foundation. The licenses are as published by the Free Software -## Foundation and appearing in the file LICENSE.GPL2 and LICENSE.GPL3 -## included in the packaging of this file. Please review the following -## information to ensure the GNU General Public License requirements will -## be met: https://www.gnu.org/licenses/gpl-2.0.html and -## https://www.gnu.org/licenses/gpl-3.0.html. -## -## $QT_END_LICENSE$ -## -############################################################################# - -#!/usr/bin/env bash - -set -ex - -# shellcheck source=../common/macos/sha1sum-compatibility.sh -source "${BASH_SOURCE%/*}/../common/macos/sha1sum-compatibility.sh" diff --git a/coin/provisioning/qtci-macos-11.0-arm/03-bashprofile.sh b/coin/provisioning/qtci-macos-11.0-arm/03-bashprofile.sh deleted file mode 100755 index 2c3e45f3..00000000 --- a/coin/provisioning/qtci-macos-11.0-arm/03-bashprofile.sh +++ /dev/null @@ -1,7 +0,0 @@ -#!/usr/bin/env sh - -set -ex - -# Read .bashrc if exist -printf -- "# Get the aliases and functions\nif [ -f ~/.bashrc ]; then\n . ~/.bashrc\nfi\n" >> ~/.bash_profile - diff --git a/coin/provisioning/qtci-macos-11.0-arm/05-systemsetup.sh b/coin/provisioning/qtci-macos-11.0-arm/05-systemsetup.sh deleted file mode 100755 index 29624282..00000000 --- a/coin/provisioning/qtci-macos-11.0-arm/05-systemsetup.sh +++ /dev/null @@ -1,117 +0,0 @@ -#!/usr/bin/env bash - -############################################################################# -## -## Copyright (C) 2021 The Qt Company Ltd. -## Contact: https://www.qt.io/licensing/ -## -## This file is part of the provisioning scripts of the Qt Toolkit. -## -## $QT_BEGIN_LICENSE:LGPL$ -## Commercial License Usage -## Licensees holding valid commercial Qt licenses may use this file in -## accordance with the commercial license agreement provided with the -## Software or, alternatively, in accordance with the terms contained in -## a written agreement between you and The Qt Company. For licensing terms -## and conditions see https://www.qt.io/terms-conditions. For further -## information use the contact form at https://www.qt.io/contact-us. -## -## GNU Lesser General Public License Usage -## Alternatively, this file may be used under the terms of the GNU Lesser -## General Public License version 3 as published by the Free Software -## Foundation and appearing in the file LICENSE.LGPL3 included in the -## packaging of this file. Please review the following information to -## ensure the GNU Lesser General Public License version 3 requirements -## will be met: https://www.gnu.org/licenses/lgpl-3.0.html. -## -## GNU General Public License Usage -## Alternatively, this file may be used under the terms of the GNU -## General Public License version 2.0 or (at your option) the GNU General -## Public license version 3 or any later version approved by the KDE Free -## Qt Foundation. The licenses are as published by the Free Software -## Foundation and appearing in the file LICENSE.GPL2 and LICENSE.GPL3 -## included in the packaging of this file. Please review the following -## information to ensure the GNU General Public License requirements will -## be met: https://www.gnu.org/licenses/gpl-2.0.html and -## https://www.gnu.org/licenses/gpl-3.0.html. -## -## $QT_END_LICENSE$ -## -############################################################################# - -set -ex - -# This script modified system settings for automated use - -targetFile="$HOME/vncpw.txt" - -# Fetch password -curl --retry 5 --retry-delay 10 --retry-max-time 60 "http://ci-files01-hki.intra.qt.io/input/semisecure/vncpw.txt" -o "$targetFile" -shasum "$targetFile" |grep "a795fccaa8f277e62ec08e6056c544b8b63924a0" - -{ VNCPassword=$(cat "$targetFile"); } 2> /dev/null -NTS_IP=10.212.2.216 - -echo "Disable Screensaver" -# For current session -defaults -currentHost write com.apple.screensaver idleTime 0 - -echo "Disable sleep" -sudo pmset sleep 0 displaysleep 0 - -# For session after a reboot -mkdir -p "$HOME/Library/LaunchAgents" -sudo tee -a "$HOME/Library/LaunchAgents/no-screensaver.plist" <<EOT -<?xml version="1.0" encoding="UTF-8"?> -<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd"> - -<plist version="1.0"> - <dict> - <key>Label</key> - <string>org.qt.io.screensaver_disable</string> - <key>ProgramArguments</key> - <array> - <string>defaults</string> - <string>-currentHost</string> - <string>write</string> - <string>com.apple.screensaver</string> - <string>idleTime</string> - <string>0</string> - </array> - <key>RunAtLoad</key> - <true/> - <key>KeepAlive</key> - <false/> - </dict> -</plist> -EOT - -defaults write com.apple.screensaver askForPassword -int 0 - -echo "Set keyboard type rates and delays" -# normal minimum is 15 (225 ms) -defaults write -g InitialKeyRepeat -int 15 -# normal minimum is 2 (30 ms) -defaults write -g KeyRepeat -int 2 - -set +x -echo "Enable remote desktop sharing" -sudo /System/Library/CoreServices/RemoteManagement/ARDAgent.app/Contents/Resources/kickstart -activate -configure -access -on -clientopts -setvnclegacy -vnclegacy yes -clientopts -setvncpw -vncpw $VNCPassword -restart -agent -privs -all -set -x - -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 - -sudo systemsetup settimezone GMT -sudo systemsetup setusingnetworktime on -sudo rm -f "$targetFile" - -# Enable automount for nfs shares -sudo sed -i'.orig' -e 's:^#/net:/net:' -e 's:hidefromfinder,nosuid:hidefromfinder,nosuid,locallocks,nocallback:' /etc/auto_master || sudo curl -o /etc/auto_master http://ci-files01-hki.intra.qt.io/input/mac/arm/auto_master -sudo automount -cv - -# Disable multicast advertisements -sudo defaults write /Library/Preferences/com.apple.mDNSResponder.plist NoMulticastAdvertisements -bool true - -# Enable Use keyboard navigation to move focus between controls -defaults write -g AppleKeyboardUIMode -int 2 diff --git a/coin/provisioning/qtci-macos-11.0-arm/06-crashreporter.sh b/coin/provisioning/qtci-macos-11.0-arm/06-crashreporter.sh deleted file mode 100755 index 8461c656..00000000 --- a/coin/provisioning/qtci-macos-11.0-arm/06-crashreporter.sh +++ /dev/null @@ -1,5 +0,0 @@ -#!/usr/bin/env sh - -set -ex - -defaults write com.apple.CrashReporter DialogType server diff --git a/coin/provisioning/qtci-macos-11.0-arm/06-disable_spotlight.sh b/coin/provisioning/qtci-macos-11.0-arm/06-disable_spotlight.sh deleted file mode 100755 index 67e2c1f6..00000000 --- a/coin/provisioning/qtci-macos-11.0-arm/06-disable_spotlight.sh +++ /dev/null @@ -1,5 +0,0 @@ -#!/usr/bin/env bash -set -ex - -# shellcheck source=../common/macos/disable_spotlight.sh -source "${BASH_SOURCE%/*}/../common/macos/disable_spotlight.sh" diff --git a/coin/provisioning/qtci-macos-11.0-arm/06-disable_update_downloads.sh b/coin/provisioning/qtci-macos-11.0-arm/06-disable_update_downloads.sh deleted file mode 100755 index 3c11214d..00000000 --- a/coin/provisioning/qtci-macos-11.0-arm/06-disable_update_downloads.sh +++ /dev/null @@ -1,4 +0,0 @@ -#!/usr/bin/env bash -set -ex -BASEDIR=$(dirname "$0") -"$BASEDIR"/../common/macos/disable_update_downloads.sh diff --git a/coin/provisioning/qtci-macos-11.0-arm/07-SSL_keychain.sh b/coin/provisioning/qtci-macos-11.0-arm/07-SSL_keychain.sh deleted file mode 100755 index 6e7c796a..00000000 --- a/coin/provisioning/qtci-macos-11.0-arm/07-SSL_keychain.sh +++ /dev/null @@ -1,9 +0,0 @@ -#!/usr/bin/env sh - -set -ex - -# shellcheck source=../common/unix/SetEnvVar.sh -source "${BASH_SOURCE%/*}/../common/unix/SetEnvVar.sh" - -# Enables the usage of temporary keychains for SSL autotests -SetEnvVar "QT_SSL_USE_TEMPORARY_KEYCHAIN" "1" diff --git a/coin/provisioning/qtci-macos-11.0-arm/15-xz.sh b/coin/provisioning/qtci-macos-11.0-arm/15-xz.sh deleted file mode 100755 index 9b70c54e..00000000 --- a/coin/provisioning/qtci-macos-11.0-arm/15-xz.sh +++ /dev/null @@ -1,69 +0,0 @@ -#!/usr/bin/env bash - -############################################################################# -## -## Copyright (C) 2021 The Qt Company Ltd. -## Contact: https://www.qt.io/licensing/ -## -## This file is part of the provisioning scripts of the Qt Toolkit. -## -## $QT_BEGIN_LICENSE:LGPL$ -## Commercial License Usage -## Licensees holding valid commercial Qt licenses may use this file in -## accordance with the commercial license agreement provided with the -## Software or, alternatively, in accordance with the terms contained in -## a written agreement between you and The Qt Company. For licensing terms -## and conditions see https://www.qt.io/terms-conditions. For further -## information use the contact form at https://www.qt.io/contact-us. -## -## GNU Lesser General Public License Usage -## Alternatively, this file may be used under the terms of the GNU Lesser -## General Public License version 3 as published by the Free Software -## Foundation and appearing in the file LICENSE.LGPL3 included in the -## packaging of this file. Please review the following information to -## ensure the GNU Lesser General Public License version 3 requirements -## will be met: https://www.gnu.org/licenses/lgpl-3.0.html. -## -## GNU General Public License Usage -## Alternatively, this file may be used under the terms of the GNU -## General Public License version 2.0 or (at your option) the GNU General -## Public license version 3 or any later version approved by the KDE Free -## Qt Foundation. The licenses are as published by the Free Software -## Foundation and appearing in the file LICENSE.GPL2 and LICENSE.GPL3 -## included in the packaging of this file. Please review the following -## information to ensure the GNU General Public License requirements will -## be met: https://www.gnu.org/licenses/gpl-2.0.html and -## https://www.gnu.org/licenses/gpl-3.0.html. -## -## $QT_END_LICENSE$ -## -############################################################################# - -# This script installs XZ-Utils - -# XZ-Utils are needed for uncompressing xz-compressed files - -# pkg was self builded. -# wget https://downloads.sourceforge.net/project/lzmautils/xz-5.2.5.tar.gz -# tar -xzf xz-5.2.5.tar.gz -C /tmp -# cd /tmp/xz-5.2.5 -# ./configure -# make -# ./configure prefix=/tmp/destination_root -# make install -# cd /tmp -# pkgbuild --root destination_root --identifier io.qt.xz.pkg xz-arm64.pkg - -set -ex - -# shellcheck source=../common/macos/InstallPKGFromURL.sh -source "${BASH_SOURCE%/*}/../common/macos/InstallPKGFromURL.sh" -PrimaryUrl="http://ci-files01-hki.intra.qt.io/input/mac/macos_11.0_big_sur_arm/xz-arm64.pkg" -# SourceUrl="https://tukaani.org/xz/xz-5.2.5.tar.gz" - -SHA1="1afc327965d4af33399ae28f22c4b8e5a9e98dc2" -DestDir="/" - -InstallPKGFromURL "$PrimaryUrl" "$PrimaryUrl" "$SHA1" "$DestDir" - -echo "XZ = 5.2.5" >> ~/versions.txt diff --git a/coin/provisioning/qtci-macos-11.0-arm/20-java.sh b/coin/provisioning/qtci-macos-11.0-arm/20-java.sh deleted file mode 100755 index a6f3330c..00000000 --- a/coin/provisioning/qtci-macos-11.0-arm/20-java.sh +++ /dev/null @@ -1,5 +0,0 @@ -#!/usr/bin/env bash -set -ex - -BASEDIR=$(dirname "$0") -"$BASEDIR/../common/macos/java_arm.sh" diff --git a/coin/provisioning/qtci-macos-11.0-arm/20-xcode.sh b/coin/provisioning/qtci-macos-11.0-arm/20-xcode.sh deleted file mode 100755 index 878ce325..00000000 --- a/coin/provisioning/qtci-macos-11.0-arm/20-xcode.sh +++ /dev/null @@ -1,59 +0,0 @@ -#!/usr/bin/env bash - -############################################################################# -## -## Copyright (C) 2021 The Qt Company Ltd. -## Contact: https://www.qt.io/licensing/ -## -## This file is part of the provisioning scripts of the Qt Toolkit. -## -## $QT_BEGIN_LICENSE:LGPL$ -## Commercial License Usage -## Licensees holding valid commercial Qt licenses may use this file in -## accordance with the commercial license agreement provided with the -## Software or, alternatively, in accordance with the terms contained in -## a written agreement between you and The Qt Company. For licensing terms -## and conditions see https://www.qt.io/terms-conditions. For further -## information use the contact form at https://www.qt.io/contact-us. -## -## GNU Lesser General Public License Usage -## Alternatively, this file may be used under the terms of the GNU Lesser -## General Public License version 3 as published by the Free Software -## Foundation and appearing in the file LICENSE.LGPL3 included in the -## packaging of this file. Please review the following information to -## ensure the GNU Lesser General Public License version 3 requirements -## will be met: https://www.gnu.org/licenses/lgpl-3.0.html. -## -## GNU General Public License Usage -## Alternatively, this file may be used under the terms of the GNU -## General Public License version 2.0 or (at your option) the GNU General -## Public license version 3 or any later version approved by the KDE Free -## Qt Foundation. The licenses are as published by the Free Software -## Foundation and appearing in the file LICENSE.GPL2 and LICENSE.GPL3 -## included in the packaging of this file. Please review the following -## information to ensure the GNU General Public License requirements will -## be met: https://www.gnu.org/licenses/gpl-2.0.html and -## https://www.gnu.org/licenses/gpl-3.0.html. -## -## $QT_END_LICENSE$ -## -############################################################################# - -# This script installs Xcode -# Prerequisites: Have Xcode prefetched to local cache as xz compressed. -# This can be achieved by fetching Xcode_9.xip from Apple Store. -# Uncompress it with 'xar -xf Xcode_9.xip' -# Then get https://gist.githubusercontent.com/pudquick/ff412bcb29c9c1fa4b8d/raw/24b25538ea8df8d0634a2a6189aa581ccc6a5b4b/parse_pbzx2.py -# with which you can run 'python parse_pbzx2.py Content'. -# This will give you five files called "Content.part<00..05>.cpio.xz". -# Extract those that have the extension .xz with xz. -# "cat" together all the content files "cat file1, file2, file3, file4, file5 >file_new" -# Compress the new file with xz back to something like Xcode_9.xz -# Upload the file to temporary storage for this script to use. - -set -ex - -# shellcheck source=../common/macos/install_xcode.sh -source "${BASH_SOURCE%/*}/../common/macos/install_xcode.sh" - -InstallXCode /net/ci-files01-hki.intra.qt.io/hdd/www/input/mac/Xcode_13.2.xip 13.2 diff --git a/coin/provisioning/qtci-macos-11.0-arm/21-install-commandlinetools.sh b/coin/provisioning/qtci-macos-11.0-arm/21-install-commandlinetools.sh deleted file mode 100755 index c50c1406..00000000 --- a/coin/provisioning/qtci-macos-11.0-arm/21-install-commandlinetools.sh +++ /dev/null @@ -1,51 +0,0 @@ -#!/usr/bin/env bash - -############################################################################# -## -## Copyright (C) 2021 The Qt Company Ltd. -## Contact: https://www.qt.io/licensing/ -## -## This file is part of the provisioning scripts of the Qt Toolkit. -## -## $QT_BEGIN_LICENSE:LGPL$ -## Commercial License Usage -## Licensees holding valid commercial Qt licenses may use this file in -## accordance with the commercial license agreement provided with the -## Software or, alternatively, in accordance with the terms contained in -## a written agreement between you and The Qt Company. For licensing terms -## and conditions see https://www.qt.io/terms-conditions. For further -## information use the contact form at https://www.qt.io/contact-us. -## -## GNU Lesser General Public License Usage -## Alternatively, this file may be used under the terms of the GNU Lesser -## General Public License version 3 as published by the Free Software -## Foundation and appearing in the file LICENSE.LGPL3 included in the -## packaging of this file. Please review the following information to -## ensure the GNU Lesser General Public License version 3 requirements -## will be met: https://www.gnu.org/licenses/lgpl-3.0.html. -## -## GNU General Public License Usage -## Alternatively, this file may be used under the terms of the GNU -## General Public License version 2.0 or (at your option) the GNU General -## Public license version 3 or any later version approved by the KDE Free -## Qt Foundation. The licenses are as published by the Free Software -## Foundation and appearing in the file LICENSE.GPL2 and LICENSE.GPL3 -## included in the packaging of this file. Please review the following -## information to ensure the GNU General Public License requirements will -## be met: https://www.gnu.org/licenses/gpl-2.0.html and -## https://www.gnu.org/licenses/gpl-3.0.html. -## -## $QT_END_LICENSE$ -## -############################################################################# - -set -ex - -# shellcheck source=../common/macos/install-commandlinetools.sh -source "${BASH_SOURCE%/*}/../common/macos/install-commandlinetools.sh" -version="13.2" -packageName="Command_Line_Tools_for_Xcode_$version.dmg" -url="http://ci-files01-hki.intra.qt.io/input/mac/$packageName" -sha1="b3a0b597435cfbc5c09ad5772cf7313c87032252" - -InstallCommandLineTools $url $url $sha1 $packageName $version diff --git a/coin/provisioning/qtci-macos-11.0-arm/25-cmake.sh b/coin/provisioning/qtci-macos-11.0-arm/25-cmake.sh deleted file mode 100755 index 4f4d405e..00000000 --- a/coin/provisioning/qtci-macos-11.0-arm/25-cmake.sh +++ /dev/null @@ -1,6 +0,0 @@ -#!/usr/bin/env bash - -set -ex - -BASEDIR=$(dirname "$0") -"$BASEDIR/../common/macos/cmake.sh" diff --git a/coin/provisioning/qtci-macos-11.0-arm/25-homebrew.sh b/coin/provisioning/qtci-macos-11.0-arm/25-homebrew.sh deleted file mode 100755 index c29c76f6..00000000 --- a/coin/provisioning/qtci-macos-11.0-arm/25-homebrew.sh +++ /dev/null @@ -1,67 +0,0 @@ -#!/usr/bin/env bash - -############################################################################# -## -## Copyright (C) 2021 The Qt Company Ltd. -## Contact: https://www.qt.io/licensing/ -## -## This file is part of the provisioning scripts of the Qt Toolkit. -## -## $QT_BEGIN_LICENSE:LGPL$ -## Commercial License Usage -## Licensees holding valid commercial Qt licenses may use this file in -## accordance with the commercial license agreement provided with the -## Software or, alternatively, in accordance with the terms contained in -## a written agreement between you and The Qt Company. For licensing terms -## and conditions see https://www.qt.io/terms-conditions. For further -## information use the contact form at https://www.qt.io/contact-us. -## -## GNU Lesser General Public License Usage -## Alternatively, this file may be used under the terms of the GNU Lesser -## General Public License version 3 as published by the Free Software -## Foundation and appearing in the file LICENSE.LGPL3 included in the -## packaging of this file. Please review the following information to -## ensure the GNU Lesser General Public License version 3 requirements -## will be met: https://www.gnu.org/licenses/lgpl-3.0.html. -## -## GNU General Public License Usage -## Alternatively, this file may be used under the terms of the GNU -## General Public License version 2.0 or (at your option) the GNU General -## Public license version 3 or any later version approved by the KDE Free -## Qt Foundation. The licenses are as published by the Free Software -## Foundation and appearing in the file LICENSE.GPL2 and LICENSE.GPL3 -## included in the packaging of this file. Please review the following -## information to ensure the GNU General Public License requirements will -## be met: https://www.gnu.org/licenses/gpl-2.0.html and -## https://www.gnu.org/licenses/gpl-3.0.html. -## -## $QT_END_LICENSE$ -## -############################################################################# - -# Will install homebrew package manager for macOS. -# WARNING: Requires commandlinetools - - -set -e - -. "$(dirname "$0")"/../common/unix/DownloadURL.sh -. "$(dirname "$0")"/../common/unix/SetEnvVar.sh - - -DownloadURL \ - http://ci-files01-hki.intra.qt.io/input/mac/homebrew/a822f0d0f1838c07e86b356fcd2bf93c7a11c2aa/install.sh \ - https://raw.githubusercontent.com/Homebrew/install/c744a716f9845988d01e6e238eee7117b8c366c9/install \ - 3210da71e12a699ab3bba43910a6d5fc64b92000 \ - /tmp/homebrew_install.sh - -DownloadURL "http://ci-files01-hki.intra.qt.io/input/semisecure/sign/pw" "http://ci-files01-hki.intra.qt.io/input/semisecure/sign/pw" "aae58d00d0a1b179a09f21cfc67f9d16fb95ff36" "/Users/qt/pw" -{ pw=$(cat "/Users/qt/pw"); } 2> /dev/null -sudo chmod 755 /tmp/homebrew_install.sh -{ (echo $pw | /tmp/homebrew_install.sh); } 2> /dev/null -rm -f "/Users/qt/pw" - -# No need to manually do `brew update`, the homebrew installer script does it. -### brew update - -SetEnvVar "PATH" "\$PATH:/opt/homebrew/bin" diff --git a/coin/provisioning/qtci-macos-11.0-arm/25-mysql.sh b/coin/provisioning/qtci-macos-11.0-arm/25-mysql.sh deleted file mode 100755 index d113c4cb..00000000 --- a/coin/provisioning/qtci-macos-11.0-arm/25-mysql.sh +++ /dev/null @@ -1,64 +0,0 @@ -#!/usr/bin/env bash - -############################################################################# -## -## Copyright (C) 2020 The Qt Company Ltd. -## Contact: https://www.qt.io/licensing/ -## -## This file is part of the provisioning scripts of the Qt Toolkit. -## -## $QT_BEGIN_LICENSE:LGPL$ -## Commercial License Usage -## Licensees holding valid commercial Qt licenses may use this file in -## accordance with the commercial license agreement provided with the -## Software or, alternatively, in accordance with the terms contained in -## a written agreement between you and The Qt Company. For licensing terms -## and conditions see https://www.qt.io/terms-conditions. For further -## information use the contact form at https://www.qt.io/contact-us. -## -## GNU Lesser General Public License Usage -## Alternatively, this file may be used under the terms of the GNU Lesser -## General Public License version 3 as published by the Free Software -## Foundation and appearing in the file LICENSE.LGPL3 included in the -## packaging of this file. Please review the following information to -## ensure the GNU Lesser General Public License version 3 requirements -## will be met: https://www.gnu.org/licenses/lgpl-3.0.html. -## -## GNU General Public License Usage -## Alternatively, this file may be used under the terms of the GNU -## General Public License version 2.0 or (at your option) the GNU General -## Public license version 3 or any later version approved by the KDE Free -## Qt Foundation. The licenses are as published by the Free Software -## Foundation and appearing in the file LICENSE.GPL2 and LICENSE.GPL3 -## included in the packaging of this file. Please review the following -## information to ensure the GNU General Public License requirements will -## be met: https://www.gnu.org/licenses/gpl-2.0.html and -## https://www.gnu.org/licenses/gpl-3.0.html. -## -## $QT_END_LICENSE$ -## -############################################################################# - -# This script installs MySQL - -# MySQL is needed for Qt to be able to support MySQL - -set -ex - -# shellcheck source=../common/macos/InstallAppFromCompressedFileFromURL.sh -source "${BASH_SOURCE%/*}/../common/macos/InstallAppFromCompressedFileFromURL.sh" -# shellcheck source=../common/unix/SetEnvVar.sh -source "${BASH_SOURCE%/*}/../common/unix/SetEnvVar.sh" - -PrimaryUrl="http://ci-files01-hki.intra.qt.io/input/mac/macos_10.12_sierra/mysql-5.7.15-osx10.11-x86_64.tar.gz" -AltUrl="https://dev.mysql.com/get/Downloads/MySQL-5.7/mysql-5.7.15-osx10.11-x86_64.tar.gz" -SHA1="07949bd42f350b0504a1536b8830b809b4a34fca" -appPrefix="" -targetDir="/opt/mysql57/" - -sudo mkdir -p "/opt" - -InstallAppFromCompressedFileFromURL "$PrimaryUrl" "$AltUrl" "$SHA1" "$appPrefix" "$targetDir" - -SetEnvVar "MYSQLBINPATH" "/opt/mysql57/bin" -echo "MySQL = 5.7.15" >> ~/versions.txt diff --git a/coin/provisioning/qtci-macos-11.0-arm/25-pip.sh b/coin/provisioning/qtci-macos-11.0-arm/25-pip.sh deleted file mode 100755 index 86db3e27..00000000 --- a/coin/provisioning/qtci-macos-11.0-arm/25-pip.sh +++ /dev/null @@ -1,6 +0,0 @@ -#!/usr/bin/env bash - -set -ex - -BASEDIR=$(dirname "$0") -"$BASEDIR/../common/macos/pip.sh" diff --git a/coin/provisioning/qtci-macos-11.0-arm/25-postgresql.sh b/coin/provisioning/qtci-macos-11.0-arm/25-postgresql.sh deleted file mode 100755 index db1f5236..00000000 --- a/coin/provisioning/qtci-macos-11.0-arm/25-postgresql.sh +++ /dev/null @@ -1,5 +0,0 @@ -#!/usr/bin/env bash -set -ex - -BASEDIR=$(dirname "$0") -"$BASEDIR/../common/macos/postgresql.sh" diff --git a/coin/provisioning/qtci-macos-11.0-arm/25-python2.sh b/coin/provisioning/qtci-macos-11.0-arm/25-python2.sh deleted file mode 100755 index da1ea956..00000000 --- a/coin/provisioning/qtci-macos-11.0-arm/25-python2.sh +++ /dev/null @@ -1,60 +0,0 @@ -#!/usr/bin/env bash - -############################################################################# -## -## Copyright (C) 2021 The Qt Company Ltd. -## Copyright (C) 2017 Pelagicore AG -## Contact: https://www.qt.io/licensing/ -## -## This file is part of the provisioning scripts of the Qt Toolkit. -## -## $QT_BEGIN_LICENSE:LGPL$ -## Commercial License Usage -## Licensees holding valid commercial Qt licenses may use this file in -## accordance with the commercial license agreement provided with the -## Software or, alternatively, in accordance with the terms contained in -## a written agreement between you and The Qt Company. For licensing terms -## and conditions see https://www.qt.io/terms-conditions. For further -## information use the contact form at https://www.qt.io/contact-us. -## -## GNU Lesser General Public License Usage -## Alternatively, this file may be used under the terms of the GNU Lesser -## General Public License version 3 as published by the Free Software -## Foundation and appearing in the file LICENSE.LGPL3 included in the -## packaging of this file. Please review the following information to -## ensure the GNU Lesser General Public License version 3 requirements -## will be met: https://www.gnu.org/licenses/lgpl-3.0.html. -## -## GNU General Public License Usage -## Alternatively, this file may be used under the terms of the GNU -## General Public License version 2.0 or (at your option) the GNU General -## Public license version 3 or any later version approved by the KDE Free -## Qt Foundation. The licenses are as published by the Free Software -## Foundation and appearing in the file LICENSE.GPL2 and LICENSE.GPL3 -## included in the packaging of this file. Please review the following -## information to ensure the GNU General Public License requirements will -## be met: https://www.gnu.org/licenses/gpl-2.0.html and -## https://www.gnu.org/licenses/gpl-3.0.html. -## -## $QT_END_LICENSE$ -## -############################################################################# -set -ex - -# This script installs python2 - -# shellcheck source=./InstallPKGFromURL.sh -source "${BASH_SOURCE%/*}/../common/macos/InstallPKGFromURL.sh" -# shellcheck source=../unix/SetEnvVar.sh -source "${BASH_SOURCE%/*}/../common/unix/SetEnvVar.sh" -# shellcheck source=./pip.sh -source "${BASH_SOURCE%/*}/../common/macos/pip.sh" - -InstallPip python2.7 - -/usr/local/bin/pip install virtualenv - -SetEnvVar "PATH" "/Library/Frameworks/Python.framework/Versions/2.7/bin/:\$PATH" - -echo "python2 = 2.7.16" >> ~/versions.txt - diff --git a/coin/provisioning/qtci-macos-11.0-arm/25-python3.sh b/coin/provisioning/qtci-macos-11.0-arm/25-python3.sh deleted file mode 100755 index edc87175..00000000 --- a/coin/provisioning/qtci-macos-11.0-arm/25-python3.sh +++ /dev/null @@ -1,63 +0,0 @@ -#!/usr/bin/env bash - -############################################################################# -## -## Copyright (C) 2021 The Qt Company Ltd. -## Copyright (C) 2017 Pelagicore AG -## Contact: https://www.qt.io/licensing/ -## -## This file is part of the provisioning scripts of the Qt Toolkit. -## -## $QT_BEGIN_LICENSE:LGPL$ -## Commercial License Usage -## Licensees holding valid commercial Qt licenses may use this file in -## accordance with the commercial license agreement provided with the -## Software or, alternatively, in accordance with the terms contained in -## a written agreement between you and The Qt Company. For licensing terms -## and conditions see https://www.qt.io/terms-conditions. For further -## information use the contact form at https://www.qt.io/contact-us. -## -## GNU Lesser General Public License Usage -## Alternatively, this file may be used under the terms of the GNU Lesser -## General Public License version 3 as published by the Free Software -## Foundation and appearing in the file LICENSE.LGPL3 included in the -## packaging of this file. Please review the following information to -## ensure the GNU Lesser General Public License version 3 requirements -## will be met: https://www.gnu.org/licenses/lgpl-3.0.html. -## -## GNU General Public License Usage -## Alternatively, this file may be used under the terms of the GNU -## General Public License version 2.0 or (at your option) the GNU General -## Public license version 3 or any later version approved by the KDE Free -## Qt Foundation. The licenses are as published by the Free Software -## Foundation and appearing in the file LICENSE.GPL2 and LICENSE.GPL3 -## included in the packaging of this file. Please review the following -## information to ensure the GNU General Public License requirements will -## be met: https://www.gnu.org/licenses/gpl-2.0.html and -## https://www.gnu.org/licenses/gpl-3.0.html. -## -## $QT_END_LICENSE$ -## -############################################################################# - -# This script installs python3 - -# shellcheck source=../unix/SetEnvVar.sh -source "${BASH_SOURCE%/*}/../common/unix/SetEnvVar.sh" - -brew install ${BASH_SOURCE%/*}/pyenv.rb - -pyenv install 3.9.7 - -/Users/qt/.pyenv/versions/3.9.7/bin/pip3 install --user install virtualenv wheel html5lib - -SetEnvVar "PYTHON3_PATH" "/Users/qt/.pyenv/versions/3.9.7/bin/" -SetEnvVar "PIP3_PATH" "/Users/qt/.pyenv/versions/3.9.7/bin/" -# Use 3.9 as a default python -SetEnvVar "PATH" "\$PYTHON3_PATH:\$PATH" - -# Install all needed packages in a special wheel cache directory -/Users/qt/.pyenv/versions/3.9.7/bin/pip3 wheel --wheel-dir $HOME/python3-wheels -r ${BASH_SOURCE%/*}/../common/shared/requirements.txt -SetEnvVar "PYTHON3_WHEEL_CACHE" "$HOME/python3-wheels" - -echo "python3 = 3.9.7" >> ~/versions.txt diff --git a/coin/provisioning/qtci-macos-11.0-arm/26-freetype.sh b/coin/provisioning/qtci-macos-11.0-arm/26-freetype.sh deleted file mode 100755 index 0faec4b4..00000000 --- a/coin/provisioning/qtci-macos-11.0-arm/26-freetype.sh +++ /dev/null @@ -1,5 +0,0 @@ -#!/usr/bin/env bash - -set -ex - -brew install freetype diff --git a/coin/provisioning/qtci-macos-11.0-arm/26-ninja.sh b/coin/provisioning/qtci-macos-11.0-arm/26-ninja.sh deleted file mode 100755 index 08428b2f..00000000 --- a/coin/provisioning/qtci-macos-11.0-arm/26-ninja.sh +++ /dev/null @@ -1,8 +0,0 @@ -#!/usr/bin/env bash - -set -ex - -# shellcheck source=../common/macos/ninja.sh -source "${BASH_SOURCE%/*}/../common/macos/ninja.sh" - - diff --git a/coin/provisioning/qtci-macos-11.0-arm/26-odbc.sh b/coin/provisioning/qtci-macos-11.0-arm/26-odbc.sh deleted file mode 100755 index 821c859f..00000000 --- a/coin/provisioning/qtci-macos-11.0-arm/26-odbc.sh +++ /dev/null @@ -1,7 +0,0 @@ -#!/usr/bin/env bash -# Install libiodbc - -set -ex - -BASEDIR=$(dirname "$0") -"$BASEDIR/../common/macos/libiodbc.sh" --with-universal diff --git a/coin/provisioning/qtci-macos-11.0-arm/26-p7zip.sh b/coin/provisioning/qtci-macos-11.0-arm/26-p7zip.sh deleted file mode 100755 index 15511332..00000000 --- a/coin/provisioning/qtci-macos-11.0-arm/26-p7zip.sh +++ /dev/null @@ -1,7 +0,0 @@ -#!/usr/bin/env bash -# Install 7z to be used from command line - -set -ex - -brew update -brew install p7zip diff --git a/coin/provisioning/qtci-macos-11.0-arm/26-pcre2.sh b/coin/provisioning/qtci-macos-11.0-arm/26-pcre2.sh deleted file mode 100755 index f8af516b..00000000 --- a/coin/provisioning/qtci-macos-11.0-arm/26-pcre2.sh +++ /dev/null @@ -1,5 +0,0 @@ -#!/usr/bin/env bash - -set -ex - -brew install pcre2 diff --git a/coin/provisioning/qtci-macos-11.0-arm/27-libclang.sh b/coin/provisioning/qtci-macos-11.0-arm/27-libclang.sh deleted file mode 100755 index aad628cb..00000000 --- a/coin/provisioning/qtci-macos-11.0-arm/27-libclang.sh +++ /dev/null @@ -1,7 +0,0 @@ -#!/usr/bin/env bash - -set -ex - -BASEDIR=$(dirname "$0") -# There is only one mac package and common script uses it as a default -"$BASEDIR/../common/unix/libclang.sh" diff --git a/coin/provisioning/qtci-macos-11.0-arm/28-libclang-v100-dyn.sh b/coin/provisioning/qtci-macos-11.0-arm/28-libclang-v100-dyn.sh deleted file mode 100755 index c9d6e93d..00000000 --- a/coin/provisioning/qtci-macos-11.0-arm/28-libclang-v100-dyn.sh +++ /dev/null @@ -1,6 +0,0 @@ -#!/usr/bin/env bash - -set -ex - -BASEDIR=$(dirname "$0") -"$BASEDIR/../common/unix/libclang-v100-dyn.sh" diff --git a/coin/provisioning/qtci-macos-11.0-arm/30-android.sh b/coin/provisioning/qtci-macos-11.0-arm/30-android.sh deleted file mode 100755 index d21e0854..00000000 --- a/coin/provisioning/qtci-macos-11.0-arm/30-android.sh +++ /dev/null @@ -1,99 +0,0 @@ -#!/usr/bin/env bash - -############################################################################# -## -## Copyright (C) 2020 The Qt Company Ltd. -## Contact: https://www.qt.io/licensing/ -## -## This file is part of the provisioning scripts of the Qt Toolkit. -## -## $QT_BEGIN_LICENSE:LGPL$ -## Commercial License Usage -## Licensees holding valid commercial Qt licenses may use this file in -## accordance with the commercial license agreement provided with the -## Software or, alternatively, in accordance with the terms contained in -## a written agreement between you and The Qt Company. For licensing terms -## and conditions see https://www.qt.io/terms-conditions. For further -## information use the contact form at https://www.qt.io/contact-us. -## -## GNU Lesser General Public License Usage -## Alternatively, this file may be used under the terms of the GNU Lesser -## General Public License version 3 as published by the Free Software -## Foundation and appearing in the file LICENSE.LGPL3 included in the -## packaging of this file. Please review the following information to -## ensure the GNU Lesser General Public License version 3 requirements -## will be met: https://www.gnu.org/licenses/lgpl-3.0.html. -## -## GNU General Public License Usage -## Alternatively, this file may be used under the terms of the GNU -## General Public License version 2.0 or (at your option) the GNU General -## Public license version 3 or any later version approved by the KDE Free -## Qt Foundation. The licenses are as published by the Free Software -## Foundation and appearing in the file LICENSE.GPL2 and LICENSE.GPL3 -## included in the packaging of this file. Please review the following -## information to ensure the GNU General Public License requirements will -## be met: https://www.gnu.org/licenses/gpl-2.0.html and -## https://www.gnu.org/licenses/gpl-3.0.html. -## -## $QT_END_LICENSE$ -## -############################################################################# - -# This script install Android sdk and ndk. - -# It also runs update for SDK API, latest SDK tools, latest platform-tools and build-tools version - -set -ex - -# shellcheck source=../common/unix/SetEnvVar.sh -source "${BASH_SOURCE%/*}/../common/unix/SetEnvVar.sh" - -targetFolder="/opt/android" -sdkTargetFolder="$targetFolder/sdk" - -basePath="/net/ci-files01-hki.intra.qt.io/hdd/www/input/android" - -toolsVersion="2.1" -# toolsFile dertermines tools version -toolsFile="commandlinetools-mac-6609375_latest.zip" - -ndkVersion="r21d" -ndkFile="android-ndk-$ndkVersion-darwin-x86_64.zip" -sdkBuildToolsVersion="28.0.3" -# this is compile sdk version -sdkApiLevel="android-28" - -toolsSourceFile="$basePath/$toolsFile" -ndkSourceFile="$basePath/$ndkFile" - -echo "Unzipping Android NDK to '$targetFolder'" -sudo unzip -q "$ndkSourceFile" -d "$targetFolder" -echo "Unzipping Android Tools to '$sdkTargetFolder'" -sudo unzip -q "$toolsSourceFile" -d "$sdkTargetFolder" - -echo "Changing ownership of Android files." -sudo chown -R qt:wheel "$targetFolder" - -# Run the following command under `eval` or `sh -c` so that the shell properly splits it -sdkmanager_no_progress_bar_cmd="tr '\r' '\n' | grep -v '^\[[ =]*\]'" - -sudo mkdir "$sdkTargetFolder/cmdline-tools" -sudo mv "$sdkTargetFolder/tools" "$sdkTargetFolder/cmdline-tools" - -echo "Running SDK manager for platforms;$sdkApiLevel, platform-tools and build-tools;$sdkBuildToolsVersion." -(echo "y"; echo "y") | "$sdkTargetFolder/cmdline-tools/tools/bin/sdkmanager" "--sdk_root=$sdkTargetFolder" \ - "platforms;$sdkApiLevel" "platform-tools" "build-tools;$sdkBuildToolsVersion" \ - | eval $sdkmanager_no_progress_bar_cmd - -echo "Checking the contents of Android SDK..." -ls -l "$sdkTargetFolder" - -SetEnvVar "ANDROID_SDK_ROOT" "$sdkTargetFolder" -SetEnvVar "ANDROID_NDK_ROOT" "$targetFolder/android-ndk-$ndkVersion" -SetEnvVar "ANDROID_NDK_HOST" "darwin-x86_64" -SetEnvVar "ANDROID_API_VERSION" "$sdkApiLevel" - -echo "Android SDK tools = $toolsVersion" >> ~/versions.txt -echo "Android SDK Build Tools = $sdkBuildToolsVersion" >> ~/versions.txt -echo "Android SDK API level = $sdkApiLevel" >> ~/versions.txt -echo "Android NDK = $ndkVersion" >> ~/versions.txt diff --git a/coin/provisioning/qtci-macos-11.0-arm/30-fbx.sh b/coin/provisioning/qtci-macos-11.0-arm/30-fbx.sh deleted file mode 100755 index 34eefeb6..00000000 --- a/coin/provisioning/qtci-macos-11.0-arm/30-fbx.sh +++ /dev/null @@ -1,7 +0,0 @@ -#!/usr/bin/env bash - -set -ex - -BASEDIR=$(dirname "$0") -"$BASEDIR/../common/macos/fbx_macos.sh" - diff --git a/coin/provisioning/qtci-macos-11.0-arm/30-install-conan.sh b/coin/provisioning/qtci-macos-11.0-arm/30-install-conan.sh deleted file mode 100755 index ec54fa54..00000000 --- a/coin/provisioning/qtci-macos-11.0-arm/30-install-conan.sh +++ /dev/null @@ -1,6 +0,0 @@ -#!/usr/bin/env bash - -set -ex - -BASEDIR=$(dirname "$0") -"$BASEDIR/../common/unix/install-conan.sh" diff --git a/coin/provisioning/qtci-macos-11.0-arm/30-nodejs.sh b/coin/provisioning/qtci-macos-11.0-arm/30-nodejs.sh deleted file mode 100755 index ab992405..00000000 --- a/coin/provisioning/qtci-macos-11.0-arm/30-nodejs.sh +++ /dev/null @@ -1,6 +0,0 @@ -#!/usr/bin/env bash - -set -ex - -brew install nodejs - diff --git a/coin/provisioning/qtci-macos-11.0-arm/35-install-breakpad.sh b/coin/provisioning/qtci-macos-11.0-arm/35-install-breakpad.sh deleted file mode 100755 index 74dd1579..00000000 --- a/coin/provisioning/qtci-macos-11.0-arm/35-install-breakpad.sh +++ /dev/null @@ -1,6 +0,0 @@ -#!/usr/bin/env bash - -set -ex - -# shellcheck source=../common/unix/install-breakpad.sh -source "${BASH_SOURCE%/*}/../common/unix/install-breakpad.sh" diff --git a/coin/provisioning/qtci-macos-11.0-arm/35-install_protobuff.sh b/coin/provisioning/qtci-macos-11.0-arm/35-install_protobuff.sh deleted file mode 100755 index 08c955e9..00000000 --- a/coin/provisioning/qtci-macos-11.0-arm/35-install_protobuff.sh +++ /dev/null @@ -1,46 +0,0 @@ -#!/usr/bin/env bash - -############################################################################# -## -## Copyright (C) 2020 The Qt Company Ltd. -## Contact: https://www.qt.io/licensing/ -## -## This file is part of the provisioning scripts of the Qt Toolkit. -## -## $QT_BEGIN_LICENSE:LGPL$ -## Commercial License Usage -## Licensees holding valid commercial Qt licenses may use this file in -## accordance with the commercial license agreement provided with the -## Software or, alternatively, in accordance with the terms contained in -## a written agreement between you and The Qt Company. For licensing terms -## and conditions see https://www.qt.io/terms-conditions. For further -## information use the contact form at https://www.qt.io/contact-us. -## -## GNU Lesser General Public License Usage -## Alternatively, this file may be used under the terms of the GNU Lesser -## General Public License version 3 as published by the Free Software -## Foundation and appearing in the file LICENSE.LGPL3 included in the -## packaging of this file. Please review the following information to -## ensure the GNU Lesser General Public License version 3 requirements -## will be met: https://www.gnu.org/licenses/lgpl-3.0.html. -## -## GNU General Public License Usage -## Alternatively, this file may be used under the terms of the GNU -## General Public License version 2.0 or (at your option) the GNU General -## Public license version 3 or any later version approved by the KDE Free -## Qt Foundation. The licenses are as published by the Free Software -## Foundation and appearing in the file LICENSE.GPL2 and LICENSE.GPL3 -## included in the packaging of this file. Please review the following -## information to ensure the GNU General Public License requirements will -## be met: https://www.gnu.org/licenses/gpl-2.0.html and -## https://www.gnu.org/licenses/gpl-3.0.html. -## -## $QT_END_LICENSE$ -## -############################################################################# - -set -ex - -# shellcheck source=../common/unix/install_protobuff.sh -source "${BASH_SOURCE%/*}/../common/unix/install_protobuff.sh" - diff --git a/coin/provisioning/qtci-macos-11.0-arm/35-openssl.sh b/coin/provisioning/qtci-macos-11.0-arm/35-openssl.sh deleted file mode 100755 index 57a86c47..00000000 --- a/coin/provisioning/qtci-macos-11.0-arm/35-openssl.sh +++ /dev/null @@ -1,7 +0,0 @@ -#!/usr/bin/env bash - -set -ex - -# shellcheck source=../common/macos/install_openssl.sh -source "${BASH_SOURCE%/*}/../common/unix/install-openssl.sh" "macos" - diff --git a/coin/provisioning/qtci-macos-11.0-arm/36-emsdk.sh b/coin/provisioning/qtci-macos-11.0-arm/36-emsdk.sh deleted file mode 100755 index 7396d336..00000000 --- a/coin/provisioning/qtci-macos-11.0-arm/36-emsdk.sh +++ /dev/null @@ -1,6 +0,0 @@ -#!/usr/bin/env bash - -set -ex - -# shellcheck source=../common/unix/emsdk.sh -source "${BASH_SOURCE%/*}/../common/unix/emsdk.sh" diff --git a/coin/provisioning/qtci-macos-11.0-arm/40-qnx700.sh b/coin/provisioning/qtci-macos-11.0-arm/40-qnx700.sh deleted file mode 100755 index 712e72c9..00000000 --- a/coin/provisioning/qtci-macos-11.0-arm/40-qnx700.sh +++ /dev/null @@ -1,62 +0,0 @@ -#!/bin/bash - -############################################################################# -## -## Copyright (C) 2020 The Qt Company Ltd. -## Contact: https://www.qt.io/licensing/ -## -## This file is part of the provisioning scripts of the Qt Toolkit. -## -## $QT_BEGIN_LICENSE:LGPL$ -## Commercial License Usage -## Licensees holding valid commercial Qt licenses may use this file in -## accordance with the commercial license agreement provided with the -## Software or, alternatively, in accordance with the terms contained in -## a written agreement between you and The Qt Company. For licensing terms -## and conditions see https://www.qt.io/terms-conditions. For further -## information use the contact form at https://www.qt.io/contact-us. -## -## GNU Lesser General Public License Usage -## Alternatively, this file may be used under the terms of the GNU Lesser -## General Public License version 3 as published by the Free Software -## Foundation and appearing in the file LICENSE.LGPL3 included in the -## packaging of this file. Please review the following information to -## ensure the GNU Lesser General Public License version 3 requirements -## will be met: https://www.gnu.org/licenses/lgpl-3.0.html. -## -## GNU General Public License Usage -## Alternatively, this file may be used under the terms of the GNU -## General Public License version 2.0 or (at your option) the GNU General -## Public license version 3 or any later version approved by the KDE Free -## Qt Foundation. The licenses are as published by the Free Software -## Foundation and appearing in the file LICENSE.GPL2 and LICENSE.GPL3 -## included in the packaging of this file. Please review the following -## information to ensure the GNU General Public License requirements will -## be met: https://www.gnu.org/licenses/gpl-2.0.html and -## https://www.gnu.org/licenses/gpl-3.0.html. -## -## $QT_END_LICENSE$ -## -############################################################################# - -# This script installs QNX 7. - -targetFolder="/opt/" -sourceFile="/net/ci-files01-hki.intra.qt.io/hdd/www/input/qnx/qnx700-20190325-2-macos.tar.xz" -folderName="qnx700" - -sudo mkdir -p "$targetFolder" - -echo "Extracting QNX 7" -sudo tar -C "$targetFolder" -Jxf $sourceFile - -sudo chown -R qt:wheel "$targetFolder"/"$folderName" - -# Verify that we have last file in zip -if [ ! -f $targetFolder/$folderName/qnxsdp-env.sh ]; then - exit 1 -fi - -# Set env variables -echo "export QNX_700=$targetFolder/$folderName" >> ~/.bashrc -echo "QNX SDP = 7.0.0" >> ~/versions.txt diff --git a/coin/provisioning/qtci-macos-11.0-arm/55-signtools.sh b/coin/provisioning/qtci-macos-11.0-arm/55-signtools.sh deleted file mode 100755 index c543b8ac..00000000 --- a/coin/provisioning/qtci-macos-11.0-arm/55-signtools.sh +++ /dev/null @@ -1,144 +0,0 @@ -#!/usr/bin/env sh - -############################################################################# -## -## Copyright (C) 2020 The Qt Company Ltd. -## Contact: https://www.qt.io/licensing/ -## -## This file is part of the provisioning scripts of the Qt Toolkit. -## -## $QT_BEGIN_LICENSE:LGPL$ -## Commercial License Usage -## Licensees holding valid commercial Qt licenses may use this file in -## accordance with the commercial license agreement provided with the -## Software or, alternatively, in accordance with the terms contained in -## a written agreement between you and The Qt Company. For licensing terms -## and conditions see https://www.qt.io/terms-conditions. For further -## information use the contact form at https://www.qt.io/contact-us. -## -## GNU Lesser General Public License Usage -## Alternatively, this file may be used under the terms of the GNU Lesser -## General Public License version 3 as published by the Free Software -## Foundation and appearing in the file LICENSE.LGPL3 included in the -## packaging of this file. Please review the following information to -## ensure the GNU Lesser General Public License version 3 requirements -## will be met: https://www.gnu.org/licenses/lgpl-3.0.html. -## -## GNU General Public License Usage -## Alternatively, this file may be used under the terms of the GNU -## General Public License version 2.0 or (at your option) the GNU General -## Public license version 3 or any later version approved by the KDE Free -## Qt Foundation. The licenses are as published by the Free Software -## Foundation and appearing in the file LICENSE.GPL2 and LICENSE.GPL3 -## included in the packaging of this file. Please review the following -## information to ensure the GNU General Public License requirements will -## be met: https://www.gnu.org/licenses/gpl-2.0.html and -## https://www.gnu.org/licenses/gpl-3.0.html. -## -## $QT_END_LICENSE$ -## -############################################################################# - -# Install tools for singing packages -# This script assume that OS is vanilla. Target machine dosen't have any signing certificates installed. - -set -ex - -cache="http://ci-files01-hki.intra.qt.io/input" -cacheSigningTools="$cache/mac/sign_tools" -targetFolder="/Users/qt" -keychains="$targetFolder/Library/Keychains" - -Install() { - - url=$1 - targetFile=$2 - expectedSha1=$3 - - echo "Fetching $targetFile from $url..." - curl --retry 5 --retry-delay 10 --retry-max-time 60 "$url" -o "$targetFile" - shasum "$targetFile" |grep "$expectedSha1" - -} - -# qt-license -sha1QtLicense="9d59241d16f68d914f1c7aa1dc23e05faa169e8d" -Install "$cache/semisecure/.qt-license" "$targetFolder/.qt-license" $sha1QtLicense - -# Login keychain -sha1LoginKeychainPassword="aae58d00d0a1b179a09f21cfc67f9d16fb95ff36" -Install "$cacheSigningTools/login_keychain_password.txt" "$targetFolder/login_keychain_password.txt" "$sha1LoginKeychainPassword" -{ loginKeychainPassword=$(cat "$targetFolder/login_keychain_password.txt"); } 2> /dev/null -loginKeychain=$keychains/login.keychain - -echo "Setting login.keychain as default keychain.." -security default-keychain -s $loginKeychain* -echo "Unlocking Login keychain with password.." -{ security unlock-keychain -p "$loginKeychainPassword" $loginKeychain*; } 2> /dev/null - -echo "remove the "Lock after X minutes of inactivity" from login.keychain" -security set-keychain-settings $loginKeychain - -# Apple Worldwide Developer Relations Certification Authority -> https://developer.apple.com/certificationauthority/AppleWWDRCA.cer -sha1AppleWWDRCA="ff6797793a3cd798dc5b2abef56f73edc9f83a64" -Install "$cacheSigningTools/AppleWWDRCA.cer" "$targetFolder/AppleWWDRCA.cer" $sha1AppleWWDRCA -sudo security add-certificates -k $loginKeychain* "$targetFolder/AppleWWDRCA.cer" - -# Developer ID Certification Authority -> https://www.apple.com/certificateauthority/DeveloperIDCA.cer -sha1DeveloperIDCA="3b166c3b7dc4b751c9fe2afab9135641e388e186" -Install "$cacheSigningTools/DeveloperIDCA.cer" "$targetFolder/DeveloperIDCA.cer" $sha1DeveloperIDCA -sudo security add-certificates -k $loginKeychain* "$targetFolder/DeveloperIDCA.cer" - -# Create script to unlock keychain 'security unlock-keychain -p 'password' Developer_ID_TheQtCompany.keychain' -sha1UnLockKeychain="4398870e3f558ad28c80566b5f70e24dc29ea724" -unlockKeychain=$targetFolder/unlock-keychain.sh -{ Install "$cacheSigningTools/unlock-keychain.sh" "$unlockKeychain" $sha1UnLockKeychain; } 2> /dev/null -sudo chmod 755 "$unlockKeychain" - -# Codesigning requirements file. The bundle identifier in the requirements file should match the identifier of the application that is signed. -shaCsreq="2c3f00b1845a0f475673fd6934ba25ea51d1f910" -csreq=$targetFolder/csreq_qt_company.txt -Install "$cacheSigningTools/csreq_qt_company.txt" "$csreq" $shaCsreq -chmod 755 "$csreq" - -# iOS signing tools -devIDKeychain="Developer_ID_TheQtCompany.keychain-db" -shaDevIdKeychain="972cca1879cdaeeb6042f9879756c748a8d1eddc" -Install "$cacheSigningTools/$devIDKeychain" "$keychains/$devIDKeychain" $shaDevIdKeychain -echo "Opening $devIDKeychain.." -open "$keychains/$devIDKeychain" - -sha1DeveloperIDTheQtCompanyKeychainPassword="d758e067736bbda7a91ffaec66cd38afdaf68ea6" -Install "$cacheSigningTools/Developer_ID_TheQtCompany_keychain_password.txt" "$targetFolder/Developer_ID_TheQtCompany_keychain_password.txt" "$sha1DeveloperIDTheQtCompanyKeychainPassword" -{ DeveloperIDTheQtCompanyKeychainPassword=$(cat "$targetFolder/Developer_ID_TheQtCompany_keychain_password.txt"); } 2> /dev/null - -echo "Unlocking $devIDKeychain with password.." -{ security unlock-keychain -p "$DeveloperIDTheQtCompanyKeychainPassword" $keychains/Developer_ID_TheQtCompany.keychain; } 2> /dev/null -security set-keychain-settings $keychains/Developer_ID_TheQtCompany.keychain - -sha1Ios="aae58d00d0a1b179a09f21cfc67f9d16fb95ff36" -{ Install "$cacheSigningTools/ios_password.txt" "$targetFolder/ios_password.txt" $sha1Ios; } 2> /dev/null -{ iosPassword=$(cat "$targetFolder/ios_password.txt"); } 2> /dev/null - -iPhoneDeveloper="iPhoneDeveloperCiTeam2020.p12" -shaIPhoneDeveloper="73136e44fed850f398e85908e4a73f20a6bdd8a2" -Install "$cacheSigningTools/latest_ios_cert_2020/$iPhoneDeveloper" "$targetFolder/$iPhoneDeveloper" $shaIPhoneDeveloper -echo "Importing $iPhoneDeveloper.." -{ security import $targetFolder/$iPhoneDeveloper -k $loginKeychain* -P "$iosPassword" -T /usr/bin/codesign; } 2> /dev/null - -iPhoneDistribution="iPhoneDistributionCiTeam2020.p12" -shaIPhoneDistribution="36215c3cbc6bfee48e86aafbd53c56282fe36d8d" -Install "$cacheSigningTools/latest_ios_cert_2020/$iPhoneDistribution" "$targetFolder/$iPhoneDistribution" $shaIPhoneDistribution -echo "Importing $iPhoneDistribution.." -{ security import "$targetFolder/$iPhoneDistribution" -k $loginKeychain* -P "$iosPassword" -T /usr/bin/codesign; } 2> /dev/null - -# Mobileprovision -echo "Creating directory $targetFolder/Library/MobileDevice/Provisioning Profiles.." -mkdir "$targetFolder/Library/MobileDevice" -mkdir "$targetFolder/Library/MobileDevice/Provisioning Profiles" -shaMobileprovision="ec9697276253ca7bf4401912236f0e6fde4214da" -Install "$cacheSigningTools/latest_ios_cert_2020/iOS_Dev_2020_citeam.mobileprovision" "$targetFolder/Library/MobileDevice/Provisioning Profiles/iOS_Dev_2020_citeam.mobileprovision" $shaMobileprovision - -# Removing password files -rm -fr "$targetFolder/login_keychain_password.txt" - diff --git a/coin/provisioning/qtci-macos-11.0-arm/80-screenresolution.sh b/coin/provisioning/qtci-macos-11.0-arm/80-screenresolution.sh deleted file mode 100755 index 920c579c..00000000 --- a/coin/provisioning/qtci-macos-11.0-arm/80-screenresolution.sh +++ /dev/null @@ -1,4 +0,0 @@ -#!/bin/sh - -"$(dirname "$0")"/../common/macos/screenresolution.sh - diff --git a/coin/provisioning/qtci-macos-11.0-arm/81-bluetooth.sh b/coin/provisioning/qtci-macos-11.0-arm/81-bluetooth.sh deleted file mode 100755 index e08aca4e..00000000 --- a/coin/provisioning/qtci-macos-11.0-arm/81-bluetooth.sh +++ /dev/null @@ -1,8 +0,0 @@ -#!/usr/bin/env bash - -set -ex - -brew install blueutil - -#Disable Bluetooth -blueutil -p 0 diff --git a/coin/provisioning/qtci-macos-11.0-arm/97-set-locale.sh b/coin/provisioning/qtci-macos-11.0-arm/97-set-locale.sh deleted file mode 100755 index e34b7381..00000000 --- a/coin/provisioning/qtci-macos-11.0-arm/97-set-locale.sh +++ /dev/null @@ -1,6 +0,0 @@ -#!/usr/bin/env bash - -set -ex - -BASEDIR=$(dirname "$0") -$BASEDIR/../common/macos/set-locale.sh diff --git a/coin/provisioning/qtci-macos-11.0-arm/99-mac-version.sh b/coin/provisioning/qtci-macos-11.0-arm/99-mac-version.sh deleted file mode 100755 index 99d94150..00000000 --- a/coin/provisioning/qtci-macos-11.0-arm/99-mac-version.sh +++ /dev/null @@ -1,6 +0,0 @@ -#!/usr/bin/env bash - -set -ex - -BASEDIR=$(dirname "$0") -$BASEDIR/../common/macos/macos-version.sh diff --git a/coin/provisioning/qtci-macos-11.0-arm/pyenv.rb b/coin/provisioning/qtci-macos-11.0-arm/pyenv.rb deleted file mode 100644 index 8e981111..00000000 --- a/coin/provisioning/qtci-macos-11.0-arm/pyenv.rb +++ /dev/null @@ -1,82 +0,0 @@ -class Pyenv < Formula - desc "Python version management" - homepage "https://github.com/pyenv/pyenv" - url "https://github.com/pyenv/pyenv/archive/v2.2.0.tar.gz" - sha256 "ef62a5d0a0d582b38497ae8d24a2a417d4a21c42811123c08082541a7092825d" - license "MIT" - version_scheme 1 - head "https://github.com/pyenv/pyenv.git", branch: "master" - - livecheck do - url :stable - strategy :github_latest - end - - bottle do - sha256 cellar: :any, arm64_monterey: "1d326dcae6327e1a62a8026e80665a0d995eec0d26c27f417ef34a9b75a2e2a7" - sha256 cellar: :any, arm64_big_sur: "38f17626731a50f95ce1ad71495de2d260706a1420a19f2f29e7c935525c8c01" - sha256 cellar: :any, monterey: "b02075ca6820755aee0956795c7decbfac56562ba66fec06bea193116cef5de6" - sha256 cellar: :any, big_sur: "880bf4a355cc3da07562b82bac1bf7d0f4bcde6c613f5ea691f50d4e013b1bf8" - sha256 cellar: :any, catalina: "5f7f283d3029f6293a52fc5449cf6aae8be5976f605318c9afa300be3e7d88f8" - sha256 cellar: :any_skip_relocation, x86_64_linux: "fb8949a118e2b8012383fe822148778944d24fe7eab36655fad6e1f1d506e2ad" - end - - depends_on "autoconf" - depends_on "openssl@1.1" - depends_on "pkg-config" - depends_on "readline" - - uses_from_macos "bzip2" - uses_from_macos "libffi" - uses_from_macos "ncurses" - uses_from_macos "xz" - uses_from_macos "zlib" - - on_linux do - depends_on "python@3.10" => :test - end - - def install - inreplace "libexec/pyenv", "/usr/local", HOMEBREW_PREFIX - inreplace "libexec/pyenv-rehash", "$(command -v pyenv)", opt_bin/"pyenv" - inreplace "pyenv.d/rehash/source.bash", "$(command -v pyenv)", opt_bin/"pyenv" - - system "src/configure" - system "make", "-C", "src" - - prefix.install Dir["*"] - %w[pyenv-install pyenv-uninstall python-build].each do |cmd| - bin.install_symlink "#{prefix}/plugins/python-build/bin/#{cmd}" - end - - share.install prefix/"man" - - # Do not manually install shell completions. See: - # - https://github.com/pyenv/pyenv/issues/1056#issuecomment-356818337 - # - https://github.com/Homebrew/homebrew-core/pull/22727 - end - - test do - # Create a fake python version and executable. - pyenv_root = Pathname(shell_output("pyenv root").strip) - python_bin = pyenv_root/"versions/1.2.3/bin" - foo_script = python_bin/"foo" - foo_script.write "echo hello" - chmod "+x", foo_script - - # Test versions. - versions = shell_output("eval \"$(#{bin}/pyenv init --path)\" " \ - "&& eval \"$(#{bin}/pyenv init -)\" " \ - "&& pyenv versions").split("\n") - assert_equal 2, versions.length - assert_match(/\* system/, versions[0]) - assert_equal(" 1.2.3", versions[1]) - - # Test rehash. - system "pyenv", "rehash" - refute_match "Cellar", (pyenv_root/"shims/foo").read - assert_equal "hello", shell_output("eval \"$(#{bin}/pyenv init --path)\" " \ - "&& eval \"$(#{bin}/pyenv init -)\" " \ - "&& PYENV_VERSION='1.2.3' foo").chomp - end -end diff --git a/coin/provisioning/qtci-macos-11.0-x86_64/01-sha1sum-compatibility.sh b/coin/provisioning/qtci-macos-11.0-x86_64/01-sha1sum-compatibility.sh deleted file mode 100755 index cf0611cd..00000000 --- a/coin/provisioning/qtci-macos-11.0-x86_64/01-sha1sum-compatibility.sh +++ /dev/null @@ -1,47 +0,0 @@ -#!/usr/bin/env bash - -############################################################################# -## -## Copyright (C) 2020 The Qt Company Ltd. -## Contact: https://www.qt.io/licensing/ -## -## This file is part of the provisioning scripts of the Qt Toolkit. -## -## $QT_BEGIN_LICENSE:LGPL$ -## Commercial License Usage -## Licensees holding valid commercial Qt licenses may use this file in -## accordance with the commercial license agreement provided with the -## Software or, alternatively, in accordance with the terms contained in -## a written agreement between you and The Qt Company. For licensing terms -## and conditions see https://www.qt.io/terms-conditions. For further -## information use the contact form at https://www.qt.io/contact-us. -## -## GNU Lesser General Public License Usage -## Alternatively, this file may be used under the terms of the GNU Lesser -## General Public License version 3 as published by the Free Software -## Foundation and appearing in the file LICENSE.LGPL3 included in the -## packaging of this file. Please review the following information to -## ensure the GNU Lesser General Public License version 3 requirements -## will be met: https://www.gnu.org/licenses/lgpl-3.0.html. -## -## GNU General Public License Usage -## Alternatively, this file may be used under the terms of the GNU -## General Public License version 2.0 or (at your option) the GNU General -## Public license version 3 or any later version approved by the KDE Free -## Qt Foundation. The licenses are as published by the Free Software -## Foundation and appearing in the file LICENSE.GPL2 and LICENSE.GPL3 -## included in the packaging of this file. Please review the following -## information to ensure the GNU General Public License requirements will -## be met: https://www.gnu.org/licenses/gpl-2.0.html and -## https://www.gnu.org/licenses/gpl-3.0.html. -## -## $QT_END_LICENSE$ -## -############################################################################# - -#!/usr/bin/env bash - -set -ex - -# shellcheck source=../common/macos/sha1sum-compatibility.sh -source "${BASH_SOURCE%/*}/../common/macos/sha1sum-compatibility.sh" diff --git a/coin/provisioning/qtci-macos-11.0-x86_64/03-bashprofile.sh b/coin/provisioning/qtci-macos-11.0-x86_64/03-bashprofile.sh deleted file mode 100755 index 2c3e45f3..00000000 --- a/coin/provisioning/qtci-macos-11.0-x86_64/03-bashprofile.sh +++ /dev/null @@ -1,7 +0,0 @@ -#!/usr/bin/env sh - -set -ex - -# Read .bashrc if exist -printf -- "# Get the aliases and functions\nif [ -f ~/.bashrc ]; then\n . ~/.bashrc\nfi\n" >> ~/.bash_profile - diff --git a/coin/provisioning/qtci-macos-11.0-x86_64/05-systemsetup.sh b/coin/provisioning/qtci-macos-11.0-x86_64/05-systemsetup.sh deleted file mode 100755 index 99e22d40..00000000 --- a/coin/provisioning/qtci-macos-11.0-x86_64/05-systemsetup.sh +++ /dev/null @@ -1,117 +0,0 @@ -#!/usr/bin/env bash - -############################################################################# -## -## Copyright (C) 2021 The Qt Company Ltd. -## Contact: https://www.qt.io/licensing/ -## -## This file is part of the provisioning scripts of the Qt Toolkit. -## -## $QT_BEGIN_LICENSE:LGPL$ -## Commercial License Usage -## Licensees holding valid commercial Qt licenses may use this file in -## accordance with the commercial license agreement provided with the -## Software or, alternatively, in accordance with the terms contained in -## a written agreement between you and The Qt Company. For licensing terms -## and conditions see https://www.qt.io/terms-conditions. For further -## information use the contact form at https://www.qt.io/contact-us. -## -## GNU Lesser General Public License Usage -## Alternatively, this file may be used under the terms of the GNU Lesser -## General Public License version 3 as published by the Free Software -## Foundation and appearing in the file LICENSE.LGPL3 included in the -## packaging of this file. Please review the following information to -## ensure the GNU Lesser General Public License version 3 requirements -## will be met: https://www.gnu.org/licenses/lgpl-3.0.html. -## -## GNU General Public License Usage -## Alternatively, this file may be used under the terms of the GNU -## General Public License version 2.0 or (at your option) the GNU General -## Public license version 3 or any later version approved by the KDE Free -## Qt Foundation. The licenses are as published by the Free Software -## Foundation and appearing in the file LICENSE.GPL2 and LICENSE.GPL3 -## included in the packaging of this file. Please review the following -## information to ensure the GNU General Public License requirements will -## be met: https://www.gnu.org/licenses/gpl-2.0.html and -## https://www.gnu.org/licenses/gpl-3.0.html. -## -## $QT_END_LICENSE$ -## -############################################################################# - -set -ex - -# This script modified system settings for automated use - -targetFile="$HOME/vncpw.txt" - -# Fetch password -curl --retry 5 --retry-delay 10 --retry-max-time 60 "http://ci-files01-hki.intra.qt.io/input/semisecure/vncpw.txt" -o "$targetFile" -shasum "$targetFile" |grep "a795fccaa8f277e62ec08e6056c544b8b63924a0" - -{ VNCPassword=$(cat "$targetFile"); } 2> /dev/null -NTS_IP=10.212.2.216 - -echo "Disable Screensaver" -# For current session -defaults -currentHost write com.apple.screensaver idleTime 0 - -echo "Disable sleep" -sudo pmset sleep 0 displaysleep 0 - -# For session after a reboot -mkdir -p "$HOME/Library/LaunchAgents" -sudo tee -a "$HOME/Library/LaunchAgents/no-screensaver.plist" <<EOT -<?xml version="1.0" encoding="UTF-8"?> -<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd"> - -<plist version="1.0"> - <dict> - <key>Label</key> - <string>org.qt.io.screensaver_disable</string> - <key>ProgramArguments</key> - <array> - <string>defaults</string> - <string>-currentHost</string> - <string>write</string> - <string>com.apple.screensaver</string> - <string>idleTime</string> - <string>0</string> - </array> - <key>RunAtLoad</key> - <true/> - <key>KeepAlive</key> - <false/> - </dict> -</plist> -EOT - -defaults write com.apple.screensaver askForPassword -int 0 - -echo "Set keyboard type rates and delays" -# normal minimum is 15 (225 ms) -defaults write -g InitialKeyRepeat -int 15 -# normal minimum is 2 (30 ms) -defaults write -g KeyRepeat -int 2 - -set +x -echo "Enable remote desktop sharing" -sudo /System/Library/CoreServices/RemoteManagement/ARDAgent.app/Contents/Resources/kickstart -activate -configure -access -on -clientopts -setvnclegacy -vnclegacy yes -clientopts -setvncpw -vncpw $VNCPassword -restart -agent -privs -all -set -x - -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 - -sudo systemsetup settimezone GMT -sudo systemsetup setusingnetworktime off -sudo rm -f "$targetFile" - -# Enable automount for nfs shares -sudo sed -i'.orig' -e 's:^#/net:/net:' -e 's:hidefromfinder,nosuid:hidefromfinder,nosuid,locallocks,nocallback:' /etc/auto_master -sudo automount -cv - -# Disable multicast advertisements -sudo defaults write /Library/Preferences/com.apple.mDNSResponder.plist NoMulticastAdvertisements -bool true - -# Enable Use keyboard navigation to move focus between controls -defaults write -g AppleKeyboardUIMode -int 2 diff --git a/coin/provisioning/qtci-macos-11.0-x86_64/06-crashreporter.sh b/coin/provisioning/qtci-macos-11.0-x86_64/06-crashreporter.sh deleted file mode 100755 index 8461c656..00000000 --- a/coin/provisioning/qtci-macos-11.0-x86_64/06-crashreporter.sh +++ /dev/null @@ -1,5 +0,0 @@ -#!/usr/bin/env sh - -set -ex - -defaults write com.apple.CrashReporter DialogType server diff --git a/coin/provisioning/qtci-macos-11.0-x86_64/06-disable_spotlight.sh b/coin/provisioning/qtci-macos-11.0-x86_64/06-disable_spotlight.sh deleted file mode 100755 index 67e2c1f6..00000000 --- a/coin/provisioning/qtci-macos-11.0-x86_64/06-disable_spotlight.sh +++ /dev/null @@ -1,5 +0,0 @@ -#!/usr/bin/env bash -set -ex - -# shellcheck source=../common/macos/disable_spotlight.sh -source "${BASH_SOURCE%/*}/../common/macos/disable_spotlight.sh" diff --git a/coin/provisioning/qtci-macos-11.0-x86_64/06-disable_update_downloads.sh b/coin/provisioning/qtci-macos-11.0-x86_64/06-disable_update_downloads.sh deleted file mode 100755 index 3c11214d..00000000 --- a/coin/provisioning/qtci-macos-11.0-x86_64/06-disable_update_downloads.sh +++ /dev/null @@ -1,4 +0,0 @@ -#!/usr/bin/env bash -set -ex -BASEDIR=$(dirname "$0") -"$BASEDIR"/../common/macos/disable_update_downloads.sh diff --git a/coin/provisioning/qtci-macos-11.0-x86_64/07-SSL_keychain.sh b/coin/provisioning/qtci-macos-11.0-x86_64/07-SSL_keychain.sh deleted file mode 100755 index 6e7c796a..00000000 --- a/coin/provisioning/qtci-macos-11.0-x86_64/07-SSL_keychain.sh +++ /dev/null @@ -1,9 +0,0 @@ -#!/usr/bin/env sh - -set -ex - -# shellcheck source=../common/unix/SetEnvVar.sh -source "${BASH_SOURCE%/*}/../common/unix/SetEnvVar.sh" - -# Enables the usage of temporary keychains for SSL autotests -SetEnvVar "QT_SSL_USE_TEMPORARY_KEYCHAIN" "1" diff --git a/coin/provisioning/qtci-macos-11.0-x86_64/15-xz.sh b/coin/provisioning/qtci-macos-11.0-x86_64/15-xz.sh deleted file mode 100755 index c2f6e73f..00000000 --- a/coin/provisioning/qtci-macos-11.0-x86_64/15-xz.sh +++ /dev/null @@ -1,58 +0,0 @@ -#!/usr/bin/env bash - -############################################################################# -## -## Copyright (C) 2020 The Qt Company Ltd. -## Contact: https://www.qt.io/licensing/ -## -## This file is part of the provisioning scripts of the Qt Toolkit. -## -## $QT_BEGIN_LICENSE:LGPL$ -## Commercial License Usage -## Licensees holding valid commercial Qt licenses may use this file in -## accordance with the commercial license agreement provided with the -## Software or, alternatively, in accordance with the terms contained in -## a written agreement between you and The Qt Company. For licensing terms -## and conditions see https://www.qt.io/terms-conditions. For further -## information use the contact form at https://www.qt.io/contact-us. -## -## GNU Lesser General Public License Usage -## Alternatively, this file may be used under the terms of the GNU Lesser -## General Public License version 3 as published by the Free Software -## Foundation and appearing in the file LICENSE.LGPL3 included in the -## packaging of this file. Please review the following information to -## ensure the GNU Lesser General Public License version 3 requirements -## will be met: https://www.gnu.org/licenses/lgpl-3.0.html. -## -## GNU General Public License Usage -## Alternatively, this file may be used under the terms of the GNU -## General Public License version 2.0 or (at your option) the GNU General -## Public license version 3 or any later version approved by the KDE Free -## Qt Foundation. The licenses are as published by the Free Software -## Foundation and appearing in the file LICENSE.GPL2 and LICENSE.GPL3 -## included in the packaging of this file. Please review the following -## information to ensure the GNU General Public License requirements will -## be met: https://www.gnu.org/licenses/gpl-2.0.html and -## https://www.gnu.org/licenses/gpl-3.0.html. -## -## $QT_END_LICENSE$ -## -############################################################################# - -# This script installs XZ-Utils - -# XZ-Utils are needed for uncompressing xz-compressed files - -set -ex - -# shellcheck source=../common/macos/InstallPKGFromURL.sh -source "${BASH_SOURCE%/*}/../common/macos/InstallPKGFromURL.sh" - -PrimaryUrl="http://ci-files01-hki.intra.qt.io/input/mac/macos_10.12_sierra/XZ.pkg" -AltUrl="http://sourceforge.net/projects/macpkg/files/XZ/5.0.7/XZ.pkg" -SHA1="f0c1f82ebcffe0bd4b8b57b6a77805db56b2de67" -DestDir="/" - -InstallPKGFromURL "$PrimaryUrl" "$AltUrl" "$SHA1" "$DestDir" - -echo "XZ = 5.0.7" >> ~/versions.txt diff --git a/coin/provisioning/qtci-macos-11.0-x86_64/20-java.sh b/coin/provisioning/qtci-macos-11.0-x86_64/20-java.sh deleted file mode 100755 index dcfcb93b..00000000 --- a/coin/provisioning/qtci-macos-11.0-x86_64/20-java.sh +++ /dev/null @@ -1,5 +0,0 @@ -#!/usr/bin/env bash -set -ex - -BASEDIR=$(dirname "$0") -"$BASEDIR/../common/macos/java.sh" diff --git a/coin/provisioning/qtci-macos-11.0-x86_64/20-xcode.sh b/coin/provisioning/qtci-macos-11.0-x86_64/20-xcode.sh deleted file mode 100755 index 88ba7f36..00000000 --- a/coin/provisioning/qtci-macos-11.0-x86_64/20-xcode.sh +++ /dev/null @@ -1,59 +0,0 @@ -#!/usr/bin/env bash - -############################################################################# -## -## Copyright (C) 2021 The Qt Company Ltd. -## Contact: https://www.qt.io/licensing/ -## -## This file is part of the provisioning scripts of the Qt Toolkit. -## -## $QT_BEGIN_LICENSE:LGPL$ -## Commercial License Usage -## Licensees holding valid commercial Qt licenses may use this file in -## accordance with the commercial license agreement provided with the -## Software or, alternatively, in accordance with the terms contained in -## a written agreement between you and The Qt Company. For licensing terms -## and conditions see https://www.qt.io/terms-conditions. For further -## information use the contact form at https://www.qt.io/contact-us. -## -## GNU Lesser General Public License Usage -## Alternatively, this file may be used under the terms of the GNU Lesser -## General Public License version 3 as published by the Free Software -## Foundation and appearing in the file LICENSE.LGPL3 included in the -## packaging of this file. Please review the following information to -## ensure the GNU Lesser General Public License version 3 requirements -## will be met: https://www.gnu.org/licenses/lgpl-3.0.html. -## -## GNU General Public License Usage -## Alternatively, this file may be used under the terms of the GNU -## General Public License version 2.0 or (at your option) the GNU General -## Public license version 3 or any later version approved by the KDE Free -## Qt Foundation. The licenses are as published by the Free Software -## Foundation and appearing in the file LICENSE.GPL2 and LICENSE.GPL3 -## included in the packaging of this file. Please review the following -## information to ensure the GNU General Public License requirements will -## be met: https://www.gnu.org/licenses/gpl-2.0.html and -## https://www.gnu.org/licenses/gpl-3.0.html. -## -## $QT_END_LICENSE$ -## -############################################################################# - -# This script installs Xcode -# Prerequisites: Have Xcode prefetched to local cache as xz compressed. -# This can be achieved by fetching Xcode_9.xip from Apple Store. -# Uncompress it with 'xar -xf Xcode_9.xip' -# Then get https://gist.githubusercontent.com/pudquick/ff412bcb29c9c1fa4b8d/raw/24b25538ea8df8d0634a2a6189aa581ccc6a5b4b/parse_pbzx2.py -# with which you can run 'python parse_pbzx2.py Content'. -# This will give you five files called "Content.part<00..05>.cpio.xz". -# Extract those that have the extension .xz with xz. -# "cat" together all the content files "cat file1, file2, file3, file4, file5 >file_new" -# Compress the new file with xz back to something like Xcode_9.xz -# Upload the file to temporary storage for this script to use. - -set -ex - -# shellcheck source=../common/macos/install_xcode.sh -source "${BASH_SOURCE%/*}/../common/macos/install_xcode.sh" - -InstallXCode /net/ci-files01-hki.intra.qt.io/hdd/www/input/mac/Xcode_12.5.1.xip 12.5.1 diff --git a/coin/provisioning/qtci-macos-11.0-x86_64/21-install-commandlinetools.sh b/coin/provisioning/qtci-macos-11.0-x86_64/21-install-commandlinetools.sh deleted file mode 100755 index 7e1152d1..00000000 --- a/coin/provisioning/qtci-macos-11.0-x86_64/21-install-commandlinetools.sh +++ /dev/null @@ -1,52 +0,0 @@ -#!/usr/bin/env bash - -############################################################################# -## -## Copyright (C) 2021 The Qt Company Ltd. -## Contact: https://www.qt.io/licensing/ -## -## This file is part of the provisioning scripts of the Qt Toolkit. -## -## $QT_BEGIN_LICENSE:LGPL$ -## Commercial License Usage -## Licensees holding valid commercial Qt licenses may use this file in -## accordance with the commercial license agreement provided with the -## Software or, alternatively, in accordance with the terms contained in -## a written agreement between you and The Qt Company. For licensing terms -## and conditions see https://www.qt.io/terms-conditions. For further -## information use the contact form at https://www.qt.io/contact-us. -## -## GNU Lesser General Public License Usage -## Alternatively, this file may be used under the terms of the GNU Lesser -## General Public License version 3 as published by the Free Software -## Foundation and appearing in the file LICENSE.LGPL3 included in the -## packaging of this file. Please review the following information to -## ensure the GNU Lesser General Public License version 3 requirements -## will be met: https://www.gnu.org/licenses/lgpl-3.0.html. -## -## GNU General Public License Usage -## Alternatively, this file may be used under the terms of the GNU -## General Public License version 2.0 or (at your option) the GNU General -## Public license version 3 or any later version approved by the KDE Free -## Qt Foundation. The licenses are as published by the Free Software -## Foundation and appearing in the file LICENSE.GPL2 and LICENSE.GPL3 -## included in the packaging of this file. Please review the following -## information to ensure the GNU General Public License requirements will -## be met: https://www.gnu.org/licenses/gpl-2.0.html and -## https://www.gnu.org/licenses/gpl-3.0.html. -## -## $QT_END_LICENSE$ -## -############################################################################# - -set -ex - -# shellcheck source=../common/macos/install-commandlinetools.sh -source "${BASH_SOURCE%/*}/../common/macos/install-commandlinetools.sh" -version="12.5.1" -packageName="Command_Line_Tools_for_Xcode_$version.dmg" -url="http://ci-files01-hki.intra.qt.io/input/mac/$packageName" -sha1="eaf175f4c8854511a6e829f360eb3a7d59afa517" - -InstallCommandLineTools $url $url $sha1 $packageName $version - diff --git a/coin/provisioning/qtci-macos-11.0-x86_64/25-cmake.sh b/coin/provisioning/qtci-macos-11.0-x86_64/25-cmake.sh deleted file mode 100755 index 4f4d405e..00000000 --- a/coin/provisioning/qtci-macos-11.0-x86_64/25-cmake.sh +++ /dev/null @@ -1,6 +0,0 @@ -#!/usr/bin/env bash - -set -ex - -BASEDIR=$(dirname "$0") -"$BASEDIR/../common/macos/cmake.sh" diff --git a/coin/provisioning/qtci-macos-11.0-x86_64/25-homebrew.sh b/coin/provisioning/qtci-macos-11.0-x86_64/25-homebrew.sh deleted file mode 100755 index b177ab82..00000000 --- a/coin/provisioning/qtci-macos-11.0-x86_64/25-homebrew.sh +++ /dev/null @@ -1,65 +0,0 @@ -#!/usr/bin/env bash - -############################################################################# -## -## Copyright (C) 2021 The Qt Company Ltd. -## Contact: https://www.qt.io/licensing/ -## -## This file is part of the provisioning scripts of the Qt Toolkit. -## -## $QT_BEGIN_LICENSE:LGPL$ -## Commercial License Usage -## Licensees holding valid commercial Qt licenses may use this file in -## accordance with the commercial license agreement provided with the -## Software or, alternatively, in accordance with the terms contained in -## a written agreement between you and The Qt Company. For licensing terms -## and conditions see https://www.qt.io/terms-conditions. For further -## information use the contact form at https://www.qt.io/contact-us. -## -## GNU Lesser General Public License Usage -## Alternatively, this file may be used under the terms of the GNU Lesser -## General Public License version 3 as published by the Free Software -## Foundation and appearing in the file LICENSE.LGPL3 included in the -## packaging of this file. Please review the following information to -## ensure the GNU Lesser General Public License version 3 requirements -## will be met: https://www.gnu.org/licenses/lgpl-3.0.html. -## -## GNU General Public License Usage -## Alternatively, this file may be used under the terms of the GNU -## General Public License version 2.0 or (at your option) the GNU General -## Public license version 3 or any later version approved by the KDE Free -## Qt Foundation. The licenses are as published by the Free Software -## Foundation and appearing in the file LICENSE.GPL2 and LICENSE.GPL3 -## included in the packaging of this file. Please review the following -## information to ensure the GNU General Public License requirements will -## be met: https://www.gnu.org/licenses/gpl-2.0.html and -## https://www.gnu.org/licenses/gpl-3.0.html. -## -## $QT_END_LICENSE$ -## -############################################################################# - -# Will install homebrew package manager for macOS. -# WARNING: Requires commandlinetools - - -set -e - -. "$(dirname "$0")"/../common/unix/DownloadURL.sh - - -DownloadURL \ - http://ci-files01-hki.intra.qt.io/input/mac/homebrew/a822f0d0f1838c07e86b356fcd2bf93c7a11c2aa/install.sh \ - https://raw.githubusercontent.com/Homebrew/install/c744a716f9845988d01e6e238eee7117b8c366c9/install \ - 3210da71e12a699ab3bba43910a6d5fc64b92000 \ - /tmp/homebrew_install.sh - -DownloadURL "http://ci-files01-hki.intra.qt.io/input/semisecure/sign/pw" "http://ci-files01-hki.intra.qt.io/input/semisecure/sign/pw" "aae58d00d0a1b179a09f21cfc67f9d16fb95ff36" "/Users/qt/pw" -{ pw=$(cat "/Users/qt/pw"); } 2> /dev/null -sudo chmod 755 /tmp/homebrew_install.sh -{ (echo $pw | /tmp/homebrew_install.sh); } 2> /dev/null -rm -f "/Users/qt/pw" - -# No need to manually do `brew update`, the homebrew installer script does it. -### brew update - diff --git a/coin/provisioning/qtci-macos-11.0-x86_64/25-mysql.sh b/coin/provisioning/qtci-macos-11.0-x86_64/25-mysql.sh deleted file mode 100755 index d113c4cb..00000000 --- a/coin/provisioning/qtci-macos-11.0-x86_64/25-mysql.sh +++ /dev/null @@ -1,64 +0,0 @@ -#!/usr/bin/env bash - -############################################################################# -## -## Copyright (C) 2020 The Qt Company Ltd. -## Contact: https://www.qt.io/licensing/ -## -## This file is part of the provisioning scripts of the Qt Toolkit. -## -## $QT_BEGIN_LICENSE:LGPL$ -## Commercial License Usage -## Licensees holding valid commercial Qt licenses may use this file in -## accordance with the commercial license agreement provided with the -## Software or, alternatively, in accordance with the terms contained in -## a written agreement between you and The Qt Company. For licensing terms -## and conditions see https://www.qt.io/terms-conditions. For further -## information use the contact form at https://www.qt.io/contact-us. -## -## GNU Lesser General Public License Usage -## Alternatively, this file may be used under the terms of the GNU Lesser -## General Public License version 3 as published by the Free Software -## Foundation and appearing in the file LICENSE.LGPL3 included in the -## packaging of this file. Please review the following information to -## ensure the GNU Lesser General Public License version 3 requirements -## will be met: https://www.gnu.org/licenses/lgpl-3.0.html. -## -## GNU General Public License Usage -## Alternatively, this file may be used under the terms of the GNU -## General Public License version 2.0 or (at your option) the GNU General -## Public license version 3 or any later version approved by the KDE Free -## Qt Foundation. The licenses are as published by the Free Software -## Foundation and appearing in the file LICENSE.GPL2 and LICENSE.GPL3 -## included in the packaging of this file. Please review the following -## information to ensure the GNU General Public License requirements will -## be met: https://www.gnu.org/licenses/gpl-2.0.html and -## https://www.gnu.org/licenses/gpl-3.0.html. -## -## $QT_END_LICENSE$ -## -############################################################################# - -# This script installs MySQL - -# MySQL is needed for Qt to be able to support MySQL - -set -ex - -# shellcheck source=../common/macos/InstallAppFromCompressedFileFromURL.sh -source "${BASH_SOURCE%/*}/../common/macos/InstallAppFromCompressedFileFromURL.sh" -# shellcheck source=../common/unix/SetEnvVar.sh -source "${BASH_SOURCE%/*}/../common/unix/SetEnvVar.sh" - -PrimaryUrl="http://ci-files01-hki.intra.qt.io/input/mac/macos_10.12_sierra/mysql-5.7.15-osx10.11-x86_64.tar.gz" -AltUrl="https://dev.mysql.com/get/Downloads/MySQL-5.7/mysql-5.7.15-osx10.11-x86_64.tar.gz" -SHA1="07949bd42f350b0504a1536b8830b809b4a34fca" -appPrefix="" -targetDir="/opt/mysql57/" - -sudo mkdir -p "/opt" - -InstallAppFromCompressedFileFromURL "$PrimaryUrl" "$AltUrl" "$SHA1" "$appPrefix" "$targetDir" - -SetEnvVar "MYSQLBINPATH" "/opt/mysql57/bin" -echo "MySQL = 5.7.15" >> ~/versions.txt diff --git a/coin/provisioning/qtci-macos-11.0-x86_64/25-pip.sh b/coin/provisioning/qtci-macos-11.0-x86_64/25-pip.sh deleted file mode 100755 index 86db3e27..00000000 --- a/coin/provisioning/qtci-macos-11.0-x86_64/25-pip.sh +++ /dev/null @@ -1,6 +0,0 @@ -#!/usr/bin/env bash - -set -ex - -BASEDIR=$(dirname "$0") -"$BASEDIR/../common/macos/pip.sh" diff --git a/coin/provisioning/qtci-macos-11.0-x86_64/25-postgresql.sh b/coin/provisioning/qtci-macos-11.0-x86_64/25-postgresql.sh deleted file mode 100755 index db1f5236..00000000 --- a/coin/provisioning/qtci-macos-11.0-x86_64/25-postgresql.sh +++ /dev/null @@ -1,5 +0,0 @@ -#!/usr/bin/env bash -set -ex - -BASEDIR=$(dirname "$0") -"$BASEDIR/../common/macos/postgresql.sh" diff --git a/coin/provisioning/qtci-macos-11.0-x86_64/25-python2.sh b/coin/provisioning/qtci-macos-11.0-x86_64/25-python2.sh deleted file mode 100755 index 7ebb8825..00000000 --- a/coin/provisioning/qtci-macos-11.0-x86_64/25-python2.sh +++ /dev/null @@ -1,5 +0,0 @@ -#!/usr/bin/env bash -set -ex - -# shellcheck source=../common/macos/python2.sh -source "${BASH_SOURCE%/*}/../common/macos/python2.sh" diff --git a/coin/provisioning/qtci-macos-11.0-x86_64/25-python3.sh b/coin/provisioning/qtci-macos-11.0-x86_64/25-python3.sh deleted file mode 100755 index eb2a4863..00000000 --- a/coin/provisioning/qtci-macos-11.0-x86_64/25-python3.sh +++ /dev/null @@ -1,5 +0,0 @@ -#!/usr/bin/env bash -set -ex - -# shellcheck source=../common/macos/python3.sh -source "${BASH_SOURCE%/*}/../common/macos/python3.sh" diff --git a/coin/provisioning/qtci-macos-11.0-x86_64/26-freetype.sh b/coin/provisioning/qtci-macos-11.0-x86_64/26-freetype.sh deleted file mode 100755 index 0faec4b4..00000000 --- a/coin/provisioning/qtci-macos-11.0-x86_64/26-freetype.sh +++ /dev/null @@ -1,5 +0,0 @@ -#!/usr/bin/env bash - -set -ex - -brew install freetype diff --git a/coin/provisioning/qtci-macos-11.0-x86_64/26-ninja.sh b/coin/provisioning/qtci-macos-11.0-x86_64/26-ninja.sh deleted file mode 100755 index 08428b2f..00000000 --- a/coin/provisioning/qtci-macos-11.0-x86_64/26-ninja.sh +++ /dev/null @@ -1,8 +0,0 @@ -#!/usr/bin/env bash - -set -ex - -# shellcheck source=../common/macos/ninja.sh -source "${BASH_SOURCE%/*}/../common/macos/ninja.sh" - - diff --git a/coin/provisioning/qtci-macos-11.0-x86_64/26-odbc.sh b/coin/provisioning/qtci-macos-11.0-x86_64/26-odbc.sh deleted file mode 100755 index 821c859f..00000000 --- a/coin/provisioning/qtci-macos-11.0-x86_64/26-odbc.sh +++ /dev/null @@ -1,7 +0,0 @@ -#!/usr/bin/env bash -# Install libiodbc - -set -ex - -BASEDIR=$(dirname "$0") -"$BASEDIR/../common/macos/libiodbc.sh" --with-universal diff --git a/coin/provisioning/qtci-macos-11.0-x86_64/26-p7zip.sh b/coin/provisioning/qtci-macos-11.0-x86_64/26-p7zip.sh deleted file mode 100755 index 15511332..00000000 --- a/coin/provisioning/qtci-macos-11.0-x86_64/26-p7zip.sh +++ /dev/null @@ -1,7 +0,0 @@ -#!/usr/bin/env bash -# Install 7z to be used from command line - -set -ex - -brew update -brew install p7zip diff --git a/coin/provisioning/qtci-macos-11.0-x86_64/26-pcre2.sh b/coin/provisioning/qtci-macos-11.0-x86_64/26-pcre2.sh deleted file mode 100755 index f8af516b..00000000 --- a/coin/provisioning/qtci-macos-11.0-x86_64/26-pcre2.sh +++ /dev/null @@ -1,5 +0,0 @@ -#!/usr/bin/env bash - -set -ex - -brew install pcre2 diff --git a/coin/provisioning/qtci-macos-11.0-x86_64/27-libclang.sh b/coin/provisioning/qtci-macos-11.0-x86_64/27-libclang.sh deleted file mode 100755 index aad628cb..00000000 --- a/coin/provisioning/qtci-macos-11.0-x86_64/27-libclang.sh +++ /dev/null @@ -1,7 +0,0 @@ -#!/usr/bin/env bash - -set -ex - -BASEDIR=$(dirname "$0") -# There is only one mac package and common script uses it as a default -"$BASEDIR/../common/unix/libclang.sh" diff --git a/coin/provisioning/qtci-macos-11.0-x86_64/28-libclang-v100-dyn.sh b/coin/provisioning/qtci-macos-11.0-x86_64/28-libclang-v100-dyn.sh deleted file mode 100755 index c9d6e93d..00000000 --- a/coin/provisioning/qtci-macos-11.0-x86_64/28-libclang-v100-dyn.sh +++ /dev/null @@ -1,6 +0,0 @@ -#!/usr/bin/env bash - -set -ex - -BASEDIR=$(dirname "$0") -"$BASEDIR/../common/unix/libclang-v100-dyn.sh" diff --git a/coin/provisioning/qtci-macos-11.0-x86_64/29-libusb.sh b/coin/provisioning/qtci-macos-11.0-x86_64/29-libusb.sh deleted file mode 100755 index c58274b6..00000000 --- a/coin/provisioning/qtci-macos-11.0-x86_64/29-libusb.sh +++ /dev/null @@ -1,7 +0,0 @@ -#!/usr/bin/env bash - -set -ex - -BASEDIR=$(dirname "$0") - -"$BASEDIR/../common/macos/libusb.sh" diff --git a/coin/provisioning/qtci-macos-11.0-x86_64/30-android.sh b/coin/provisioning/qtci-macos-11.0-x86_64/30-android.sh deleted file mode 100755 index 5bd87fa7..00000000 --- a/coin/provisioning/qtci-macos-11.0-x86_64/30-android.sh +++ /dev/null @@ -1,99 +0,0 @@ -#!/usr/bin/env bash - -############################################################################# -## -## Copyright (C) 2020 The Qt Company Ltd. -## Contact: https://www.qt.io/licensing/ -## -## This file is part of the provisioning scripts of the Qt Toolkit. -## -## $QT_BEGIN_LICENSE:LGPL$ -## Commercial License Usage -## Licensees holding valid commercial Qt licenses may use this file in -## accordance with the commercial license agreement provided with the -## Software or, alternatively, in accordance with the terms contained in -## a written agreement between you and The Qt Company. For licensing terms -## and conditions see https://www.qt.io/terms-conditions. For further -## information use the contact form at https://www.qt.io/contact-us. -## -## GNU Lesser General Public License Usage -## Alternatively, this file may be used under the terms of the GNU Lesser -## General Public License version 3 as published by the Free Software -## Foundation and appearing in the file LICENSE.LGPL3 included in the -## packaging of this file. Please review the following information to -## ensure the GNU Lesser General Public License version 3 requirements -## will be met: https://www.gnu.org/licenses/lgpl-3.0.html. -## -## GNU General Public License Usage -## Alternatively, this file may be used under the terms of the GNU -## General Public License version 2.0 or (at your option) the GNU General -## Public license version 3 or any later version approved by the KDE Free -## Qt Foundation. The licenses are as published by the Free Software -## Foundation and appearing in the file LICENSE.GPL2 and LICENSE.GPL3 -## included in the packaging of this file. Please review the following -## information to ensure the GNU General Public License requirements will -## be met: https://www.gnu.org/licenses/gpl-2.0.html and -## https://www.gnu.org/licenses/gpl-3.0.html. -## -## $QT_END_LICENSE$ -## -############################################################################# - -# This script install Android sdk and ndk. - -# It also runs update for SDK API, latest SDK tools, latest platform-tools and build-tools version - -set -ex - -# shellcheck source=../common/unix/SetEnvVar.sh -source "${BASH_SOURCE%/*}/../common/unix/SetEnvVar.sh" - -targetFolder="/opt/android" -sdkTargetFolder="$targetFolder/sdk" - -basePath="/net/ci-files01-hki.intra.qt.io/hdd/www/input/android" - -toolsVersion="2.1" -# toolsFile dertermines tools version -toolsFile="commandlinetools-mac-6609375_latest.zip" - -ndkVersion="r22b" -ndkFile="android-ndk-$ndkVersion-darwin-x86_64.zip" -sdkBuildToolsVersion="31.0.0" -# this is compile sdk version -sdkApiLevel="android-31" - -toolsSourceFile="$basePath/$toolsFile" -ndkSourceFile="$basePath/$ndkFile" - -echo "Unzipping Android NDK to '$targetFolder'" -sudo unzip -q "$ndkSourceFile" -d "$targetFolder" -echo "Unzipping Android Tools to '$sdkTargetFolder'" -sudo unzip -q "$toolsSourceFile" -d "$sdkTargetFolder" - -echo "Changing ownership of Android files." -sudo chown -R qt:wheel "$targetFolder" - -# Run the following command under `eval` or `sh -c` so that the shell properly splits it -sdkmanager_no_progress_bar_cmd="tr '\r' '\n' | grep -v '^\[[ =]*\]'" - -sudo mkdir "$sdkTargetFolder/cmdline-tools" -sudo mv "$sdkTargetFolder/tools" "$sdkTargetFolder/cmdline-tools" - -echo "Running SDK manager for platforms;$sdkApiLevel, platform-tools and build-tools;$sdkBuildToolsVersion." -(echo "y"; echo "y") | "$sdkTargetFolder/cmdline-tools/tools/bin/sdkmanager" "--sdk_root=$sdkTargetFolder" \ - "platforms;$sdkApiLevel" "platform-tools" "build-tools;$sdkBuildToolsVersion" \ - | eval $sdkmanager_no_progress_bar_cmd - -echo "Checking the contents of Android SDK..." -ls -l "$sdkTargetFolder" - -SetEnvVar "ANDROID_SDK_ROOT" "$sdkTargetFolder" -SetEnvVar "ANDROID_NDK_ROOT" "$targetFolder/android-ndk-$ndkVersion" -SetEnvVar "ANDROID_NDK_HOST" "darwin-x86_64" -SetEnvVar "ANDROID_API_VERSION" "$sdkApiLevel" - -echo "Android SDK tools = $toolsVersion" >> ~/versions.txt -echo "Android SDK Build Tools = $sdkBuildToolsVersion" >> ~/versions.txt -echo "Android SDK API level = $sdkApiLevel" >> ~/versions.txt -echo "Android NDK = $ndkVersion" >> ~/versions.txt diff --git a/coin/provisioning/qtci-macos-11.0-x86_64/30-fbx.sh b/coin/provisioning/qtci-macos-11.0-x86_64/30-fbx.sh deleted file mode 100755 index 34eefeb6..00000000 --- a/coin/provisioning/qtci-macos-11.0-x86_64/30-fbx.sh +++ /dev/null @@ -1,7 +0,0 @@ -#!/usr/bin/env bash - -set -ex - -BASEDIR=$(dirname "$0") -"$BASEDIR/../common/macos/fbx_macos.sh" - diff --git a/coin/provisioning/qtci-macos-11.0-x86_64/30-install-conan.sh b/coin/provisioning/qtci-macos-11.0-x86_64/30-install-conan.sh deleted file mode 100755 index f1d084fd..00000000 --- a/coin/provisioning/qtci-macos-11.0-x86_64/30-install-conan.sh +++ /dev/null @@ -1,6 +0,0 @@ -#!/usr/bin/env bash - -set -ex - -BASEDIR=$(dirname "$0") -"$BASEDIR/../common/unix/install-conan.sh" "macos" diff --git a/coin/provisioning/qtci-macos-11.0-x86_64/30-nodejs.sh b/coin/provisioning/qtci-macos-11.0-x86_64/30-nodejs.sh deleted file mode 100755 index 3b88d526..00000000 --- a/coin/provisioning/qtci-macos-11.0-x86_64/30-nodejs.sh +++ /dev/null @@ -1,5 +0,0 @@ -#!/usr/bin/env bash -set -ex - -BASEDIR=$(dirname "$0") -"$BASEDIR/../common/macos/nodejs.sh" diff --git a/coin/provisioning/qtci-macos-11.0-x86_64/35-install-breakpad.sh b/coin/provisioning/qtci-macos-11.0-x86_64/35-install-breakpad.sh deleted file mode 100755 index 74dd1579..00000000 --- a/coin/provisioning/qtci-macos-11.0-x86_64/35-install-breakpad.sh +++ /dev/null @@ -1,6 +0,0 @@ -#!/usr/bin/env bash - -set -ex - -# shellcheck source=../common/unix/install-breakpad.sh -source "${BASH_SOURCE%/*}/../common/unix/install-breakpad.sh" diff --git a/coin/provisioning/qtci-macos-11.0-x86_64/35-install_protobuff.sh b/coin/provisioning/qtci-macos-11.0-x86_64/35-install_protobuff.sh deleted file mode 100755 index 08c955e9..00000000 --- a/coin/provisioning/qtci-macos-11.0-x86_64/35-install_protobuff.sh +++ /dev/null @@ -1,46 +0,0 @@ -#!/usr/bin/env bash - -############################################################################# -## -## Copyright (C) 2020 The Qt Company Ltd. -## Contact: https://www.qt.io/licensing/ -## -## This file is part of the provisioning scripts of the Qt Toolkit. -## -## $QT_BEGIN_LICENSE:LGPL$ -## Commercial License Usage -## Licensees holding valid commercial Qt licenses may use this file in -## accordance with the commercial license agreement provided with the -## Software or, alternatively, in accordance with the terms contained in -## a written agreement between you and The Qt Company. For licensing terms -## and conditions see https://www.qt.io/terms-conditions. For further -## information use the contact form at https://www.qt.io/contact-us. -## -## GNU Lesser General Public License Usage -## Alternatively, this file may be used under the terms of the GNU Lesser -## General Public License version 3 as published by the Free Software -## Foundation and appearing in the file LICENSE.LGPL3 included in the -## packaging of this file. Please review the following information to -## ensure the GNU Lesser General Public License version 3 requirements -## will be met: https://www.gnu.org/licenses/lgpl-3.0.html. -## -## GNU General Public License Usage -## Alternatively, this file may be used under the terms of the GNU -## General Public License version 2.0 or (at your option) the GNU General -## Public license version 3 or any later version approved by the KDE Free -## Qt Foundation. The licenses are as published by the Free Software -## Foundation and appearing in the file LICENSE.GPL2 and LICENSE.GPL3 -## included in the packaging of this file. Please review the following -## information to ensure the GNU General Public License requirements will -## be met: https://www.gnu.org/licenses/gpl-2.0.html and -## https://www.gnu.org/licenses/gpl-3.0.html. -## -## $QT_END_LICENSE$ -## -############################################################################# - -set -ex - -# shellcheck source=../common/unix/install_protobuff.sh -source "${BASH_SOURCE%/*}/../common/unix/install_protobuff.sh" - diff --git a/coin/provisioning/qtci-macos-11.0-x86_64/35-openssl.sh b/coin/provisioning/qtci-macos-11.0-x86_64/35-openssl.sh deleted file mode 100755 index 24d899a8..00000000 --- a/coin/provisioning/qtci-macos-11.0-x86_64/35-openssl.sh +++ /dev/null @@ -1,7 +0,0 @@ -#!/usr/bin/env bash - -set -ex - -# shellcheck source=../common/macos/install_openssl.sh -source "${BASH_SOURCE%/*}/../common/unix/install-openssl.sh" "macos-universal" - diff --git a/coin/provisioning/qtci-macos-11.0-x86_64/36-emsdk.sh b/coin/provisioning/qtci-macos-11.0-x86_64/36-emsdk.sh deleted file mode 100755 index 7396d336..00000000 --- a/coin/provisioning/qtci-macos-11.0-x86_64/36-emsdk.sh +++ /dev/null @@ -1,6 +0,0 @@ -#!/usr/bin/env bash - -set -ex - -# shellcheck source=../common/unix/emsdk.sh -source "${BASH_SOURCE%/*}/../common/unix/emsdk.sh" diff --git a/coin/provisioning/qtci-macos-11.0-x86_64/80-screenresolution.sh b/coin/provisioning/qtci-macos-11.0-x86_64/80-screenresolution.sh deleted file mode 100755 index 920c579c..00000000 --- a/coin/provisioning/qtci-macos-11.0-x86_64/80-screenresolution.sh +++ /dev/null @@ -1,4 +0,0 @@ -#!/bin/sh - -"$(dirname "$0")"/../common/macos/screenresolution.sh - diff --git a/coin/provisioning/qtci-macos-11.0-x86_64/81-bluetooth.sh b/coin/provisioning/qtci-macos-11.0-x86_64/81-bluetooth.sh deleted file mode 100755 index e08aca4e..00000000 --- a/coin/provisioning/qtci-macos-11.0-x86_64/81-bluetooth.sh +++ /dev/null @@ -1,8 +0,0 @@ -#!/usr/bin/env bash - -set -ex - -brew install blueutil - -#Disable Bluetooth -blueutil -p 0 diff --git a/coin/provisioning/qtci-macos-11.0-x86_64/90-squish.sh b/coin/provisioning/qtci-macos-11.0-x86_64/90-squish.sh deleted file mode 100755 index 17a0c38e..00000000 --- a/coin/provisioning/qtci-macos-11.0-x86_64/90-squish.sh +++ /dev/null @@ -1,6 +0,0 @@ -#!/usr/bin/env bash -set -ex - -BASEDIR=$(dirname "$0") -"$BASEDIR/../common/unix/squishInstall.sh" - diff --git a/coin/provisioning/qtci-macos-11.0-x86_64/97-set-locale.sh b/coin/provisioning/qtci-macos-11.0-x86_64/97-set-locale.sh deleted file mode 100755 index e34b7381..00000000 --- a/coin/provisioning/qtci-macos-11.0-x86_64/97-set-locale.sh +++ /dev/null @@ -1,6 +0,0 @@ -#!/usr/bin/env bash - -set -ex - -BASEDIR=$(dirname "$0") -$BASEDIR/../common/macos/set-locale.sh diff --git a/coin/provisioning/qtci-macos-11.0-x86_64/99-mac-version.sh b/coin/provisioning/qtci-macos-11.0-x86_64/99-mac-version.sh deleted file mode 100755 index 99d94150..00000000 --- a/coin/provisioning/qtci-macos-11.0-x86_64/99-mac-version.sh +++ /dev/null @@ -1,6 +0,0 @@ -#!/usr/bin/env bash - -set -ex - -BASEDIR=$(dirname "$0") -$BASEDIR/../common/macos/macos-version.sh diff --git a/coin/provisioning/qtci-macos-12-arm/01-disable-app-reopen.sh b/coin/provisioning/qtci-macos-12-arm/01-disable-app-reopen.sh new file mode 100755 index 00000000..382fb40c --- /dev/null +++ b/coin/provisioning/qtci-macos-12-arm/01-disable-app-reopen.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 +set -ex +BASEDIR=$(dirname "$0") +"$BASEDIR"/../common/macos/disable-app-reopen.sh diff --git a/coin/provisioning/qtci-macos-11.0-x86_64/01-disable-net-lso.sh b/coin/provisioning/qtci-macos-12-arm/01-disable-net-lso.sh index 659ebe96..659ebe96 100755 --- a/coin/provisioning/qtci-macos-11.0-x86_64/01-disable-net-lso.sh +++ b/coin/provisioning/qtci-macos-12-arm/01-disable-net-lso.sh diff --git a/coin/provisioning/qtci-macos-11.0-x86_64/01-disable-notifications_and_warnings.sh b/coin/provisioning/qtci-macos-12-arm/01-disable-notifications_and_warnings.sh index 27efbb62..27efbb62 100755 --- a/coin/provisioning/qtci-macos-11.0-x86_64/01-disable-notifications_and_warnings.sh +++ b/coin/provisioning/qtci-macos-12-arm/01-disable-notifications_and_warnings.sh diff --git a/coin/provisioning/qtci-macos-12-arm/01-disable-updates.sh b/coin/provisioning/qtci-macos-12-arm/01-disable-updates.sh new file mode 100755 index 00000000..a2b2a0f0 --- /dev/null +++ b/coin/provisioning/qtci-macos-12-arm/01-disable-updates.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 + +BASEDIR=$(dirname "$0") +"$BASEDIR/../common/macos/system_updates.sh" diff --git a/coin/provisioning/qtci-macos-11.0-x86_64/01-increase_limits.sh b/coin/provisioning/qtci-macos-12-arm/01-increase_limits.sh index 08669e52..08669e52 100755 --- a/coin/provisioning/qtci-macos-11.0-x86_64/01-increase_limits.sh +++ b/coin/provisioning/qtci-macos-12-arm/01-increase_limits.sh diff --git a/coin/provisioning/qtci-macos-12-arm/01-mount-vcpkg-cache-drive.sh b/coin/provisioning/qtci-macos-12-arm/01-mount-vcpkg-cache-drive.sh new file mode 100755 index 00000000..2739f40f --- /dev/null +++ b/coin/provisioning/qtci-macos-12-arm/01-mount-vcpkg-cache-drive.sh @@ -0,0 +1,8 @@ +#!/usr/bin/env bash +# Copyright (C) 2023 The Qt Company Ltd. +# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only + +set -ex + +# shellcheck source=../common/macos/mount-vcpkg-cache-drive.sh +source "${BASH_SOURCE%/*}/../common/macos/mount-vcpkg-cache-drive.sh" diff --git a/coin/provisioning/qtci-macos-12-arm/01-sha1sum-compatibility.sh b/coin/provisioning/qtci-macos-12-arm/01-sha1sum-compatibility.sh new file mode 100755 index 00000000..e52367c8 --- /dev/null +++ b/coin/provisioning/qtci-macos-12-arm/01-sha1sum-compatibility.sh @@ -0,0 +1,10 @@ +#!/usr/bin/env bash +# Copyright (C) 2020 The Qt Company Ltd. +# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only + +#!/usr/bin/env bash + +set -ex + +# shellcheck source=../common/macos/sha1sum-compatibility.sh +source "${BASH_SOURCE%/*}/../common/macos/sha1sum-compatibility.sh" diff --git a/coin/provisioning/qtci-macos-12-arm/03-bashprofile.sh b/coin/provisioning/qtci-macos-12-arm/03-bashprofile.sh new file mode 100755 index 00000000..4eed8433 --- /dev/null +++ b/coin/provisioning/qtci-macos-12-arm/03-bashprofile.sh @@ -0,0 +1,9 @@ +#!/usr/bin/env 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 + +set -ex + +# Read .bashrc if exist +printf -- "# Get the aliases and functions\nif [ -f ~/.bashrc ]; then\n . ~/.bashrc\nfi\n" >> ~/.bash_profile + diff --git a/coin/provisioning/qtci-macos-12-arm/05-systemsetup.sh b/coin/provisioning/qtci-macos-12-arm/05-systemsetup.sh new file mode 100755 index 00000000..1d8b7f09 --- /dev/null +++ b/coin/provisioning/qtci-macos-12-arm/05-systemsetup.sh @@ -0,0 +1,80 @@ +#!/usr/bin/env bash +# Copyright (C) 2021 The Qt Company Ltd. +# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only + +set -ex + +# This script modified system settings for automated use + +targetFile="$HOME/vncpw.txt" + +# Fetch password +curl --retry 5 --retry-delay 10 --retry-max-time 60 "http://ci-files01-hki.ci.qt.io/input/semisecure/vncpw.txt" -o "$targetFile" +shasum "$targetFile" |grep "a795fccaa8f277e62ec08e6056c544b8b63924a0" + +{ VNCPassword=$(cat "$targetFile"); } 2> /dev/null +NTS_IP=10.212.2.216 + +echo "Disable Screensaver" +# For current session +defaults -currentHost write com.apple.screensaver idleTime 0 + +echo "Disable sleep" +sudo pmset sleep 0 displaysleep 0 + +# For session after a reboot +mkdir -p "$HOME/Library/LaunchAgents" +sudo tee -a "$HOME/Library/LaunchAgents/no-screensaver.plist" <<EOT +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd"> + +<plist version="1.0"> + <dict> + <key>Label</key> + <string>org.qt.io.screensaver_disable</string> + <key>ProgramArguments</key> + <array> + <string>defaults</string> + <string>-currentHost</string> + <string>write</string> + <string>com.apple.screensaver</string> + <string>idleTime</string> + <string>0</string> + </array> + <key>RunAtLoad</key> + <true/> + <key>KeepAlive</key> + <false/> + </dict> +</plist> +EOT + +defaults write com.apple.screensaver askForPassword -int 0 + +echo "Set keyboard type rates and delays" +# normal minimum is 15 (225 ms) +defaults write -g InitialKeyRepeat -int 15 +# normal minimum is 2 (30 ms) +defaults write -g KeyRepeat -int 2 + +set +x +echo "Enable remote desktop sharing" +sudo /System/Library/CoreServices/RemoteManagement/ARDAgent.app/Contents/Resources/kickstart -activate -configure -access -on -clientopts -setvnclegacy -vnclegacy yes -clientopts -setvncpw -vncpw "$VNCPassword" -restart -agent -privs -all +set -x + +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 + +sudo systemsetup settimezone GMT +sudo systemsetup setusingnetworktime on +sudo rm -f "$targetFile" + +# Enable automount for nfs shares +sudo sed -i'.orig' -e 's:^#/net:/net:' -e 's:hidefromfinder,nosuid:hidefromfinder,nosuid,locallocks,nocallback:' /etc/auto_master || sudo curl -o /etc/auto_master http://ci-files01-hki.ci.qt.io/input/mac/arm/auto_master +sudo automount -cv + +# Disable multicast advertisements +sudo defaults write /Library/Preferences/com.apple.mDNSResponder.plist NoMulticastAdvertisements -bool true + +# Enable Use keyboard navigation to move focus between controls +defaults write -g AppleKeyboardUIMode -int 2 diff --git a/coin/provisioning/qtci-macos-12-arm/06-crashreporter.sh b/coin/provisioning/qtci-macos-12-arm/06-crashreporter.sh new file mode 100755 index 00000000..cb7c0774 --- /dev/null +++ b/coin/provisioning/qtci-macos-12-arm/06-crashreporter.sh @@ -0,0 +1,7 @@ +#!/usr/bin/env 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 + +set -ex + +defaults write com.apple.CrashReporter DialogType server diff --git a/coin/provisioning/qtci-macos-12-arm/06-disable_spotlight.sh b/coin/provisioning/qtci-macos-12-arm/06-disable_spotlight.sh new file mode 100755 index 00000000..ab85a262 --- /dev/null +++ b/coin/provisioning/qtci-macos-12-arm/06-disable_spotlight.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 + +# shellcheck source=../common/macos/disable_spotlight.sh +source "${BASH_SOURCE%/*}/../common/macos/disable_spotlight.sh" diff --git a/coin/provisioning/qtci-macos-12-arm/06-disable_update_downloads.sh b/coin/provisioning/qtci-macos-12-arm/06-disable_update_downloads.sh new file mode 100755 index 00000000..18cb98ea --- /dev/null +++ b/coin/provisioning/qtci-macos-12-arm/06-disable_update_downloads.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 +set -ex +BASEDIR=$(dirname "$0") +"$BASEDIR"/../common/macos/disable_update_downloads.sh diff --git a/coin/provisioning/qtci-macos-12-arm/07-SSL_keychain.sh b/coin/provisioning/qtci-macos-12-arm/07-SSL_keychain.sh new file mode 100755 index 00000000..e14dcee9 --- /dev/null +++ b/coin/provisioning/qtci-macos-12-arm/07-SSL_keychain.sh @@ -0,0 +1,11 @@ +#!/usr/bin/env bash +#Copyright (C) 2023 The Qt Company Ltd +#SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only + +set -ex + +# shellcheck source=../common/unix/SetEnvVar.sh +source "${BASH_SOURCE%/*}/../common/unix/SetEnvVar.sh" + +# Enables the usage of temporary keychains for SSL autotests +SetEnvVar "QT_SSL_USE_TEMPORARY_KEYCHAIN" "1" diff --git a/coin/provisioning/qtci-macos-12-arm/15-xz.sh b/coin/provisioning/qtci-macos-12-arm/15-xz.sh new file mode 100755 index 00000000..b7e00a20 --- /dev/null +++ b/coin/provisioning/qtci-macos-12-arm/15-xz.sh @@ -0,0 +1,32 @@ +#!/usr/bin/env bash +# Copyright (C) 2021 The Qt Company Ltd. +# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only + +# This script installs XZ-Utils + +# XZ-Utils are needed for uncompressing xz-compressed files + +# pkg was self builded. +# wget https://downloads.sourceforge.net/project/lzmautils/xz-5.2.5.tar.gz +# tar -xzf xz-5.2.5.tar.gz -C /tmp +# cd /tmp/xz-5.2.5 +# ./configure +# make +# ./configure prefix=/tmp/destination_root +# make install +# cd /tmp +# pkgbuild --root destination_root --identifier io.qt.xz.pkg xz-arm64.pkg + +set -ex + +# shellcheck source=../common/macos/InstallPKGFromURL.sh +source "${BASH_SOURCE%/*}/../common/macos/InstallPKGFromURL.sh" +PrimaryUrl="http://ci-files01-hki.ci.qt.io/input/mac/macos_11.0_big_sur_arm/xz-arm64.pkg" +# SourceUrl="https://tukaani.org/xz/xz-5.2.5.tar.gz" + +SHA1="1afc327965d4af33399ae28f22c4b8e5a9e98dc2" +DestDir="/" + +InstallPKGFromURL "$PrimaryUrl" "$PrimaryUrl" "$SHA1" "$DestDir" + +echo "XZ = 5.2.5" >> ~/versions.txt diff --git a/coin/provisioning/qtci-macos-12-arm/20-java.sh b/coin/provisioning/qtci-macos-12-arm/20-java.sh new file mode 100755 index 00000000..00c867f4 --- /dev/null +++ b/coin/provisioning/qtci-macos-12-arm/20-java.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 + +BASEDIR=$(dirname "$0") +"$BASEDIR/../common/macos/java_arm.sh" diff --git a/coin/provisioning/qtci-macos-12-arm/20-xcode.sh b/coin/provisioning/qtci-macos-12-arm/20-xcode.sh new file mode 100755 index 00000000..102211cc --- /dev/null +++ b/coin/provisioning/qtci-macos-12-arm/20-xcode.sh @@ -0,0 +1,22 @@ +#!/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 + +# This script installs Xcode +# Prerequisites: Have Xcode prefetched to local cache as xz compressed. +# This can be achieved by fetching Xcode_9.xip from Apple Store. +# Uncompress it with 'xar -xf Xcode_9.xip' +# Then get https://gist.githubusercontent.com/pudquick/ff412bcb29c9c1fa4b8d/raw/24b25538ea8df8d0634a2a6189aa581ccc6a5b4b/parse_pbzx2.py +# with which you can run 'python parse_pbzx2.py Content'. +# This will give you five files called "Content.part<00..05>.cpio.xz". +# Extract those that have the extension .xz with xz. +# "cat" together all the content files "cat file1, file2, file3, file4, file5 >file_new" +# Compress the new file with xz back to something like Xcode_9.xz +# Upload the file to temporary storage for this script to use. + +set -ex + +# shellcheck source=../common/macos/install_xcode.sh +source "${BASH_SOURCE%/*}/../common/macos/install_xcode.sh" + +InstallXCode /net/ci-files01-hki.ci.qt.io/hdd/www/input/mac/Xcode_14.2.xip 14.2 diff --git a/coin/provisioning/qtci-macos-12-arm/21-install-commandlinetools.sh b/coin/provisioning/qtci-macos-12-arm/21-install-commandlinetools.sh new file mode 100755 index 00000000..d2981173 --- /dev/null +++ b/coin/provisioning/qtci-macos-12-arm/21-install-commandlinetools.sh @@ -0,0 +1,14 @@ +#!/usr/bin/env bash +# Copyright (C) 2022 The Qt Company Ltd. +# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only + +set -ex + +# shellcheck source=../common/macos/install-commandlinetools.sh +source "${BASH_SOURCE%/*}/../common/macos/install-commandlinetools.sh" +version="14.2" +packageName="Command_Line_Tools_for_Xcode_$version.dmg" +url="http://ci-files01-hki.ci.qt.io/input/mac/$packageName" +sha1="f9d18da696bc54755bd85fb4f42c0a8866bdade6" + +InstallCommandLineTools $url $url $sha1 $packageName $version diff --git a/coin/provisioning/qtci-macos-12-arm/23-homebrew.sh b/coin/provisioning/qtci-macos-12-arm/23-homebrew.sh new file mode 100755 index 00000000..c6377114 --- /dev/null +++ b/coin/provisioning/qtci-macos-12-arm/23-homebrew.sh @@ -0,0 +1,12 @@ +#!/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 + +# Will install homebrew package manager for macOS. +# WARNING: Requires commandlinetools + + +set -e + +BASEDIR=$(dirname "$0") +"$BASEDIR/../common/macos/homebrew_for_arm_mac.sh" diff --git a/coin/provisioning/qtci-macos-12-arm/24-pyenv.sh b/coin/provisioning/qtci-macos-12-arm/24-pyenv.sh new file mode 100755 index 00000000..3a7a8f77 --- /dev/null +++ b/coin/provisioning/qtci-macos-12-arm/24-pyenv.sh @@ -0,0 +1,49 @@ +#!/usr/bin/env bash + +############################################################################# +## +## Copyright (C) 2021 The Qt Company Ltd. +## Copyright (C) 2017 Pelagicore AG +## Contact: https://www.qt.io/licensing/ +## +## This file is part of the provisioning scripts of the Qt Toolkit. +## +## $QT_BEGIN_LICENSE:LGPL$ +## Commercial License Usage +## Licensees holding valid commercial Qt licenses may use this file in +## accordance with the commercial license agreement provided with the +## Software or, alternatively, in accordance with the terms contained in +## a written agreement between you and The Qt Company. For licensing terms +## and conditions see https://www.qt.io/terms-conditions. For further +## information use the contact form at https://www.qt.io/contact-us. +## +## GNU Lesser General Public License Usage +## Alternatively, this file may be used under the terms of the GNU Lesser +## General Public License version 3 as published by the Free Software +## Foundation and appearing in the file LICENSE.LGPL3 included in the +## packaging of this file. Please review the following information to +## ensure the GNU Lesser General Public License version 3 requirements +## will be met: https://www.gnu.org/licenses/lgpl-3.0.html. +## +## GNU General Public License Usage +## Alternatively, this file may be used under the terms of the GNU +## General Public License version 2.0 or (at your option) the GNU General +## Public license version 3 or any later version approved by the KDE Free +## Qt Foundation. The licenses are as published by the Free Software +## Foundation and appearing in the file LICENSE.GPL2 and LICENSE.GPL3 +## included in the packaging of this file. Please review the following +## information to ensure the GNU General Public License requirements will +## be met: https://www.gnu.org/licenses/gpl-2.0.html and +## https://www.gnu.org/licenses/gpl-3.0.html. +## +## $QT_END_LICENSE$ +## +############################################################################# + +# This script installs python3 + +# shellcheck source=../common/unix/SetEnvVar.sh +source "${BASH_SOURCE%/*}/../common/unix/SetEnvVar.sh" + +# Try with default +/opt/homebrew/bin/brew install pyenv diff --git a/coin/provisioning/qtci-macos-11.0-x86_64/24-sccache.sh b/coin/provisioning/qtci-macos-12-arm/24-sccache.sh index 358b23fb..358b23fb 100755 --- a/coin/provisioning/qtci-macos-11.0-x86_64/24-sccache.sh +++ b/coin/provisioning/qtci-macos-12-arm/24-sccache.sh diff --git a/coin/provisioning/qtci-macos-12-arm/25-cmake.sh b/coin/provisioning/qtci-macos-12-arm/25-cmake.sh new file mode 100755 index 00000000..33095880 --- /dev/null +++ b/coin/provisioning/qtci-macos-12-arm/25-cmake.sh @@ -0,0 +1,8 @@ +#!/usr/bin/env bash +#Copyright (C) 2023 The Qt Company Ltd +#SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only + +set -ex + +BASEDIR=$(dirname "$0") +"$BASEDIR/../common/macos/cmake.sh" diff --git a/coin/provisioning/qtci-macos-12-arm/25-mysql.sh b/coin/provisioning/qtci-macos-12-arm/25-mysql.sh new file mode 100755 index 00000000..0be1e6e8 --- /dev/null +++ b/coin/provisioning/qtci-macos-12-arm/25-mysql.sh @@ -0,0 +1,27 @@ +#!/usr/bin/env bash +# Copyright (C) 2020 The Qt Company Ltd. +# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only + +# This script installs MySQL + +# MySQL is needed for Qt to be able to support MySQL + +set -ex + +# shellcheck source=../common/macos/InstallAppFromCompressedFileFromURL.sh +source "${BASH_SOURCE%/*}/../common/macos/InstallAppFromCompressedFileFromURL.sh" +# shellcheck source=../common/unix/SetEnvVar.sh +source "${BASH_SOURCE%/*}/../common/unix/SetEnvVar.sh" + +PrimaryUrl="http://ci-files01-hki.ci.qt.io/input/mac/macos_10.12_sierra/mysql-5.7.15-osx10.11-x86_64.tar.gz" +AltUrl="https://dev.mysql.com/get/Downloads/MySQL-5.7/mysql-5.7.15-osx10.11-x86_64.tar.gz" +SHA1="07949bd42f350b0504a1536b8830b809b4a34fca" +appPrefix="" +targetDir="/opt/mysql57/" + +sudo mkdir -p "/opt" + +InstallAppFromCompressedFileFromURL "$PrimaryUrl" "$AltUrl" "$SHA1" "$appPrefix" "$targetDir" + +SetEnvVar "MYSQLBINPATH" "/opt/mysql57/bin" +echo "MySQL = 5.7.15" >> ~/versions.txt diff --git a/coin/provisioning/qtci-macos-12-arm/25-pip.sh b/coin/provisioning/qtci-macos-12-arm/25-pip.sh new file mode 100755 index 00000000..3fc865d0 --- /dev/null +++ b/coin/provisioning/qtci-macos-12-arm/25-pip.sh @@ -0,0 +1,8 @@ +#!/usr/bin/env bash +#Copyright (C) 2023 The Qt Company Ltd +#SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only + +set -ex + +BASEDIR=$(dirname "$0") +"$BASEDIR/../common/macos/pip.sh" diff --git a/coin/provisioning/qtci-macos-12-arm/25-postgresql.sh b/coin/provisioning/qtci-macos-12-arm/25-postgresql.sh new file mode 100755 index 00000000..06cae6ef --- /dev/null +++ b/coin/provisioning/qtci-macos-12-arm/25-postgresql.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 + +BASEDIR=$(dirname "$0") +"$BASEDIR/../common/macos/postgresql.sh" diff --git a/coin/provisioning/qtci-macos-12-arm/25-python.sh b/coin/provisioning/qtci-macos-12-arm/25-python.sh new file mode 100755 index 00000000..9bfb6384 --- /dev/null +++ b/coin/provisioning/qtci-macos-12-arm/25-python.sh @@ -0,0 +1,25 @@ +#!/usr/bin/env bash +# Copyright (C) 2021 The Qt Company Ltd. +# Copyright (C) 2017 Pelagicore AG +# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only + +# This script installs python3 + +# shellcheck source=../common/unix/SetEnvVar.sh +source "${BASH_SOURCE%/*}/../common/unix/SetEnvVar.sh" + +pyenv install 3.9.7 + +/Users/qt/.pyenv/versions/3.9.7/bin/pip3 install --user install virtualenv wheel html5lib + +SetEnvVar "PYTHON3_PATH" "/Users/qt/.pyenv/versions/3.9.7/bin/" +SetEnvVar "PIP3_PATH" "/Users/qt/.pyenv/versions/3.9.7/bin/" +# Use 3.9 as a default python +SetEnvVar "PATH" "\$PYTHON3_PATH:\$PATH" + +# QtWebengine still requires python2 +pyenv install 2.7.18 +SetEnvVar "PYTHON2_PATH" "/Users/qt/.pyenv/versions/2.7.18/bin/" + +echo "python3 = 3.9.7" >> ~/versions.txt +echo "python2 = 2.7.18" >> ~/versions.txt diff --git a/coin/provisioning/qtci-macos-12-arm/26-brew_packages.sh b/coin/provisioning/qtci-macos-12-arm/26-brew_packages.sh new file mode 100644 index 00000000..aa5b881b --- /dev/null +++ b/coin/provisioning/qtci-macos-12-arm/26-brew_packages.sh @@ -0,0 +1,9 @@ +#!/usr/bin/env 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 + +set -ex + +# Util-linux is needed for libuuid which is needed during the license service build +# Path to util-linux folder is defined in 'src/libs/qlicenseservice/CMakeLists.txt' +brew install util-linux diff --git a/coin/provisioning/qtci-macos-12-arm/26-freetype.sh b/coin/provisioning/qtci-macos-12-arm/26-freetype.sh new file mode 100755 index 00000000..fa0790f8 --- /dev/null +++ b/coin/provisioning/qtci-macos-12-arm/26-freetype.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 + +brew install freetype diff --git a/coin/provisioning/qtci-macos-12-arm/26-jq.sh b/coin/provisioning/qtci-macos-12-arm/26-jq.sh new file mode 100755 index 00000000..4dffcb96 --- /dev/null +++ b/coin/provisioning/qtci-macos-12-arm/26-jq.sh @@ -0,0 +1,5 @@ +#!/usr/bin/env bash + +set -ex + +brew install jq diff --git a/coin/provisioning/qtci-macos-12-arm/26-ninja.sh b/coin/provisioning/qtci-macos-12-arm/26-ninja.sh new file mode 100755 index 00000000..4443eeb4 --- /dev/null +++ b/coin/provisioning/qtci-macos-12-arm/26-ninja.sh @@ -0,0 +1,10 @@ +#!/usr/bin/env bash +#Copyright (C) 2023 The Qt Company Ltd +#SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only + +set -ex + +# shellcheck source=../common/macos/ninja.sh +source "${BASH_SOURCE%/*}/../common/macos/ninja.sh" + + diff --git a/coin/provisioning/qtci-macos-12-arm/26-odbc.sh b/coin/provisioning/qtci-macos-12-arm/26-odbc.sh new file mode 100755 index 00000000..2b6b013a --- /dev/null +++ b/coin/provisioning/qtci-macos-12-arm/26-odbc.sh @@ -0,0 +1,9 @@ +#!/usr/bin/env bash +#Copyright (C) 2023 The Qt Company Ltd +#SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only +# Install libiodbc + +set -ex + +BASEDIR=$(dirname "$0") +"$BASEDIR/../common/macos/libiodbc.sh" --with-universal diff --git a/coin/provisioning/qtci-macos-12-arm/26-p7zip.sh b/coin/provisioning/qtci-macos-12-arm/26-p7zip.sh new file mode 100755 index 00000000..8cdcd0c3 --- /dev/null +++ b/coin/provisioning/qtci-macos-12-arm/26-p7zip.sh @@ -0,0 +1,9 @@ +#!/usr/bin/env bash +#Copyright (C) 2023 The Qt Company Ltd +#SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only +# Install 7z to be used from command line + +set -ex + +brew update +brew install p7zip diff --git a/coin/provisioning/qtci-macos-12-arm/26-pcre2.sh b/coin/provisioning/qtci-macos-12-arm/26-pcre2.sh new file mode 100755 index 00000000..c10d6206 --- /dev/null +++ b/coin/provisioning/qtci-macos-12-arm/26-pcre2.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 + +brew install pcre2 diff --git a/coin/provisioning/qtci-macos-12-arm/27-libclang.sh b/coin/provisioning/qtci-macos-12-arm/27-libclang.sh new file mode 100755 index 00000000..cc025e6e --- /dev/null +++ b/coin/provisioning/qtci-macos-12-arm/27-libclang.sh @@ -0,0 +1,9 @@ +#!/usr/bin/env bash +#Copyright (C) 2023 The Qt Company Ltd +#SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only + +set -ex + +BASEDIR=$(dirname "$0") +# There is only one mac package and common script uses it as a default +"$BASEDIR/../common/unix/libclang.sh" diff --git a/coin/provisioning/qtci-macos-12-arm/28-libclang-v100-dyn.sh b/coin/provisioning/qtci-macos-12-arm/28-libclang-v100-dyn.sh new file mode 100755 index 00000000..d95e7e00 --- /dev/null +++ b/coin/provisioning/qtci-macos-12-arm/28-libclang-v100-dyn.sh @@ -0,0 +1,8 @@ +#!/usr/bin/env bash +#Copyright (C) 2023 The Qt Company Ltd +#SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only + +set -ex + +BASEDIR=$(dirname "$0") +"$BASEDIR/../common/unix/libclang-v100-dyn.sh" diff --git a/coin/provisioning/qtci-macos-12-arm/29-install-pkgconfig.sh b/coin/provisioning/qtci-macos-12-arm/29-install-pkgconfig.sh new file mode 100755 index 00000000..33e11580 --- /dev/null +++ b/coin/provisioning/qtci-macos-12-arm/29-install-pkgconfig.sh @@ -0,0 +1,6 @@ +#!/usr/bin/env bash + +set -ex + +BASEDIR=$(dirname "$0") +"$BASEDIR/../common/macos/pkgconfig.sh" diff --git a/coin/provisioning/qtci-macos-12-arm/29-libusb.sh b/coin/provisioning/qtci-macos-12-arm/29-libusb.sh new file mode 100755 index 00000000..e9e9e238 --- /dev/null +++ b/coin/provisioning/qtci-macos-12-arm/29-libusb.sh @@ -0,0 +1,9 @@ +#!/usr/bin/env bash +#Copyright (C) 2023 The Qt Company Ltd +#SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only + +set -ex + +BASEDIR=$(dirname "$0") + +"$BASEDIR/../common/macos/libusb.sh" diff --git a/coin/provisioning/qtci-macos-12-arm/30-android.sh b/coin/provisioning/qtci-macos-12-arm/30-android.sh new file mode 100755 index 00000000..6259b71e --- /dev/null +++ b/coin/provisioning/qtci-macos-12-arm/30-android.sh @@ -0,0 +1,64 @@ +#!/usr/bin/env bash +# Copyright (C) 2020 The Qt Company Ltd. +# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only + +# This script install Android sdk and ndk. + +# It also runs update for SDK API, latest SDK tools, latest platform-tools and build-tools version + +set -ex + +# shellcheck source=../common/unix/SetEnvVar.sh +source "${BASH_SOURCE%/*}/../common/unix/SetEnvVar.sh" + +targetFolder="/opt/android" +sdkTargetFolder="$targetFolder/sdk" + +basePath="/net/ci-files01-hki.ci.qt.io/hdd/www/input/android" + +toolsVersion="2.1" +# toolsFile dertermines tools version +toolsFile="commandlinetools-mac-6609375_latest.zip" + +ndkVersion="r26b" +ndkFile="android-ndk-$ndkVersion-darwin.zip" +sdkBuildToolsVersion="34.0.0" +# this is compile sdk version +sdkApiLevel="android-34" + +toolsSourceFile="$basePath/$toolsFile" +ndkSourceFile="$basePath/$ndkFile" + +echo "Unzipping Android NDK to '$targetFolder'" +sudo unzip -q "$ndkSourceFile" -d "$targetFolder" +echo "Unzipping Android Tools to '$sdkTargetFolder'" +sudo unzip -q "$toolsSourceFile" -d "$sdkTargetFolder" + +echo "Changing ownership of Android files." +sudo chown -R qt:wheel "$targetFolder" + +# Run the following command under `eval` or `sh -c` so that the shell properly splits it +sdkmanager_no_progress_bar_cmd="tr '\r' '\n' | grep -v '^\[[ =]*\]'" + +sudo mkdir "$sdkTargetFolder/cmdline-tools" +sudo mv "$sdkTargetFolder/tools" "$sdkTargetFolder/cmdline-tools" + +echo "Running SDK manager for platforms;$sdkApiLevel, platform-tools and build-tools;$sdkBuildToolsVersion." +(echo "y"; echo "y") | "$sdkTargetFolder/cmdline-tools/tools/bin/sdkmanager" "--sdk_root=$sdkTargetFolder" \ + "platforms;$sdkApiLevel" "platform-tools" "build-tools;$sdkBuildToolsVersion" \ + | eval "$sdkmanager_no_progress_bar_cmd" + +echo "Checking the contents of Android SDK..." +ls -l "$sdkTargetFolder" + +SetEnvVar "ANDROID_SDK_ROOT" "$sdkTargetFolder" +SetEnvVar "ANDROID_NDK_ROOT" "$targetFolder/android-ndk-$ndkVersion" +SetEnvVar "ANDROID_NDK_HOST" "darwin-x86_64" +SetEnvVar "ANDROID_API_VERSION" "$sdkApiLevel" + +cat << EOB >> ~/versions.txt +Android SDK tools = $toolsVersion +Android SDK Build Tools = $sdkBuildToolsVersion +Android SDK API level = $sdkApiLevel +Android NDK = $ndkVersion +EOB diff --git a/coin/provisioning/qtci-macos-12-arm/30-fbx.sh b/coin/provisioning/qtci-macos-12-arm/30-fbx.sh new file mode 100755 index 00000000..e991bc08 --- /dev/null +++ b/coin/provisioning/qtci-macos-12-arm/30-fbx.sh @@ -0,0 +1,9 @@ +#!/usr/bin/env bash +#Copyright (C) 2023 The Qt Company Ltd +#SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only + +set -ex + +BASEDIR=$(dirname "$0") +"$BASEDIR/../common/macos/fbx_macos.sh" + diff --git a/coin/provisioning/qtci-macos-12-arm/30-install-conan.sh b/coin/provisioning/qtci-macos-12-arm/30-install-conan.sh new file mode 100755 index 00000000..67a4f911 --- /dev/null +++ b/coin/provisioning/qtci-macos-12-arm/30-install-conan.sh @@ -0,0 +1,8 @@ +#!/usr/bin/env bash +#Copyright (C) 2023 The Qt Company Ltd +#SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only + +set -ex + +BASEDIR=$(dirname "$0") +"$BASEDIR/../common/unix/install-conan.sh" diff --git a/coin/provisioning/qtci-macos-12-arm/30-nodejs.sh b/coin/provisioning/qtci-macos-12-arm/30-nodejs.sh new file mode 100755 index 00000000..8f73b2d6 --- /dev/null +++ b/coin/provisioning/qtci-macos-12-arm/30-nodejs.sh @@ -0,0 +1,8 @@ +#!/usr/bin/env bash +#Copyright (C) 2023 The Qt Company Ltd +#SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only + +set -ex + +brew install nodejs + diff --git a/coin/provisioning/qtci-macos-12-arm/35-install-breakpad.sh b/coin/provisioning/qtci-macos-12-arm/35-install-breakpad.sh new file mode 100755 index 00000000..8a9dde56 --- /dev/null +++ b/coin/provisioning/qtci-macos-12-arm/35-install-breakpad.sh @@ -0,0 +1,8 @@ +#!/usr/bin/env bash +#Copyright (C) 2023 The Qt Company Ltd +#SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only + +set -ex + +# shellcheck source=../common/unix/install-breakpad.sh +source "${BASH_SOURCE%/*}/../common/unix/install-breakpad.sh" diff --git a/coin/provisioning/qtci-macos-12-arm/35-install_protobuf.sh b/coin/provisioning/qtci-macos-12-arm/35-install_protobuf.sh new file mode 100755 index 00000000..ecb5f835 --- /dev/null +++ b/coin/provisioning/qtci-macos-12-arm/35-install_protobuf.sh @@ -0,0 +1,9 @@ +#!/usr/bin/env bash +# Copyright (C) 2020 The Qt Company Ltd. +# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only + +set -ex + +# shellcheck source=../common/unix/install_protobuf.sh +source "${BASH_SOURCE%/*}/../common/unix/install_protobuf.sh" + diff --git a/coin/provisioning/qtci-macos-12-arm/35-openssl.sh b/coin/provisioning/qtci-macos-12-arm/35-openssl.sh new file mode 100755 index 00000000..c86788db --- /dev/null +++ b/coin/provisioning/qtci-macos-12-arm/35-openssl.sh @@ -0,0 +1,9 @@ +#!/usr/bin/env bash +#Copyright (C) 2023 The Qt Company Ltd +#SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only + +set -ex + +# shellcheck source=../common/unix/install-openssl.sh +source "${BASH_SOURCE%/*}/../common/unix/install-openssl.sh" "macos-universal" + diff --git a/coin/provisioning/qtci-macos-12-arm/36-emsdk.sh b/coin/provisioning/qtci-macos-12-arm/36-emsdk.sh new file mode 100755 index 00000000..c8aec444 --- /dev/null +++ b/coin/provisioning/qtci-macos-12-arm/36-emsdk.sh @@ -0,0 +1,8 @@ +#!/usr/bin/env bash +#Copyright (C) 2023 The Qt Company Ltd +#SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only + +set -ex + +# shellcheck source=../common/unix/emsdk.sh +source "${BASH_SOURCE%/*}/../common/unix/emsdk.sh" diff --git a/coin/provisioning/qtci-macos-12-arm/36-install_grpc.sh b/coin/provisioning/qtci-macos-12-arm/36-install_grpc.sh new file mode 100755 index 00000000..ecd6a51f --- /dev/null +++ b/coin/provisioning/qtci-macos-12-arm/36-install_grpc.sh @@ -0,0 +1,9 @@ +#!/usr/bin/env bash +# Copyright (C) 2022 The Qt Company Ltd. +# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only + +set -ex + +# shellcheck source=../common/unix/install_grpc.sh +source "${BASH_SOURCE%/*}/../common/unix/install_grpc.sh" + diff --git a/coin/provisioning/qtci-macos-12-arm/40-qnx700.sh b/coin/provisioning/qtci-macos-12-arm/40-qnx700.sh new file mode 100755 index 00000000..48286a67 --- /dev/null +++ b/coin/provisioning/qtci-macos-12-arm/40-qnx700.sh @@ -0,0 +1,25 @@ +#!/bin/bash +# Copyright (C) 2020 The Qt Company Ltd. +# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only + +# This script installs QNX 7. + +targetFolder="/opt/" +sourceFile="/net/ci-files01-hki.ci.qt.io/hdd/www/input/qnx/qnx700-20190325-2-macos.tar.xz" +folderName="qnx700" + +sudo mkdir -p "$targetFolder" + +echo "Extracting QNX 7" +sudo tar -C "$targetFolder" -Jxf $sourceFile + +sudo chown -R qt:wheel "$targetFolder"/"$folderName" + +# Verify that we have last file in zip +if [ ! -f $targetFolder/$folderName/qnxsdp-env.sh ]; then + exit 1 +fi + +# Set env variables +echo "export QNX_700=$targetFolder/$folderName" >> ~/.bashrc +echo "QNX SDP = 7.0.0" >> ~/versions.txt diff --git a/coin/provisioning/qtci-macos-12-arm/50-openssl_for_android_darwin.sh b/coin/provisioning/qtci-macos-12-arm/50-openssl_for_android_darwin.sh new file mode 100755 index 00000000..c3e51d23 --- /dev/null +++ b/coin/provisioning/qtci-macos-12-arm/50-openssl_for_android_darwin.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 + +# shellcheck source=../common/unix/openssl_for_android.sh +source "${BASH_SOURCE%/*}/../common/unix/openssl_for_android.sh" diff --git a/coin/provisioning/qtci-macos-12-arm/55-signtools.sh b/coin/provisioning/qtci-macos-12-arm/55-signtools.sh new file mode 100755 index 00000000..ff5a977a --- /dev/null +++ b/coin/provisioning/qtci-macos-12-arm/55-signtools.sh @@ -0,0 +1,107 @@ +#!/usr/bin/env sh +# 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 + +# Install tools for singing packages +# This script assume that OS is vanilla. Target machine dosen't have any signing certificates installed. + +set -ex + +cache="http://ci-files01-hki.ci.qt.io/input" +cacheSigningTools="$cache/mac/sign_tools" +targetFolder="/Users/qt" +keychains="$targetFolder/Library/Keychains" + +Install() { + + url=$1 + targetFile=$2 + expectedSha1=$3 + + echo "Fetching $targetFile from $url..." + curl --retry 5 --retry-delay 10 --retry-max-time 60 "$url" -o "$targetFile" + shasum "$targetFile" |grep "$expectedSha1" + +} + +# qt-license +sha1QtLicense="9d59241d16f68d914f1c7aa1dc23e05faa169e8d" +Install "$cache/semisecure/.qt-license" "$targetFolder/.qt-license" $sha1QtLicense + +# Login keychain +sha1LoginKeychainPassword="aae58d00d0a1b179a09f21cfc67f9d16fb95ff36" +Install "$cacheSigningTools/login_keychain_password.txt" "$targetFolder/login_keychain_password.txt" "$sha1LoginKeychainPassword" +{ loginKeychainPassword=$(cat "$targetFolder/login_keychain_password.txt"); } 2> /dev/null +loginKeychain=$keychains/login.keychain + +echo "Setting login.keychain as default keychain.." +security default-keychain -s $loginKeychain* +echo "Unlocking Login keychain with password.." +{ security unlock-keychain -p "$loginKeychainPassword" $loginKeychain*; } 2> /dev/null + +echo "remove the "Lock after X minutes of inactivity" from login.keychain" +security set-keychain-settings $loginKeychain + +# Apple Worldwide Developer Relations Certification Authority -> https://developer.apple.com/certificationauthority/AppleWWDRCA.cer +sha1AppleWWDRCA="ff6797793a3cd798dc5b2abef56f73edc9f83a64" +Install "$cacheSigningTools/AppleWWDRCA.cer" "$targetFolder/AppleWWDRCA.cer" $sha1AppleWWDRCA +sudo security add-certificates -k $loginKeychain* "$targetFolder/AppleWWDRCA.cer" + +# Developer ID Certification Authority -> https://www.apple.com/certificateauthority/DeveloperIDCA.cer +sha1DeveloperIDCA="3b166c3b7dc4b751c9fe2afab9135641e388e186" +Install "$cacheSigningTools/DeveloperIDCA.cer" "$targetFolder/DeveloperIDCA.cer" $sha1DeveloperIDCA +sudo security add-certificates -k $loginKeychain* "$targetFolder/DeveloperIDCA.cer" + +# Create script to unlock keychain 'security unlock-keychain -p 'password' Developer_ID_TheQtCompany.keychain' +sha1UnLockKeychain="4398870e3f558ad28c80566b5f70e24dc29ea724" +unlockKeychain=$targetFolder/unlock-keychain.sh +{ Install "$cacheSigningTools/unlock-keychain.sh" "$unlockKeychain" $sha1UnLockKeychain; } 2> /dev/null +sudo chmod 755 "$unlockKeychain" + +# Codesigning requirements file. The bundle identifier in the requirements file should match the identifier of the application that is signed. +shaCsreq="2c3f00b1845a0f475673fd6934ba25ea51d1f910" +csreq=$targetFolder/csreq_qt_company.txt +Install "$cacheSigningTools/csreq_qt_company.txt" "$csreq" $shaCsreq +chmod 755 "$csreq" + +# iOS signing tools +devIDKeychain="Developer_ID_TheQtCompany.keychain-db" +shaDevIdKeychain="972cca1879cdaeeb6042f9879756c748a8d1eddc" +Install "$cacheSigningTools/$devIDKeychain" "$keychains/$devIDKeychain" $shaDevIdKeychain +echo "Opening $devIDKeychain.." +open "$keychains/$devIDKeychain" + +sha1DeveloperIDTheQtCompanyKeychainPassword="d758e067736bbda7a91ffaec66cd38afdaf68ea6" +Install "$cacheSigningTools/Developer_ID_TheQtCompany_keychain_password.txt" "$targetFolder/Developer_ID_TheQtCompany_keychain_password.txt" "$sha1DeveloperIDTheQtCompanyKeychainPassword" +{ DeveloperIDTheQtCompanyKeychainPassword=$(cat "$targetFolder/Developer_ID_TheQtCompany_keychain_password.txt"); } 2> /dev/null + +echo "Unlocking $devIDKeychain with password.." +{ security unlock-keychain -p "$DeveloperIDTheQtCompanyKeychainPassword" $keychains/Developer_ID_TheQtCompany.keychain; } 2> /dev/null +security set-keychain-settings $keychains/Developer_ID_TheQtCompany.keychain + +sha1Ios="aae58d00d0a1b179a09f21cfc67f9d16fb95ff36" +{ Install "$cacheSigningTools/ios_password.txt" "$targetFolder/ios_password.txt" $sha1Ios; } 2> /dev/null +{ iosPassword=$(cat "$targetFolder/ios_password.txt"); } 2> /dev/null + +iPhoneDeveloper="iPhoneDeveloperCiTeam2020.p12" +shaIPhoneDeveloper="73136e44fed850f398e85908e4a73f20a6bdd8a2" +Install "$cacheSigningTools/latest_ios_cert_2020/$iPhoneDeveloper" "$targetFolder/$iPhoneDeveloper" $shaIPhoneDeveloper +echo "Importing $iPhoneDeveloper.." +{ security import $targetFolder/$iPhoneDeveloper -k $loginKeychain* -P "$iosPassword" -T /usr/bin/codesign; } 2> /dev/null + +iPhoneDistribution="iPhoneDistributionCiTeam2020.p12" +shaIPhoneDistribution="36215c3cbc6bfee48e86aafbd53c56282fe36d8d" +Install "$cacheSigningTools/latest_ios_cert_2020/$iPhoneDistribution" "$targetFolder/$iPhoneDistribution" $shaIPhoneDistribution +echo "Importing $iPhoneDistribution.." +{ security import "$targetFolder/$iPhoneDistribution" -k $loginKeychain* -P "$iosPassword" -T /usr/bin/codesign; } 2> /dev/null + +# Mobileprovision +echo "Creating directory $targetFolder/Library/MobileDevice/Provisioning Profiles.." +mkdir "$targetFolder/Library/MobileDevice" +mkdir "$targetFolder/Library/MobileDevice/Provisioning Profiles" +shaMobileprovision="ec9697276253ca7bf4401912236f0e6fde4214da" +Install "$cacheSigningTools/latest_ios_cert_2020/iOS_Dev_2020_citeam.mobileprovision" "$targetFolder/Library/MobileDevice/Provisioning Profiles/iOS_Dev_2020_citeam.mobileprovision" $shaMobileprovision + +# Removing password files +rm -fr "$targetFolder/login_keychain_password.txt" + diff --git a/coin/provisioning/qtci-macos-12-arm/80-screenresolution.sh b/coin/provisioning/qtci-macos-12-arm/80-screenresolution.sh new file mode 100755 index 00000000..ed905a33 --- /dev/null +++ b/coin/provisioning/qtci-macos-12-arm/80-screenresolution.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 + +"$(dirname "$0")"/../common/macos/screenresolution.sh + diff --git a/coin/provisioning/qtci-macos-12-arm/81-bluetooth.sh b/coin/provisioning/qtci-macos-12-arm/81-bluetooth.sh new file mode 100755 index 00000000..c58b9a34 --- /dev/null +++ b/coin/provisioning/qtci-macos-12-arm/81-bluetooth.sh @@ -0,0 +1,10 @@ +#!/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 + +brew install blueutil + +#Disable Bluetooth +blueutil -p 0 diff --git a/coin/provisioning/qtci-macos-12-arm/90-docker.sh b/coin/provisioning/qtci-macos-12-arm/90-docker.sh new file mode 100755 index 00000000..f03971a9 --- /dev/null +++ b/coin/provisioning/qtci-macos-12-arm/90-docker.sh @@ -0,0 +1,9 @@ +#!/usr/bin/env bash +#Copyright (C) 2023 The Qt Company Ltd +#SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only + +set -ex + +# shellcheck source=../common/macos/docker.sh +source "${BASH_SOURCE%/*}/../common/macos/docker.sh" "arm64" + diff --git a/coin/provisioning/qtci-macos-12-arm/90-install-ffmpeg.sh b/coin/provisioning/qtci-macos-12-arm/90-install-ffmpeg.sh new file mode 100755 index 00000000..23cb13e1 --- /dev/null +++ b/coin/provisioning/qtci-macos-12-arm/90-install-ffmpeg.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 + +source "${BASH_SOURCE%/*}/../common/unix/install-ffmpeg.sh" "macos-universal" diff --git a/coin/provisioning/qtci-macos-12-arm/90-vlc.sh b/coin/provisioning/qtci-macos-12-arm/90-vlc.sh new file mode 100644 index 00000000..4924fe5c --- /dev/null +++ b/coin/provisioning/qtci-macos-12-arm/90-vlc.sh @@ -0,0 +1,8 @@ +#!/usr/bin/env bash +#Copyright (C) 2023 The Qt Company Ltd +#SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only + +set -ex + +# for QtMM streaming tests +brew install --cask vlc diff --git a/coin/provisioning/qtci-macos-12-arm/97-set-locale.sh b/coin/provisioning/qtci-macos-12-arm/97-set-locale.sh new file mode 100755 index 00000000..bc966cbf --- /dev/null +++ b/coin/provisioning/qtci-macos-12-arm/97-set-locale.sh @@ -0,0 +1,8 @@ +#!/usr/bin/env bash +#Copyright (C) 2023 The Qt Company Ltd +#SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only + +set -ex + +BASEDIR=$(dirname "$0") +"$BASEDIR/../common/macos/set-locale.sh" diff --git a/coin/provisioning/qtci-macos-12-arm/98-mimersql.sh b/coin/provisioning/qtci-macos-12-arm/98-mimersql.sh new file mode 100755 index 00000000..70d5bc1d --- /dev/null +++ b/coin/provisioning/qtci-macos-12-arm/98-mimersql.sh @@ -0,0 +1,5 @@ +#!/usr/bin/env bash +set -ex + +BASEDIR=$(dirname "$0") +"$BASEDIR/../common/macos/mimersql.sh" "macos-universal" diff --git a/coin/provisioning/qtci-macos-12-arm/99-mac-version.sh b/coin/provisioning/qtci-macos-12-arm/99-mac-version.sh new file mode 100755 index 00000000..b9b5aeb0 --- /dev/null +++ b/coin/provisioning/qtci-macos-12-arm/99-mac-version.sh @@ -0,0 +1,8 @@ +#!/usr/bin/env bash +#Copyright (C) 2023 The Qt Company Ltd +#SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only + +set -ex + +BASEDIR=$(dirname "$0") +"$BASEDIR/../common/macos/macos-version.sh" diff --git a/coin/provisioning/qtci-macos-12-x86_64/01-disable-updates.sh b/coin/provisioning/qtci-macos-12-x86_64/01-disable-updates.sh new file mode 100755 index 00000000..a2b2a0f0 --- /dev/null +++ b/coin/provisioning/qtci-macos-12-x86_64/01-disable-updates.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 + +BASEDIR=$(dirname "$0") +"$BASEDIR/../common/macos/system_updates.sh" diff --git a/coin/provisioning/qtci-macos-12-x86_64/01-enable_zsh_history_and_viminfo.sh b/coin/provisioning/qtci-macos-12-x86_64/01-enable_zsh_history_and_viminfo.sh new file mode 100755 index 00000000..6004b140 --- /dev/null +++ b/coin/provisioning/qtci-macos-12-x86_64/01-enable_zsh_history_and_viminfo.sh @@ -0,0 +1,5 @@ +#!/usr/bin/env bash +set -ex + +# shellcheck source=../common/macos/enable_zsh_history_and_viminfo.sh +source "${BASH_SOURCE%/*}/../common/macos/enable_zsh_history_and_viminfo.sh" diff --git a/coin/provisioning/qtci-macos-12-x86_64/01-mount-vcpkg-cache-drive.sh b/coin/provisioning/qtci-macos-12-x86_64/01-mount-vcpkg-cache-drive.sh new file mode 100755 index 00000000..2739f40f --- /dev/null +++ b/coin/provisioning/qtci-macos-12-x86_64/01-mount-vcpkg-cache-drive.sh @@ -0,0 +1,8 @@ +#!/usr/bin/env bash +# Copyright (C) 2023 The Qt Company Ltd. +# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only + +set -ex + +# shellcheck source=../common/macos/mount-vcpkg-cache-drive.sh +source "${BASH_SOURCE%/*}/../common/macos/mount-vcpkg-cache-drive.sh" diff --git a/coin/provisioning/qtci-macos-12-x86_64/01-sha1sum-compatibility.sh b/coin/provisioning/qtci-macos-12-x86_64/01-sha1sum-compatibility.sh index cf0611cd..e52367c8 100755 --- a/coin/provisioning/qtci-macos-12-x86_64/01-sha1sum-compatibility.sh +++ b/coin/provisioning/qtci-macos-12-x86_64/01-sha1sum-compatibility.sh @@ -1,43 +1,6 @@ #!/usr/bin/env bash - -############################################################################# -## -## Copyright (C) 2020 The Qt Company Ltd. -## Contact: https://www.qt.io/licensing/ -## -## This file is part of the provisioning scripts of the Qt Toolkit. -## -## $QT_BEGIN_LICENSE:LGPL$ -## Commercial License Usage -## Licensees holding valid commercial Qt licenses may use this file in -## accordance with the commercial license agreement provided with the -## Software or, alternatively, in accordance with the terms contained in -## a written agreement between you and The Qt Company. For licensing terms -## and conditions see https://www.qt.io/terms-conditions. For further -## information use the contact form at https://www.qt.io/contact-us. -## -## GNU Lesser General Public License Usage -## Alternatively, this file may be used under the terms of the GNU Lesser -## General Public License version 3 as published by the Free Software -## Foundation and appearing in the file LICENSE.LGPL3 included in the -## packaging of this file. Please review the following information to -## ensure the GNU Lesser General Public License version 3 requirements -## will be met: https://www.gnu.org/licenses/lgpl-3.0.html. -## -## GNU General Public License Usage -## Alternatively, this file may be used under the terms of the GNU -## General Public License version 2.0 or (at your option) the GNU General -## Public license version 3 or any later version approved by the KDE Free -## Qt Foundation. The licenses are as published by the Free Software -## Foundation and appearing in the file LICENSE.GPL2 and LICENSE.GPL3 -## included in the packaging of this file. Please review the following -## information to ensure the GNU General Public License requirements will -## be met: https://www.gnu.org/licenses/gpl-2.0.html and -## https://www.gnu.org/licenses/gpl-3.0.html. -## -## $QT_END_LICENSE$ -## -############################################################################# +# 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 #!/usr/bin/env bash diff --git a/coin/provisioning/qtci-macos-12-x86_64/03-bashprofile.sh b/coin/provisioning/qtci-macos-12-x86_64/03-bashprofile.sh index 2c3e45f3..4eed8433 100755 --- a/coin/provisioning/qtci-macos-12-x86_64/03-bashprofile.sh +++ b/coin/provisioning/qtci-macos-12-x86_64/03-bashprofile.sh @@ -1,4 +1,6 @@ #!/usr/bin/env 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 set -ex diff --git a/coin/provisioning/qtci-macos-12-x86_64/05-systemsetup.sh b/coin/provisioning/qtci-macos-12-x86_64/05-systemsetup.sh index 99e22d40..115c0489 100755 --- a/coin/provisioning/qtci-macos-12-x86_64/05-systemsetup.sh +++ b/coin/provisioning/qtci-macos-12-x86_64/05-systemsetup.sh @@ -1,43 +1,6 @@ #!/usr/bin/env bash - -############################################################################# -## -## Copyright (C) 2021 The Qt Company Ltd. -## Contact: https://www.qt.io/licensing/ -## -## This file is part of the provisioning scripts of the Qt Toolkit. -## -## $QT_BEGIN_LICENSE:LGPL$ -## Commercial License Usage -## Licensees holding valid commercial Qt licenses may use this file in -## accordance with the commercial license agreement provided with the -## Software or, alternatively, in accordance with the terms contained in -## a written agreement between you and The Qt Company. For licensing terms -## and conditions see https://www.qt.io/terms-conditions. For further -## information use the contact form at https://www.qt.io/contact-us. -## -## GNU Lesser General Public License Usage -## Alternatively, this file may be used under the terms of the GNU Lesser -## General Public License version 3 as published by the Free Software -## Foundation and appearing in the file LICENSE.LGPL3 included in the -## packaging of this file. Please review the following information to -## ensure the GNU Lesser General Public License version 3 requirements -## will be met: https://www.gnu.org/licenses/lgpl-3.0.html. -## -## GNU General Public License Usage -## Alternatively, this file may be used under the terms of the GNU -## General Public License version 2.0 or (at your option) the GNU General -## Public license version 3 or any later version approved by the KDE Free -## Qt Foundation. The licenses are as published by the Free Software -## Foundation and appearing in the file LICENSE.GPL2 and LICENSE.GPL3 -## included in the packaging of this file. Please review the following -## information to ensure the GNU General Public License requirements will -## be met: https://www.gnu.org/licenses/gpl-2.0.html and -## https://www.gnu.org/licenses/gpl-3.0.html. -## -## $QT_END_LICENSE$ -## -############################################################################# +# 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 @@ -46,7 +9,7 @@ set -ex targetFile="$HOME/vncpw.txt" # Fetch password -curl --retry 5 --retry-delay 10 --retry-max-time 60 "http://ci-files01-hki.intra.qt.io/input/semisecure/vncpw.txt" -o "$targetFile" +curl --retry 5 --retry-delay 10 --retry-max-time 60 "http://ci-files01-hki.ci.qt.io/input/semisecure/vncpw.txt" -o "$targetFile" shasum "$targetFile" |grep "a795fccaa8f277e62ec08e6056c544b8b63924a0" { VNCPassword=$(cat "$targetFile"); } 2> /dev/null @@ -96,7 +59,7 @@ defaults write -g KeyRepeat -int 2 set +x echo "Enable remote desktop sharing" -sudo /System/Library/CoreServices/RemoteManagement/ARDAgent.app/Contents/Resources/kickstart -activate -configure -access -on -clientopts -setvnclegacy -vnclegacy yes -clientopts -setvncpw -vncpw $VNCPassword -restart -agent -privs -all +sudo /System/Library/CoreServices/RemoteManagement/ARDAgent.app/Contents/Resources/kickstart -activate -configure -access -on -clientopts -setvnclegacy -vnclegacy yes -clientopts -setvncpw -vncpw "$VNCPassword" -restart -agent -privs -all set -x echo "Set Network Test Server address to $NTS_IP in /etc/hosts" diff --git a/coin/provisioning/qtci-macos-12-x86_64/06-crashreporter.sh b/coin/provisioning/qtci-macos-12-x86_64/06-crashreporter.sh index 8461c656..cb7c0774 100755 --- a/coin/provisioning/qtci-macos-12-x86_64/06-crashreporter.sh +++ b/coin/provisioning/qtci-macos-12-x86_64/06-crashreporter.sh @@ -1,4 +1,6 @@ #!/usr/bin/env 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 set -ex diff --git a/coin/provisioning/qtci-macos-12-x86_64/06-disable_spotlight.sh b/coin/provisioning/qtci-macos-12-x86_64/06-disable_spotlight.sh index 67e2c1f6..ab85a262 100755 --- a/coin/provisioning/qtci-macos-12-x86_64/06-disable_spotlight.sh +++ b/coin/provisioning/qtci-macos-12-x86_64/06-disable_spotlight.sh @@ -1,4 +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 set -ex # shellcheck source=../common/macos/disable_spotlight.sh diff --git a/coin/provisioning/qtci-macos-12-x86_64/06-disable_update_downloads.sh b/coin/provisioning/qtci-macos-12-x86_64/06-disable_update_downloads.sh index 3c11214d..18cb98ea 100755 --- a/coin/provisioning/qtci-macos-12-x86_64/06-disable_update_downloads.sh +++ b/coin/provisioning/qtci-macos-12-x86_64/06-disable_update_downloads.sh @@ -1,4 +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 set -ex BASEDIR=$(dirname "$0") "$BASEDIR"/../common/macos/disable_update_downloads.sh diff --git a/coin/provisioning/qtci-macos-12-x86_64/07-SSL_keychain.sh b/coin/provisioning/qtci-macos-12-x86_64/07-SSL_keychain.sh index 6e7c796a..e14dcee9 100755 --- a/coin/provisioning/qtci-macos-12-x86_64/07-SSL_keychain.sh +++ b/coin/provisioning/qtci-macos-12-x86_64/07-SSL_keychain.sh @@ -1,4 +1,6 @@ -#!/usr/bin/env sh +#!/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 diff --git a/coin/provisioning/qtci-macos-12-x86_64/15-xz.sh b/coin/provisioning/qtci-macos-12-x86_64/15-xz.sh index c2f6e73f..ffe00992 100755 --- a/coin/provisioning/qtci-macos-12-x86_64/15-xz.sh +++ b/coin/provisioning/qtci-macos-12-x86_64/15-xz.sh @@ -1,43 +1,6 @@ #!/usr/bin/env bash - -############################################################################# -## -## Copyright (C) 2020 The Qt Company Ltd. -## Contact: https://www.qt.io/licensing/ -## -## This file is part of the provisioning scripts of the Qt Toolkit. -## -## $QT_BEGIN_LICENSE:LGPL$ -## Commercial License Usage -## Licensees holding valid commercial Qt licenses may use this file in -## accordance with the commercial license agreement provided with the -## Software or, alternatively, in accordance with the terms contained in -## a written agreement between you and The Qt Company. For licensing terms -## and conditions see https://www.qt.io/terms-conditions. For further -## information use the contact form at https://www.qt.io/contact-us. -## -## GNU Lesser General Public License Usage -## Alternatively, this file may be used under the terms of the GNU Lesser -## General Public License version 3 as published by the Free Software -## Foundation and appearing in the file LICENSE.LGPL3 included in the -## packaging of this file. Please review the following information to -## ensure the GNU Lesser General Public License version 3 requirements -## will be met: https://www.gnu.org/licenses/lgpl-3.0.html. -## -## GNU General Public License Usage -## Alternatively, this file may be used under the terms of the GNU -## General Public License version 2.0 or (at your option) the GNU General -## Public license version 3 or any later version approved by the KDE Free -## Qt Foundation. The licenses are as published by the Free Software -## Foundation and appearing in the file LICENSE.GPL2 and LICENSE.GPL3 -## included in the packaging of this file. Please review the following -## information to ensure the GNU General Public License requirements will -## be met: https://www.gnu.org/licenses/gpl-2.0.html and -## https://www.gnu.org/licenses/gpl-3.0.html. -## -## $QT_END_LICENSE$ -## -############################################################################# +# 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 XZ-Utils @@ -48,7 +11,7 @@ set -ex # shellcheck source=../common/macos/InstallPKGFromURL.sh source "${BASH_SOURCE%/*}/../common/macos/InstallPKGFromURL.sh" -PrimaryUrl="http://ci-files01-hki.intra.qt.io/input/mac/macos_10.12_sierra/XZ.pkg" +PrimaryUrl="http://ci-files01-hki.ci.qt.io/input/mac/macos_10.12_sierra/XZ.pkg" AltUrl="http://sourceforge.net/projects/macpkg/files/XZ/5.0.7/XZ.pkg" SHA1="f0c1f82ebcffe0bd4b8b57b6a77805db56b2de67" DestDir="/" diff --git a/coin/provisioning/qtci-macos-12-x86_64/20-java.sh b/coin/provisioning/qtci-macos-12-x86_64/20-java.sh index dcfcb93b..325fee63 100755 --- a/coin/provisioning/qtci-macos-12-x86_64/20-java.sh +++ b/coin/provisioning/qtci-macos-12-x86_64/20-java.sh @@ -1,4 +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 set -ex BASEDIR=$(dirname "$0") diff --git a/coin/provisioning/qtci-macos-12-x86_64/20-xcode.sh b/coin/provisioning/qtci-macos-12-x86_64/20-xcode.sh index 878ce325..102211cc 100755 --- a/coin/provisioning/qtci-macos-12-x86_64/20-xcode.sh +++ b/coin/provisioning/qtci-macos-12-x86_64/20-xcode.sh @@ -1,43 +1,6 @@ #!/usr/bin/env bash - -############################################################################# -## -## Copyright (C) 2021 The Qt Company Ltd. -## Contact: https://www.qt.io/licensing/ -## -## This file is part of the provisioning scripts of the Qt Toolkit. -## -## $QT_BEGIN_LICENSE:LGPL$ -## Commercial License Usage -## Licensees holding valid commercial Qt licenses may use this file in -## accordance with the commercial license agreement provided with the -## Software or, alternatively, in accordance with the terms contained in -## a written agreement between you and The Qt Company. For licensing terms -## and conditions see https://www.qt.io/terms-conditions. For further -## information use the contact form at https://www.qt.io/contact-us. -## -## GNU Lesser General Public License Usage -## Alternatively, this file may be used under the terms of the GNU Lesser -## General Public License version 3 as published by the Free Software -## Foundation and appearing in the file LICENSE.LGPL3 included in the -## packaging of this file. Please review the following information to -## ensure the GNU Lesser General Public License version 3 requirements -## will be met: https://www.gnu.org/licenses/lgpl-3.0.html. -## -## GNU General Public License Usage -## Alternatively, this file may be used under the terms of the GNU -## General Public License version 2.0 or (at your option) the GNU General -## Public license version 3 or any later version approved by the KDE Free -## Qt Foundation. The licenses are as published by the Free Software -## Foundation and appearing in the file LICENSE.GPL2 and LICENSE.GPL3 -## included in the packaging of this file. Please review the following -## information to ensure the GNU General Public License requirements will -## be met: https://www.gnu.org/licenses/gpl-2.0.html and -## https://www.gnu.org/licenses/gpl-3.0.html. -## -## $QT_END_LICENSE$ -## -############################################################################# +# Copyright (C) 2022 The Qt Company Ltd. +# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only # This script installs Xcode # Prerequisites: Have Xcode prefetched to local cache as xz compressed. @@ -56,4 +19,4 @@ set -ex # shellcheck source=../common/macos/install_xcode.sh source "${BASH_SOURCE%/*}/../common/macos/install_xcode.sh" -InstallXCode /net/ci-files01-hki.intra.qt.io/hdd/www/input/mac/Xcode_13.2.xip 13.2 +InstallXCode /net/ci-files01-hki.ci.qt.io/hdd/www/input/mac/Xcode_14.2.xip 14.2 diff --git a/coin/provisioning/qtci-macos-12-x86_64/21-install-commandlinetools.sh b/coin/provisioning/qtci-macos-12-x86_64/21-install-commandlinetools.sh index c50c1406..d2981173 100755 --- a/coin/provisioning/qtci-macos-12-x86_64/21-install-commandlinetools.sh +++ b/coin/provisioning/qtci-macos-12-x86_64/21-install-commandlinetools.sh @@ -1,51 +1,14 @@ #!/usr/bin/env bash - -############################################################################# -## -## Copyright (C) 2021 The Qt Company Ltd. -## Contact: https://www.qt.io/licensing/ -## -## This file is part of the provisioning scripts of the Qt Toolkit. -## -## $QT_BEGIN_LICENSE:LGPL$ -## Commercial License Usage -## Licensees holding valid commercial Qt licenses may use this file in -## accordance with the commercial license agreement provided with the -## Software or, alternatively, in accordance with the terms contained in -## a written agreement between you and The Qt Company. For licensing terms -## and conditions see https://www.qt.io/terms-conditions. For further -## information use the contact form at https://www.qt.io/contact-us. -## -## GNU Lesser General Public License Usage -## Alternatively, this file may be used under the terms of the GNU Lesser -## General Public License version 3 as published by the Free Software -## Foundation and appearing in the file LICENSE.LGPL3 included in the -## packaging of this file. Please review the following information to -## ensure the GNU Lesser General Public License version 3 requirements -## will be met: https://www.gnu.org/licenses/lgpl-3.0.html. -## -## GNU General Public License Usage -## Alternatively, this file may be used under the terms of the GNU -## General Public License version 2.0 or (at your option) the GNU General -## Public license version 3 or any later version approved by the KDE Free -## Qt Foundation. The licenses are as published by the Free Software -## Foundation and appearing in the file LICENSE.GPL2 and LICENSE.GPL3 -## included in the packaging of this file. Please review the following -## information to ensure the GNU General Public License requirements will -## be met: https://www.gnu.org/licenses/gpl-2.0.html and -## https://www.gnu.org/licenses/gpl-3.0.html. -## -## $QT_END_LICENSE$ -## -############################################################################# +# Copyright (C) 2022 The Qt Company Ltd. +# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only set -ex # shellcheck source=../common/macos/install-commandlinetools.sh source "${BASH_SOURCE%/*}/../common/macos/install-commandlinetools.sh" -version="13.2" +version="14.2" packageName="Command_Line_Tools_for_Xcode_$version.dmg" -url="http://ci-files01-hki.intra.qt.io/input/mac/$packageName" -sha1="b3a0b597435cfbc5c09ad5772cf7313c87032252" +url="http://ci-files01-hki.ci.qt.io/input/mac/$packageName" +sha1="f9d18da696bc54755bd85fb4f42c0a8866bdade6" InstallCommandLineTools $url $url $sha1 $packageName $version diff --git a/coin/provisioning/qtci-macos-12-x86_64/25-cmake.sh b/coin/provisioning/qtci-macos-12-x86_64/25-cmake.sh index 4f4d405e..33095880 100755 --- a/coin/provisioning/qtci-macos-12-x86_64/25-cmake.sh +++ b/coin/provisioning/qtci-macos-12-x86_64/25-cmake.sh @@ -1,4 +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 set -ex diff --git a/coin/provisioning/qtci-macos-12-x86_64/25-homebrew.sh b/coin/provisioning/qtci-macos-12-x86_64/25-homebrew.sh index b177ab82..f83960f4 100755 --- a/coin/provisioning/qtci-macos-12-x86_64/25-homebrew.sh +++ b/coin/provisioning/qtci-macos-12-x86_64/25-homebrew.sh @@ -1,43 +1,6 @@ #!/usr/bin/env bash - -############################################################################# -## -## Copyright (C) 2021 The Qt Company Ltd. -## Contact: https://www.qt.io/licensing/ -## -## This file is part of the provisioning scripts of the Qt Toolkit. -## -## $QT_BEGIN_LICENSE:LGPL$ -## Commercial License Usage -## Licensees holding valid commercial Qt licenses may use this file in -## accordance with the commercial license agreement provided with the -## Software or, alternatively, in accordance with the terms contained in -## a written agreement between you and The Qt Company. For licensing terms -## and conditions see https://www.qt.io/terms-conditions. For further -## information use the contact form at https://www.qt.io/contact-us. -## -## GNU Lesser General Public License Usage -## Alternatively, this file may be used under the terms of the GNU Lesser -## General Public License version 3 as published by the Free Software -## Foundation and appearing in the file LICENSE.LGPL3 included in the -## packaging of this file. Please review the following information to -## ensure the GNU Lesser General Public License version 3 requirements -## will be met: https://www.gnu.org/licenses/lgpl-3.0.html. -## -## GNU General Public License Usage -## Alternatively, this file may be used under the terms of the GNU -## General Public License version 2.0 or (at your option) the GNU General -## Public license version 3 or any later version approved by the KDE Free -## Qt Foundation. The licenses are as published by the Free Software -## Foundation and appearing in the file LICENSE.GPL2 and LICENSE.GPL3 -## included in the packaging of this file. Please review the following -## information to ensure the GNU General Public License requirements will -## be met: https://www.gnu.org/licenses/gpl-2.0.html and -## https://www.gnu.org/licenses/gpl-3.0.html. -## -## $QT_END_LICENSE$ -## -############################################################################# +# 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 # Will install homebrew package manager for macOS. # WARNING: Requires commandlinetools @@ -49,15 +12,15 @@ set -e DownloadURL \ - http://ci-files01-hki.intra.qt.io/input/mac/homebrew/a822f0d0f1838c07e86b356fcd2bf93c7a11c2aa/install.sh \ + http://ci-files01-hki.ci.qt.io/input/mac/homebrew/a822f0d0f1838c07e86b356fcd2bf93c7a11c2aa/install.sh \ https://raw.githubusercontent.com/Homebrew/install/c744a716f9845988d01e6e238eee7117b8c366c9/install \ 3210da71e12a699ab3bba43910a6d5fc64b92000 \ /tmp/homebrew_install.sh -DownloadURL "http://ci-files01-hki.intra.qt.io/input/semisecure/sign/pw" "http://ci-files01-hki.intra.qt.io/input/semisecure/sign/pw" "aae58d00d0a1b179a09f21cfc67f9d16fb95ff36" "/Users/qt/pw" +DownloadURL "http://ci-files01-hki.ci.qt.io/input/semisecure/sign/pw" "http://ci-files01-hki.ci.qt.io/input/semisecure/sign/pw" "aae58d00d0a1b179a09f21cfc67f9d16fb95ff36" "/Users/qt/pw" { pw=$(cat "/Users/qt/pw"); } 2> /dev/null sudo chmod 755 /tmp/homebrew_install.sh -{ (echo $pw | /tmp/homebrew_install.sh); } 2> /dev/null +{ (echo "$pw" | /tmp/homebrew_install.sh); } 2> /dev/null rm -f "/Users/qt/pw" # No need to manually do `brew update`, the homebrew installer script does it. diff --git a/coin/provisioning/qtci-macos-12-x86_64/25-mysql.sh b/coin/provisioning/qtci-macos-12-x86_64/25-mysql.sh index d113c4cb..0be1e6e8 100755 --- a/coin/provisioning/qtci-macos-12-x86_64/25-mysql.sh +++ b/coin/provisioning/qtci-macos-12-x86_64/25-mysql.sh @@ -1,43 +1,6 @@ #!/usr/bin/env bash - -############################################################################# -## -## Copyright (C) 2020 The Qt Company Ltd. -## Contact: https://www.qt.io/licensing/ -## -## This file is part of the provisioning scripts of the Qt Toolkit. -## -## $QT_BEGIN_LICENSE:LGPL$ -## Commercial License Usage -## Licensees holding valid commercial Qt licenses may use this file in -## accordance with the commercial license agreement provided with the -## Software or, alternatively, in accordance with the terms contained in -## a written agreement between you and The Qt Company. For licensing terms -## and conditions see https://www.qt.io/terms-conditions. For further -## information use the contact form at https://www.qt.io/contact-us. -## -## GNU Lesser General Public License Usage -## Alternatively, this file may be used under the terms of the GNU Lesser -## General Public License version 3 as published by the Free Software -## Foundation and appearing in the file LICENSE.LGPL3 included in the -## packaging of this file. Please review the following information to -## ensure the GNU Lesser General Public License version 3 requirements -## will be met: https://www.gnu.org/licenses/lgpl-3.0.html. -## -## GNU General Public License Usage -## Alternatively, this file may be used under the terms of the GNU -## General Public License version 2.0 or (at your option) the GNU General -## Public license version 3 or any later version approved by the KDE Free -## Qt Foundation. The licenses are as published by the Free Software -## Foundation and appearing in the file LICENSE.GPL2 and LICENSE.GPL3 -## included in the packaging of this file. Please review the following -## information to ensure the GNU General Public License requirements will -## be met: https://www.gnu.org/licenses/gpl-2.0.html and -## https://www.gnu.org/licenses/gpl-3.0.html. -## -## $QT_END_LICENSE$ -## -############################################################################# +# 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 MySQL @@ -50,7 +13,7 @@ source "${BASH_SOURCE%/*}/../common/macos/InstallAppFromCompressedFileFromURL.sh # shellcheck source=../common/unix/SetEnvVar.sh source "${BASH_SOURCE%/*}/../common/unix/SetEnvVar.sh" -PrimaryUrl="http://ci-files01-hki.intra.qt.io/input/mac/macos_10.12_sierra/mysql-5.7.15-osx10.11-x86_64.tar.gz" +PrimaryUrl="http://ci-files01-hki.ci.qt.io/input/mac/macos_10.12_sierra/mysql-5.7.15-osx10.11-x86_64.tar.gz" AltUrl="https://dev.mysql.com/get/Downloads/MySQL-5.7/mysql-5.7.15-osx10.11-x86_64.tar.gz" SHA1="07949bd42f350b0504a1536b8830b809b4a34fca" appPrefix="" diff --git a/coin/provisioning/qtci-macos-12-x86_64/25-pip.sh b/coin/provisioning/qtci-macos-12-x86_64/25-pip.sh index 86db3e27..3fc865d0 100755 --- a/coin/provisioning/qtci-macos-12-x86_64/25-pip.sh +++ b/coin/provisioning/qtci-macos-12-x86_64/25-pip.sh @@ -1,4 +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 set -ex diff --git a/coin/provisioning/qtci-macos-12-x86_64/25-postgresql.sh b/coin/provisioning/qtci-macos-12-x86_64/25-postgresql.sh index db1f5236..06cae6ef 100755 --- a/coin/provisioning/qtci-macos-12-x86_64/25-postgresql.sh +++ b/coin/provisioning/qtci-macos-12-x86_64/25-postgresql.sh @@ -1,4 +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 set -ex BASEDIR=$(dirname "$0") diff --git a/coin/provisioning/qtci-macos-12-x86_64/25-python2.sh b/coin/provisioning/qtci-macos-12-x86_64/25-python2.sh index 7ebb8825..4c88a413 100755 --- a/coin/provisioning/qtci-macos-12-x86_64/25-python2.sh +++ b/coin/provisioning/qtci-macos-12-x86_64/25-python2.sh @@ -1,4 +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 set -ex # shellcheck source=../common/macos/python2.sh diff --git a/coin/provisioning/qtci-macos-12-x86_64/25-python3.sh b/coin/provisioning/qtci-macos-12-x86_64/25-python3.sh index eb2a4863..8fee606c 100755 --- a/coin/provisioning/qtci-macos-12-x86_64/25-python3.sh +++ b/coin/provisioning/qtci-macos-12-x86_64/25-python3.sh @@ -1,4 +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 set -ex # shellcheck source=../common/macos/python3.sh diff --git a/coin/provisioning/qtci-macos-12-x86_64/26-freetype.sh b/coin/provisioning/qtci-macos-12-x86_64/26-freetype.sh index 0faec4b4..fa0790f8 100755 --- a/coin/provisioning/qtci-macos-12-x86_64/26-freetype.sh +++ b/coin/provisioning/qtci-macos-12-x86_64/26-freetype.sh @@ -1,4 +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 set -ex diff --git a/coin/provisioning/qtci-macos-12-x86_64/26-jq.sh b/coin/provisioning/qtci-macos-12-x86_64/26-jq.sh new file mode 100755 index 00000000..4dffcb96 --- /dev/null +++ b/coin/provisioning/qtci-macos-12-x86_64/26-jq.sh @@ -0,0 +1,5 @@ +#!/usr/bin/env bash + +set -ex + +brew install jq diff --git a/coin/provisioning/qtci-macos-12-x86_64/26-ninja.sh b/coin/provisioning/qtci-macos-12-x86_64/26-ninja.sh index 08428b2f..4443eeb4 100755 --- a/coin/provisioning/qtci-macos-12-x86_64/26-ninja.sh +++ b/coin/provisioning/qtci-macos-12-x86_64/26-ninja.sh @@ -1,4 +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 set -ex diff --git a/coin/provisioning/qtci-macos-12-x86_64/26-odbc.sh b/coin/provisioning/qtci-macos-12-x86_64/26-odbc.sh index 821c859f..2b6b013a 100755 --- a/coin/provisioning/qtci-macos-12-x86_64/26-odbc.sh +++ b/coin/provisioning/qtci-macos-12-x86_64/26-odbc.sh @@ -1,4 +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 # Install libiodbc set -ex diff --git a/coin/provisioning/qtci-macos-12-x86_64/26-p7zip.sh b/coin/provisioning/qtci-macos-12-x86_64/26-p7zip.sh index 15511332..8cdcd0c3 100755 --- a/coin/provisioning/qtci-macos-12-x86_64/26-p7zip.sh +++ b/coin/provisioning/qtci-macos-12-x86_64/26-p7zip.sh @@ -1,4 +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 # Install 7z to be used from command line set -ex diff --git a/coin/provisioning/qtci-macos-12-x86_64/26-pcre2.sh b/coin/provisioning/qtci-macos-12-x86_64/26-pcre2.sh index f8af516b..c10d6206 100755 --- a/coin/provisioning/qtci-macos-12-x86_64/26-pcre2.sh +++ b/coin/provisioning/qtci-macos-12-x86_64/26-pcre2.sh @@ -1,4 +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 set -ex diff --git a/coin/provisioning/qtci-macos-12-x86_64/27-libclang.sh b/coin/provisioning/qtci-macos-12-x86_64/27-libclang.sh index aad628cb..cc025e6e 100755 --- a/coin/provisioning/qtci-macos-12-x86_64/27-libclang.sh +++ b/coin/provisioning/qtci-macos-12-x86_64/27-libclang.sh @@ -1,4 +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 set -ex diff --git a/coin/provisioning/qtci-macos-12-x86_64/28-libclang-v100-dyn.sh b/coin/provisioning/qtci-macos-12-x86_64/28-libclang-v100-dyn.sh index c9d6e93d..d95e7e00 100755 --- a/coin/provisioning/qtci-macos-12-x86_64/28-libclang-v100-dyn.sh +++ b/coin/provisioning/qtci-macos-12-x86_64/28-libclang-v100-dyn.sh @@ -1,4 +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 set -ex diff --git a/coin/provisioning/qtci-macos-12-x86_64/29-install-pkgconfig.sh b/coin/provisioning/qtci-macos-12-x86_64/29-install-pkgconfig.sh new file mode 100755 index 00000000..33e11580 --- /dev/null +++ b/coin/provisioning/qtci-macos-12-x86_64/29-install-pkgconfig.sh @@ -0,0 +1,6 @@ +#!/usr/bin/env bash + +set -ex + +BASEDIR=$(dirname "$0") +"$BASEDIR/../common/macos/pkgconfig.sh" diff --git a/coin/provisioning/qtci-macos-12-x86_64/29-libusb.sh b/coin/provisioning/qtci-macos-12-x86_64/29-libusb.sh index c58274b6..e9e9e238 100755 --- a/coin/provisioning/qtci-macos-12-x86_64/29-libusb.sh +++ b/coin/provisioning/qtci-macos-12-x86_64/29-libusb.sh @@ -1,4 +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 set -ex diff --git a/coin/provisioning/qtci-macos-12-x86_64/30-android.sh b/coin/provisioning/qtci-macos-12-x86_64/30-android.sh index 346e2051..ddb3aec0 100755 --- a/coin/provisioning/qtci-macos-12-x86_64/30-android.sh +++ b/coin/provisioning/qtci-macos-12-x86_64/30-android.sh @@ -1,99 +1,8 @@ #!/usr/bin/env bash - -############################################################################# -## -## Copyright (C) 2021 The Qt Company Ltd. -## Contact: https://www.qt.io/licensing/ -## -## This file is part of the provisioning scripts of the Qt Toolkit. -## -## $QT_BEGIN_LICENSE:LGPL$ -## Commercial License Usage -## Licensees holding valid commercial Qt licenses may use this file in -## accordance with the commercial license agreement provided with the -## Software or, alternatively, in accordance with the terms contained in -## a written agreement between you and The Qt Company. For licensing terms -## and conditions see https://www.qt.io/terms-conditions. For further -## information use the contact form at https://www.qt.io/contact-us. -## -## GNU Lesser General Public License Usage -## Alternatively, this file may be used under the terms of the GNU Lesser -## General Public License version 3 as published by the Free Software -## Foundation and appearing in the file LICENSE.LGPL3 included in the -## packaging of this file. Please review the following information to -## ensure the GNU Lesser General Public License version 3 requirements -## will be met: https://www.gnu.org/licenses/lgpl-3.0.html. -## -## GNU General Public License Usage -## Alternatively, this file may be used under the terms of the GNU -## General Public License version 2.0 or (at your option) the GNU General -## Public license version 3 or any later version approved by the KDE Free -## Qt Foundation. The licenses are as published by the Free Software -## Foundation and appearing in the file LICENSE.GPL2 and LICENSE.GPL3 -## included in the packaging of this file. Please review the following -## information to ensure the GNU General Public License requirements will -## be met: https://www.gnu.org/licenses/gpl-2.0.html and -## https://www.gnu.org/licenses/gpl-3.0.html. -## -## $QT_END_LICENSE$ -## -############################################################################# - -# This script install Android sdk and ndk. - -# It also runs update for SDK API, latest SDK tools, latest platform-tools and build-tools version +#Copyright (C) 2023 The Qt Company Ltd +#SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only set -ex -# shellcheck source=../common/unix/SetEnvVar.sh -source "${BASH_SOURCE%/*}/../common/unix/SetEnvVar.sh" - -targetFolder="/opt/android" -sdkTargetFolder="$targetFolder/sdk" - -basePath="/net/ci-files01-hki.intra.qt.io/hdd/www/input/android" - -toolsVersion="2.1" -# toolsFile dertermines tools version -toolsFile="commandlinetools-mac-6609375_latest.zip" - -ndkVersion="r22b" -ndkFile="android-ndk-$ndkVersion-darwin-x86_64.zip" -sdkBuildToolsVersion="31.0.0" -# this is compile sdk version -sdkApiLevel="android-31" - -toolsSourceFile="$basePath/$toolsFile" -ndkSourceFile="$basePath/$ndkFile" - -echo "Unzipping Android NDK to '$targetFolder'" -sudo unzip -q "$ndkSourceFile" -d "$targetFolder" -echo "Unzipping Android Tools to '$sdkTargetFolder'" -sudo unzip -q "$toolsSourceFile" -d "$sdkTargetFolder" - -echo "Changing ownership of Android files." -sudo chown -R qt:wheel "$targetFolder" - -# Run the following command under `eval` or `sh -c` so that the shell properly splits it -sdkmanager_no_progress_bar_cmd="tr '\r' '\n' | grep -v '^\[[ =]*\]'" - -sudo mkdir "$sdkTargetFolder/cmdline-tools" -sudo mv "$sdkTargetFolder/tools" "$sdkTargetFolder/cmdline-tools" - -echo "Running SDK manager for platforms;$sdkApiLevel, platform-tools and build-tools;$sdkBuildToolsVersion." -(echo "y"; echo "y") | "$sdkTargetFolder/cmdline-tools/tools/bin/sdkmanager" "--sdk_root=$sdkTargetFolder" \ - "platforms;$sdkApiLevel" "platform-tools" "build-tools;$sdkBuildToolsVersion" \ - | eval $sdkmanager_no_progress_bar_cmd - -echo "Checking the contents of Android SDK..." -ls -l "$sdkTargetFolder" - -SetEnvVar "ANDROID_SDK_ROOT" "$sdkTargetFolder" -SetEnvVar "ANDROID_NDK_ROOT" "$targetFolder/android-ndk-$ndkVersion" -SetEnvVar "ANDROID_NDK_HOST" "darwin-x86_64" -SetEnvVar "ANDROID_API_VERSION" "$sdkApiLevel" - -echo "Android SDK tools = $toolsVersion" >> ~/versions.txt -echo "Android SDK Build Tools = $sdkBuildToolsVersion" >> ~/versions.txt -echo "Android SDK API level = $sdkApiLevel" >> ~/versions.txt -echo "Android NDK = $ndkVersion" >> ~/versions.txt +# shellcheck source=../common/macos/android.sh +source "${BASH_SOURCE%/*}/../common/macos/android.sh" diff --git a/coin/provisioning/qtci-macos-12-x86_64/30-fbx.sh b/coin/provisioning/qtci-macos-12-x86_64/30-fbx.sh index 34eefeb6..e991bc08 100755 --- a/coin/provisioning/qtci-macos-12-x86_64/30-fbx.sh +++ b/coin/provisioning/qtci-macos-12-x86_64/30-fbx.sh @@ -1,4 +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 set -ex diff --git a/coin/provisioning/qtci-macos-12-x86_64/30-install-conan.sh b/coin/provisioning/qtci-macos-12-x86_64/30-install-conan.sh index f1d084fd..8d90ef37 100755 --- a/coin/provisioning/qtci-macos-12-x86_64/30-install-conan.sh +++ b/coin/provisioning/qtci-macos-12-x86_64/30-install-conan.sh @@ -1,4 +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 set -ex diff --git a/coin/provisioning/qtci-macos-12-x86_64/30-nodejs.sh b/coin/provisioning/qtci-macos-12-x86_64/30-nodejs.sh index 3b88d526..a5cf7d4d 100755 --- a/coin/provisioning/qtci-macos-12-x86_64/30-nodejs.sh +++ b/coin/provisioning/qtci-macos-12-x86_64/30-nodejs.sh @@ -1,4 +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 set -ex BASEDIR=$(dirname "$0") diff --git a/coin/provisioning/qtci-macos-12-x86_64/35-install-breakpad.sh b/coin/provisioning/qtci-macos-12-x86_64/35-install-breakpad.sh index 74dd1579..8a9dde56 100755 --- a/coin/provisioning/qtci-macos-12-x86_64/35-install-breakpad.sh +++ b/coin/provisioning/qtci-macos-12-x86_64/35-install-breakpad.sh @@ -1,4 +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 set -ex diff --git a/coin/provisioning/qtci-macos-12-x86_64/35-install_protobuf.sh b/coin/provisioning/qtci-macos-12-x86_64/35-install_protobuf.sh new file mode 100755 index 00000000..ecb5f835 --- /dev/null +++ b/coin/provisioning/qtci-macos-12-x86_64/35-install_protobuf.sh @@ -0,0 +1,9 @@ +#!/usr/bin/env bash +# Copyright (C) 2020 The Qt Company Ltd. +# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only + +set -ex + +# shellcheck source=../common/unix/install_protobuf.sh +source "${BASH_SOURCE%/*}/../common/unix/install_protobuf.sh" + diff --git a/coin/provisioning/qtci-macos-12-x86_64/35-install_protobuff.sh b/coin/provisioning/qtci-macos-12-x86_64/35-install_protobuff.sh deleted file mode 100755 index 08c955e9..00000000 --- a/coin/provisioning/qtci-macos-12-x86_64/35-install_protobuff.sh +++ /dev/null @@ -1,46 +0,0 @@ -#!/usr/bin/env bash - -############################################################################# -## -## Copyright (C) 2020 The Qt Company Ltd. -## Contact: https://www.qt.io/licensing/ -## -## This file is part of the provisioning scripts of the Qt Toolkit. -## -## $QT_BEGIN_LICENSE:LGPL$ -## Commercial License Usage -## Licensees holding valid commercial Qt licenses may use this file in -## accordance with the commercial license agreement provided with the -## Software or, alternatively, in accordance with the terms contained in -## a written agreement between you and The Qt Company. For licensing terms -## and conditions see https://www.qt.io/terms-conditions. For further -## information use the contact form at https://www.qt.io/contact-us. -## -## GNU Lesser General Public License Usage -## Alternatively, this file may be used under the terms of the GNU Lesser -## General Public License version 3 as published by the Free Software -## Foundation and appearing in the file LICENSE.LGPL3 included in the -## packaging of this file. Please review the following information to -## ensure the GNU Lesser General Public License version 3 requirements -## will be met: https://www.gnu.org/licenses/lgpl-3.0.html. -## -## GNU General Public License Usage -## Alternatively, this file may be used under the terms of the GNU -## General Public License version 2.0 or (at your option) the GNU General -## Public license version 3 or any later version approved by the KDE Free -## Qt Foundation. The licenses are as published by the Free Software -## Foundation and appearing in the file LICENSE.GPL2 and LICENSE.GPL3 -## included in the packaging of this file. Please review the following -## information to ensure the GNU General Public License requirements will -## be met: https://www.gnu.org/licenses/gpl-2.0.html and -## https://www.gnu.org/licenses/gpl-3.0.html. -## -## $QT_END_LICENSE$ -## -############################################################################# - -set -ex - -# shellcheck source=../common/unix/install_protobuff.sh -source "${BASH_SOURCE%/*}/../common/unix/install_protobuff.sh" - diff --git a/coin/provisioning/qtci-macos-12-x86_64/35-openssl.sh b/coin/provisioning/qtci-macos-12-x86_64/35-openssl.sh index 24d899a8..c86788db 100755 --- a/coin/provisioning/qtci-macos-12-x86_64/35-openssl.sh +++ b/coin/provisioning/qtci-macos-12-x86_64/35-openssl.sh @@ -1,7 +1,9 @@ #!/usr/bin/env bash +#Copyright (C) 2023 The Qt Company Ltd +#SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only set -ex -# shellcheck source=../common/macos/install_openssl.sh +# shellcheck source=../common/unix/install-openssl.sh source "${BASH_SOURCE%/*}/../common/unix/install-openssl.sh" "macos-universal" diff --git a/coin/provisioning/qtci-macos-12-x86_64/36-emsdk.sh b/coin/provisioning/qtci-macos-12-x86_64/36-emsdk.sh index 7396d336..c8aec444 100755 --- a/coin/provisioning/qtci-macos-12-x86_64/36-emsdk.sh +++ b/coin/provisioning/qtci-macos-12-x86_64/36-emsdk.sh @@ -1,4 +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 set -ex diff --git a/coin/provisioning/qtci-macos-12-x86_64/36-install_grpc.sh b/coin/provisioning/qtci-macos-12-x86_64/36-install_grpc.sh new file mode 100755 index 00000000..ecd6a51f --- /dev/null +++ b/coin/provisioning/qtci-macos-12-x86_64/36-install_grpc.sh @@ -0,0 +1,9 @@ +#!/usr/bin/env bash +# Copyright (C) 2022 The Qt Company Ltd. +# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only + +set -ex + +# shellcheck source=../common/unix/install_grpc.sh +source "${BASH_SOURCE%/*}/../common/unix/install_grpc.sh" + diff --git a/coin/provisioning/qtci-macos-12-x86_64/50-openssl_for_android_darwin.sh b/coin/provisioning/qtci-macos-12-x86_64/50-openssl_for_android_darwin.sh new file mode 100755 index 00000000..c3e51d23 --- /dev/null +++ b/coin/provisioning/qtci-macos-12-x86_64/50-openssl_for_android_darwin.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 + +# shellcheck source=../common/unix/openssl_for_android.sh +source "${BASH_SOURCE%/*}/../common/unix/openssl_for_android.sh" diff --git a/coin/provisioning/qtci-macos-12-x86_64/80-screenresolution.sh b/coin/provisioning/qtci-macos-12-x86_64/80-screenresolution.sh index 920c579c..ed905a33 100755 --- a/coin/provisioning/qtci-macos-12-x86_64/80-screenresolution.sh +++ b/coin/provisioning/qtci-macos-12-x86_64/80-screenresolution.sh @@ -1,4 +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 "$(dirname "$0")"/../common/macos/screenresolution.sh diff --git a/coin/provisioning/qtci-macos-12-x86_64/81-bluetooth.sh b/coin/provisioning/qtci-macos-12-x86_64/81-bluetooth.sh index e08aca4e..c58b9a34 100755 --- a/coin/provisioning/qtci-macos-12-x86_64/81-bluetooth.sh +++ b/coin/provisioning/qtci-macos-12-x86_64/81-bluetooth.sh @@ -1,4 +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 set -ex diff --git a/coin/provisioning/qtci-macos-12-x86_64/90-docker.sh b/coin/provisioning/qtci-macos-12-x86_64/90-docker.sh new file mode 100755 index 00000000..1ab281cb --- /dev/null +++ b/coin/provisioning/qtci-macos-12-x86_64/90-docker.sh @@ -0,0 +1,9 @@ +#!/usr/bin/env bash +#Copyright (C) 2023 The Qt Company Ltd +#SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only + +set -ex + +# shellcheck source=../common/macos/docker.sh +source "${BASH_SOURCE%/*}/../common/macos/docker.sh" "amd64" + diff --git a/coin/provisioning/qtci-macos-12-x86_64/90-install-ffmpeg.sh b/coin/provisioning/qtci-macos-12-x86_64/90-install-ffmpeg.sh new file mode 100755 index 00000000..8f6da818 --- /dev/null +++ b/coin/provisioning/qtci-macos-12-x86_64/90-install-ffmpeg.sh @@ -0,0 +1,8 @@ +#!/usr/bin/env bash +#Copyright (C) 2023 The Qt Company Ltd +#SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only + +set -ex + +source "${BASH_SOURCE%/*}/../common/unix/install-ffmpeg.sh" "macos-universal" +source "${BASH_SOURCE%/*}/../common/unix/install-ffmpeg-android.sh" "android-arm64" diff --git a/coin/provisioning/qtci-macos-12-x86_64/90-squish.sh b/coin/provisioning/qtci-macos-12-x86_64/90-squish.sh index 17a0c38e..c2658d0e 100755 --- a/coin/provisioning/qtci-macos-12-x86_64/90-squish.sh +++ b/coin/provisioning/qtci-macos-12-x86_64/90-squish.sh @@ -1,4 +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 set -ex BASEDIR=$(dirname "$0") diff --git a/coin/provisioning/qtci-macos-12-x86_64/90-vlc.sh b/coin/provisioning/qtci-macos-12-x86_64/90-vlc.sh new file mode 100644 index 00000000..4924fe5c --- /dev/null +++ b/coin/provisioning/qtci-macos-12-x86_64/90-vlc.sh @@ -0,0 +1,8 @@ +#!/usr/bin/env bash +#Copyright (C) 2023 The Qt Company Ltd +#SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only + +set -ex + +# for QtMM streaming tests +brew install --cask vlc diff --git a/coin/provisioning/qtci-macos-12-x86_64/97-set-locale.sh b/coin/provisioning/qtci-macos-12-x86_64/97-set-locale.sh index e34b7381..bc966cbf 100755 --- a/coin/provisioning/qtci-macos-12-x86_64/97-set-locale.sh +++ b/coin/provisioning/qtci-macos-12-x86_64/97-set-locale.sh @@ -1,6 +1,8 @@ #!/usr/bin/env bash +#Copyright (C) 2023 The Qt Company Ltd +#SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only set -ex BASEDIR=$(dirname "$0") -$BASEDIR/../common/macos/set-locale.sh +"$BASEDIR/../common/macos/set-locale.sh" diff --git a/coin/provisioning/qtci-macos-12-x86_64/98-mimersql.sh b/coin/provisioning/qtci-macos-12-x86_64/98-mimersql.sh new file mode 100755 index 00000000..70d5bc1d --- /dev/null +++ b/coin/provisioning/qtci-macos-12-x86_64/98-mimersql.sh @@ -0,0 +1,5 @@ +#!/usr/bin/env bash +set -ex + +BASEDIR=$(dirname "$0") +"$BASEDIR/../common/macos/mimersql.sh" "macos-universal" diff --git a/coin/provisioning/qtci-macos-12-x86_64/99-mac-version.sh b/coin/provisioning/qtci-macos-12-x86_64/99-mac-version.sh index 99d94150..b9b5aeb0 100755 --- a/coin/provisioning/qtci-macos-12-x86_64/99-mac-version.sh +++ b/coin/provisioning/qtci-macos-12-x86_64/99-mac-version.sh @@ -1,6 +1,8 @@ #!/usr/bin/env bash +#Copyright (C) 2023 The Qt Company Ltd +#SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only set -ex BASEDIR=$(dirname "$0") -$BASEDIR/../common/macos/macos-version.sh +"$BASEDIR/../common/macos/macos-version.sh" diff --git a/coin/provisioning/qtci-macos-12.0-arm/01-sha1sum-compatibility.sh b/coin/provisioning/qtci-macos-12.0-arm/01-sha1sum-compatibility.sh deleted file mode 100755 index cf0611cd..00000000 --- a/coin/provisioning/qtci-macos-12.0-arm/01-sha1sum-compatibility.sh +++ /dev/null @@ -1,47 +0,0 @@ -#!/usr/bin/env bash - -############################################################################# -## -## Copyright (C) 2020 The Qt Company Ltd. -## Contact: https://www.qt.io/licensing/ -## -## This file is part of the provisioning scripts of the Qt Toolkit. -## -## $QT_BEGIN_LICENSE:LGPL$ -## Commercial License Usage -## Licensees holding valid commercial Qt licenses may use this file in -## accordance with the commercial license agreement provided with the -## Software or, alternatively, in accordance with the terms contained in -## a written agreement between you and The Qt Company. For licensing terms -## and conditions see https://www.qt.io/terms-conditions. For further -## information use the contact form at https://www.qt.io/contact-us. -## -## GNU Lesser General Public License Usage -## Alternatively, this file may be used under the terms of the GNU Lesser -## General Public License version 3 as published by the Free Software -## Foundation and appearing in the file LICENSE.LGPL3 included in the -## packaging of this file. Please review the following information to -## ensure the GNU Lesser General Public License version 3 requirements -## will be met: https://www.gnu.org/licenses/lgpl-3.0.html. -## -## GNU General Public License Usage -## Alternatively, this file may be used under the terms of the GNU -## General Public License version 2.0 or (at your option) the GNU General -## Public license version 3 or any later version approved by the KDE Free -## Qt Foundation. The licenses are as published by the Free Software -## Foundation and appearing in the file LICENSE.GPL2 and LICENSE.GPL3 -## included in the packaging of this file. Please review the following -## information to ensure the GNU General Public License requirements will -## be met: https://www.gnu.org/licenses/gpl-2.0.html and -## https://www.gnu.org/licenses/gpl-3.0.html. -## -## $QT_END_LICENSE$ -## -############################################################################# - -#!/usr/bin/env bash - -set -ex - -# shellcheck source=../common/macos/sha1sum-compatibility.sh -source "${BASH_SOURCE%/*}/../common/macos/sha1sum-compatibility.sh" diff --git a/coin/provisioning/qtci-macos-12.0-arm/03-bashprofile.sh b/coin/provisioning/qtci-macos-12.0-arm/03-bashprofile.sh deleted file mode 100755 index 2c3e45f3..00000000 --- a/coin/provisioning/qtci-macos-12.0-arm/03-bashprofile.sh +++ /dev/null @@ -1,7 +0,0 @@ -#!/usr/bin/env sh - -set -ex - -# Read .bashrc if exist -printf -- "# Get the aliases and functions\nif [ -f ~/.bashrc ]; then\n . ~/.bashrc\nfi\n" >> ~/.bash_profile - diff --git a/coin/provisioning/qtci-macos-12.0-arm/05-systemsetup.sh b/coin/provisioning/qtci-macos-12.0-arm/05-systemsetup.sh deleted file mode 100755 index 29624282..00000000 --- a/coin/provisioning/qtci-macos-12.0-arm/05-systemsetup.sh +++ /dev/null @@ -1,117 +0,0 @@ -#!/usr/bin/env bash - -############################################################################# -## -## Copyright (C) 2021 The Qt Company Ltd. -## Contact: https://www.qt.io/licensing/ -## -## This file is part of the provisioning scripts of the Qt Toolkit. -## -## $QT_BEGIN_LICENSE:LGPL$ -## Commercial License Usage -## Licensees holding valid commercial Qt licenses may use this file in -## accordance with the commercial license agreement provided with the -## Software or, alternatively, in accordance with the terms contained in -## a written agreement between you and The Qt Company. For licensing terms -## and conditions see https://www.qt.io/terms-conditions. For further -## information use the contact form at https://www.qt.io/contact-us. -## -## GNU Lesser General Public License Usage -## Alternatively, this file may be used under the terms of the GNU Lesser -## General Public License version 3 as published by the Free Software -## Foundation and appearing in the file LICENSE.LGPL3 included in the -## packaging of this file. Please review the following information to -## ensure the GNU Lesser General Public License version 3 requirements -## will be met: https://www.gnu.org/licenses/lgpl-3.0.html. -## -## GNU General Public License Usage -## Alternatively, this file may be used under the terms of the GNU -## General Public License version 2.0 or (at your option) the GNU General -## Public license version 3 or any later version approved by the KDE Free -## Qt Foundation. The licenses are as published by the Free Software -## Foundation and appearing in the file LICENSE.GPL2 and LICENSE.GPL3 -## included in the packaging of this file. Please review the following -## information to ensure the GNU General Public License requirements will -## be met: https://www.gnu.org/licenses/gpl-2.0.html and -## https://www.gnu.org/licenses/gpl-3.0.html. -## -## $QT_END_LICENSE$ -## -############################################################################# - -set -ex - -# This script modified system settings for automated use - -targetFile="$HOME/vncpw.txt" - -# Fetch password -curl --retry 5 --retry-delay 10 --retry-max-time 60 "http://ci-files01-hki.intra.qt.io/input/semisecure/vncpw.txt" -o "$targetFile" -shasum "$targetFile" |grep "a795fccaa8f277e62ec08e6056c544b8b63924a0" - -{ VNCPassword=$(cat "$targetFile"); } 2> /dev/null -NTS_IP=10.212.2.216 - -echo "Disable Screensaver" -# For current session -defaults -currentHost write com.apple.screensaver idleTime 0 - -echo "Disable sleep" -sudo pmset sleep 0 displaysleep 0 - -# For session after a reboot -mkdir -p "$HOME/Library/LaunchAgents" -sudo tee -a "$HOME/Library/LaunchAgents/no-screensaver.plist" <<EOT -<?xml version="1.0" encoding="UTF-8"?> -<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd"> - -<plist version="1.0"> - <dict> - <key>Label</key> - <string>org.qt.io.screensaver_disable</string> - <key>ProgramArguments</key> - <array> - <string>defaults</string> - <string>-currentHost</string> - <string>write</string> - <string>com.apple.screensaver</string> - <string>idleTime</string> - <string>0</string> - </array> - <key>RunAtLoad</key> - <true/> - <key>KeepAlive</key> - <false/> - </dict> -</plist> -EOT - -defaults write com.apple.screensaver askForPassword -int 0 - -echo "Set keyboard type rates and delays" -# normal minimum is 15 (225 ms) -defaults write -g InitialKeyRepeat -int 15 -# normal minimum is 2 (30 ms) -defaults write -g KeyRepeat -int 2 - -set +x -echo "Enable remote desktop sharing" -sudo /System/Library/CoreServices/RemoteManagement/ARDAgent.app/Contents/Resources/kickstart -activate -configure -access -on -clientopts -setvnclegacy -vnclegacy yes -clientopts -setvncpw -vncpw $VNCPassword -restart -agent -privs -all -set -x - -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 - -sudo systemsetup settimezone GMT -sudo systemsetup setusingnetworktime on -sudo rm -f "$targetFile" - -# Enable automount for nfs shares -sudo sed -i'.orig' -e 's:^#/net:/net:' -e 's:hidefromfinder,nosuid:hidefromfinder,nosuid,locallocks,nocallback:' /etc/auto_master || sudo curl -o /etc/auto_master http://ci-files01-hki.intra.qt.io/input/mac/arm/auto_master -sudo automount -cv - -# Disable multicast advertisements -sudo defaults write /Library/Preferences/com.apple.mDNSResponder.plist NoMulticastAdvertisements -bool true - -# Enable Use keyboard navigation to move focus between controls -defaults write -g AppleKeyboardUIMode -int 2 diff --git a/coin/provisioning/qtci-macos-12.0-arm/06-crashreporter.sh b/coin/provisioning/qtci-macos-12.0-arm/06-crashreporter.sh deleted file mode 100755 index 8461c656..00000000 --- a/coin/provisioning/qtci-macos-12.0-arm/06-crashreporter.sh +++ /dev/null @@ -1,5 +0,0 @@ -#!/usr/bin/env sh - -set -ex - -defaults write com.apple.CrashReporter DialogType server diff --git a/coin/provisioning/qtci-macos-12.0-arm/06-disable_spotlight.sh b/coin/provisioning/qtci-macos-12.0-arm/06-disable_spotlight.sh deleted file mode 100755 index 67e2c1f6..00000000 --- a/coin/provisioning/qtci-macos-12.0-arm/06-disable_spotlight.sh +++ /dev/null @@ -1,5 +0,0 @@ -#!/usr/bin/env bash -set -ex - -# shellcheck source=../common/macos/disable_spotlight.sh -source "${BASH_SOURCE%/*}/../common/macos/disable_spotlight.sh" diff --git a/coin/provisioning/qtci-macos-12.0-arm/06-disable_update_downloads.sh b/coin/provisioning/qtci-macos-12.0-arm/06-disable_update_downloads.sh deleted file mode 100755 index 3c11214d..00000000 --- a/coin/provisioning/qtci-macos-12.0-arm/06-disable_update_downloads.sh +++ /dev/null @@ -1,4 +0,0 @@ -#!/usr/bin/env bash -set -ex -BASEDIR=$(dirname "$0") -"$BASEDIR"/../common/macos/disable_update_downloads.sh diff --git a/coin/provisioning/qtci-macos-12.0-arm/07-SSL_keychain.sh b/coin/provisioning/qtci-macos-12.0-arm/07-SSL_keychain.sh deleted file mode 100755 index 6e7c796a..00000000 --- a/coin/provisioning/qtci-macos-12.0-arm/07-SSL_keychain.sh +++ /dev/null @@ -1,9 +0,0 @@ -#!/usr/bin/env sh - -set -ex - -# shellcheck source=../common/unix/SetEnvVar.sh -source "${BASH_SOURCE%/*}/../common/unix/SetEnvVar.sh" - -# Enables the usage of temporary keychains for SSL autotests -SetEnvVar "QT_SSL_USE_TEMPORARY_KEYCHAIN" "1" diff --git a/coin/provisioning/qtci-macos-12.0-arm/15-xz.sh b/coin/provisioning/qtci-macos-12.0-arm/15-xz.sh deleted file mode 100755 index 9b70c54e..00000000 --- a/coin/provisioning/qtci-macos-12.0-arm/15-xz.sh +++ /dev/null @@ -1,69 +0,0 @@ -#!/usr/bin/env bash - -############################################################################# -## -## Copyright (C) 2021 The Qt Company Ltd. -## Contact: https://www.qt.io/licensing/ -## -## This file is part of the provisioning scripts of the Qt Toolkit. -## -## $QT_BEGIN_LICENSE:LGPL$ -## Commercial License Usage -## Licensees holding valid commercial Qt licenses may use this file in -## accordance with the commercial license agreement provided with the -## Software or, alternatively, in accordance with the terms contained in -## a written agreement between you and The Qt Company. For licensing terms -## and conditions see https://www.qt.io/terms-conditions. For further -## information use the contact form at https://www.qt.io/contact-us. -## -## GNU Lesser General Public License Usage -## Alternatively, this file may be used under the terms of the GNU Lesser -## General Public License version 3 as published by the Free Software -## Foundation and appearing in the file LICENSE.LGPL3 included in the -## packaging of this file. Please review the following information to -## ensure the GNU Lesser General Public License version 3 requirements -## will be met: https://www.gnu.org/licenses/lgpl-3.0.html. -## -## GNU General Public License Usage -## Alternatively, this file may be used under the terms of the GNU -## General Public License version 2.0 or (at your option) the GNU General -## Public license version 3 or any later version approved by the KDE Free -## Qt Foundation. The licenses are as published by the Free Software -## Foundation and appearing in the file LICENSE.GPL2 and LICENSE.GPL3 -## included in the packaging of this file. Please review the following -## information to ensure the GNU General Public License requirements will -## be met: https://www.gnu.org/licenses/gpl-2.0.html and -## https://www.gnu.org/licenses/gpl-3.0.html. -## -## $QT_END_LICENSE$ -## -############################################################################# - -# This script installs XZ-Utils - -# XZ-Utils are needed for uncompressing xz-compressed files - -# pkg was self builded. -# wget https://downloads.sourceforge.net/project/lzmautils/xz-5.2.5.tar.gz -# tar -xzf xz-5.2.5.tar.gz -C /tmp -# cd /tmp/xz-5.2.5 -# ./configure -# make -# ./configure prefix=/tmp/destination_root -# make install -# cd /tmp -# pkgbuild --root destination_root --identifier io.qt.xz.pkg xz-arm64.pkg - -set -ex - -# shellcheck source=../common/macos/InstallPKGFromURL.sh -source "${BASH_SOURCE%/*}/../common/macos/InstallPKGFromURL.sh" -PrimaryUrl="http://ci-files01-hki.intra.qt.io/input/mac/macos_11.0_big_sur_arm/xz-arm64.pkg" -# SourceUrl="https://tukaani.org/xz/xz-5.2.5.tar.gz" - -SHA1="1afc327965d4af33399ae28f22c4b8e5a9e98dc2" -DestDir="/" - -InstallPKGFromURL "$PrimaryUrl" "$PrimaryUrl" "$SHA1" "$DestDir" - -echo "XZ = 5.2.5" >> ~/versions.txt diff --git a/coin/provisioning/qtci-macos-12.0-arm/20-java.sh b/coin/provisioning/qtci-macos-12.0-arm/20-java.sh deleted file mode 100755 index a6f3330c..00000000 --- a/coin/provisioning/qtci-macos-12.0-arm/20-java.sh +++ /dev/null @@ -1,5 +0,0 @@ -#!/usr/bin/env bash -set -ex - -BASEDIR=$(dirname "$0") -"$BASEDIR/../common/macos/java_arm.sh" diff --git a/coin/provisioning/qtci-macos-12.0-arm/20-xcode.sh b/coin/provisioning/qtci-macos-12.0-arm/20-xcode.sh deleted file mode 100755 index 878ce325..00000000 --- a/coin/provisioning/qtci-macos-12.0-arm/20-xcode.sh +++ /dev/null @@ -1,59 +0,0 @@ -#!/usr/bin/env bash - -############################################################################# -## -## Copyright (C) 2021 The Qt Company Ltd. -## Contact: https://www.qt.io/licensing/ -## -## This file is part of the provisioning scripts of the Qt Toolkit. -## -## $QT_BEGIN_LICENSE:LGPL$ -## Commercial License Usage -## Licensees holding valid commercial Qt licenses may use this file in -## accordance with the commercial license agreement provided with the -## Software or, alternatively, in accordance with the terms contained in -## a written agreement between you and The Qt Company. For licensing terms -## and conditions see https://www.qt.io/terms-conditions. For further -## information use the contact form at https://www.qt.io/contact-us. -## -## GNU Lesser General Public License Usage -## Alternatively, this file may be used under the terms of the GNU Lesser -## General Public License version 3 as published by the Free Software -## Foundation and appearing in the file LICENSE.LGPL3 included in the -## packaging of this file. Please review the following information to -## ensure the GNU Lesser General Public License version 3 requirements -## will be met: https://www.gnu.org/licenses/lgpl-3.0.html. -## -## GNU General Public License Usage -## Alternatively, this file may be used under the terms of the GNU -## General Public License version 2.0 or (at your option) the GNU General -## Public license version 3 or any later version approved by the KDE Free -## Qt Foundation. The licenses are as published by the Free Software -## Foundation and appearing in the file LICENSE.GPL2 and LICENSE.GPL3 -## included in the packaging of this file. Please review the following -## information to ensure the GNU General Public License requirements will -## be met: https://www.gnu.org/licenses/gpl-2.0.html and -## https://www.gnu.org/licenses/gpl-3.0.html. -## -## $QT_END_LICENSE$ -## -############################################################################# - -# This script installs Xcode -# Prerequisites: Have Xcode prefetched to local cache as xz compressed. -# This can be achieved by fetching Xcode_9.xip from Apple Store. -# Uncompress it with 'xar -xf Xcode_9.xip' -# Then get https://gist.githubusercontent.com/pudquick/ff412bcb29c9c1fa4b8d/raw/24b25538ea8df8d0634a2a6189aa581ccc6a5b4b/parse_pbzx2.py -# with which you can run 'python parse_pbzx2.py Content'. -# This will give you five files called "Content.part<00..05>.cpio.xz". -# Extract those that have the extension .xz with xz. -# "cat" together all the content files "cat file1, file2, file3, file4, file5 >file_new" -# Compress the new file with xz back to something like Xcode_9.xz -# Upload the file to temporary storage for this script to use. - -set -ex - -# shellcheck source=../common/macos/install_xcode.sh -source "${BASH_SOURCE%/*}/../common/macos/install_xcode.sh" - -InstallXCode /net/ci-files01-hki.intra.qt.io/hdd/www/input/mac/Xcode_13.2.xip 13.2 diff --git a/coin/provisioning/qtci-macos-12.0-arm/21-install-commandlinetools.sh b/coin/provisioning/qtci-macos-12.0-arm/21-install-commandlinetools.sh deleted file mode 100755 index c50c1406..00000000 --- a/coin/provisioning/qtci-macos-12.0-arm/21-install-commandlinetools.sh +++ /dev/null @@ -1,51 +0,0 @@ -#!/usr/bin/env bash - -############################################################################# -## -## Copyright (C) 2021 The Qt Company Ltd. -## Contact: https://www.qt.io/licensing/ -## -## This file is part of the provisioning scripts of the Qt Toolkit. -## -## $QT_BEGIN_LICENSE:LGPL$ -## Commercial License Usage -## Licensees holding valid commercial Qt licenses may use this file in -## accordance with the commercial license agreement provided with the -## Software or, alternatively, in accordance with the terms contained in -## a written agreement between you and The Qt Company. For licensing terms -## and conditions see https://www.qt.io/terms-conditions. For further -## information use the contact form at https://www.qt.io/contact-us. -## -## GNU Lesser General Public License Usage -## Alternatively, this file may be used under the terms of the GNU Lesser -## General Public License version 3 as published by the Free Software -## Foundation and appearing in the file LICENSE.LGPL3 included in the -## packaging of this file. Please review the following information to -## ensure the GNU Lesser General Public License version 3 requirements -## will be met: https://www.gnu.org/licenses/lgpl-3.0.html. -## -## GNU General Public License Usage -## Alternatively, this file may be used under the terms of the GNU -## General Public License version 2.0 or (at your option) the GNU General -## Public license version 3 or any later version approved by the KDE Free -## Qt Foundation. The licenses are as published by the Free Software -## Foundation and appearing in the file LICENSE.GPL2 and LICENSE.GPL3 -## included in the packaging of this file. Please review the following -## information to ensure the GNU General Public License requirements will -## be met: https://www.gnu.org/licenses/gpl-2.0.html and -## https://www.gnu.org/licenses/gpl-3.0.html. -## -## $QT_END_LICENSE$ -## -############################################################################# - -set -ex - -# shellcheck source=../common/macos/install-commandlinetools.sh -source "${BASH_SOURCE%/*}/../common/macos/install-commandlinetools.sh" -version="13.2" -packageName="Command_Line_Tools_for_Xcode_$version.dmg" -url="http://ci-files01-hki.intra.qt.io/input/mac/$packageName" -sha1="b3a0b597435cfbc5c09ad5772cf7313c87032252" - -InstallCommandLineTools $url $url $sha1 $packageName $version diff --git a/coin/provisioning/qtci-macos-12.0-arm/25-cmake.sh b/coin/provisioning/qtci-macos-12.0-arm/25-cmake.sh deleted file mode 100755 index 4f4d405e..00000000 --- a/coin/provisioning/qtci-macos-12.0-arm/25-cmake.sh +++ /dev/null @@ -1,6 +0,0 @@ -#!/usr/bin/env bash - -set -ex - -BASEDIR=$(dirname "$0") -"$BASEDIR/../common/macos/cmake.sh" diff --git a/coin/provisioning/qtci-macos-12.0-arm/25-homebrew.sh b/coin/provisioning/qtci-macos-12.0-arm/25-homebrew.sh deleted file mode 100755 index c29c76f6..00000000 --- a/coin/provisioning/qtci-macos-12.0-arm/25-homebrew.sh +++ /dev/null @@ -1,67 +0,0 @@ -#!/usr/bin/env bash - -############################################################################# -## -## Copyright (C) 2021 The Qt Company Ltd. -## Contact: https://www.qt.io/licensing/ -## -## This file is part of the provisioning scripts of the Qt Toolkit. -## -## $QT_BEGIN_LICENSE:LGPL$ -## Commercial License Usage -## Licensees holding valid commercial Qt licenses may use this file in -## accordance with the commercial license agreement provided with the -## Software or, alternatively, in accordance with the terms contained in -## a written agreement between you and The Qt Company. For licensing terms -## and conditions see https://www.qt.io/terms-conditions. For further -## information use the contact form at https://www.qt.io/contact-us. -## -## GNU Lesser General Public License Usage -## Alternatively, this file may be used under the terms of the GNU Lesser -## General Public License version 3 as published by the Free Software -## Foundation and appearing in the file LICENSE.LGPL3 included in the -## packaging of this file. Please review the following information to -## ensure the GNU Lesser General Public License version 3 requirements -## will be met: https://www.gnu.org/licenses/lgpl-3.0.html. -## -## GNU General Public License Usage -## Alternatively, this file may be used under the terms of the GNU -## General Public License version 2.0 or (at your option) the GNU General -## Public license version 3 or any later version approved by the KDE Free -## Qt Foundation. The licenses are as published by the Free Software -## Foundation and appearing in the file LICENSE.GPL2 and LICENSE.GPL3 -## included in the packaging of this file. Please review the following -## information to ensure the GNU General Public License requirements will -## be met: https://www.gnu.org/licenses/gpl-2.0.html and -## https://www.gnu.org/licenses/gpl-3.0.html. -## -## $QT_END_LICENSE$ -## -############################################################################# - -# Will install homebrew package manager for macOS. -# WARNING: Requires commandlinetools - - -set -e - -. "$(dirname "$0")"/../common/unix/DownloadURL.sh -. "$(dirname "$0")"/../common/unix/SetEnvVar.sh - - -DownloadURL \ - http://ci-files01-hki.intra.qt.io/input/mac/homebrew/a822f0d0f1838c07e86b356fcd2bf93c7a11c2aa/install.sh \ - https://raw.githubusercontent.com/Homebrew/install/c744a716f9845988d01e6e238eee7117b8c366c9/install \ - 3210da71e12a699ab3bba43910a6d5fc64b92000 \ - /tmp/homebrew_install.sh - -DownloadURL "http://ci-files01-hki.intra.qt.io/input/semisecure/sign/pw" "http://ci-files01-hki.intra.qt.io/input/semisecure/sign/pw" "aae58d00d0a1b179a09f21cfc67f9d16fb95ff36" "/Users/qt/pw" -{ pw=$(cat "/Users/qt/pw"); } 2> /dev/null -sudo chmod 755 /tmp/homebrew_install.sh -{ (echo $pw | /tmp/homebrew_install.sh); } 2> /dev/null -rm -f "/Users/qt/pw" - -# No need to manually do `brew update`, the homebrew installer script does it. -### brew update - -SetEnvVar "PATH" "\$PATH:/opt/homebrew/bin" diff --git a/coin/provisioning/qtci-macos-12.0-arm/25-mysql.sh b/coin/provisioning/qtci-macos-12.0-arm/25-mysql.sh deleted file mode 100755 index d113c4cb..00000000 --- a/coin/provisioning/qtci-macos-12.0-arm/25-mysql.sh +++ /dev/null @@ -1,64 +0,0 @@ -#!/usr/bin/env bash - -############################################################################# -## -## Copyright (C) 2020 The Qt Company Ltd. -## Contact: https://www.qt.io/licensing/ -## -## This file is part of the provisioning scripts of the Qt Toolkit. -## -## $QT_BEGIN_LICENSE:LGPL$ -## Commercial License Usage -## Licensees holding valid commercial Qt licenses may use this file in -## accordance with the commercial license agreement provided with the -## Software or, alternatively, in accordance with the terms contained in -## a written agreement between you and The Qt Company. For licensing terms -## and conditions see https://www.qt.io/terms-conditions. For further -## information use the contact form at https://www.qt.io/contact-us. -## -## GNU Lesser General Public License Usage -## Alternatively, this file may be used under the terms of the GNU Lesser -## General Public License version 3 as published by the Free Software -## Foundation and appearing in the file LICENSE.LGPL3 included in the -## packaging of this file. Please review the following information to -## ensure the GNU Lesser General Public License version 3 requirements -## will be met: https://www.gnu.org/licenses/lgpl-3.0.html. -## -## GNU General Public License Usage -## Alternatively, this file may be used under the terms of the GNU -## General Public License version 2.0 or (at your option) the GNU General -## Public license version 3 or any later version approved by the KDE Free -## Qt Foundation. The licenses are as published by the Free Software -## Foundation and appearing in the file LICENSE.GPL2 and LICENSE.GPL3 -## included in the packaging of this file. Please review the following -## information to ensure the GNU General Public License requirements will -## be met: https://www.gnu.org/licenses/gpl-2.0.html and -## https://www.gnu.org/licenses/gpl-3.0.html. -## -## $QT_END_LICENSE$ -## -############################################################################# - -# This script installs MySQL - -# MySQL is needed for Qt to be able to support MySQL - -set -ex - -# shellcheck source=../common/macos/InstallAppFromCompressedFileFromURL.sh -source "${BASH_SOURCE%/*}/../common/macos/InstallAppFromCompressedFileFromURL.sh" -# shellcheck source=../common/unix/SetEnvVar.sh -source "${BASH_SOURCE%/*}/../common/unix/SetEnvVar.sh" - -PrimaryUrl="http://ci-files01-hki.intra.qt.io/input/mac/macos_10.12_sierra/mysql-5.7.15-osx10.11-x86_64.tar.gz" -AltUrl="https://dev.mysql.com/get/Downloads/MySQL-5.7/mysql-5.7.15-osx10.11-x86_64.tar.gz" -SHA1="07949bd42f350b0504a1536b8830b809b4a34fca" -appPrefix="" -targetDir="/opt/mysql57/" - -sudo mkdir -p "/opt" - -InstallAppFromCompressedFileFromURL "$PrimaryUrl" "$AltUrl" "$SHA1" "$appPrefix" "$targetDir" - -SetEnvVar "MYSQLBINPATH" "/opt/mysql57/bin" -echo "MySQL = 5.7.15" >> ~/versions.txt diff --git a/coin/provisioning/qtci-macos-12.0-arm/25-pip.sh b/coin/provisioning/qtci-macos-12.0-arm/25-pip.sh deleted file mode 100755 index 86db3e27..00000000 --- a/coin/provisioning/qtci-macos-12.0-arm/25-pip.sh +++ /dev/null @@ -1,6 +0,0 @@ -#!/usr/bin/env bash - -set -ex - -BASEDIR=$(dirname "$0") -"$BASEDIR/../common/macos/pip.sh" diff --git a/coin/provisioning/qtci-macos-12.0-arm/25-postgresql.sh b/coin/provisioning/qtci-macos-12.0-arm/25-postgresql.sh deleted file mode 100755 index db1f5236..00000000 --- a/coin/provisioning/qtci-macos-12.0-arm/25-postgresql.sh +++ /dev/null @@ -1,5 +0,0 @@ -#!/usr/bin/env bash -set -ex - -BASEDIR=$(dirname "$0") -"$BASEDIR/../common/macos/postgresql.sh" diff --git a/coin/provisioning/qtci-macos-12.0-arm/25-python2.sh b/coin/provisioning/qtci-macos-12.0-arm/25-python2.sh deleted file mode 100755 index da1ea956..00000000 --- a/coin/provisioning/qtci-macos-12.0-arm/25-python2.sh +++ /dev/null @@ -1,60 +0,0 @@ -#!/usr/bin/env bash - -############################################################################# -## -## Copyright (C) 2021 The Qt Company Ltd. -## Copyright (C) 2017 Pelagicore AG -## Contact: https://www.qt.io/licensing/ -## -## This file is part of the provisioning scripts of the Qt Toolkit. -## -## $QT_BEGIN_LICENSE:LGPL$ -## Commercial License Usage -## Licensees holding valid commercial Qt licenses may use this file in -## accordance with the commercial license agreement provided with the -## Software or, alternatively, in accordance with the terms contained in -## a written agreement between you and The Qt Company. For licensing terms -## and conditions see https://www.qt.io/terms-conditions. For further -## information use the contact form at https://www.qt.io/contact-us. -## -## GNU Lesser General Public License Usage -## Alternatively, this file may be used under the terms of the GNU Lesser -## General Public License version 3 as published by the Free Software -## Foundation and appearing in the file LICENSE.LGPL3 included in the -## packaging of this file. Please review the following information to -## ensure the GNU Lesser General Public License version 3 requirements -## will be met: https://www.gnu.org/licenses/lgpl-3.0.html. -## -## GNU General Public License Usage -## Alternatively, this file may be used under the terms of the GNU -## General Public License version 2.0 or (at your option) the GNU General -## Public license version 3 or any later version approved by the KDE Free -## Qt Foundation. The licenses are as published by the Free Software -## Foundation and appearing in the file LICENSE.GPL2 and LICENSE.GPL3 -## included in the packaging of this file. Please review the following -## information to ensure the GNU General Public License requirements will -## be met: https://www.gnu.org/licenses/gpl-2.0.html and -## https://www.gnu.org/licenses/gpl-3.0.html. -## -## $QT_END_LICENSE$ -## -############################################################################# -set -ex - -# This script installs python2 - -# shellcheck source=./InstallPKGFromURL.sh -source "${BASH_SOURCE%/*}/../common/macos/InstallPKGFromURL.sh" -# shellcheck source=../unix/SetEnvVar.sh -source "${BASH_SOURCE%/*}/../common/unix/SetEnvVar.sh" -# shellcheck source=./pip.sh -source "${BASH_SOURCE%/*}/../common/macos/pip.sh" - -InstallPip python2.7 - -/usr/local/bin/pip install virtualenv - -SetEnvVar "PATH" "/Library/Frameworks/Python.framework/Versions/2.7/bin/:\$PATH" - -echo "python2 = 2.7.16" >> ~/versions.txt - diff --git a/coin/provisioning/qtci-macos-12.0-arm/25-python3.sh b/coin/provisioning/qtci-macos-12.0-arm/25-python3.sh deleted file mode 100755 index edc87175..00000000 --- a/coin/provisioning/qtci-macos-12.0-arm/25-python3.sh +++ /dev/null @@ -1,63 +0,0 @@ -#!/usr/bin/env bash - -############################################################################# -## -## Copyright (C) 2021 The Qt Company Ltd. -## Copyright (C) 2017 Pelagicore AG -## Contact: https://www.qt.io/licensing/ -## -## This file is part of the provisioning scripts of the Qt Toolkit. -## -## $QT_BEGIN_LICENSE:LGPL$ -## Commercial License Usage -## Licensees holding valid commercial Qt licenses may use this file in -## accordance with the commercial license agreement provided with the -## Software or, alternatively, in accordance with the terms contained in -## a written agreement between you and The Qt Company. For licensing terms -## and conditions see https://www.qt.io/terms-conditions. For further -## information use the contact form at https://www.qt.io/contact-us. -## -## GNU Lesser General Public License Usage -## Alternatively, this file may be used under the terms of the GNU Lesser -## General Public License version 3 as published by the Free Software -## Foundation and appearing in the file LICENSE.LGPL3 included in the -## packaging of this file. Please review the following information to -## ensure the GNU Lesser General Public License version 3 requirements -## will be met: https://www.gnu.org/licenses/lgpl-3.0.html. -## -## GNU General Public License Usage -## Alternatively, this file may be used under the terms of the GNU -## General Public License version 2.0 or (at your option) the GNU General -## Public license version 3 or any later version approved by the KDE Free -## Qt Foundation. The licenses are as published by the Free Software -## Foundation and appearing in the file LICENSE.GPL2 and LICENSE.GPL3 -## included in the packaging of this file. Please review the following -## information to ensure the GNU General Public License requirements will -## be met: https://www.gnu.org/licenses/gpl-2.0.html and -## https://www.gnu.org/licenses/gpl-3.0.html. -## -## $QT_END_LICENSE$ -## -############################################################################# - -# This script installs python3 - -# shellcheck source=../unix/SetEnvVar.sh -source "${BASH_SOURCE%/*}/../common/unix/SetEnvVar.sh" - -brew install ${BASH_SOURCE%/*}/pyenv.rb - -pyenv install 3.9.7 - -/Users/qt/.pyenv/versions/3.9.7/bin/pip3 install --user install virtualenv wheel html5lib - -SetEnvVar "PYTHON3_PATH" "/Users/qt/.pyenv/versions/3.9.7/bin/" -SetEnvVar "PIP3_PATH" "/Users/qt/.pyenv/versions/3.9.7/bin/" -# Use 3.9 as a default python -SetEnvVar "PATH" "\$PYTHON3_PATH:\$PATH" - -# Install all needed packages in a special wheel cache directory -/Users/qt/.pyenv/versions/3.9.7/bin/pip3 wheel --wheel-dir $HOME/python3-wheels -r ${BASH_SOURCE%/*}/../common/shared/requirements.txt -SetEnvVar "PYTHON3_WHEEL_CACHE" "$HOME/python3-wheels" - -echo "python3 = 3.9.7" >> ~/versions.txt diff --git a/coin/provisioning/qtci-macos-12.0-arm/26-freetype.sh b/coin/provisioning/qtci-macos-12.0-arm/26-freetype.sh deleted file mode 100755 index 0faec4b4..00000000 --- a/coin/provisioning/qtci-macos-12.0-arm/26-freetype.sh +++ /dev/null @@ -1,5 +0,0 @@ -#!/usr/bin/env bash - -set -ex - -brew install freetype diff --git a/coin/provisioning/qtci-macos-12.0-arm/26-ninja.sh b/coin/provisioning/qtci-macos-12.0-arm/26-ninja.sh deleted file mode 100755 index 08428b2f..00000000 --- a/coin/provisioning/qtci-macos-12.0-arm/26-ninja.sh +++ /dev/null @@ -1,8 +0,0 @@ -#!/usr/bin/env bash - -set -ex - -# shellcheck source=../common/macos/ninja.sh -source "${BASH_SOURCE%/*}/../common/macos/ninja.sh" - - diff --git a/coin/provisioning/qtci-macos-12.0-arm/26-odbc.sh b/coin/provisioning/qtci-macos-12.0-arm/26-odbc.sh deleted file mode 100755 index 821c859f..00000000 --- a/coin/provisioning/qtci-macos-12.0-arm/26-odbc.sh +++ /dev/null @@ -1,7 +0,0 @@ -#!/usr/bin/env bash -# Install libiodbc - -set -ex - -BASEDIR=$(dirname "$0") -"$BASEDIR/../common/macos/libiodbc.sh" --with-universal diff --git a/coin/provisioning/qtci-macos-12.0-arm/26-p7zip.sh b/coin/provisioning/qtci-macos-12.0-arm/26-p7zip.sh deleted file mode 100755 index 15511332..00000000 --- a/coin/provisioning/qtci-macos-12.0-arm/26-p7zip.sh +++ /dev/null @@ -1,7 +0,0 @@ -#!/usr/bin/env bash -# Install 7z to be used from command line - -set -ex - -brew update -brew install p7zip diff --git a/coin/provisioning/qtci-macos-12.0-arm/26-pcre2.sh b/coin/provisioning/qtci-macos-12.0-arm/26-pcre2.sh deleted file mode 100755 index f8af516b..00000000 --- a/coin/provisioning/qtci-macos-12.0-arm/26-pcre2.sh +++ /dev/null @@ -1,5 +0,0 @@ -#!/usr/bin/env bash - -set -ex - -brew install pcre2 diff --git a/coin/provisioning/qtci-macos-12.0-arm/27-libclang.sh b/coin/provisioning/qtci-macos-12.0-arm/27-libclang.sh deleted file mode 100755 index aad628cb..00000000 --- a/coin/provisioning/qtci-macos-12.0-arm/27-libclang.sh +++ /dev/null @@ -1,7 +0,0 @@ -#!/usr/bin/env bash - -set -ex - -BASEDIR=$(dirname "$0") -# There is only one mac package and common script uses it as a default -"$BASEDIR/../common/unix/libclang.sh" diff --git a/coin/provisioning/qtci-macos-12.0-arm/28-libclang-v100-dyn.sh b/coin/provisioning/qtci-macos-12.0-arm/28-libclang-v100-dyn.sh deleted file mode 100755 index c9d6e93d..00000000 --- a/coin/provisioning/qtci-macos-12.0-arm/28-libclang-v100-dyn.sh +++ /dev/null @@ -1,6 +0,0 @@ -#!/usr/bin/env bash - -set -ex - -BASEDIR=$(dirname "$0") -"$BASEDIR/../common/unix/libclang-v100-dyn.sh" diff --git a/coin/provisioning/qtci-macos-12.0-arm/30-android.sh b/coin/provisioning/qtci-macos-12.0-arm/30-android.sh deleted file mode 100755 index d21e0854..00000000 --- a/coin/provisioning/qtci-macos-12.0-arm/30-android.sh +++ /dev/null @@ -1,99 +0,0 @@ -#!/usr/bin/env bash - -############################################################################# -## -## Copyright (C) 2020 The Qt Company Ltd. -## Contact: https://www.qt.io/licensing/ -## -## This file is part of the provisioning scripts of the Qt Toolkit. -## -## $QT_BEGIN_LICENSE:LGPL$ -## Commercial License Usage -## Licensees holding valid commercial Qt licenses may use this file in -## accordance with the commercial license agreement provided with the -## Software or, alternatively, in accordance with the terms contained in -## a written agreement between you and The Qt Company. For licensing terms -## and conditions see https://www.qt.io/terms-conditions. For further -## information use the contact form at https://www.qt.io/contact-us. -## -## GNU Lesser General Public License Usage -## Alternatively, this file may be used under the terms of the GNU Lesser -## General Public License version 3 as published by the Free Software -## Foundation and appearing in the file LICENSE.LGPL3 included in the -## packaging of this file. Please review the following information to -## ensure the GNU Lesser General Public License version 3 requirements -## will be met: https://www.gnu.org/licenses/lgpl-3.0.html. -## -## GNU General Public License Usage -## Alternatively, this file may be used under the terms of the GNU -## General Public License version 2.0 or (at your option) the GNU General -## Public license version 3 or any later version approved by the KDE Free -## Qt Foundation. The licenses are as published by the Free Software -## Foundation and appearing in the file LICENSE.GPL2 and LICENSE.GPL3 -## included in the packaging of this file. Please review the following -## information to ensure the GNU General Public License requirements will -## be met: https://www.gnu.org/licenses/gpl-2.0.html and -## https://www.gnu.org/licenses/gpl-3.0.html. -## -## $QT_END_LICENSE$ -## -############################################################################# - -# This script install Android sdk and ndk. - -# It also runs update for SDK API, latest SDK tools, latest platform-tools and build-tools version - -set -ex - -# shellcheck source=../common/unix/SetEnvVar.sh -source "${BASH_SOURCE%/*}/../common/unix/SetEnvVar.sh" - -targetFolder="/opt/android" -sdkTargetFolder="$targetFolder/sdk" - -basePath="/net/ci-files01-hki.intra.qt.io/hdd/www/input/android" - -toolsVersion="2.1" -# toolsFile dertermines tools version -toolsFile="commandlinetools-mac-6609375_latest.zip" - -ndkVersion="r21d" -ndkFile="android-ndk-$ndkVersion-darwin-x86_64.zip" -sdkBuildToolsVersion="28.0.3" -# this is compile sdk version -sdkApiLevel="android-28" - -toolsSourceFile="$basePath/$toolsFile" -ndkSourceFile="$basePath/$ndkFile" - -echo "Unzipping Android NDK to '$targetFolder'" -sudo unzip -q "$ndkSourceFile" -d "$targetFolder" -echo "Unzipping Android Tools to '$sdkTargetFolder'" -sudo unzip -q "$toolsSourceFile" -d "$sdkTargetFolder" - -echo "Changing ownership of Android files." -sudo chown -R qt:wheel "$targetFolder" - -# Run the following command under `eval` or `sh -c` so that the shell properly splits it -sdkmanager_no_progress_bar_cmd="tr '\r' '\n' | grep -v '^\[[ =]*\]'" - -sudo mkdir "$sdkTargetFolder/cmdline-tools" -sudo mv "$sdkTargetFolder/tools" "$sdkTargetFolder/cmdline-tools" - -echo "Running SDK manager for platforms;$sdkApiLevel, platform-tools and build-tools;$sdkBuildToolsVersion." -(echo "y"; echo "y") | "$sdkTargetFolder/cmdline-tools/tools/bin/sdkmanager" "--sdk_root=$sdkTargetFolder" \ - "platforms;$sdkApiLevel" "platform-tools" "build-tools;$sdkBuildToolsVersion" \ - | eval $sdkmanager_no_progress_bar_cmd - -echo "Checking the contents of Android SDK..." -ls -l "$sdkTargetFolder" - -SetEnvVar "ANDROID_SDK_ROOT" "$sdkTargetFolder" -SetEnvVar "ANDROID_NDK_ROOT" "$targetFolder/android-ndk-$ndkVersion" -SetEnvVar "ANDROID_NDK_HOST" "darwin-x86_64" -SetEnvVar "ANDROID_API_VERSION" "$sdkApiLevel" - -echo "Android SDK tools = $toolsVersion" >> ~/versions.txt -echo "Android SDK Build Tools = $sdkBuildToolsVersion" >> ~/versions.txt -echo "Android SDK API level = $sdkApiLevel" >> ~/versions.txt -echo "Android NDK = $ndkVersion" >> ~/versions.txt diff --git a/coin/provisioning/qtci-macos-12.0-arm/30-fbx.sh b/coin/provisioning/qtci-macos-12.0-arm/30-fbx.sh deleted file mode 100755 index 34eefeb6..00000000 --- a/coin/provisioning/qtci-macos-12.0-arm/30-fbx.sh +++ /dev/null @@ -1,7 +0,0 @@ -#!/usr/bin/env bash - -set -ex - -BASEDIR=$(dirname "$0") -"$BASEDIR/../common/macos/fbx_macos.sh" - diff --git a/coin/provisioning/qtci-macos-12.0-arm/30-install-conan.sh b/coin/provisioning/qtci-macos-12.0-arm/30-install-conan.sh deleted file mode 100755 index ec54fa54..00000000 --- a/coin/provisioning/qtci-macos-12.0-arm/30-install-conan.sh +++ /dev/null @@ -1,6 +0,0 @@ -#!/usr/bin/env bash - -set -ex - -BASEDIR=$(dirname "$0") -"$BASEDIR/../common/unix/install-conan.sh" diff --git a/coin/provisioning/qtci-macos-12.0-arm/30-nodejs.sh b/coin/provisioning/qtci-macos-12.0-arm/30-nodejs.sh deleted file mode 100755 index ab992405..00000000 --- a/coin/provisioning/qtci-macos-12.0-arm/30-nodejs.sh +++ /dev/null @@ -1,6 +0,0 @@ -#!/usr/bin/env bash - -set -ex - -brew install nodejs - diff --git a/coin/provisioning/qtci-macos-12.0-arm/35-install-breakpad.sh b/coin/provisioning/qtci-macos-12.0-arm/35-install-breakpad.sh deleted file mode 100755 index 74dd1579..00000000 --- a/coin/provisioning/qtci-macos-12.0-arm/35-install-breakpad.sh +++ /dev/null @@ -1,6 +0,0 @@ -#!/usr/bin/env bash - -set -ex - -# shellcheck source=../common/unix/install-breakpad.sh -source "${BASH_SOURCE%/*}/../common/unix/install-breakpad.sh" diff --git a/coin/provisioning/qtci-macos-12.0-arm/35-install_protobuff.sh b/coin/provisioning/qtci-macos-12.0-arm/35-install_protobuff.sh deleted file mode 100755 index 08c955e9..00000000 --- a/coin/provisioning/qtci-macos-12.0-arm/35-install_protobuff.sh +++ /dev/null @@ -1,46 +0,0 @@ -#!/usr/bin/env bash - -############################################################################# -## -## Copyright (C) 2020 The Qt Company Ltd. -## Contact: https://www.qt.io/licensing/ -## -## This file is part of the provisioning scripts of the Qt Toolkit. -## -## $QT_BEGIN_LICENSE:LGPL$ -## Commercial License Usage -## Licensees holding valid commercial Qt licenses may use this file in -## accordance with the commercial license agreement provided with the -## Software or, alternatively, in accordance with the terms contained in -## a written agreement between you and The Qt Company. For licensing terms -## and conditions see https://www.qt.io/terms-conditions. For further -## information use the contact form at https://www.qt.io/contact-us. -## -## GNU Lesser General Public License Usage -## Alternatively, this file may be used under the terms of the GNU Lesser -## General Public License version 3 as published by the Free Software -## Foundation and appearing in the file LICENSE.LGPL3 included in the -## packaging of this file. Please review the following information to -## ensure the GNU Lesser General Public License version 3 requirements -## will be met: https://www.gnu.org/licenses/lgpl-3.0.html. -## -## GNU General Public License Usage -## Alternatively, this file may be used under the terms of the GNU -## General Public License version 2.0 or (at your option) the GNU General -## Public license version 3 or any later version approved by the KDE Free -## Qt Foundation. The licenses are as published by the Free Software -## Foundation and appearing in the file LICENSE.GPL2 and LICENSE.GPL3 -## included in the packaging of this file. Please review the following -## information to ensure the GNU General Public License requirements will -## be met: https://www.gnu.org/licenses/gpl-2.0.html and -## https://www.gnu.org/licenses/gpl-3.0.html. -## -## $QT_END_LICENSE$ -## -############################################################################# - -set -ex - -# shellcheck source=../common/unix/install_protobuff.sh -source "${BASH_SOURCE%/*}/../common/unix/install_protobuff.sh" - diff --git a/coin/provisioning/qtci-macos-12.0-arm/35-openssl.sh b/coin/provisioning/qtci-macos-12.0-arm/35-openssl.sh deleted file mode 100755 index 57a86c47..00000000 --- a/coin/provisioning/qtci-macos-12.0-arm/35-openssl.sh +++ /dev/null @@ -1,7 +0,0 @@ -#!/usr/bin/env bash - -set -ex - -# shellcheck source=../common/macos/install_openssl.sh -source "${BASH_SOURCE%/*}/../common/unix/install-openssl.sh" "macos" - diff --git a/coin/provisioning/qtci-macos-12.0-arm/36-emsdk.sh b/coin/provisioning/qtci-macos-12.0-arm/36-emsdk.sh deleted file mode 100755 index 7396d336..00000000 --- a/coin/provisioning/qtci-macos-12.0-arm/36-emsdk.sh +++ /dev/null @@ -1,6 +0,0 @@ -#!/usr/bin/env bash - -set -ex - -# shellcheck source=../common/unix/emsdk.sh -source "${BASH_SOURCE%/*}/../common/unix/emsdk.sh" diff --git a/coin/provisioning/qtci-macos-12.0-arm/40-qnx700.sh b/coin/provisioning/qtci-macos-12.0-arm/40-qnx700.sh deleted file mode 100755 index 712e72c9..00000000 --- a/coin/provisioning/qtci-macos-12.0-arm/40-qnx700.sh +++ /dev/null @@ -1,62 +0,0 @@ -#!/bin/bash - -############################################################################# -## -## Copyright (C) 2020 The Qt Company Ltd. -## Contact: https://www.qt.io/licensing/ -## -## This file is part of the provisioning scripts of the Qt Toolkit. -## -## $QT_BEGIN_LICENSE:LGPL$ -## Commercial License Usage -## Licensees holding valid commercial Qt licenses may use this file in -## accordance with the commercial license agreement provided with the -## Software or, alternatively, in accordance with the terms contained in -## a written agreement between you and The Qt Company. For licensing terms -## and conditions see https://www.qt.io/terms-conditions. For further -## information use the contact form at https://www.qt.io/contact-us. -## -## GNU Lesser General Public License Usage -## Alternatively, this file may be used under the terms of the GNU Lesser -## General Public License version 3 as published by the Free Software -## Foundation and appearing in the file LICENSE.LGPL3 included in the -## packaging of this file. Please review the following information to -## ensure the GNU Lesser General Public License version 3 requirements -## will be met: https://www.gnu.org/licenses/lgpl-3.0.html. -## -## GNU General Public License Usage -## Alternatively, this file may be used under the terms of the GNU -## General Public License version 2.0 or (at your option) the GNU General -## Public license version 3 or any later version approved by the KDE Free -## Qt Foundation. The licenses are as published by the Free Software -## Foundation and appearing in the file LICENSE.GPL2 and LICENSE.GPL3 -## included in the packaging of this file. Please review the following -## information to ensure the GNU General Public License requirements will -## be met: https://www.gnu.org/licenses/gpl-2.0.html and -## https://www.gnu.org/licenses/gpl-3.0.html. -## -## $QT_END_LICENSE$ -## -############################################################################# - -# This script installs QNX 7. - -targetFolder="/opt/" -sourceFile="/net/ci-files01-hki.intra.qt.io/hdd/www/input/qnx/qnx700-20190325-2-macos.tar.xz" -folderName="qnx700" - -sudo mkdir -p "$targetFolder" - -echo "Extracting QNX 7" -sudo tar -C "$targetFolder" -Jxf $sourceFile - -sudo chown -R qt:wheel "$targetFolder"/"$folderName" - -# Verify that we have last file in zip -if [ ! -f $targetFolder/$folderName/qnxsdp-env.sh ]; then - exit 1 -fi - -# Set env variables -echo "export QNX_700=$targetFolder/$folderName" >> ~/.bashrc -echo "QNX SDP = 7.0.0" >> ~/versions.txt diff --git a/coin/provisioning/qtci-macos-12.0-arm/55-signtools.sh b/coin/provisioning/qtci-macos-12.0-arm/55-signtools.sh deleted file mode 100755 index c543b8ac..00000000 --- a/coin/provisioning/qtci-macos-12.0-arm/55-signtools.sh +++ /dev/null @@ -1,144 +0,0 @@ -#!/usr/bin/env sh - -############################################################################# -## -## Copyright (C) 2020 The Qt Company Ltd. -## Contact: https://www.qt.io/licensing/ -## -## This file is part of the provisioning scripts of the Qt Toolkit. -## -## $QT_BEGIN_LICENSE:LGPL$ -## Commercial License Usage -## Licensees holding valid commercial Qt licenses may use this file in -## accordance with the commercial license agreement provided with the -## Software or, alternatively, in accordance with the terms contained in -## a written agreement between you and The Qt Company. For licensing terms -## and conditions see https://www.qt.io/terms-conditions. For further -## information use the contact form at https://www.qt.io/contact-us. -## -## GNU Lesser General Public License Usage -## Alternatively, this file may be used under the terms of the GNU Lesser -## General Public License version 3 as published by the Free Software -## Foundation and appearing in the file LICENSE.LGPL3 included in the -## packaging of this file. Please review the following information to -## ensure the GNU Lesser General Public License version 3 requirements -## will be met: https://www.gnu.org/licenses/lgpl-3.0.html. -## -## GNU General Public License Usage -## Alternatively, this file may be used under the terms of the GNU -## General Public License version 2.0 or (at your option) the GNU General -## Public license version 3 or any later version approved by the KDE Free -## Qt Foundation. The licenses are as published by the Free Software -## Foundation and appearing in the file LICENSE.GPL2 and LICENSE.GPL3 -## included in the packaging of this file. Please review the following -## information to ensure the GNU General Public License requirements will -## be met: https://www.gnu.org/licenses/gpl-2.0.html and -## https://www.gnu.org/licenses/gpl-3.0.html. -## -## $QT_END_LICENSE$ -## -############################################################################# - -# Install tools for singing packages -# This script assume that OS is vanilla. Target machine dosen't have any signing certificates installed. - -set -ex - -cache="http://ci-files01-hki.intra.qt.io/input" -cacheSigningTools="$cache/mac/sign_tools" -targetFolder="/Users/qt" -keychains="$targetFolder/Library/Keychains" - -Install() { - - url=$1 - targetFile=$2 - expectedSha1=$3 - - echo "Fetching $targetFile from $url..." - curl --retry 5 --retry-delay 10 --retry-max-time 60 "$url" -o "$targetFile" - shasum "$targetFile" |grep "$expectedSha1" - -} - -# qt-license -sha1QtLicense="9d59241d16f68d914f1c7aa1dc23e05faa169e8d" -Install "$cache/semisecure/.qt-license" "$targetFolder/.qt-license" $sha1QtLicense - -# Login keychain -sha1LoginKeychainPassword="aae58d00d0a1b179a09f21cfc67f9d16fb95ff36" -Install "$cacheSigningTools/login_keychain_password.txt" "$targetFolder/login_keychain_password.txt" "$sha1LoginKeychainPassword" -{ loginKeychainPassword=$(cat "$targetFolder/login_keychain_password.txt"); } 2> /dev/null -loginKeychain=$keychains/login.keychain - -echo "Setting login.keychain as default keychain.." -security default-keychain -s $loginKeychain* -echo "Unlocking Login keychain with password.." -{ security unlock-keychain -p "$loginKeychainPassword" $loginKeychain*; } 2> /dev/null - -echo "remove the "Lock after X minutes of inactivity" from login.keychain" -security set-keychain-settings $loginKeychain - -# Apple Worldwide Developer Relations Certification Authority -> https://developer.apple.com/certificationauthority/AppleWWDRCA.cer -sha1AppleWWDRCA="ff6797793a3cd798dc5b2abef56f73edc9f83a64" -Install "$cacheSigningTools/AppleWWDRCA.cer" "$targetFolder/AppleWWDRCA.cer" $sha1AppleWWDRCA -sudo security add-certificates -k $loginKeychain* "$targetFolder/AppleWWDRCA.cer" - -# Developer ID Certification Authority -> https://www.apple.com/certificateauthority/DeveloperIDCA.cer -sha1DeveloperIDCA="3b166c3b7dc4b751c9fe2afab9135641e388e186" -Install "$cacheSigningTools/DeveloperIDCA.cer" "$targetFolder/DeveloperIDCA.cer" $sha1DeveloperIDCA -sudo security add-certificates -k $loginKeychain* "$targetFolder/DeveloperIDCA.cer" - -# Create script to unlock keychain 'security unlock-keychain -p 'password' Developer_ID_TheQtCompany.keychain' -sha1UnLockKeychain="4398870e3f558ad28c80566b5f70e24dc29ea724" -unlockKeychain=$targetFolder/unlock-keychain.sh -{ Install "$cacheSigningTools/unlock-keychain.sh" "$unlockKeychain" $sha1UnLockKeychain; } 2> /dev/null -sudo chmod 755 "$unlockKeychain" - -# Codesigning requirements file. The bundle identifier in the requirements file should match the identifier of the application that is signed. -shaCsreq="2c3f00b1845a0f475673fd6934ba25ea51d1f910" -csreq=$targetFolder/csreq_qt_company.txt -Install "$cacheSigningTools/csreq_qt_company.txt" "$csreq" $shaCsreq -chmod 755 "$csreq" - -# iOS signing tools -devIDKeychain="Developer_ID_TheQtCompany.keychain-db" -shaDevIdKeychain="972cca1879cdaeeb6042f9879756c748a8d1eddc" -Install "$cacheSigningTools/$devIDKeychain" "$keychains/$devIDKeychain" $shaDevIdKeychain -echo "Opening $devIDKeychain.." -open "$keychains/$devIDKeychain" - -sha1DeveloperIDTheQtCompanyKeychainPassword="d758e067736bbda7a91ffaec66cd38afdaf68ea6" -Install "$cacheSigningTools/Developer_ID_TheQtCompany_keychain_password.txt" "$targetFolder/Developer_ID_TheQtCompany_keychain_password.txt" "$sha1DeveloperIDTheQtCompanyKeychainPassword" -{ DeveloperIDTheQtCompanyKeychainPassword=$(cat "$targetFolder/Developer_ID_TheQtCompany_keychain_password.txt"); } 2> /dev/null - -echo "Unlocking $devIDKeychain with password.." -{ security unlock-keychain -p "$DeveloperIDTheQtCompanyKeychainPassword" $keychains/Developer_ID_TheQtCompany.keychain; } 2> /dev/null -security set-keychain-settings $keychains/Developer_ID_TheQtCompany.keychain - -sha1Ios="aae58d00d0a1b179a09f21cfc67f9d16fb95ff36" -{ Install "$cacheSigningTools/ios_password.txt" "$targetFolder/ios_password.txt" $sha1Ios; } 2> /dev/null -{ iosPassword=$(cat "$targetFolder/ios_password.txt"); } 2> /dev/null - -iPhoneDeveloper="iPhoneDeveloperCiTeam2020.p12" -shaIPhoneDeveloper="73136e44fed850f398e85908e4a73f20a6bdd8a2" -Install "$cacheSigningTools/latest_ios_cert_2020/$iPhoneDeveloper" "$targetFolder/$iPhoneDeveloper" $shaIPhoneDeveloper -echo "Importing $iPhoneDeveloper.." -{ security import $targetFolder/$iPhoneDeveloper -k $loginKeychain* -P "$iosPassword" -T /usr/bin/codesign; } 2> /dev/null - -iPhoneDistribution="iPhoneDistributionCiTeam2020.p12" -shaIPhoneDistribution="36215c3cbc6bfee48e86aafbd53c56282fe36d8d" -Install "$cacheSigningTools/latest_ios_cert_2020/$iPhoneDistribution" "$targetFolder/$iPhoneDistribution" $shaIPhoneDistribution -echo "Importing $iPhoneDistribution.." -{ security import "$targetFolder/$iPhoneDistribution" -k $loginKeychain* -P "$iosPassword" -T /usr/bin/codesign; } 2> /dev/null - -# Mobileprovision -echo "Creating directory $targetFolder/Library/MobileDevice/Provisioning Profiles.." -mkdir "$targetFolder/Library/MobileDevice" -mkdir "$targetFolder/Library/MobileDevice/Provisioning Profiles" -shaMobileprovision="ec9697276253ca7bf4401912236f0e6fde4214da" -Install "$cacheSigningTools/latest_ios_cert_2020/iOS_Dev_2020_citeam.mobileprovision" "$targetFolder/Library/MobileDevice/Provisioning Profiles/iOS_Dev_2020_citeam.mobileprovision" $shaMobileprovision - -# Removing password files -rm -fr "$targetFolder/login_keychain_password.txt" - diff --git a/coin/provisioning/qtci-macos-12.0-arm/80-screenresolution.sh b/coin/provisioning/qtci-macos-12.0-arm/80-screenresolution.sh deleted file mode 100755 index 920c579c..00000000 --- a/coin/provisioning/qtci-macos-12.0-arm/80-screenresolution.sh +++ /dev/null @@ -1,4 +0,0 @@ -#!/bin/sh - -"$(dirname "$0")"/../common/macos/screenresolution.sh - diff --git a/coin/provisioning/qtci-macos-12.0-arm/81-bluetooth.sh b/coin/provisioning/qtci-macos-12.0-arm/81-bluetooth.sh deleted file mode 100755 index e08aca4e..00000000 --- a/coin/provisioning/qtci-macos-12.0-arm/81-bluetooth.sh +++ /dev/null @@ -1,8 +0,0 @@ -#!/usr/bin/env bash - -set -ex - -brew install blueutil - -#Disable Bluetooth -blueutil -p 0 diff --git a/coin/provisioning/qtci-macos-12.0-arm/97-set-locale.sh b/coin/provisioning/qtci-macos-12.0-arm/97-set-locale.sh deleted file mode 100755 index e34b7381..00000000 --- a/coin/provisioning/qtci-macos-12.0-arm/97-set-locale.sh +++ /dev/null @@ -1,6 +0,0 @@ -#!/usr/bin/env bash - -set -ex - -BASEDIR=$(dirname "$0") -$BASEDIR/../common/macos/set-locale.sh diff --git a/coin/provisioning/qtci-macos-12.0-arm/99-mac-version.sh b/coin/provisioning/qtci-macos-12.0-arm/99-mac-version.sh deleted file mode 100755 index 99d94150..00000000 --- a/coin/provisioning/qtci-macos-12.0-arm/99-mac-version.sh +++ /dev/null @@ -1,6 +0,0 @@ -#!/usr/bin/env bash - -set -ex - -BASEDIR=$(dirname "$0") -$BASEDIR/../common/macos/macos-version.sh diff --git a/coin/provisioning/qtci-macos-12.0-arm/pyenv.rb b/coin/provisioning/qtci-macos-12.0-arm/pyenv.rb deleted file mode 100644 index 8e981111..00000000 --- a/coin/provisioning/qtci-macos-12.0-arm/pyenv.rb +++ /dev/null @@ -1,82 +0,0 @@ -class Pyenv < Formula - desc "Python version management" - homepage "https://github.com/pyenv/pyenv" - url "https://github.com/pyenv/pyenv/archive/v2.2.0.tar.gz" - sha256 "ef62a5d0a0d582b38497ae8d24a2a417d4a21c42811123c08082541a7092825d" - license "MIT" - version_scheme 1 - head "https://github.com/pyenv/pyenv.git", branch: "master" - - livecheck do - url :stable - strategy :github_latest - end - - bottle do - sha256 cellar: :any, arm64_monterey: "1d326dcae6327e1a62a8026e80665a0d995eec0d26c27f417ef34a9b75a2e2a7" - sha256 cellar: :any, arm64_big_sur: "38f17626731a50f95ce1ad71495de2d260706a1420a19f2f29e7c935525c8c01" - sha256 cellar: :any, monterey: "b02075ca6820755aee0956795c7decbfac56562ba66fec06bea193116cef5de6" - sha256 cellar: :any, big_sur: "880bf4a355cc3da07562b82bac1bf7d0f4bcde6c613f5ea691f50d4e013b1bf8" - sha256 cellar: :any, catalina: "5f7f283d3029f6293a52fc5449cf6aae8be5976f605318c9afa300be3e7d88f8" - sha256 cellar: :any_skip_relocation, x86_64_linux: "fb8949a118e2b8012383fe822148778944d24fe7eab36655fad6e1f1d506e2ad" - end - - depends_on "autoconf" - depends_on "openssl@1.1" - depends_on "pkg-config" - depends_on "readline" - - uses_from_macos "bzip2" - uses_from_macos "libffi" - uses_from_macos "ncurses" - uses_from_macos "xz" - uses_from_macos "zlib" - - on_linux do - depends_on "python@3.10" => :test - end - - def install - inreplace "libexec/pyenv", "/usr/local", HOMEBREW_PREFIX - inreplace "libexec/pyenv-rehash", "$(command -v pyenv)", opt_bin/"pyenv" - inreplace "pyenv.d/rehash/source.bash", "$(command -v pyenv)", opt_bin/"pyenv" - - system "src/configure" - system "make", "-C", "src" - - prefix.install Dir["*"] - %w[pyenv-install pyenv-uninstall python-build].each do |cmd| - bin.install_symlink "#{prefix}/plugins/python-build/bin/#{cmd}" - end - - share.install prefix/"man" - - # Do not manually install shell completions. See: - # - https://github.com/pyenv/pyenv/issues/1056#issuecomment-356818337 - # - https://github.com/Homebrew/homebrew-core/pull/22727 - end - - test do - # Create a fake python version and executable. - pyenv_root = Pathname(shell_output("pyenv root").strip) - python_bin = pyenv_root/"versions/1.2.3/bin" - foo_script = python_bin/"foo" - foo_script.write "echo hello" - chmod "+x", foo_script - - # Test versions. - versions = shell_output("eval \"$(#{bin}/pyenv init --path)\" " \ - "&& eval \"$(#{bin}/pyenv init -)\" " \ - "&& pyenv versions").split("\n") - assert_equal 2, versions.length - assert_match(/\* system/, versions[0]) - assert_equal(" 1.2.3", versions[1]) - - # Test rehash. - system "pyenv", "rehash" - refute_match "Cellar", (pyenv_root/"shims/foo").read - assert_equal "hello", shell_output("eval \"$(#{bin}/pyenv init --path)\" " \ - "&& eval \"$(#{bin}/pyenv init -)\" " \ - "&& PYENV_VERSION='1.2.3' foo").chomp - end -end diff --git a/coin/provisioning/qtci-macos-13-arm/01-disable-app-reopen.sh b/coin/provisioning/qtci-macos-13-arm/01-disable-app-reopen.sh new file mode 100755 index 00000000..382fb40c --- /dev/null +++ b/coin/provisioning/qtci-macos-13-arm/01-disable-app-reopen.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 +set -ex +BASEDIR=$(dirname "$0") +"$BASEDIR"/../common/macos/disable-app-reopen.sh diff --git a/coin/provisioning/qtci-macos-12.0-arm/01-disable-net-lso.sh b/coin/provisioning/qtci-macos-13-arm/01-disable-net-lso.sh index 659ebe96..659ebe96 100644..100755 --- a/coin/provisioning/qtci-macos-12.0-arm/01-disable-net-lso.sh +++ b/coin/provisioning/qtci-macos-13-arm/01-disable-net-lso.sh diff --git a/coin/provisioning/qtci-macos-12.0-arm/01-disable-notifications_and_warnings.sh b/coin/provisioning/qtci-macos-13-arm/01-disable-notifications_and_warnings.sh index 27efbb62..27efbb62 100755 --- a/coin/provisioning/qtci-macos-12.0-arm/01-disable-notifications_and_warnings.sh +++ b/coin/provisioning/qtci-macos-13-arm/01-disable-notifications_and_warnings.sh diff --git a/coin/provisioning/qtci-macos-13-arm/01-disable-updates.sh b/coin/provisioning/qtci-macos-13-arm/01-disable-updates.sh new file mode 100755 index 00000000..a2b2a0f0 --- /dev/null +++ b/coin/provisioning/qtci-macos-13-arm/01-disable-updates.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 + +BASEDIR=$(dirname "$0") +"$BASEDIR/../common/macos/system_updates.sh" diff --git a/coin/provisioning/qtci-macos-12.0-arm/01-increase_limits.sh b/coin/provisioning/qtci-macos-13-arm/01-increase_limits.sh index 08669e52..08669e52 100755 --- a/coin/provisioning/qtci-macos-12.0-arm/01-increase_limits.sh +++ b/coin/provisioning/qtci-macos-13-arm/01-increase_limits.sh diff --git a/coin/provisioning/qtci-macos-13-arm/01-mount-vcpkg-cache-drive.sh b/coin/provisioning/qtci-macos-13-arm/01-mount-vcpkg-cache-drive.sh new file mode 100755 index 00000000..2739f40f --- /dev/null +++ b/coin/provisioning/qtci-macos-13-arm/01-mount-vcpkg-cache-drive.sh @@ -0,0 +1,8 @@ +#!/usr/bin/env bash +# Copyright (C) 2023 The Qt Company Ltd. +# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only + +set -ex + +# shellcheck source=../common/macos/mount-vcpkg-cache-drive.sh +source "${BASH_SOURCE%/*}/../common/macos/mount-vcpkg-cache-drive.sh" diff --git a/coin/provisioning/qtci-macos-13-arm/01-sha1sum-compatibility.sh b/coin/provisioning/qtci-macos-13-arm/01-sha1sum-compatibility.sh new file mode 100755 index 00000000..e52367c8 --- /dev/null +++ b/coin/provisioning/qtci-macos-13-arm/01-sha1sum-compatibility.sh @@ -0,0 +1,10 @@ +#!/usr/bin/env bash +# Copyright (C) 2020 The Qt Company Ltd. +# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only + +#!/usr/bin/env bash + +set -ex + +# shellcheck source=../common/macos/sha1sum-compatibility.sh +source "${BASH_SOURCE%/*}/../common/macos/sha1sum-compatibility.sh" diff --git a/coin/provisioning/qtci-macos-13-arm/03-bashprofile.sh b/coin/provisioning/qtci-macos-13-arm/03-bashprofile.sh new file mode 100755 index 00000000..4eed8433 --- /dev/null +++ b/coin/provisioning/qtci-macos-13-arm/03-bashprofile.sh @@ -0,0 +1,9 @@ +#!/usr/bin/env 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 + +set -ex + +# Read .bashrc if exist +printf -- "# Get the aliases and functions\nif [ -f ~/.bashrc ]; then\n . ~/.bashrc\nfi\n" >> ~/.bash_profile + diff --git a/coin/provisioning/qtci-macos-13-arm/05-systemsetup.sh b/coin/provisioning/qtci-macos-13-arm/05-systemsetup.sh new file mode 100755 index 00000000..023625d8 --- /dev/null +++ b/coin/provisioning/qtci-macos-13-arm/05-systemsetup.sh @@ -0,0 +1,84 @@ +#!/usr/bin/env bash +# Copyright (C) 2021 The Qt Company Ltd. +# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only + +set -ex + +# This script modified system settings for automated use + +targetFile="$HOME/vncpw.txt" + +# Fetch password +curl --retry 5 --retry-delay 10 --retry-max-time 60 "http://ci-files01-hki.ci.qt.io/input/semisecure/vncpw.txt" -o "$targetFile" +shasum "$targetFile" |grep "a795fccaa8f277e62ec08e6056c544b8b63924a0" + +{ VNCPassword=$(cat "$targetFile"); } 2> /dev/null +NTS_IP=10.212.2.216 + +echo "Disable Screensaver" +# For current session +defaults -currentHost write com.apple.screensaver idleTime 0 + +echo "Disable sleep" +sudo pmset sleep 0 displaysleep 0 + +# For session after a reboot +mkdir -p "$HOME/Library/LaunchAgents" +sudo tee -a "$HOME/Library/LaunchAgents/no-screensaver.plist" <<EOT +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd"> + +<plist version="1.0"> + <dict> + <key>Label</key> + <string>org.qt.io.screensaver_disable</string> + <key>ProgramArguments</key> + <array> + <string>defaults</string> + <string>-currentHost</string> + <string>write</string> + <string>com.apple.screensaver</string> + <string>idleTime</string> + <string>0</string> + </array> + <key>RunAtLoad</key> + <true/> + <key>KeepAlive</key> + <false/> + </dict> +</plist> +EOT + +defaults write com.apple.screensaver askForPassword -int 0 + +echo "Set keyboard type rates and delays" +# normal minimum is 15 (225 ms) +defaults write -g InitialKeyRepeat -int 15 +# normal minimum is 2 (30 ms) +defaults write -g KeyRepeat -int 2 + +set +x +echo "Enable remote desktop sharing" +sudo /System/Library/CoreServices/RemoteManagement/ARDAgent.app/Contents/Resources/kickstart \ + -activate -configure -access -on -clientopts -setvnclegacy -vnclegacy yes -clientopts \ + -setvncpw -vncpw "$VNCPassword" -restart -agent -privs -all +set -x + +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 + +sudo systemsetup settimezone GMT +sudo systemsetup setusingnetworktime on +sudo rm -f "$targetFile" + +# Enable automount for nfs shares +sudo sed -i'.orig' -e 's:^#/net:/net:' \ + -e 's:hidefromfinder,nosuid:hidefromfinder,nosuid,locallocks,nocallback:' /etc/auto_master \ + || sudo curl -o /etc/auto_master http://ci-files01-hki.ci.qt.io/input/mac/arm/auto_master +sudo automount -cv + +# Disable multicast advertisements +sudo defaults write /Library/Preferences/com.apple.mDNSResponder.plist NoMulticastAdvertisements -bool true + +# Enable Use keyboard navigation to move focus between controls +defaults write -g AppleKeyboardUIMode -int 2 diff --git a/coin/provisioning/qtci-macos-13-arm/06-crashreporter.sh b/coin/provisioning/qtci-macos-13-arm/06-crashreporter.sh new file mode 100755 index 00000000..cb7c0774 --- /dev/null +++ b/coin/provisioning/qtci-macos-13-arm/06-crashreporter.sh @@ -0,0 +1,7 @@ +#!/usr/bin/env 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 + +set -ex + +defaults write com.apple.CrashReporter DialogType server diff --git a/coin/provisioning/qtci-macos-13-arm/06-disable_spotlight.sh b/coin/provisioning/qtci-macos-13-arm/06-disable_spotlight.sh new file mode 100755 index 00000000..ab85a262 --- /dev/null +++ b/coin/provisioning/qtci-macos-13-arm/06-disable_spotlight.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 + +# shellcheck source=../common/macos/disable_spotlight.sh +source "${BASH_SOURCE%/*}/../common/macos/disable_spotlight.sh" diff --git a/coin/provisioning/qtci-macos-13-arm/06-disable_update_downloads.sh b/coin/provisioning/qtci-macos-13-arm/06-disable_update_downloads.sh new file mode 100755 index 00000000..18cb98ea --- /dev/null +++ b/coin/provisioning/qtci-macos-13-arm/06-disable_update_downloads.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 +set -ex +BASEDIR=$(dirname "$0") +"$BASEDIR"/../common/macos/disable_update_downloads.sh diff --git a/coin/provisioning/qtci-macos-13-arm/07-SSL_keychain.sh b/coin/provisioning/qtci-macos-13-arm/07-SSL_keychain.sh new file mode 100755 index 00000000..e14dcee9 --- /dev/null +++ b/coin/provisioning/qtci-macos-13-arm/07-SSL_keychain.sh @@ -0,0 +1,11 @@ +#!/usr/bin/env bash +#Copyright (C) 2023 The Qt Company Ltd +#SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only + +set -ex + +# shellcheck source=../common/unix/SetEnvVar.sh +source "${BASH_SOURCE%/*}/../common/unix/SetEnvVar.sh" + +# Enables the usage of temporary keychains for SSL autotests +SetEnvVar "QT_SSL_USE_TEMPORARY_KEYCHAIN" "1" diff --git a/coin/provisioning/qtci-macos-13-arm/15-xz.sh b/coin/provisioning/qtci-macos-13-arm/15-xz.sh new file mode 100755 index 00000000..b7e00a20 --- /dev/null +++ b/coin/provisioning/qtci-macos-13-arm/15-xz.sh @@ -0,0 +1,32 @@ +#!/usr/bin/env bash +# Copyright (C) 2021 The Qt Company Ltd. +# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only + +# This script installs XZ-Utils + +# XZ-Utils are needed for uncompressing xz-compressed files + +# pkg was self builded. +# wget https://downloads.sourceforge.net/project/lzmautils/xz-5.2.5.tar.gz +# tar -xzf xz-5.2.5.tar.gz -C /tmp +# cd /tmp/xz-5.2.5 +# ./configure +# make +# ./configure prefix=/tmp/destination_root +# make install +# cd /tmp +# pkgbuild --root destination_root --identifier io.qt.xz.pkg xz-arm64.pkg + +set -ex + +# shellcheck source=../common/macos/InstallPKGFromURL.sh +source "${BASH_SOURCE%/*}/../common/macos/InstallPKGFromURL.sh" +PrimaryUrl="http://ci-files01-hki.ci.qt.io/input/mac/macos_11.0_big_sur_arm/xz-arm64.pkg" +# SourceUrl="https://tukaani.org/xz/xz-5.2.5.tar.gz" + +SHA1="1afc327965d4af33399ae28f22c4b8e5a9e98dc2" +DestDir="/" + +InstallPKGFromURL "$PrimaryUrl" "$PrimaryUrl" "$SHA1" "$DestDir" + +echo "XZ = 5.2.5" >> ~/versions.txt diff --git a/coin/provisioning/qtci-macos-13-arm/20-java.sh b/coin/provisioning/qtci-macos-13-arm/20-java.sh new file mode 100755 index 00000000..00c867f4 --- /dev/null +++ b/coin/provisioning/qtci-macos-13-arm/20-java.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 + +BASEDIR=$(dirname "$0") +"$BASEDIR/../common/macos/java_arm.sh" diff --git a/coin/provisioning/qtci-macos-13-arm/20-xcode.sh b/coin/provisioning/qtci-macos-13-arm/20-xcode.sh new file mode 100755 index 00000000..102211cc --- /dev/null +++ b/coin/provisioning/qtci-macos-13-arm/20-xcode.sh @@ -0,0 +1,22 @@ +#!/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 + +# This script installs Xcode +# Prerequisites: Have Xcode prefetched to local cache as xz compressed. +# This can be achieved by fetching Xcode_9.xip from Apple Store. +# Uncompress it with 'xar -xf Xcode_9.xip' +# Then get https://gist.githubusercontent.com/pudquick/ff412bcb29c9c1fa4b8d/raw/24b25538ea8df8d0634a2a6189aa581ccc6a5b4b/parse_pbzx2.py +# with which you can run 'python parse_pbzx2.py Content'. +# This will give you five files called "Content.part<00..05>.cpio.xz". +# Extract those that have the extension .xz with xz. +# "cat" together all the content files "cat file1, file2, file3, file4, file5 >file_new" +# Compress the new file with xz back to something like Xcode_9.xz +# Upload the file to temporary storage for this script to use. + +set -ex + +# shellcheck source=../common/macos/install_xcode.sh +source "${BASH_SOURCE%/*}/../common/macos/install_xcode.sh" + +InstallXCode /net/ci-files01-hki.ci.qt.io/hdd/www/input/mac/Xcode_14.2.xip 14.2 diff --git a/coin/provisioning/qtci-macos-13-arm/21-install-commandlinetools.sh b/coin/provisioning/qtci-macos-13-arm/21-install-commandlinetools.sh new file mode 100755 index 00000000..d2981173 --- /dev/null +++ b/coin/provisioning/qtci-macos-13-arm/21-install-commandlinetools.sh @@ -0,0 +1,14 @@ +#!/usr/bin/env bash +# Copyright (C) 2022 The Qt Company Ltd. +# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only + +set -ex + +# shellcheck source=../common/macos/install-commandlinetools.sh +source "${BASH_SOURCE%/*}/../common/macos/install-commandlinetools.sh" +version="14.2" +packageName="Command_Line_Tools_for_Xcode_$version.dmg" +url="http://ci-files01-hki.ci.qt.io/input/mac/$packageName" +sha1="f9d18da696bc54755bd85fb4f42c0a8866bdade6" + +InstallCommandLineTools $url $url $sha1 $packageName $version diff --git a/coin/provisioning/qtci-macos-13-arm/23-homebrew.sh b/coin/provisioning/qtci-macos-13-arm/23-homebrew.sh new file mode 100755 index 00000000..4983540c --- /dev/null +++ b/coin/provisioning/qtci-macos-13-arm/23-homebrew.sh @@ -0,0 +1,16 @@ +#!/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 + +# Will install homebrew package manager for macOS. +# WARNING: Requires commandlinetools + + +set -e + +BASEDIR=$(dirname "$0") +"$BASEDIR/../common/macos/homebrew_for_arm_mac.sh" +# Can we force reading bash env this late? +echo "if [ -f ~/.bashrc ]; then + . ~/.bashrc +fi" >> .profile diff --git a/coin/provisioning/qtci-macos-13-arm/24-pyenv.sh b/coin/provisioning/qtci-macos-13-arm/24-pyenv.sh new file mode 100755 index 00000000..3a7a8f77 --- /dev/null +++ b/coin/provisioning/qtci-macos-13-arm/24-pyenv.sh @@ -0,0 +1,49 @@ +#!/usr/bin/env bash + +############################################################################# +## +## Copyright (C) 2021 The Qt Company Ltd. +## Copyright (C) 2017 Pelagicore AG +## Contact: https://www.qt.io/licensing/ +## +## This file is part of the provisioning scripts of the Qt Toolkit. +## +## $QT_BEGIN_LICENSE:LGPL$ +## Commercial License Usage +## Licensees holding valid commercial Qt licenses may use this file in +## accordance with the commercial license agreement provided with the +## Software or, alternatively, in accordance with the terms contained in +## a written agreement between you and The Qt Company. For licensing terms +## and conditions see https://www.qt.io/terms-conditions. For further +## information use the contact form at https://www.qt.io/contact-us. +## +## GNU Lesser General Public License Usage +## Alternatively, this file may be used under the terms of the GNU Lesser +## General Public License version 3 as published by the Free Software +## Foundation and appearing in the file LICENSE.LGPL3 included in the +## packaging of this file. Please review the following information to +## ensure the GNU Lesser General Public License version 3 requirements +## will be met: https://www.gnu.org/licenses/lgpl-3.0.html. +## +## GNU General Public License Usage +## Alternatively, this file may be used under the terms of the GNU +## General Public License version 2.0 or (at your option) the GNU General +## Public license version 3 or any later version approved by the KDE Free +## Qt Foundation. The licenses are as published by the Free Software +## Foundation and appearing in the file LICENSE.GPL2 and LICENSE.GPL3 +## included in the packaging of this file. Please review the following +## information to ensure the GNU General Public License requirements will +## be met: https://www.gnu.org/licenses/gpl-2.0.html and +## https://www.gnu.org/licenses/gpl-3.0.html. +## +## $QT_END_LICENSE$ +## +############################################################################# + +# This script installs python3 + +# shellcheck source=../common/unix/SetEnvVar.sh +source "${BASH_SOURCE%/*}/../common/unix/SetEnvVar.sh" + +# Try with default +/opt/homebrew/bin/brew install pyenv diff --git a/coin/provisioning/qtci-macos-12.0-arm/24-sccache.sh b/coin/provisioning/qtci-macos-13-arm/24-sccache.sh index 358b23fb..358b23fb 100755 --- a/coin/provisioning/qtci-macos-12.0-arm/24-sccache.sh +++ b/coin/provisioning/qtci-macos-13-arm/24-sccache.sh diff --git a/coin/provisioning/qtci-macos-13-arm/25-cmake.sh b/coin/provisioning/qtci-macos-13-arm/25-cmake.sh new file mode 100755 index 00000000..33095880 --- /dev/null +++ b/coin/provisioning/qtci-macos-13-arm/25-cmake.sh @@ -0,0 +1,8 @@ +#!/usr/bin/env bash +#Copyright (C) 2023 The Qt Company Ltd +#SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only + +set -ex + +BASEDIR=$(dirname "$0") +"$BASEDIR/../common/macos/cmake.sh" diff --git a/coin/provisioning/qtci-macos-13-arm/25-mysql.sh b/coin/provisioning/qtci-macos-13-arm/25-mysql.sh new file mode 100755 index 00000000..0be1e6e8 --- /dev/null +++ b/coin/provisioning/qtci-macos-13-arm/25-mysql.sh @@ -0,0 +1,27 @@ +#!/usr/bin/env bash +# Copyright (C) 2020 The Qt Company Ltd. +# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only + +# This script installs MySQL + +# MySQL is needed for Qt to be able to support MySQL + +set -ex + +# shellcheck source=../common/macos/InstallAppFromCompressedFileFromURL.sh +source "${BASH_SOURCE%/*}/../common/macos/InstallAppFromCompressedFileFromURL.sh" +# shellcheck source=../common/unix/SetEnvVar.sh +source "${BASH_SOURCE%/*}/../common/unix/SetEnvVar.sh" + +PrimaryUrl="http://ci-files01-hki.ci.qt.io/input/mac/macos_10.12_sierra/mysql-5.7.15-osx10.11-x86_64.tar.gz" +AltUrl="https://dev.mysql.com/get/Downloads/MySQL-5.7/mysql-5.7.15-osx10.11-x86_64.tar.gz" +SHA1="07949bd42f350b0504a1536b8830b809b4a34fca" +appPrefix="" +targetDir="/opt/mysql57/" + +sudo mkdir -p "/opt" + +InstallAppFromCompressedFileFromURL "$PrimaryUrl" "$AltUrl" "$SHA1" "$appPrefix" "$targetDir" + +SetEnvVar "MYSQLBINPATH" "/opt/mysql57/bin" +echo "MySQL = 5.7.15" >> ~/versions.txt diff --git a/coin/provisioning/qtci-macos-13-arm/25-pip.sh b/coin/provisioning/qtci-macos-13-arm/25-pip.sh new file mode 100755 index 00000000..3fc865d0 --- /dev/null +++ b/coin/provisioning/qtci-macos-13-arm/25-pip.sh @@ -0,0 +1,8 @@ +#!/usr/bin/env bash +#Copyright (C) 2023 The Qt Company Ltd +#SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only + +set -ex + +BASEDIR=$(dirname "$0") +"$BASEDIR/../common/macos/pip.sh" diff --git a/coin/provisioning/qtci-macos-13-arm/25-postgresql.sh b/coin/provisioning/qtci-macos-13-arm/25-postgresql.sh new file mode 100755 index 00000000..06cae6ef --- /dev/null +++ b/coin/provisioning/qtci-macos-13-arm/25-postgresql.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 + +BASEDIR=$(dirname "$0") +"$BASEDIR/../common/macos/postgresql.sh" diff --git a/coin/provisioning/qtci-macos-13-arm/25-python.sh b/coin/provisioning/qtci-macos-13-arm/25-python.sh new file mode 100755 index 00000000..9bfb6384 --- /dev/null +++ b/coin/provisioning/qtci-macos-13-arm/25-python.sh @@ -0,0 +1,25 @@ +#!/usr/bin/env bash +# Copyright (C) 2021 The Qt Company Ltd. +# Copyright (C) 2017 Pelagicore AG +# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only + +# This script installs python3 + +# shellcheck source=../common/unix/SetEnvVar.sh +source "${BASH_SOURCE%/*}/../common/unix/SetEnvVar.sh" + +pyenv install 3.9.7 + +/Users/qt/.pyenv/versions/3.9.7/bin/pip3 install --user install virtualenv wheel html5lib + +SetEnvVar "PYTHON3_PATH" "/Users/qt/.pyenv/versions/3.9.7/bin/" +SetEnvVar "PIP3_PATH" "/Users/qt/.pyenv/versions/3.9.7/bin/" +# Use 3.9 as a default python +SetEnvVar "PATH" "\$PYTHON3_PATH:\$PATH" + +# QtWebengine still requires python2 +pyenv install 2.7.18 +SetEnvVar "PYTHON2_PATH" "/Users/qt/.pyenv/versions/2.7.18/bin/" + +echo "python3 = 3.9.7" >> ~/versions.txt +echo "python2 = 2.7.18" >> ~/versions.txt diff --git a/coin/provisioning/qtci-macos-13-arm/26-freetype.sh b/coin/provisioning/qtci-macos-13-arm/26-freetype.sh new file mode 100755 index 00000000..fa0790f8 --- /dev/null +++ b/coin/provisioning/qtci-macos-13-arm/26-freetype.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 + +brew install freetype diff --git a/coin/provisioning/qtci-macos-13-arm/26-jq.sh b/coin/provisioning/qtci-macos-13-arm/26-jq.sh new file mode 100755 index 00000000..4dffcb96 --- /dev/null +++ b/coin/provisioning/qtci-macos-13-arm/26-jq.sh @@ -0,0 +1,5 @@ +#!/usr/bin/env bash + +set -ex + +brew install jq diff --git a/coin/provisioning/qtci-macos-13-arm/26-ninja.sh b/coin/provisioning/qtci-macos-13-arm/26-ninja.sh new file mode 100755 index 00000000..4443eeb4 --- /dev/null +++ b/coin/provisioning/qtci-macos-13-arm/26-ninja.sh @@ -0,0 +1,10 @@ +#!/usr/bin/env bash +#Copyright (C) 2023 The Qt Company Ltd +#SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only + +set -ex + +# shellcheck source=../common/macos/ninja.sh +source "${BASH_SOURCE%/*}/../common/macos/ninja.sh" + + diff --git a/coin/provisioning/qtci-macos-13-arm/26-odbc.sh b/coin/provisioning/qtci-macos-13-arm/26-odbc.sh new file mode 100755 index 00000000..2b6b013a --- /dev/null +++ b/coin/provisioning/qtci-macos-13-arm/26-odbc.sh @@ -0,0 +1,9 @@ +#!/usr/bin/env bash +#Copyright (C) 2023 The Qt Company Ltd +#SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only +# Install libiodbc + +set -ex + +BASEDIR=$(dirname "$0") +"$BASEDIR/../common/macos/libiodbc.sh" --with-universal diff --git a/coin/provisioning/qtci-macos-13-arm/26-p7zip.sh b/coin/provisioning/qtci-macos-13-arm/26-p7zip.sh new file mode 100755 index 00000000..8cdcd0c3 --- /dev/null +++ b/coin/provisioning/qtci-macos-13-arm/26-p7zip.sh @@ -0,0 +1,9 @@ +#!/usr/bin/env bash +#Copyright (C) 2023 The Qt Company Ltd +#SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only +# Install 7z to be used from command line + +set -ex + +brew update +brew install p7zip diff --git a/coin/provisioning/qtci-macos-13-arm/26-pcre2.sh b/coin/provisioning/qtci-macos-13-arm/26-pcre2.sh new file mode 100755 index 00000000..c10d6206 --- /dev/null +++ b/coin/provisioning/qtci-macos-13-arm/26-pcre2.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 + +brew install pcre2 diff --git a/coin/provisioning/qtci-macos-13-arm/27-libclang.sh b/coin/provisioning/qtci-macos-13-arm/27-libclang.sh new file mode 100755 index 00000000..cc025e6e --- /dev/null +++ b/coin/provisioning/qtci-macos-13-arm/27-libclang.sh @@ -0,0 +1,9 @@ +#!/usr/bin/env bash +#Copyright (C) 2023 The Qt Company Ltd +#SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only + +set -ex + +BASEDIR=$(dirname "$0") +# There is only one mac package and common script uses it as a default +"$BASEDIR/../common/unix/libclang.sh" diff --git a/coin/provisioning/qtci-macos-13-arm/28-libclang-v100-dyn.sh b/coin/provisioning/qtci-macos-13-arm/28-libclang-v100-dyn.sh new file mode 100755 index 00000000..d95e7e00 --- /dev/null +++ b/coin/provisioning/qtci-macos-13-arm/28-libclang-v100-dyn.sh @@ -0,0 +1,8 @@ +#!/usr/bin/env bash +#Copyright (C) 2023 The Qt Company Ltd +#SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only + +set -ex + +BASEDIR=$(dirname "$0") +"$BASEDIR/../common/unix/libclang-v100-dyn.sh" diff --git a/coin/provisioning/qtci-macos-13-arm/29-install-pkgconfig.sh b/coin/provisioning/qtci-macos-13-arm/29-install-pkgconfig.sh new file mode 100755 index 00000000..33e11580 --- /dev/null +++ b/coin/provisioning/qtci-macos-13-arm/29-install-pkgconfig.sh @@ -0,0 +1,6 @@ +#!/usr/bin/env bash + +set -ex + +BASEDIR=$(dirname "$0") +"$BASEDIR/../common/macos/pkgconfig.sh" diff --git a/coin/provisioning/qtci-macos-13-arm/30-android.sh b/coin/provisioning/qtci-macos-13-arm/30-android.sh new file mode 100755 index 00000000..6259b71e --- /dev/null +++ b/coin/provisioning/qtci-macos-13-arm/30-android.sh @@ -0,0 +1,64 @@ +#!/usr/bin/env bash +# Copyright (C) 2020 The Qt Company Ltd. +# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only + +# This script install Android sdk and ndk. + +# It also runs update for SDK API, latest SDK tools, latest platform-tools and build-tools version + +set -ex + +# shellcheck source=../common/unix/SetEnvVar.sh +source "${BASH_SOURCE%/*}/../common/unix/SetEnvVar.sh" + +targetFolder="/opt/android" +sdkTargetFolder="$targetFolder/sdk" + +basePath="/net/ci-files01-hki.ci.qt.io/hdd/www/input/android" + +toolsVersion="2.1" +# toolsFile dertermines tools version +toolsFile="commandlinetools-mac-6609375_latest.zip" + +ndkVersion="r26b" +ndkFile="android-ndk-$ndkVersion-darwin.zip" +sdkBuildToolsVersion="34.0.0" +# this is compile sdk version +sdkApiLevel="android-34" + +toolsSourceFile="$basePath/$toolsFile" +ndkSourceFile="$basePath/$ndkFile" + +echo "Unzipping Android NDK to '$targetFolder'" +sudo unzip -q "$ndkSourceFile" -d "$targetFolder" +echo "Unzipping Android Tools to '$sdkTargetFolder'" +sudo unzip -q "$toolsSourceFile" -d "$sdkTargetFolder" + +echo "Changing ownership of Android files." +sudo chown -R qt:wheel "$targetFolder" + +# Run the following command under `eval` or `sh -c` so that the shell properly splits it +sdkmanager_no_progress_bar_cmd="tr '\r' '\n' | grep -v '^\[[ =]*\]'" + +sudo mkdir "$sdkTargetFolder/cmdline-tools" +sudo mv "$sdkTargetFolder/tools" "$sdkTargetFolder/cmdline-tools" + +echo "Running SDK manager for platforms;$sdkApiLevel, platform-tools and build-tools;$sdkBuildToolsVersion." +(echo "y"; echo "y") | "$sdkTargetFolder/cmdline-tools/tools/bin/sdkmanager" "--sdk_root=$sdkTargetFolder" \ + "platforms;$sdkApiLevel" "platform-tools" "build-tools;$sdkBuildToolsVersion" \ + | eval "$sdkmanager_no_progress_bar_cmd" + +echo "Checking the contents of Android SDK..." +ls -l "$sdkTargetFolder" + +SetEnvVar "ANDROID_SDK_ROOT" "$sdkTargetFolder" +SetEnvVar "ANDROID_NDK_ROOT" "$targetFolder/android-ndk-$ndkVersion" +SetEnvVar "ANDROID_NDK_HOST" "darwin-x86_64" +SetEnvVar "ANDROID_API_VERSION" "$sdkApiLevel" + +cat << EOB >> ~/versions.txt +Android SDK tools = $toolsVersion +Android SDK Build Tools = $sdkBuildToolsVersion +Android SDK API level = $sdkApiLevel +Android NDK = $ndkVersion +EOB diff --git a/coin/provisioning/qtci-macos-13-arm/30-fbx.sh b/coin/provisioning/qtci-macos-13-arm/30-fbx.sh new file mode 100755 index 00000000..e991bc08 --- /dev/null +++ b/coin/provisioning/qtci-macos-13-arm/30-fbx.sh @@ -0,0 +1,9 @@ +#!/usr/bin/env bash +#Copyright (C) 2023 The Qt Company Ltd +#SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only + +set -ex + +BASEDIR=$(dirname "$0") +"$BASEDIR/../common/macos/fbx_macos.sh" + diff --git a/coin/provisioning/qtci-macos-13-arm/30-install-conan.sh b/coin/provisioning/qtci-macos-13-arm/30-install-conan.sh new file mode 100755 index 00000000..67a4f911 --- /dev/null +++ b/coin/provisioning/qtci-macos-13-arm/30-install-conan.sh @@ -0,0 +1,8 @@ +#!/usr/bin/env bash +#Copyright (C) 2023 The Qt Company Ltd +#SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only + +set -ex + +BASEDIR=$(dirname "$0") +"$BASEDIR/../common/unix/install-conan.sh" diff --git a/coin/provisioning/qtci-macos-13-arm/30-nodejs.sh b/coin/provisioning/qtci-macos-13-arm/30-nodejs.sh new file mode 100755 index 00000000..8f73b2d6 --- /dev/null +++ b/coin/provisioning/qtci-macos-13-arm/30-nodejs.sh @@ -0,0 +1,8 @@ +#!/usr/bin/env bash +#Copyright (C) 2023 The Qt Company Ltd +#SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only + +set -ex + +brew install nodejs + diff --git a/coin/provisioning/qtci-macos-13-arm/35-install-breakpad.sh b/coin/provisioning/qtci-macos-13-arm/35-install-breakpad.sh new file mode 100755 index 00000000..8a9dde56 --- /dev/null +++ b/coin/provisioning/qtci-macos-13-arm/35-install-breakpad.sh @@ -0,0 +1,8 @@ +#!/usr/bin/env bash +#Copyright (C) 2023 The Qt Company Ltd +#SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only + +set -ex + +# shellcheck source=../common/unix/install-breakpad.sh +source "${BASH_SOURCE%/*}/../common/unix/install-breakpad.sh" diff --git a/coin/provisioning/qtci-macos-13-arm/35-install_protobuf.sh b/coin/provisioning/qtci-macos-13-arm/35-install_protobuf.sh new file mode 100755 index 00000000..ecb5f835 --- /dev/null +++ b/coin/provisioning/qtci-macos-13-arm/35-install_protobuf.sh @@ -0,0 +1,9 @@ +#!/usr/bin/env bash +# Copyright (C) 2020 The Qt Company Ltd. +# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only + +set -ex + +# shellcheck source=../common/unix/install_protobuf.sh +source "${BASH_SOURCE%/*}/../common/unix/install_protobuf.sh" + diff --git a/coin/provisioning/qtci-macos-13-arm/35-openssl.sh b/coin/provisioning/qtci-macos-13-arm/35-openssl.sh new file mode 100755 index 00000000..c86788db --- /dev/null +++ b/coin/provisioning/qtci-macos-13-arm/35-openssl.sh @@ -0,0 +1,9 @@ +#!/usr/bin/env bash +#Copyright (C) 2023 The Qt Company Ltd +#SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only + +set -ex + +# shellcheck source=../common/unix/install-openssl.sh +source "${BASH_SOURCE%/*}/../common/unix/install-openssl.sh" "macos-universal" + diff --git a/coin/provisioning/qtci-macos-13-arm/36-emsdk.sh b/coin/provisioning/qtci-macos-13-arm/36-emsdk.sh new file mode 100755 index 00000000..c8aec444 --- /dev/null +++ b/coin/provisioning/qtci-macos-13-arm/36-emsdk.sh @@ -0,0 +1,8 @@ +#!/usr/bin/env bash +#Copyright (C) 2023 The Qt Company Ltd +#SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only + +set -ex + +# shellcheck source=../common/unix/emsdk.sh +source "${BASH_SOURCE%/*}/../common/unix/emsdk.sh" diff --git a/coin/provisioning/qtci-macos-13-arm/36-install_grpc.sh b/coin/provisioning/qtci-macos-13-arm/36-install_grpc.sh new file mode 100755 index 00000000..ecd6a51f --- /dev/null +++ b/coin/provisioning/qtci-macos-13-arm/36-install_grpc.sh @@ -0,0 +1,9 @@ +#!/usr/bin/env bash +# Copyright (C) 2022 The Qt Company Ltd. +# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only + +set -ex + +# shellcheck source=../common/unix/install_grpc.sh +source "${BASH_SOURCE%/*}/../common/unix/install_grpc.sh" + diff --git a/coin/provisioning/qtci-macos-13-arm/40-qnx700.sh b/coin/provisioning/qtci-macos-13-arm/40-qnx700.sh new file mode 100755 index 00000000..48286a67 --- /dev/null +++ b/coin/provisioning/qtci-macos-13-arm/40-qnx700.sh @@ -0,0 +1,25 @@ +#!/bin/bash +# Copyright (C) 2020 The Qt Company Ltd. +# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only + +# This script installs QNX 7. + +targetFolder="/opt/" +sourceFile="/net/ci-files01-hki.ci.qt.io/hdd/www/input/qnx/qnx700-20190325-2-macos.tar.xz" +folderName="qnx700" + +sudo mkdir -p "$targetFolder" + +echo "Extracting QNX 7" +sudo tar -C "$targetFolder" -Jxf $sourceFile + +sudo chown -R qt:wheel "$targetFolder"/"$folderName" + +# Verify that we have last file in zip +if [ ! -f $targetFolder/$folderName/qnxsdp-env.sh ]; then + exit 1 +fi + +# Set env variables +echo "export QNX_700=$targetFolder/$folderName" >> ~/.bashrc +echo "QNX SDP = 7.0.0" >> ~/versions.txt diff --git a/coin/provisioning/qtci-macos-13-arm/55-signtools.sh b/coin/provisioning/qtci-macos-13-arm/55-signtools.sh new file mode 100755 index 00000000..ff5a977a --- /dev/null +++ b/coin/provisioning/qtci-macos-13-arm/55-signtools.sh @@ -0,0 +1,107 @@ +#!/usr/bin/env sh +# 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 + +# Install tools for singing packages +# This script assume that OS is vanilla. Target machine dosen't have any signing certificates installed. + +set -ex + +cache="http://ci-files01-hki.ci.qt.io/input" +cacheSigningTools="$cache/mac/sign_tools" +targetFolder="/Users/qt" +keychains="$targetFolder/Library/Keychains" + +Install() { + + url=$1 + targetFile=$2 + expectedSha1=$3 + + echo "Fetching $targetFile from $url..." + curl --retry 5 --retry-delay 10 --retry-max-time 60 "$url" -o "$targetFile" + shasum "$targetFile" |grep "$expectedSha1" + +} + +# qt-license +sha1QtLicense="9d59241d16f68d914f1c7aa1dc23e05faa169e8d" +Install "$cache/semisecure/.qt-license" "$targetFolder/.qt-license" $sha1QtLicense + +# Login keychain +sha1LoginKeychainPassword="aae58d00d0a1b179a09f21cfc67f9d16fb95ff36" +Install "$cacheSigningTools/login_keychain_password.txt" "$targetFolder/login_keychain_password.txt" "$sha1LoginKeychainPassword" +{ loginKeychainPassword=$(cat "$targetFolder/login_keychain_password.txt"); } 2> /dev/null +loginKeychain=$keychains/login.keychain + +echo "Setting login.keychain as default keychain.." +security default-keychain -s $loginKeychain* +echo "Unlocking Login keychain with password.." +{ security unlock-keychain -p "$loginKeychainPassword" $loginKeychain*; } 2> /dev/null + +echo "remove the "Lock after X minutes of inactivity" from login.keychain" +security set-keychain-settings $loginKeychain + +# Apple Worldwide Developer Relations Certification Authority -> https://developer.apple.com/certificationauthority/AppleWWDRCA.cer +sha1AppleWWDRCA="ff6797793a3cd798dc5b2abef56f73edc9f83a64" +Install "$cacheSigningTools/AppleWWDRCA.cer" "$targetFolder/AppleWWDRCA.cer" $sha1AppleWWDRCA +sudo security add-certificates -k $loginKeychain* "$targetFolder/AppleWWDRCA.cer" + +# Developer ID Certification Authority -> https://www.apple.com/certificateauthority/DeveloperIDCA.cer +sha1DeveloperIDCA="3b166c3b7dc4b751c9fe2afab9135641e388e186" +Install "$cacheSigningTools/DeveloperIDCA.cer" "$targetFolder/DeveloperIDCA.cer" $sha1DeveloperIDCA +sudo security add-certificates -k $loginKeychain* "$targetFolder/DeveloperIDCA.cer" + +# Create script to unlock keychain 'security unlock-keychain -p 'password' Developer_ID_TheQtCompany.keychain' +sha1UnLockKeychain="4398870e3f558ad28c80566b5f70e24dc29ea724" +unlockKeychain=$targetFolder/unlock-keychain.sh +{ Install "$cacheSigningTools/unlock-keychain.sh" "$unlockKeychain" $sha1UnLockKeychain; } 2> /dev/null +sudo chmod 755 "$unlockKeychain" + +# Codesigning requirements file. The bundle identifier in the requirements file should match the identifier of the application that is signed. +shaCsreq="2c3f00b1845a0f475673fd6934ba25ea51d1f910" +csreq=$targetFolder/csreq_qt_company.txt +Install "$cacheSigningTools/csreq_qt_company.txt" "$csreq" $shaCsreq +chmod 755 "$csreq" + +# iOS signing tools +devIDKeychain="Developer_ID_TheQtCompany.keychain-db" +shaDevIdKeychain="972cca1879cdaeeb6042f9879756c748a8d1eddc" +Install "$cacheSigningTools/$devIDKeychain" "$keychains/$devIDKeychain" $shaDevIdKeychain +echo "Opening $devIDKeychain.." +open "$keychains/$devIDKeychain" + +sha1DeveloperIDTheQtCompanyKeychainPassword="d758e067736bbda7a91ffaec66cd38afdaf68ea6" +Install "$cacheSigningTools/Developer_ID_TheQtCompany_keychain_password.txt" "$targetFolder/Developer_ID_TheQtCompany_keychain_password.txt" "$sha1DeveloperIDTheQtCompanyKeychainPassword" +{ DeveloperIDTheQtCompanyKeychainPassword=$(cat "$targetFolder/Developer_ID_TheQtCompany_keychain_password.txt"); } 2> /dev/null + +echo "Unlocking $devIDKeychain with password.." +{ security unlock-keychain -p "$DeveloperIDTheQtCompanyKeychainPassword" $keychains/Developer_ID_TheQtCompany.keychain; } 2> /dev/null +security set-keychain-settings $keychains/Developer_ID_TheQtCompany.keychain + +sha1Ios="aae58d00d0a1b179a09f21cfc67f9d16fb95ff36" +{ Install "$cacheSigningTools/ios_password.txt" "$targetFolder/ios_password.txt" $sha1Ios; } 2> /dev/null +{ iosPassword=$(cat "$targetFolder/ios_password.txt"); } 2> /dev/null + +iPhoneDeveloper="iPhoneDeveloperCiTeam2020.p12" +shaIPhoneDeveloper="73136e44fed850f398e85908e4a73f20a6bdd8a2" +Install "$cacheSigningTools/latest_ios_cert_2020/$iPhoneDeveloper" "$targetFolder/$iPhoneDeveloper" $shaIPhoneDeveloper +echo "Importing $iPhoneDeveloper.." +{ security import $targetFolder/$iPhoneDeveloper -k $loginKeychain* -P "$iosPassword" -T /usr/bin/codesign; } 2> /dev/null + +iPhoneDistribution="iPhoneDistributionCiTeam2020.p12" +shaIPhoneDistribution="36215c3cbc6bfee48e86aafbd53c56282fe36d8d" +Install "$cacheSigningTools/latest_ios_cert_2020/$iPhoneDistribution" "$targetFolder/$iPhoneDistribution" $shaIPhoneDistribution +echo "Importing $iPhoneDistribution.." +{ security import "$targetFolder/$iPhoneDistribution" -k $loginKeychain* -P "$iosPassword" -T /usr/bin/codesign; } 2> /dev/null + +# Mobileprovision +echo "Creating directory $targetFolder/Library/MobileDevice/Provisioning Profiles.." +mkdir "$targetFolder/Library/MobileDevice" +mkdir "$targetFolder/Library/MobileDevice/Provisioning Profiles" +shaMobileprovision="ec9697276253ca7bf4401912236f0e6fde4214da" +Install "$cacheSigningTools/latest_ios_cert_2020/iOS_Dev_2020_citeam.mobileprovision" "$targetFolder/Library/MobileDevice/Provisioning Profiles/iOS_Dev_2020_citeam.mobileprovision" $shaMobileprovision + +# Removing password files +rm -fr "$targetFolder/login_keychain_password.txt" + diff --git a/coin/provisioning/qtci-macos-13-arm/80-screenresolution.sh b/coin/provisioning/qtci-macos-13-arm/80-screenresolution.sh new file mode 100755 index 00000000..ed905a33 --- /dev/null +++ b/coin/provisioning/qtci-macos-13-arm/80-screenresolution.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 + +"$(dirname "$0")"/../common/macos/screenresolution.sh + diff --git a/coin/provisioning/qtci-macos-13-arm/81-bluetooth.sh b/coin/provisioning/qtci-macos-13-arm/81-bluetooth.sh new file mode 100755 index 00000000..c58b9a34 --- /dev/null +++ b/coin/provisioning/qtci-macos-13-arm/81-bluetooth.sh @@ -0,0 +1,10 @@ +#!/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 + +brew install blueutil + +#Disable Bluetooth +blueutil -p 0 diff --git a/coin/provisioning/qtci-macos-13-arm/90-docker.sh b/coin/provisioning/qtci-macos-13-arm/90-docker.sh new file mode 100755 index 00000000..f03971a9 --- /dev/null +++ b/coin/provisioning/qtci-macos-13-arm/90-docker.sh @@ -0,0 +1,9 @@ +#!/usr/bin/env bash +#Copyright (C) 2023 The Qt Company Ltd +#SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only + +set -ex + +# shellcheck source=../common/macos/docker.sh +source "${BASH_SOURCE%/*}/../common/macos/docker.sh" "arm64" + diff --git a/coin/provisioning/qtci-macos-13-arm/90-install-ffmpeg.sh b/coin/provisioning/qtci-macos-13-arm/90-install-ffmpeg.sh new file mode 100755 index 00000000..23cb13e1 --- /dev/null +++ b/coin/provisioning/qtci-macos-13-arm/90-install-ffmpeg.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 + +source "${BASH_SOURCE%/*}/../common/unix/install-ffmpeg.sh" "macos-universal" diff --git a/coin/provisioning/qtci-macos-13-arm/90-vlc.sh b/coin/provisioning/qtci-macos-13-arm/90-vlc.sh new file mode 100644 index 00000000..4924fe5c --- /dev/null +++ b/coin/provisioning/qtci-macos-13-arm/90-vlc.sh @@ -0,0 +1,8 @@ +#!/usr/bin/env bash +#Copyright (C) 2023 The Qt Company Ltd +#SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only + +set -ex + +# for QtMM streaming tests +brew install --cask vlc diff --git a/coin/provisioning/qtci-macos-13-arm/97-set-locale.sh b/coin/provisioning/qtci-macos-13-arm/97-set-locale.sh new file mode 100755 index 00000000..bc966cbf --- /dev/null +++ b/coin/provisioning/qtci-macos-13-arm/97-set-locale.sh @@ -0,0 +1,8 @@ +#!/usr/bin/env bash +#Copyright (C) 2023 The Qt Company Ltd +#SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only + +set -ex + +BASEDIR=$(dirname "$0") +"$BASEDIR/../common/macos/set-locale.sh" diff --git a/coin/provisioning/qtci-macos-13-arm/98-mimersql.sh b/coin/provisioning/qtci-macos-13-arm/98-mimersql.sh new file mode 100755 index 00000000..70d5bc1d --- /dev/null +++ b/coin/provisioning/qtci-macos-13-arm/98-mimersql.sh @@ -0,0 +1,5 @@ +#!/usr/bin/env bash +set -ex + +BASEDIR=$(dirname "$0") +"$BASEDIR/../common/macos/mimersql.sh" "macos-universal" diff --git a/coin/provisioning/qtci-macos-13-arm/99-mac-version.sh b/coin/provisioning/qtci-macos-13-arm/99-mac-version.sh new file mode 100755 index 00000000..b9b5aeb0 --- /dev/null +++ b/coin/provisioning/qtci-macos-13-arm/99-mac-version.sh @@ -0,0 +1,8 @@ +#!/usr/bin/env bash +#Copyright (C) 2023 The Qt Company Ltd +#SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only + +set -ex + +BASEDIR=$(dirname "$0") +"$BASEDIR/../common/macos/macos-version.sh" diff --git a/coin/provisioning/qtci-macos-13-x86_64/01-disable-net-lso.sh b/coin/provisioning/qtci-macos-13-x86_64/01-disable-net-lso.sh new file mode 100755 index 00000000..659ebe96 --- /dev/null +++ b/coin/provisioning/qtci-macos-13-x86_64/01-disable-net-lso.sh @@ -0,0 +1,3 @@ +#!/bin/sh + +"$(dirname "$0")"/../common/macos/disable_net_lso.sh diff --git a/coin/provisioning/qtci-macos-13-x86_64/01-disable-notifications_and_warnings.sh b/coin/provisioning/qtci-macos-13-x86_64/01-disable-notifications_and_warnings.sh new file mode 100755 index 00000000..27efbb62 --- /dev/null +++ b/coin/provisioning/qtci-macos-13-x86_64/01-disable-notifications_and_warnings.sh @@ -0,0 +1,3 @@ +#!/bin/sh + +"$(dirname "$0")"/../common/macos/disable-notifications_and_warnings.sh diff --git a/coin/provisioning/qtci-macos-13-x86_64/01-disable-updates.sh b/coin/provisioning/qtci-macos-13-x86_64/01-disable-updates.sh new file mode 100755 index 00000000..a2b2a0f0 --- /dev/null +++ b/coin/provisioning/qtci-macos-13-x86_64/01-disable-updates.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 + +BASEDIR=$(dirname "$0") +"$BASEDIR/../common/macos/system_updates.sh" diff --git a/coin/provisioning/qtci-macos-13-x86_64/01-enable_zsh_history_and_viminfo.sh b/coin/provisioning/qtci-macos-13-x86_64/01-enable_zsh_history_and_viminfo.sh new file mode 100755 index 00000000..6004b140 --- /dev/null +++ b/coin/provisioning/qtci-macos-13-x86_64/01-enable_zsh_history_and_viminfo.sh @@ -0,0 +1,5 @@ +#!/usr/bin/env bash +set -ex + +# shellcheck source=../common/macos/enable_zsh_history_and_viminfo.sh +source "${BASH_SOURCE%/*}/../common/macos/enable_zsh_history_and_viminfo.sh" diff --git a/coin/provisioning/qtci-macos-13-x86_64/01-increase_limits.sh b/coin/provisioning/qtci-macos-13-x86_64/01-increase_limits.sh new file mode 100755 index 00000000..08669e52 --- /dev/null +++ b/coin/provisioning/qtci-macos-13-x86_64/01-increase_limits.sh @@ -0,0 +1,3 @@ +#!/bin/sh + +"$(dirname "$0")"/../common/macos/increase_limits.sh diff --git a/coin/provisioning/qtci-macos-13-x86_64/01-install_telegraf.sh b/coin/provisioning/qtci-macos-13-x86_64/01-install_telegraf.sh new file mode 100755 index 00000000..abd9ba0d --- /dev/null +++ b/coin/provisioning/qtci-macos-13-x86_64/01-install_telegraf.sh @@ -0,0 +1,3 @@ +#!/bin/sh + +"$(dirname "$0")"/../common/macos/telegraf_install.sh diff --git a/coin/provisioning/qtci-macos-13-x86_64/01-mount-vcpkg-cache-drive.sh b/coin/provisioning/qtci-macos-13-x86_64/01-mount-vcpkg-cache-drive.sh new file mode 100755 index 00000000..2739f40f --- /dev/null +++ b/coin/provisioning/qtci-macos-13-x86_64/01-mount-vcpkg-cache-drive.sh @@ -0,0 +1,8 @@ +#!/usr/bin/env bash +# Copyright (C) 2023 The Qt Company Ltd. +# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only + +set -ex + +# shellcheck source=../common/macos/mount-vcpkg-cache-drive.sh +source "${BASH_SOURCE%/*}/../common/macos/mount-vcpkg-cache-drive.sh" diff --git a/coin/provisioning/qtci-macos-13-x86_64/01-sha1sum-compatibility.sh b/coin/provisioning/qtci-macos-13-x86_64/01-sha1sum-compatibility.sh new file mode 100755 index 00000000..583195c7 --- /dev/null +++ b/coin/provisioning/qtci-macos-13-x86_64/01-sha1sum-compatibility.sh @@ -0,0 +1,10 @@ +#!/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 + +#!/usr/bin/env bash + +set -ex + +# shellcheck source=../common/macos/sha1sum-compatibility.sh +source "${BASH_SOURCE%/*}/../common/macos/sha1sum-compatibility.sh" diff --git a/coin/provisioning/qtci-macos-13-x86_64/03-bashprofile.sh b/coin/provisioning/qtci-macos-13-x86_64/03-bashprofile.sh new file mode 100755 index 00000000..4eed8433 --- /dev/null +++ b/coin/provisioning/qtci-macos-13-x86_64/03-bashprofile.sh @@ -0,0 +1,9 @@ +#!/usr/bin/env 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 + +set -ex + +# Read .bashrc if exist +printf -- "# Get the aliases and functions\nif [ -f ~/.bashrc ]; then\n . ~/.bashrc\nfi\n" >> ~/.bash_profile + diff --git a/coin/provisioning/qtci-macos-13-x86_64/05-systemsetup.sh b/coin/provisioning/qtci-macos-13-x86_64/05-systemsetup.sh new file mode 100755 index 00000000..5a1e3fbf --- /dev/null +++ b/coin/provisioning/qtci-macos-13-x86_64/05-systemsetup.sh @@ -0,0 +1,80 @@ +#!/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 + +# This script modifies system settings for automated use + +targetFile="$HOME/vncpw.txt" + +# Fetch password +curl --retry 5 --retry-delay 10 --retry-max-time 60 "http://ci-files01-hki.ci.qt.io/input/semisecure/vncpw.txt" -o "$targetFile" +shasum "$targetFile" |grep "a795fccaa8f277e62ec08e6056c544b8b63924a0" + +{ VNCPassword=$(cat "$targetFile"); } 2> /dev/null +NTS_IP=10.212.2.216 + +echo "Disable Screensaver" +# For current session +defaults -currentHost write com.apple.screensaver idleTime 0 + +echo "Disable sleep" +sudo pmset sleep 0 displaysleep 0 + +# For session after a reboot +mkdir -p "$HOME/Library/LaunchAgents" +sudo tee -a "$HOME/Library/LaunchAgents/no-screensaver.plist" <<EOT +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd"> + +<plist version="1.0"> + <dict> + <key>Label</key> + <string>org.qt.io.screensaver_disable</string> + <key>ProgramArguments</key> + <array> + <string>defaults</string> + <string>-currentHost</string> + <string>write</string> + <string>com.apple.screensaver</string> + <string>idleTime</string> + <string>0</string> + </array> + <key>RunAtLoad</key> + <true/> + <key>KeepAlive</key> + <false/> + </dict> +</plist> +EOT + +defaults write com.apple.screensaver askForPassword -int 0 + +echo "Set keyboard type rates and delays" +# normal minimum is 15 (225 ms) +defaults write -g InitialKeyRepeat -int 15 +# normal minimum is 2 (30 ms) +defaults write -g KeyRepeat -int 2 + +set +x +echo "Enable remote desktop sharing" +sudo /System/Library/CoreServices/RemoteManagement/ARDAgent.app/Contents/Resources/kickstart -activate -configure -access -on -clientopts -setvnclegacy -vnclegacy yes -clientopts -setvncpw -vncpw "$VNCPassword" -restart -agent -privs -all +set -x + +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 + +sudo systemsetup settimezone GMT +sudo systemsetup setusingnetworktime off +sudo rm -f "$targetFile" + +# Enable automount for nfs shares +sudo sed -i'.orig' -e 's:^#/net:/net:' -e 's:hidefromfinder,nosuid:hidefromfinder,nosuid,locallocks,nocallback:' /etc/auto_master +sudo automount -cv + +# Disable multicast advertisements +sudo defaults write /Library/Preferences/com.apple.mDNSResponder.plist NoMulticastAdvertisements -bool true + +# Enable Use keyboard navigation to move focus between controls +defaults write -g AppleKeyboardUIMode -int 2 diff --git a/coin/provisioning/qtci-macos-13-x86_64/06-crashreporter.sh b/coin/provisioning/qtci-macos-13-x86_64/06-crashreporter.sh new file mode 100755 index 00000000..cb7c0774 --- /dev/null +++ b/coin/provisioning/qtci-macos-13-x86_64/06-crashreporter.sh @@ -0,0 +1,7 @@ +#!/usr/bin/env 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 + +set -ex + +defaults write com.apple.CrashReporter DialogType server diff --git a/coin/provisioning/qtci-macos-13-x86_64/06-disable_spotlight.sh b/coin/provisioning/qtci-macos-13-x86_64/06-disable_spotlight.sh new file mode 100755 index 00000000..ab85a262 --- /dev/null +++ b/coin/provisioning/qtci-macos-13-x86_64/06-disable_spotlight.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 + +# shellcheck source=../common/macos/disable_spotlight.sh +source "${BASH_SOURCE%/*}/../common/macos/disable_spotlight.sh" diff --git a/coin/provisioning/qtci-macos-13-x86_64/06-disable_update_downloads.sh b/coin/provisioning/qtci-macos-13-x86_64/06-disable_update_downloads.sh new file mode 100755 index 00000000..18cb98ea --- /dev/null +++ b/coin/provisioning/qtci-macos-13-x86_64/06-disable_update_downloads.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 +set -ex +BASEDIR=$(dirname "$0") +"$BASEDIR"/../common/macos/disable_update_downloads.sh diff --git a/coin/provisioning/qtci-macos-13-x86_64/07-SSL_keychain.sh b/coin/provisioning/qtci-macos-13-x86_64/07-SSL_keychain.sh new file mode 100755 index 00000000..e14dcee9 --- /dev/null +++ b/coin/provisioning/qtci-macos-13-x86_64/07-SSL_keychain.sh @@ -0,0 +1,11 @@ +#!/usr/bin/env bash +#Copyright (C) 2023 The Qt Company Ltd +#SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only + +set -ex + +# shellcheck source=../common/unix/SetEnvVar.sh +source "${BASH_SOURCE%/*}/../common/unix/SetEnvVar.sh" + +# Enables the usage of temporary keychains for SSL autotests +SetEnvVar "QT_SSL_USE_TEMPORARY_KEYCHAIN" "1" diff --git a/coin/provisioning/qtci-macos-13-x86_64/15-xz.sh b/coin/provisioning/qtci-macos-13-x86_64/15-xz.sh new file mode 100755 index 00000000..57cc1f5c --- /dev/null +++ b/coin/provisioning/qtci-macos-13-x86_64/15-xz.sh @@ -0,0 +1,21 @@ +#!/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 + +# This script installs XZ-Utils + +# XZ-Utils are needed for uncompressing xz-compressed files + +set -ex + +# shellcheck source=../common/macos/InstallPKGFromURL.sh +source "${BASH_SOURCE%/*}/../common/macos/InstallPKGFromURL.sh" + +PrimaryUrl="http://ci-files01-hki.ci.qt.io/input/mac/macos_10.12_sierra/XZ.pkg" +AltUrl="http://sourceforge.net/projects/macpkg/files/XZ/5.0.7/XZ.pkg" +SHA1="f0c1f82ebcffe0bd4b8b57b6a77805db56b2de67" +DestDir="/" + +InstallPKGFromURL "$PrimaryUrl" "$AltUrl" "$SHA1" "$DestDir" + +echo "XZ = 5.0.7" >> ~/versions.txt diff --git a/coin/provisioning/qtci-macos-13-x86_64/20-java.sh b/coin/provisioning/qtci-macos-13-x86_64/20-java.sh new file mode 100755 index 00000000..325fee63 --- /dev/null +++ b/coin/provisioning/qtci-macos-13-x86_64/20-java.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 + +BASEDIR=$(dirname "$0") +"$BASEDIR/../common/macos/java.sh" diff --git a/coin/provisioning/qtci-macos-13-x86_64/20-xcode.sh b/coin/provisioning/qtci-macos-13-x86_64/20-xcode.sh new file mode 100755 index 00000000..75c7ddc9 --- /dev/null +++ b/coin/provisioning/qtci-macos-13-x86_64/20-xcode.sh @@ -0,0 +1,22 @@ +#!/usr/bin/env bash +# Copyright (C) 2023 The Qt Company Ltd. +# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only + +# This script installs Xcode +# Prerequisites: Have Xcode prefetched to local cache as xz compressed. +# This can be achieved by fetching Xcode_9.xip from Apple Store. +# Uncompress it with 'xar -xf Xcode_9.xip' +# Then get https://gist.githubusercontent.com/pudquick/ff412bcb29c9c1fa4b8d/raw/24b25538ea8df8d0634a2a6189aa581ccc6a5b4b/parse_pbzx2.py +# with which you can run 'python parse_pbzx2.py Content'. +# This will give you five files called "Content.part<00..05>.cpio.xz". +# Extract those that have the extension .xz with xz. +# "cat" together all the content files "cat file1, file2, file3, file4, file5 >file_new" +# Compress the new file with xz back to something like Xcode_9.xz +# Upload the file to temporary storage for this script to use. + +set -ex + +# shellcheck source=../common/macos/install_xcode.sh +source "${BASH_SOURCE%/*}/../common/macos/install_xcode.sh" + +InstallXCode /net/ci-files01-hki.ci.qt.io/hdd/www/input/mac/Xcode_14.2.xip 14.2 diff --git a/coin/provisioning/qtci-macos-13-x86_64/21-install-commandlinetools.sh b/coin/provisioning/qtci-macos-13-x86_64/21-install-commandlinetools.sh new file mode 100755 index 00000000..3e71b5c9 --- /dev/null +++ b/coin/provisioning/qtci-macos-13-x86_64/21-install-commandlinetools.sh @@ -0,0 +1,14 @@ +#!/usr/bin/env bash +# Copyright (C) 2023 The Qt Company Ltd. +# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only + +set -ex + +# shellcheck source=../common/macos/install-commandlinetools.sh +source "${BASH_SOURCE%/*}/../common/macos/install-commandlinetools.sh" +version="14.2" +packageName="Command_Line_Tools_for_Xcode_$version.dmg" +url="http://ci-files01-hki.ci.qt.io/input/mac/$packageName" +sha1="f9d18da696bc54755bd85fb4f42c0a8866bdade6" + +InstallCommandLineTools $url $url $sha1 $packageName $version diff --git a/coin/provisioning/qtci-macos-13-x86_64/24-sccache.sh b/coin/provisioning/qtci-macos-13-x86_64/24-sccache.sh new file mode 100755 index 00000000..358b23fb --- /dev/null +++ b/coin/provisioning/qtci-macos-13-x86_64/24-sccache.sh @@ -0,0 +1,3 @@ +#!/usr/bin/env bash + +source "${BASH_SOURCE%/*}/../common/macos/sccache.sh" diff --git a/coin/provisioning/qtci-macos-13-x86_64/25-cmake.sh b/coin/provisioning/qtci-macos-13-x86_64/25-cmake.sh new file mode 100755 index 00000000..33095880 --- /dev/null +++ b/coin/provisioning/qtci-macos-13-x86_64/25-cmake.sh @@ -0,0 +1,8 @@ +#!/usr/bin/env bash +#Copyright (C) 2023 The Qt Company Ltd +#SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only + +set -ex + +BASEDIR=$(dirname "$0") +"$BASEDIR/../common/macos/cmake.sh" diff --git a/coin/provisioning/qtci-macos-13-x86_64/25-homebrew.sh b/coin/provisioning/qtci-macos-13-x86_64/25-homebrew.sh new file mode 100755 index 00000000..237dc507 --- /dev/null +++ b/coin/provisioning/qtci-macos-13-x86_64/25-homebrew.sh @@ -0,0 +1,28 @@ +#!/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 + +# Will install homebrew package manager for macOS. +# WARNING: Requires commandlinetools + + +set -e + +. "$(dirname "$0")"/../common/unix/DownloadURL.sh + + +DownloadURL \ + http://ci-files01-hki.ci.qt.io/input/mac/homebrew/a822f0d0f1838c07e86b356fcd2bf93c7a11c2aa/install.sh \ + https://raw.githubusercontent.com/Homebrew/install/c744a716f9845988d01e6e238eee7117b8c366c9/install \ + 3210da71e12a699ab3bba43910a6d5fc64b92000 \ + /tmp/homebrew_install.sh + +DownloadURL "http://ci-files01-hki.ci.qt.io/input/semisecure/sign/pw" "http://ci-files01-hki.ci.qt.io/input/semisecure/sign/pw" "aae58d00d0a1b179a09f21cfc67f9d16fb95ff36" "/Users/qt/pw" +{ pw=$(cat "/Users/qt/pw"); } 2> /dev/null +sudo chmod 755 /tmp/homebrew_install.sh +{ (echo "$pw" | /tmp/homebrew_install.sh); } 2> /dev/null +rm -f "/Users/qt/pw" + +# No need to manually do `brew update`, the homebrew installer script does it. +### brew update + diff --git a/coin/provisioning/qtci-macos-13-x86_64/25-mysql.sh b/coin/provisioning/qtci-macos-13-x86_64/25-mysql.sh new file mode 100755 index 00000000..f5717d0b --- /dev/null +++ b/coin/provisioning/qtci-macos-13-x86_64/25-mysql.sh @@ -0,0 +1,27 @@ +#!/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 + +# This script installs MySQL + +# MySQL is needed for Qt to be able to support MySQL + +set -ex + +# shellcheck source=../common/macos/InstallAppFromCompressedFileFromURL.sh +source "${BASH_SOURCE%/*}/../common/macos/InstallAppFromCompressedFileFromURL.sh" +# shellcheck source=../common/unix/SetEnvVar.sh +source "${BASH_SOURCE%/*}/../common/unix/SetEnvVar.sh" + +PrimaryUrl="http://ci-files01-hki.ci.qt.io/input/mac/macos_10.12_sierra/mysql-5.7.15-osx10.11-x86_64.tar.gz" +AltUrl="https://dev.mysql.com/get/Downloads/MySQL-5.7/mysql-5.7.15-osx10.11-x86_64.tar.gz" +SHA1="07949bd42f350b0504a1536b8830b809b4a34fca" +appPrefix="" +targetDir="/opt/mysql57/" + +sudo mkdir -p "/opt" + +InstallAppFromCompressedFileFromURL "$PrimaryUrl" "$AltUrl" "$SHA1" "$appPrefix" "$targetDir" + +SetEnvVar "MYSQLBINPATH" "/opt/mysql57/bin" +echo "MySQL = 5.7.15" >> ~/versions.txt diff --git a/coin/provisioning/qtci-macos-13-x86_64/25-pip.sh b/coin/provisioning/qtci-macos-13-x86_64/25-pip.sh new file mode 100755 index 00000000..3fc865d0 --- /dev/null +++ b/coin/provisioning/qtci-macos-13-x86_64/25-pip.sh @@ -0,0 +1,8 @@ +#!/usr/bin/env bash +#Copyright (C) 2023 The Qt Company Ltd +#SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only + +set -ex + +BASEDIR=$(dirname "$0") +"$BASEDIR/../common/macos/pip.sh" diff --git a/coin/provisioning/qtci-macos-13-x86_64/25-postgresql.sh b/coin/provisioning/qtci-macos-13-x86_64/25-postgresql.sh new file mode 100755 index 00000000..06cae6ef --- /dev/null +++ b/coin/provisioning/qtci-macos-13-x86_64/25-postgresql.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 + +BASEDIR=$(dirname "$0") +"$BASEDIR/../common/macos/postgresql.sh" diff --git a/coin/provisioning/qtci-macos-13-x86_64/25-python2.sh b/coin/provisioning/qtci-macos-13-x86_64/25-python2.sh new file mode 100755 index 00000000..4c88a413 --- /dev/null +++ b/coin/provisioning/qtci-macos-13-x86_64/25-python2.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 + +# shellcheck source=../common/macos/python2.sh +source "${BASH_SOURCE%/*}/../common/macos/python2.sh" diff --git a/coin/provisioning/qtci-macos-13-x86_64/25-python3.sh b/coin/provisioning/qtci-macos-13-x86_64/25-python3.sh new file mode 100755 index 00000000..8fee606c --- /dev/null +++ b/coin/provisioning/qtci-macos-13-x86_64/25-python3.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 + +# shellcheck source=../common/macos/python3.sh +source "${BASH_SOURCE%/*}/../common/macos/python3.sh" diff --git a/coin/provisioning/qtci-macos-13-x86_64/26-freetype.sh b/coin/provisioning/qtci-macos-13-x86_64/26-freetype.sh new file mode 100755 index 00000000..fa0790f8 --- /dev/null +++ b/coin/provisioning/qtci-macos-13-x86_64/26-freetype.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 + +brew install freetype diff --git a/coin/provisioning/qtci-macos-13-x86_64/26-jq.sh b/coin/provisioning/qtci-macos-13-x86_64/26-jq.sh new file mode 100755 index 00000000..4dffcb96 --- /dev/null +++ b/coin/provisioning/qtci-macos-13-x86_64/26-jq.sh @@ -0,0 +1,5 @@ +#!/usr/bin/env bash + +set -ex + +brew install jq diff --git a/coin/provisioning/qtci-macos-13-x86_64/26-ninja.sh b/coin/provisioning/qtci-macos-13-x86_64/26-ninja.sh new file mode 100755 index 00000000..4443eeb4 --- /dev/null +++ b/coin/provisioning/qtci-macos-13-x86_64/26-ninja.sh @@ -0,0 +1,10 @@ +#!/usr/bin/env bash +#Copyright (C) 2023 The Qt Company Ltd +#SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only + +set -ex + +# shellcheck source=../common/macos/ninja.sh +source "${BASH_SOURCE%/*}/../common/macos/ninja.sh" + + diff --git a/coin/provisioning/qtci-macos-13-x86_64/26-odbc.sh b/coin/provisioning/qtci-macos-13-x86_64/26-odbc.sh new file mode 100755 index 00000000..2b6b013a --- /dev/null +++ b/coin/provisioning/qtci-macos-13-x86_64/26-odbc.sh @@ -0,0 +1,9 @@ +#!/usr/bin/env bash +#Copyright (C) 2023 The Qt Company Ltd +#SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only +# Install libiodbc + +set -ex + +BASEDIR=$(dirname "$0") +"$BASEDIR/../common/macos/libiodbc.sh" --with-universal diff --git a/coin/provisioning/qtci-macos-13-x86_64/26-p7zip.sh b/coin/provisioning/qtci-macos-13-x86_64/26-p7zip.sh new file mode 100755 index 00000000..8cdcd0c3 --- /dev/null +++ b/coin/provisioning/qtci-macos-13-x86_64/26-p7zip.sh @@ -0,0 +1,9 @@ +#!/usr/bin/env bash +#Copyright (C) 2023 The Qt Company Ltd +#SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only +# Install 7z to be used from command line + +set -ex + +brew update +brew install p7zip diff --git a/coin/provisioning/qtci-macos-13-x86_64/26-pcre2.sh b/coin/provisioning/qtci-macos-13-x86_64/26-pcre2.sh new file mode 100755 index 00000000..c10d6206 --- /dev/null +++ b/coin/provisioning/qtci-macos-13-x86_64/26-pcre2.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 + +brew install pcre2 diff --git a/coin/provisioning/qtci-macos-13-x86_64/27-libclang.sh b/coin/provisioning/qtci-macos-13-x86_64/27-libclang.sh new file mode 100755 index 00000000..cc025e6e --- /dev/null +++ b/coin/provisioning/qtci-macos-13-x86_64/27-libclang.sh @@ -0,0 +1,9 @@ +#!/usr/bin/env bash +#Copyright (C) 2023 The Qt Company Ltd +#SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only + +set -ex + +BASEDIR=$(dirname "$0") +# There is only one mac package and common script uses it as a default +"$BASEDIR/../common/unix/libclang.sh" diff --git a/coin/provisioning/qtci-macos-13-x86_64/28-libclang-v100-dyn.sh b/coin/provisioning/qtci-macos-13-x86_64/28-libclang-v100-dyn.sh new file mode 100755 index 00000000..d95e7e00 --- /dev/null +++ b/coin/provisioning/qtci-macos-13-x86_64/28-libclang-v100-dyn.sh @@ -0,0 +1,8 @@ +#!/usr/bin/env bash +#Copyright (C) 2023 The Qt Company Ltd +#SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only + +set -ex + +BASEDIR=$(dirname "$0") +"$BASEDIR/../common/unix/libclang-v100-dyn.sh" diff --git a/coin/provisioning/qtci-macos-13-x86_64/29-install-pkgconfig.sh b/coin/provisioning/qtci-macos-13-x86_64/29-install-pkgconfig.sh new file mode 100755 index 00000000..33e11580 --- /dev/null +++ b/coin/provisioning/qtci-macos-13-x86_64/29-install-pkgconfig.sh @@ -0,0 +1,6 @@ +#!/usr/bin/env bash + +set -ex + +BASEDIR=$(dirname "$0") +"$BASEDIR/../common/macos/pkgconfig.sh" diff --git a/coin/provisioning/qtci-macos-13-x86_64/29-libusb.sh b/coin/provisioning/qtci-macos-13-x86_64/29-libusb.sh new file mode 100755 index 00000000..e9e9e238 --- /dev/null +++ b/coin/provisioning/qtci-macos-13-x86_64/29-libusb.sh @@ -0,0 +1,9 @@ +#!/usr/bin/env bash +#Copyright (C) 2023 The Qt Company Ltd +#SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only + +set -ex + +BASEDIR=$(dirname "$0") + +"$BASEDIR/../common/macos/libusb.sh" diff --git a/coin/provisioning/qtci-macos-13-x86_64/30-android.sh b/coin/provisioning/qtci-macos-13-x86_64/30-android.sh new file mode 100755 index 00000000..ddb3aec0 --- /dev/null +++ b/coin/provisioning/qtci-macos-13-x86_64/30-android.sh @@ -0,0 +1,8 @@ +#!/usr/bin/env bash +#Copyright (C) 2023 The Qt Company Ltd +#SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only + +set -ex + +# shellcheck source=../common/macos/android.sh +source "${BASH_SOURCE%/*}/../common/macos/android.sh" diff --git a/coin/provisioning/qtci-macos-13-x86_64/30-fbx.sh b/coin/provisioning/qtci-macos-13-x86_64/30-fbx.sh new file mode 100755 index 00000000..e991bc08 --- /dev/null +++ b/coin/provisioning/qtci-macos-13-x86_64/30-fbx.sh @@ -0,0 +1,9 @@ +#!/usr/bin/env bash +#Copyright (C) 2023 The Qt Company Ltd +#SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only + +set -ex + +BASEDIR=$(dirname "$0") +"$BASEDIR/../common/macos/fbx_macos.sh" + diff --git a/coin/provisioning/qtci-macos-13-x86_64/30-install-conan.sh b/coin/provisioning/qtci-macos-13-x86_64/30-install-conan.sh new file mode 100755 index 00000000..8d90ef37 --- /dev/null +++ b/coin/provisioning/qtci-macos-13-x86_64/30-install-conan.sh @@ -0,0 +1,8 @@ +#!/usr/bin/env bash +#Copyright (C) 2023 The Qt Company Ltd +#SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only + +set -ex + +BASEDIR=$(dirname "$0") +"$BASEDIR/../common/unix/install-conan.sh" "macos" diff --git a/coin/provisioning/qtci-macos-13-x86_64/30-nodejs.sh b/coin/provisioning/qtci-macos-13-x86_64/30-nodejs.sh new file mode 100755 index 00000000..a5cf7d4d --- /dev/null +++ b/coin/provisioning/qtci-macos-13-x86_64/30-nodejs.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 + +BASEDIR=$(dirname "$0") +"$BASEDIR/../common/macos/nodejs.sh" diff --git a/coin/provisioning/qtci-macos-13-x86_64/35-install-breakpad.sh b/coin/provisioning/qtci-macos-13-x86_64/35-install-breakpad.sh new file mode 100755 index 00000000..8a9dde56 --- /dev/null +++ b/coin/provisioning/qtci-macos-13-x86_64/35-install-breakpad.sh @@ -0,0 +1,8 @@ +#!/usr/bin/env bash +#Copyright (C) 2023 The Qt Company Ltd +#SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only + +set -ex + +# shellcheck source=../common/unix/install-breakpad.sh +source "${BASH_SOURCE%/*}/../common/unix/install-breakpad.sh" diff --git a/coin/provisioning/qtci-macos-13-x86_64/35-install_protobuf.sh b/coin/provisioning/qtci-macos-13-x86_64/35-install_protobuf.sh new file mode 100755 index 00000000..c538ca07 --- /dev/null +++ b/coin/provisioning/qtci-macos-13-x86_64/35-install_protobuf.sh @@ -0,0 +1,9 @@ +#!/usr/bin/env bash +# Copyright (C) 2022 The Qt Company Ltd. +# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only + +set -ex + +# shellcheck source=../common/unix/install_protobuf.sh +source "${BASH_SOURCE%/*}/../common/unix/install_protobuf.sh" + diff --git a/coin/provisioning/qtci-macos-13-x86_64/35-openssl.sh b/coin/provisioning/qtci-macos-13-x86_64/35-openssl.sh new file mode 100755 index 00000000..c86788db --- /dev/null +++ b/coin/provisioning/qtci-macos-13-x86_64/35-openssl.sh @@ -0,0 +1,9 @@ +#!/usr/bin/env bash +#Copyright (C) 2023 The Qt Company Ltd +#SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only + +set -ex + +# shellcheck source=../common/unix/install-openssl.sh +source "${BASH_SOURCE%/*}/../common/unix/install-openssl.sh" "macos-universal" + diff --git a/coin/provisioning/qtci-macos-13-x86_64/36-emsdk.sh b/coin/provisioning/qtci-macos-13-x86_64/36-emsdk.sh new file mode 100755 index 00000000..c8aec444 --- /dev/null +++ b/coin/provisioning/qtci-macos-13-x86_64/36-emsdk.sh @@ -0,0 +1,8 @@ +#!/usr/bin/env bash +#Copyright (C) 2023 The Qt Company Ltd +#SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only + +set -ex + +# shellcheck source=../common/unix/emsdk.sh +source "${BASH_SOURCE%/*}/../common/unix/emsdk.sh" diff --git a/coin/provisioning/qtci-macos-13-x86_64/36-install_grpc.sh b/coin/provisioning/qtci-macos-13-x86_64/36-install_grpc.sh new file mode 100755 index 00000000..ecd6a51f --- /dev/null +++ b/coin/provisioning/qtci-macos-13-x86_64/36-install_grpc.sh @@ -0,0 +1,9 @@ +#!/usr/bin/env bash +# Copyright (C) 2022 The Qt Company Ltd. +# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only + +set -ex + +# shellcheck source=../common/unix/install_grpc.sh +source "${BASH_SOURCE%/*}/../common/unix/install_grpc.sh" + diff --git a/coin/provisioning/qtci-macos-13-x86_64/50-openssl_for_android_darwin.sh b/coin/provisioning/qtci-macos-13-x86_64/50-openssl_for_android_darwin.sh new file mode 100755 index 00000000..c3e51d23 --- /dev/null +++ b/coin/provisioning/qtci-macos-13-x86_64/50-openssl_for_android_darwin.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 + +# shellcheck source=../common/unix/openssl_for_android.sh +source "${BASH_SOURCE%/*}/../common/unix/openssl_for_android.sh" diff --git a/coin/provisioning/qtci-macos-13-x86_64/80-screenresolution.sh b/coin/provisioning/qtci-macos-13-x86_64/80-screenresolution.sh new file mode 100755 index 00000000..ed905a33 --- /dev/null +++ b/coin/provisioning/qtci-macos-13-x86_64/80-screenresolution.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 + +"$(dirname "$0")"/../common/macos/screenresolution.sh + diff --git a/coin/provisioning/qtci-macos-13-x86_64/81-bluetooth.sh b/coin/provisioning/qtci-macos-13-x86_64/81-bluetooth.sh new file mode 100755 index 00000000..c58b9a34 --- /dev/null +++ b/coin/provisioning/qtci-macos-13-x86_64/81-bluetooth.sh @@ -0,0 +1,10 @@ +#!/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 + +brew install blueutil + +#Disable Bluetooth +blueutil -p 0 diff --git a/coin/provisioning/qtci-macos-13-x86_64/90-install-ffmpeg.sh b/coin/provisioning/qtci-macos-13-x86_64/90-install-ffmpeg.sh new file mode 100755 index 00000000..dfdc1022 --- /dev/null +++ b/coin/provisioning/qtci-macos-13-x86_64/90-install-ffmpeg.sh @@ -0,0 +1,9 @@ +#!/usr/bin/env bash +#Copyright (C) 2023 The Qt Company Ltd +#SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only + +set -ex + +source "${BASH_SOURCE%/*}/../common/unix/install-ffmpeg.sh" "macos-universal" +source "${BASH_SOURCE%/*}/../common/unix/install-ffmpeg-android.sh" "android-arm64" +source "${BASH_SOURCE%/*}/../common/unix/install-ffmpeg-ios.sh" diff --git a/coin/provisioning/qtci-macos-13-x86_64/90-squish.sh b/coin/provisioning/qtci-macos-13-x86_64/90-squish.sh new file mode 100755 index 00000000..c2658d0e --- /dev/null +++ b/coin/provisioning/qtci-macos-13-x86_64/90-squish.sh @@ -0,0 +1,8 @@ +#!/usr/bin/env bash +#Copyright (C) 2023 The Qt Company Ltd +#SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only +set -ex + +BASEDIR=$(dirname "$0") +"$BASEDIR/../common/unix/squishInstall.sh" + diff --git a/coin/provisioning/qtci-macos-13-x86_64/90-vlc.sh b/coin/provisioning/qtci-macos-13-x86_64/90-vlc.sh new file mode 100644 index 00000000..4924fe5c --- /dev/null +++ b/coin/provisioning/qtci-macos-13-x86_64/90-vlc.sh @@ -0,0 +1,8 @@ +#!/usr/bin/env bash +#Copyright (C) 2023 The Qt Company Ltd +#SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only + +set -ex + +# for QtMM streaming tests +brew install --cask vlc diff --git a/coin/provisioning/qtci-macos-13-x86_64/97-set-locale.sh b/coin/provisioning/qtci-macos-13-x86_64/97-set-locale.sh new file mode 100755 index 00000000..bc966cbf --- /dev/null +++ b/coin/provisioning/qtci-macos-13-x86_64/97-set-locale.sh @@ -0,0 +1,8 @@ +#!/usr/bin/env bash +#Copyright (C) 2023 The Qt Company Ltd +#SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only + +set -ex + +BASEDIR=$(dirname "$0") +"$BASEDIR/../common/macos/set-locale.sh" diff --git a/coin/provisioning/qtci-macos-13-x86_64/98-mimersql.sh b/coin/provisioning/qtci-macos-13-x86_64/98-mimersql.sh new file mode 100755 index 00000000..70d5bc1d --- /dev/null +++ b/coin/provisioning/qtci-macos-13-x86_64/98-mimersql.sh @@ -0,0 +1,5 @@ +#!/usr/bin/env bash +set -ex + +BASEDIR=$(dirname "$0") +"$BASEDIR/../common/macos/mimersql.sh" "macos-universal" diff --git a/coin/provisioning/qtci-macos-13-x86_64/99-mac-version.sh b/coin/provisioning/qtci-macos-13-x86_64/99-mac-version.sh new file mode 100755 index 00000000..b9b5aeb0 --- /dev/null +++ b/coin/provisioning/qtci-macos-13-x86_64/99-mac-version.sh @@ -0,0 +1,8 @@ +#!/usr/bin/env bash +#Copyright (C) 2023 The Qt Company Ltd +#SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only + +set -ex + +BASEDIR=$(dirname "$0") +"$BASEDIR/../common/macos/macos-version.sh" diff --git a/coin/provisioning/qtci-macos-14-arm/01-disable-app-reopen.sh b/coin/provisioning/qtci-macos-14-arm/01-disable-app-reopen.sh new file mode 100755 index 00000000..382fb40c --- /dev/null +++ b/coin/provisioning/qtci-macos-14-arm/01-disable-app-reopen.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 +set -ex +BASEDIR=$(dirname "$0") +"$BASEDIR"/../common/macos/disable-app-reopen.sh diff --git a/coin/provisioning/qtci-macos-14-arm/01-disable-net-lso.sh b/coin/provisioning/qtci-macos-14-arm/01-disable-net-lso.sh new file mode 100755 index 00000000..659ebe96 --- /dev/null +++ b/coin/provisioning/qtci-macos-14-arm/01-disable-net-lso.sh @@ -0,0 +1,3 @@ +#!/bin/sh + +"$(dirname "$0")"/../common/macos/disable_net_lso.sh diff --git a/coin/provisioning/qtci-macos-14-arm/01-disable-notifications_and_warnings.sh b/coin/provisioning/qtci-macos-14-arm/01-disable-notifications_and_warnings.sh new file mode 100755 index 00000000..27efbb62 --- /dev/null +++ b/coin/provisioning/qtci-macos-14-arm/01-disable-notifications_and_warnings.sh @@ -0,0 +1,3 @@ +#!/bin/sh + +"$(dirname "$0")"/../common/macos/disable-notifications_and_warnings.sh diff --git a/coin/provisioning/qtci-macos-14-arm/01-disable-updates.sh b/coin/provisioning/qtci-macos-14-arm/01-disable-updates.sh new file mode 100755 index 00000000..a2b2a0f0 --- /dev/null +++ b/coin/provisioning/qtci-macos-14-arm/01-disable-updates.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 + +BASEDIR=$(dirname "$0") +"$BASEDIR/../common/macos/system_updates.sh" diff --git a/coin/provisioning/qtci-macos-14-arm/01-increase_limits.sh b/coin/provisioning/qtci-macos-14-arm/01-increase_limits.sh new file mode 100755 index 00000000..08669e52 --- /dev/null +++ b/coin/provisioning/qtci-macos-14-arm/01-increase_limits.sh @@ -0,0 +1,3 @@ +#!/bin/sh + +"$(dirname "$0")"/../common/macos/increase_limits.sh diff --git a/coin/provisioning/qtci-macos-14-arm/01-mount-vcpkg-cache-drive.sh b/coin/provisioning/qtci-macos-14-arm/01-mount-vcpkg-cache-drive.sh new file mode 100755 index 00000000..2739f40f --- /dev/null +++ b/coin/provisioning/qtci-macos-14-arm/01-mount-vcpkg-cache-drive.sh @@ -0,0 +1,8 @@ +#!/usr/bin/env bash +# Copyright (C) 2023 The Qt Company Ltd. +# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only + +set -ex + +# shellcheck source=../common/macos/mount-vcpkg-cache-drive.sh +source "${BASH_SOURCE%/*}/../common/macos/mount-vcpkg-cache-drive.sh" diff --git a/coin/provisioning/qtci-macos-14-arm/01-set_tcc_permissions.sh b/coin/provisioning/qtci-macos-14-arm/01-set_tcc_permissions.sh new file mode 100755 index 00000000..da38f582 --- /dev/null +++ b/coin/provisioning/qtci-macos-14-arm/01-set_tcc_permissions.sh @@ -0,0 +1,6 @@ +#!/usr/bin/env bash +# Copyright (C) 2024 The Qt Company Ltd. +# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only + +set -ex +source "${BASH_SOURCE%/*}/../common/macos/set_tcc_permissions.sh" diff --git a/coin/provisioning/qtci-macos-14-arm/01-sha1sum-compatibility.sh b/coin/provisioning/qtci-macos-14-arm/01-sha1sum-compatibility.sh new file mode 100755 index 00000000..e52367c8 --- /dev/null +++ b/coin/provisioning/qtci-macos-14-arm/01-sha1sum-compatibility.sh @@ -0,0 +1,10 @@ +#!/usr/bin/env bash +# Copyright (C) 2020 The Qt Company Ltd. +# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only + +#!/usr/bin/env bash + +set -ex + +# shellcheck source=../common/macos/sha1sum-compatibility.sh +source "${BASH_SOURCE%/*}/../common/macos/sha1sum-compatibility.sh" diff --git a/coin/provisioning/qtci-macos-14-arm/03-bashprofile.sh b/coin/provisioning/qtci-macos-14-arm/03-bashprofile.sh new file mode 100755 index 00000000..4eed8433 --- /dev/null +++ b/coin/provisioning/qtci-macos-14-arm/03-bashprofile.sh @@ -0,0 +1,9 @@ +#!/usr/bin/env 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 + +set -ex + +# Read .bashrc if exist +printf -- "# Get the aliases and functions\nif [ -f ~/.bashrc ]; then\n . ~/.bashrc\nfi\n" >> ~/.bash_profile + diff --git a/coin/provisioning/qtci-macos-14-arm/05-systemsetup.sh b/coin/provisioning/qtci-macos-14-arm/05-systemsetup.sh new file mode 100755 index 00000000..1d8b7f09 --- /dev/null +++ b/coin/provisioning/qtci-macos-14-arm/05-systemsetup.sh @@ -0,0 +1,80 @@ +#!/usr/bin/env bash +# Copyright (C) 2021 The Qt Company Ltd. +# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only + +set -ex + +# This script modified system settings for automated use + +targetFile="$HOME/vncpw.txt" + +# Fetch password +curl --retry 5 --retry-delay 10 --retry-max-time 60 "http://ci-files01-hki.ci.qt.io/input/semisecure/vncpw.txt" -o "$targetFile" +shasum "$targetFile" |grep "a795fccaa8f277e62ec08e6056c544b8b63924a0" + +{ VNCPassword=$(cat "$targetFile"); } 2> /dev/null +NTS_IP=10.212.2.216 + +echo "Disable Screensaver" +# For current session +defaults -currentHost write com.apple.screensaver idleTime 0 + +echo "Disable sleep" +sudo pmset sleep 0 displaysleep 0 + +# For session after a reboot +mkdir -p "$HOME/Library/LaunchAgents" +sudo tee -a "$HOME/Library/LaunchAgents/no-screensaver.plist" <<EOT +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd"> + +<plist version="1.0"> + <dict> + <key>Label</key> + <string>org.qt.io.screensaver_disable</string> + <key>ProgramArguments</key> + <array> + <string>defaults</string> + <string>-currentHost</string> + <string>write</string> + <string>com.apple.screensaver</string> + <string>idleTime</string> + <string>0</string> + </array> + <key>RunAtLoad</key> + <true/> + <key>KeepAlive</key> + <false/> + </dict> +</plist> +EOT + +defaults write com.apple.screensaver askForPassword -int 0 + +echo "Set keyboard type rates and delays" +# normal minimum is 15 (225 ms) +defaults write -g InitialKeyRepeat -int 15 +# normal minimum is 2 (30 ms) +defaults write -g KeyRepeat -int 2 + +set +x +echo "Enable remote desktop sharing" +sudo /System/Library/CoreServices/RemoteManagement/ARDAgent.app/Contents/Resources/kickstart -activate -configure -access -on -clientopts -setvnclegacy -vnclegacy yes -clientopts -setvncpw -vncpw "$VNCPassword" -restart -agent -privs -all +set -x + +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 + +sudo systemsetup settimezone GMT +sudo systemsetup setusingnetworktime on +sudo rm -f "$targetFile" + +# Enable automount for nfs shares +sudo sed -i'.orig' -e 's:^#/net:/net:' -e 's:hidefromfinder,nosuid:hidefromfinder,nosuid,locallocks,nocallback:' /etc/auto_master || sudo curl -o /etc/auto_master http://ci-files01-hki.ci.qt.io/input/mac/arm/auto_master +sudo automount -cv + +# Disable multicast advertisements +sudo defaults write /Library/Preferences/com.apple.mDNSResponder.plist NoMulticastAdvertisements -bool true + +# Enable Use keyboard navigation to move focus between controls +defaults write -g AppleKeyboardUIMode -int 2 diff --git a/coin/provisioning/qtci-macos-14-arm/06-crashreporter.sh b/coin/provisioning/qtci-macos-14-arm/06-crashreporter.sh new file mode 100755 index 00000000..cb7c0774 --- /dev/null +++ b/coin/provisioning/qtci-macos-14-arm/06-crashreporter.sh @@ -0,0 +1,7 @@ +#!/usr/bin/env 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 + +set -ex + +defaults write com.apple.CrashReporter DialogType server diff --git a/coin/provisioning/qtci-macos-14-arm/06-disable_spotlight.sh b/coin/provisioning/qtci-macos-14-arm/06-disable_spotlight.sh new file mode 100755 index 00000000..ab85a262 --- /dev/null +++ b/coin/provisioning/qtci-macos-14-arm/06-disable_spotlight.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 + +# shellcheck source=../common/macos/disable_spotlight.sh +source "${BASH_SOURCE%/*}/../common/macos/disable_spotlight.sh" diff --git a/coin/provisioning/qtci-macos-14-arm/06-disable_update_downloads.sh b/coin/provisioning/qtci-macos-14-arm/06-disable_update_downloads.sh new file mode 100755 index 00000000..18cb98ea --- /dev/null +++ b/coin/provisioning/qtci-macos-14-arm/06-disable_update_downloads.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 +set -ex +BASEDIR=$(dirname "$0") +"$BASEDIR"/../common/macos/disable_update_downloads.sh diff --git a/coin/provisioning/qtci-macos-14-arm/07-SSL_keychain.sh b/coin/provisioning/qtci-macos-14-arm/07-SSL_keychain.sh new file mode 100755 index 00000000..e14dcee9 --- /dev/null +++ b/coin/provisioning/qtci-macos-14-arm/07-SSL_keychain.sh @@ -0,0 +1,11 @@ +#!/usr/bin/env bash +#Copyright (C) 2023 The Qt Company Ltd +#SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only + +set -ex + +# shellcheck source=../common/unix/SetEnvVar.sh +source "${BASH_SOURCE%/*}/../common/unix/SetEnvVar.sh" + +# Enables the usage of temporary keychains for SSL autotests +SetEnvVar "QT_SSL_USE_TEMPORARY_KEYCHAIN" "1" diff --git a/coin/provisioning/qtci-macos-14-arm/15-xz.sh b/coin/provisioning/qtci-macos-14-arm/15-xz.sh new file mode 100755 index 00000000..b7e00a20 --- /dev/null +++ b/coin/provisioning/qtci-macos-14-arm/15-xz.sh @@ -0,0 +1,32 @@ +#!/usr/bin/env bash +# Copyright (C) 2021 The Qt Company Ltd. +# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only + +# This script installs XZ-Utils + +# XZ-Utils are needed for uncompressing xz-compressed files + +# pkg was self builded. +# wget https://downloads.sourceforge.net/project/lzmautils/xz-5.2.5.tar.gz +# tar -xzf xz-5.2.5.tar.gz -C /tmp +# cd /tmp/xz-5.2.5 +# ./configure +# make +# ./configure prefix=/tmp/destination_root +# make install +# cd /tmp +# pkgbuild --root destination_root --identifier io.qt.xz.pkg xz-arm64.pkg + +set -ex + +# shellcheck source=../common/macos/InstallPKGFromURL.sh +source "${BASH_SOURCE%/*}/../common/macos/InstallPKGFromURL.sh" +PrimaryUrl="http://ci-files01-hki.ci.qt.io/input/mac/macos_11.0_big_sur_arm/xz-arm64.pkg" +# SourceUrl="https://tukaani.org/xz/xz-5.2.5.tar.gz" + +SHA1="1afc327965d4af33399ae28f22c4b8e5a9e98dc2" +DestDir="/" + +InstallPKGFromURL "$PrimaryUrl" "$PrimaryUrl" "$SHA1" "$DestDir" + +echo "XZ = 5.2.5" >> ~/versions.txt diff --git a/coin/provisioning/qtci-macos-14-arm/20-java.sh b/coin/provisioning/qtci-macos-14-arm/20-java.sh new file mode 100755 index 00000000..00c867f4 --- /dev/null +++ b/coin/provisioning/qtci-macos-14-arm/20-java.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 + +BASEDIR=$(dirname "$0") +"$BASEDIR/../common/macos/java_arm.sh" diff --git a/coin/provisioning/qtci-macos-14-arm/20-xcode.sh b/coin/provisioning/qtci-macos-14-arm/20-xcode.sh new file mode 100755 index 00000000..62d78e72 --- /dev/null +++ b/coin/provisioning/qtci-macos-14-arm/20-xcode.sh @@ -0,0 +1,22 @@ +#!/usr/bin/env bash +# Copyright (C) 2023 The Qt Company Ltd. +# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only + +# This script installs Xcode +# Prerequisites: Have Xcode prefetched to local cache as xz compressed. +# This can be achieved by fetching Xcode_9.xip from Apple Store. +# Uncompress it with 'xar -xf Xcode_9.xip' +# Then get https://gist.githubusercontent.com/pudquick/ff412bcb29c9c1fa4b8d/raw/24b25538ea8df8d0634a2a6189aa581ccc6a5b4b/parse_pbzx2.py +# with which you can run 'python parse_pbzx2.py Content'. +# This will give you five files called "Content.part<00..05>.cpio.xz". +# Extract those that have the extension .xz with xz. +# "cat" together all the content files "cat file1, file2, file3, file4, file5 >file_new" +# Compress the new file with xz back to something like Xcode_9.xz +# Upload the file to temporary storage for this script to use. + +set -ex + +# shellcheck source=../common/macos/install_xcode.sh +source "${BASH_SOURCE%/*}/../common/macos/install_xcode.sh" + +InstallXCode /net/ci-files01-hki.ci.qt.io/hdd/www/input/mac/Xcode_15.3.xip 15.3 diff --git a/coin/provisioning/qtci-macos-14-arm/21-install-commandlinetools.sh b/coin/provisioning/qtci-macos-14-arm/21-install-commandlinetools.sh new file mode 100755 index 00000000..7d1708bd --- /dev/null +++ b/coin/provisioning/qtci-macos-14-arm/21-install-commandlinetools.sh @@ -0,0 +1,14 @@ +#!/usr/bin/env bash +# Copyright (C) 2023 The Qt Company Ltd. +# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only + +set -ex + +# shellcheck source=../common/macos/install-commandlinetools.sh +source "${BASH_SOURCE%/*}/../common/macos/install-commandlinetools.sh" +version="15.3" +packageName="Command_Line_Tools_for_Xcode_$version.dmg" +url="http://ci-files01-hki.ci.qt.io/input/mac/$packageName" +sha1="e7149414aff0e3d6c85245683e77ddde2f410ec0" + +InstallCommandLineTools $url $url $sha1 $packageName $version diff --git a/coin/provisioning/qtci-macos-14-arm/23-homebrew.sh b/coin/provisioning/qtci-macos-14-arm/23-homebrew.sh new file mode 100755 index 00000000..4983540c --- /dev/null +++ b/coin/provisioning/qtci-macos-14-arm/23-homebrew.sh @@ -0,0 +1,16 @@ +#!/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 + +# Will install homebrew package manager for macOS. +# WARNING: Requires commandlinetools + + +set -e + +BASEDIR=$(dirname "$0") +"$BASEDIR/../common/macos/homebrew_for_arm_mac.sh" +# Can we force reading bash env this late? +echo "if [ -f ~/.bashrc ]; then + . ~/.bashrc +fi" >> .profile diff --git a/coin/provisioning/qtci-macos-14-arm/24-pyenv.sh b/coin/provisioning/qtci-macos-14-arm/24-pyenv.sh new file mode 100755 index 00000000..3a7a8f77 --- /dev/null +++ b/coin/provisioning/qtci-macos-14-arm/24-pyenv.sh @@ -0,0 +1,49 @@ +#!/usr/bin/env bash + +############################################################################# +## +## Copyright (C) 2021 The Qt Company Ltd. +## Copyright (C) 2017 Pelagicore AG +## Contact: https://www.qt.io/licensing/ +## +## This file is part of the provisioning scripts of the Qt Toolkit. +## +## $QT_BEGIN_LICENSE:LGPL$ +## Commercial License Usage +## Licensees holding valid commercial Qt licenses may use this file in +## accordance with the commercial license agreement provided with the +## Software or, alternatively, in accordance with the terms contained in +## a written agreement between you and The Qt Company. For licensing terms +## and conditions see https://www.qt.io/terms-conditions. For further +## information use the contact form at https://www.qt.io/contact-us. +## +## GNU Lesser General Public License Usage +## Alternatively, this file may be used under the terms of the GNU Lesser +## General Public License version 3 as published by the Free Software +## Foundation and appearing in the file LICENSE.LGPL3 included in the +## packaging of this file. Please review the following information to +## ensure the GNU Lesser General Public License version 3 requirements +## will be met: https://www.gnu.org/licenses/lgpl-3.0.html. +## +## GNU General Public License Usage +## Alternatively, this file may be used under the terms of the GNU +## General Public License version 2.0 or (at your option) the GNU General +## Public license version 3 or any later version approved by the KDE Free +## Qt Foundation. The licenses are as published by the Free Software +## Foundation and appearing in the file LICENSE.GPL2 and LICENSE.GPL3 +## included in the packaging of this file. Please review the following +## information to ensure the GNU General Public License requirements will +## be met: https://www.gnu.org/licenses/gpl-2.0.html and +## https://www.gnu.org/licenses/gpl-3.0.html. +## +## $QT_END_LICENSE$ +## +############################################################################# + +# This script installs python3 + +# shellcheck source=../common/unix/SetEnvVar.sh +source "${BASH_SOURCE%/*}/../common/unix/SetEnvVar.sh" + +# Try with default +/opt/homebrew/bin/brew install pyenv diff --git a/coin/provisioning/qtci-macos-14-arm/24-sccache.sh b/coin/provisioning/qtci-macos-14-arm/24-sccache.sh new file mode 100755 index 00000000..358b23fb --- /dev/null +++ b/coin/provisioning/qtci-macos-14-arm/24-sccache.sh @@ -0,0 +1,3 @@ +#!/usr/bin/env bash + +source "${BASH_SOURCE%/*}/../common/macos/sccache.sh" diff --git a/coin/provisioning/qtci-macos-14-arm/25-cmake.sh b/coin/provisioning/qtci-macos-14-arm/25-cmake.sh new file mode 100755 index 00000000..33095880 --- /dev/null +++ b/coin/provisioning/qtci-macos-14-arm/25-cmake.sh @@ -0,0 +1,8 @@ +#!/usr/bin/env bash +#Copyright (C) 2023 The Qt Company Ltd +#SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only + +set -ex + +BASEDIR=$(dirname "$0") +"$BASEDIR/../common/macos/cmake.sh" diff --git a/coin/provisioning/qtci-macos-14-arm/25-mysql.sh b/coin/provisioning/qtci-macos-14-arm/25-mysql.sh new file mode 100755 index 00000000..0be1e6e8 --- /dev/null +++ b/coin/provisioning/qtci-macos-14-arm/25-mysql.sh @@ -0,0 +1,27 @@ +#!/usr/bin/env bash +# Copyright (C) 2020 The Qt Company Ltd. +# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only + +# This script installs MySQL + +# MySQL is needed for Qt to be able to support MySQL + +set -ex + +# shellcheck source=../common/macos/InstallAppFromCompressedFileFromURL.sh +source "${BASH_SOURCE%/*}/../common/macos/InstallAppFromCompressedFileFromURL.sh" +# shellcheck source=../common/unix/SetEnvVar.sh +source "${BASH_SOURCE%/*}/../common/unix/SetEnvVar.sh" + +PrimaryUrl="http://ci-files01-hki.ci.qt.io/input/mac/macos_10.12_sierra/mysql-5.7.15-osx10.11-x86_64.tar.gz" +AltUrl="https://dev.mysql.com/get/Downloads/MySQL-5.7/mysql-5.7.15-osx10.11-x86_64.tar.gz" +SHA1="07949bd42f350b0504a1536b8830b809b4a34fca" +appPrefix="" +targetDir="/opt/mysql57/" + +sudo mkdir -p "/opt" + +InstallAppFromCompressedFileFromURL "$PrimaryUrl" "$AltUrl" "$SHA1" "$appPrefix" "$targetDir" + +SetEnvVar "MYSQLBINPATH" "/opt/mysql57/bin" +echo "MySQL = 5.7.15" >> ~/versions.txt diff --git a/coin/provisioning/qtci-macos-14-arm/25-pip.sh b/coin/provisioning/qtci-macos-14-arm/25-pip.sh new file mode 100755 index 00000000..3fc865d0 --- /dev/null +++ b/coin/provisioning/qtci-macos-14-arm/25-pip.sh @@ -0,0 +1,8 @@ +#!/usr/bin/env bash +#Copyright (C) 2023 The Qt Company Ltd +#SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only + +set -ex + +BASEDIR=$(dirname "$0") +"$BASEDIR/../common/macos/pip.sh" diff --git a/coin/provisioning/qtci-macos-14-arm/25-postgresql.sh b/coin/provisioning/qtci-macos-14-arm/25-postgresql.sh new file mode 100755 index 00000000..06cae6ef --- /dev/null +++ b/coin/provisioning/qtci-macos-14-arm/25-postgresql.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 + +BASEDIR=$(dirname "$0") +"$BASEDIR/../common/macos/postgresql.sh" diff --git a/coin/provisioning/qtci-macos-14-arm/25-python.sh b/coin/provisioning/qtci-macos-14-arm/25-python.sh new file mode 100755 index 00000000..5a0df739 --- /dev/null +++ b/coin/provisioning/qtci-macos-14-arm/25-python.sh @@ -0,0 +1,20 @@ +#!/usr/bin/env bash +# Copyright (C) 2021 The Qt Company Ltd. +# Copyright (C) 2017 Pelagicore AG +# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only + +# This script installs python3 + +# shellcheck source=../common/unix/SetEnvVar.sh +source "${BASH_SOURCE%/*}/../common/unix/SetEnvVar.sh" + +pyenv install 3.9.7 + +/Users/qt/.pyenv/versions/3.9.7/bin/pip3 install --user install virtualenv wheel html5lib + +SetEnvVar "PYTHON3_PATH" "/Users/qt/.pyenv/versions/3.9.7/bin/" +SetEnvVar "PIP3_PATH" "/Users/qt/.pyenv/versions/3.9.7/bin/" +# Use 3.9 as a default python +SetEnvVar "PATH" "\$PYTHON3_PATH:\$PATH" + +echo "python3 = 3.9.7" >> ~/versions.txt diff --git a/coin/provisioning/qtci-macos-14-arm/26-freetype.sh b/coin/provisioning/qtci-macos-14-arm/26-freetype.sh new file mode 100755 index 00000000..fa0790f8 --- /dev/null +++ b/coin/provisioning/qtci-macos-14-arm/26-freetype.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 + +brew install freetype diff --git a/coin/provisioning/qtci-macos-14-arm/26-jq.sh b/coin/provisioning/qtci-macos-14-arm/26-jq.sh new file mode 100755 index 00000000..4dffcb96 --- /dev/null +++ b/coin/provisioning/qtci-macos-14-arm/26-jq.sh @@ -0,0 +1,5 @@ +#!/usr/bin/env bash + +set -ex + +brew install jq diff --git a/coin/provisioning/qtci-macos-14-arm/26-ninja.sh b/coin/provisioning/qtci-macos-14-arm/26-ninja.sh new file mode 100755 index 00000000..4443eeb4 --- /dev/null +++ b/coin/provisioning/qtci-macos-14-arm/26-ninja.sh @@ -0,0 +1,10 @@ +#!/usr/bin/env bash +#Copyright (C) 2023 The Qt Company Ltd +#SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only + +set -ex + +# shellcheck source=../common/macos/ninja.sh +source "${BASH_SOURCE%/*}/../common/macos/ninja.sh" + + diff --git a/coin/provisioning/qtci-macos-14-arm/26-odbc.sh b/coin/provisioning/qtci-macos-14-arm/26-odbc.sh new file mode 100755 index 00000000..2b6b013a --- /dev/null +++ b/coin/provisioning/qtci-macos-14-arm/26-odbc.sh @@ -0,0 +1,9 @@ +#!/usr/bin/env bash +#Copyright (C) 2023 The Qt Company Ltd +#SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only +# Install libiodbc + +set -ex + +BASEDIR=$(dirname "$0") +"$BASEDIR/../common/macos/libiodbc.sh" --with-universal diff --git a/coin/provisioning/qtci-macos-14-arm/26-p7zip.sh b/coin/provisioning/qtci-macos-14-arm/26-p7zip.sh new file mode 100755 index 00000000..8cdcd0c3 --- /dev/null +++ b/coin/provisioning/qtci-macos-14-arm/26-p7zip.sh @@ -0,0 +1,9 @@ +#!/usr/bin/env bash +#Copyright (C) 2023 The Qt Company Ltd +#SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only +# Install 7z to be used from command line + +set -ex + +brew update +brew install p7zip diff --git a/coin/provisioning/qtci-macos-14-arm/26-pcre2.sh b/coin/provisioning/qtci-macos-14-arm/26-pcre2.sh new file mode 100755 index 00000000..c10d6206 --- /dev/null +++ b/coin/provisioning/qtci-macos-14-arm/26-pcre2.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 + +brew install pcre2 diff --git a/coin/provisioning/qtci-macos-14-arm/27-libclang.sh b/coin/provisioning/qtci-macos-14-arm/27-libclang.sh new file mode 100755 index 00000000..cc025e6e --- /dev/null +++ b/coin/provisioning/qtci-macos-14-arm/27-libclang.sh @@ -0,0 +1,9 @@ +#!/usr/bin/env bash +#Copyright (C) 2023 The Qt Company Ltd +#SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only + +set -ex + +BASEDIR=$(dirname "$0") +# There is only one mac package and common script uses it as a default +"$BASEDIR/../common/unix/libclang.sh" diff --git a/coin/provisioning/qtci-macos-14-arm/28-libclang-v100-dyn.sh b/coin/provisioning/qtci-macos-14-arm/28-libclang-v100-dyn.sh new file mode 100755 index 00000000..d95e7e00 --- /dev/null +++ b/coin/provisioning/qtci-macos-14-arm/28-libclang-v100-dyn.sh @@ -0,0 +1,8 @@ +#!/usr/bin/env bash +#Copyright (C) 2023 The Qt Company Ltd +#SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only + +set -ex + +BASEDIR=$(dirname "$0") +"$BASEDIR/../common/unix/libclang-v100-dyn.sh" diff --git a/coin/provisioning/qtci-macos-14-arm/29-install-pkgconfig.sh b/coin/provisioning/qtci-macos-14-arm/29-install-pkgconfig.sh new file mode 100755 index 00000000..33e11580 --- /dev/null +++ b/coin/provisioning/qtci-macos-14-arm/29-install-pkgconfig.sh @@ -0,0 +1,6 @@ +#!/usr/bin/env bash + +set -ex + +BASEDIR=$(dirname "$0") +"$BASEDIR/../common/macos/pkgconfig.sh" diff --git a/coin/provisioning/qtci-macos-14-arm/30-android.sh b/coin/provisioning/qtci-macos-14-arm/30-android.sh new file mode 100755 index 00000000..6259b71e --- /dev/null +++ b/coin/provisioning/qtci-macos-14-arm/30-android.sh @@ -0,0 +1,64 @@ +#!/usr/bin/env bash +# Copyright (C) 2020 The Qt Company Ltd. +# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only + +# This script install Android sdk and ndk. + +# It also runs update for SDK API, latest SDK tools, latest platform-tools and build-tools version + +set -ex + +# shellcheck source=../common/unix/SetEnvVar.sh +source "${BASH_SOURCE%/*}/../common/unix/SetEnvVar.sh" + +targetFolder="/opt/android" +sdkTargetFolder="$targetFolder/sdk" + +basePath="/net/ci-files01-hki.ci.qt.io/hdd/www/input/android" + +toolsVersion="2.1" +# toolsFile dertermines tools version +toolsFile="commandlinetools-mac-6609375_latest.zip" + +ndkVersion="r26b" +ndkFile="android-ndk-$ndkVersion-darwin.zip" +sdkBuildToolsVersion="34.0.0" +# this is compile sdk version +sdkApiLevel="android-34" + +toolsSourceFile="$basePath/$toolsFile" +ndkSourceFile="$basePath/$ndkFile" + +echo "Unzipping Android NDK to '$targetFolder'" +sudo unzip -q "$ndkSourceFile" -d "$targetFolder" +echo "Unzipping Android Tools to '$sdkTargetFolder'" +sudo unzip -q "$toolsSourceFile" -d "$sdkTargetFolder" + +echo "Changing ownership of Android files." +sudo chown -R qt:wheel "$targetFolder" + +# Run the following command under `eval` or `sh -c` so that the shell properly splits it +sdkmanager_no_progress_bar_cmd="tr '\r' '\n' | grep -v '^\[[ =]*\]'" + +sudo mkdir "$sdkTargetFolder/cmdline-tools" +sudo mv "$sdkTargetFolder/tools" "$sdkTargetFolder/cmdline-tools" + +echo "Running SDK manager for platforms;$sdkApiLevel, platform-tools and build-tools;$sdkBuildToolsVersion." +(echo "y"; echo "y") | "$sdkTargetFolder/cmdline-tools/tools/bin/sdkmanager" "--sdk_root=$sdkTargetFolder" \ + "platforms;$sdkApiLevel" "platform-tools" "build-tools;$sdkBuildToolsVersion" \ + | eval "$sdkmanager_no_progress_bar_cmd" + +echo "Checking the contents of Android SDK..." +ls -l "$sdkTargetFolder" + +SetEnvVar "ANDROID_SDK_ROOT" "$sdkTargetFolder" +SetEnvVar "ANDROID_NDK_ROOT" "$targetFolder/android-ndk-$ndkVersion" +SetEnvVar "ANDROID_NDK_HOST" "darwin-x86_64" +SetEnvVar "ANDROID_API_VERSION" "$sdkApiLevel" + +cat << EOB >> ~/versions.txt +Android SDK tools = $toolsVersion +Android SDK Build Tools = $sdkBuildToolsVersion +Android SDK API level = $sdkApiLevel +Android NDK = $ndkVersion +EOB diff --git a/coin/provisioning/qtci-macos-14-arm/30-fbx.sh b/coin/provisioning/qtci-macos-14-arm/30-fbx.sh new file mode 100755 index 00000000..e991bc08 --- /dev/null +++ b/coin/provisioning/qtci-macos-14-arm/30-fbx.sh @@ -0,0 +1,9 @@ +#!/usr/bin/env bash +#Copyright (C) 2023 The Qt Company Ltd +#SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only + +set -ex + +BASEDIR=$(dirname "$0") +"$BASEDIR/../common/macos/fbx_macos.sh" + diff --git a/coin/provisioning/qtci-macos-14-arm/30-install-conan.sh b/coin/provisioning/qtci-macos-14-arm/30-install-conan.sh new file mode 100755 index 00000000..67a4f911 --- /dev/null +++ b/coin/provisioning/qtci-macos-14-arm/30-install-conan.sh @@ -0,0 +1,8 @@ +#!/usr/bin/env bash +#Copyright (C) 2023 The Qt Company Ltd +#SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only + +set -ex + +BASEDIR=$(dirname "$0") +"$BASEDIR/../common/unix/install-conan.sh" diff --git a/coin/provisioning/qtci-macos-14-arm/30-nodejs.sh b/coin/provisioning/qtci-macos-14-arm/30-nodejs.sh new file mode 100755 index 00000000..8f73b2d6 --- /dev/null +++ b/coin/provisioning/qtci-macos-14-arm/30-nodejs.sh @@ -0,0 +1,8 @@ +#!/usr/bin/env bash +#Copyright (C) 2023 The Qt Company Ltd +#SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only + +set -ex + +brew install nodejs + diff --git a/coin/provisioning/qtci-macos-14-arm/35-install-breakpad.sh b/coin/provisioning/qtci-macos-14-arm/35-install-breakpad.sh new file mode 100755 index 00000000..8a9dde56 --- /dev/null +++ b/coin/provisioning/qtci-macos-14-arm/35-install-breakpad.sh @@ -0,0 +1,8 @@ +#!/usr/bin/env bash +#Copyright (C) 2023 The Qt Company Ltd +#SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only + +set -ex + +# shellcheck source=../common/unix/install-breakpad.sh +source "${BASH_SOURCE%/*}/../common/unix/install-breakpad.sh" diff --git a/coin/provisioning/qtci-macos-14-arm/35-install_protobuf.sh b/coin/provisioning/qtci-macos-14-arm/35-install_protobuf.sh new file mode 100755 index 00000000..ecb5f835 --- /dev/null +++ b/coin/provisioning/qtci-macos-14-arm/35-install_protobuf.sh @@ -0,0 +1,9 @@ +#!/usr/bin/env bash +# Copyright (C) 2020 The Qt Company Ltd. +# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only + +set -ex + +# shellcheck source=../common/unix/install_protobuf.sh +source "${BASH_SOURCE%/*}/../common/unix/install_protobuf.sh" + diff --git a/coin/provisioning/qtci-macos-14-arm/35-openssl.sh b/coin/provisioning/qtci-macos-14-arm/35-openssl.sh new file mode 100755 index 00000000..c86788db --- /dev/null +++ b/coin/provisioning/qtci-macos-14-arm/35-openssl.sh @@ -0,0 +1,9 @@ +#!/usr/bin/env bash +#Copyright (C) 2023 The Qt Company Ltd +#SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only + +set -ex + +# shellcheck source=../common/unix/install-openssl.sh +source "${BASH_SOURCE%/*}/../common/unix/install-openssl.sh" "macos-universal" + diff --git a/coin/provisioning/qtci-macos-14-arm/36-emsdk.sh b/coin/provisioning/qtci-macos-14-arm/36-emsdk.sh new file mode 100755 index 00000000..c8aec444 --- /dev/null +++ b/coin/provisioning/qtci-macos-14-arm/36-emsdk.sh @@ -0,0 +1,8 @@ +#!/usr/bin/env bash +#Copyright (C) 2023 The Qt Company Ltd +#SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only + +set -ex + +# shellcheck source=../common/unix/emsdk.sh +source "${BASH_SOURCE%/*}/../common/unix/emsdk.sh" diff --git a/coin/provisioning/qtci-macos-14-arm/36-install_grpc.sh b/coin/provisioning/qtci-macos-14-arm/36-install_grpc.sh new file mode 100755 index 00000000..d2860845 --- /dev/null +++ b/coin/provisioning/qtci-macos-14-arm/36-install_grpc.sh @@ -0,0 +1,10 @@ +#!/usr/bin/env bash +# Copyright (C) 2022 The Qt Company Ltd. +# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only + +set -ex + +# shellcheck source=../common/unix/install_grpc.sh +# Temporarily disabled due to OpenSSL linking errors +#source "${BASH_SOURCE%/*}/../common/unix/install_grpc.sh" + diff --git a/coin/provisioning/qtci-macos-14-arm/40-qnx700.sh b/coin/provisioning/qtci-macos-14-arm/40-qnx700.sh new file mode 100755 index 00000000..48286a67 --- /dev/null +++ b/coin/provisioning/qtci-macos-14-arm/40-qnx700.sh @@ -0,0 +1,25 @@ +#!/bin/bash +# Copyright (C) 2020 The Qt Company Ltd. +# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only + +# This script installs QNX 7. + +targetFolder="/opt/" +sourceFile="/net/ci-files01-hki.ci.qt.io/hdd/www/input/qnx/qnx700-20190325-2-macos.tar.xz" +folderName="qnx700" + +sudo mkdir -p "$targetFolder" + +echo "Extracting QNX 7" +sudo tar -C "$targetFolder" -Jxf $sourceFile + +sudo chown -R qt:wheel "$targetFolder"/"$folderName" + +# Verify that we have last file in zip +if [ ! -f $targetFolder/$folderName/qnxsdp-env.sh ]; then + exit 1 +fi + +# Set env variables +echo "export QNX_700=$targetFolder/$folderName" >> ~/.bashrc +echo "QNX SDP = 7.0.0" >> ~/versions.txt diff --git a/coin/provisioning/qtci-macos-14-arm/55-signtools.sh b/coin/provisioning/qtci-macos-14-arm/55-signtools.sh new file mode 100755 index 00000000..ff5a977a --- /dev/null +++ b/coin/provisioning/qtci-macos-14-arm/55-signtools.sh @@ -0,0 +1,107 @@ +#!/usr/bin/env sh +# 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 + +# Install tools for singing packages +# This script assume that OS is vanilla. Target machine dosen't have any signing certificates installed. + +set -ex + +cache="http://ci-files01-hki.ci.qt.io/input" +cacheSigningTools="$cache/mac/sign_tools" +targetFolder="/Users/qt" +keychains="$targetFolder/Library/Keychains" + +Install() { + + url=$1 + targetFile=$2 + expectedSha1=$3 + + echo "Fetching $targetFile from $url..." + curl --retry 5 --retry-delay 10 --retry-max-time 60 "$url" -o "$targetFile" + shasum "$targetFile" |grep "$expectedSha1" + +} + +# qt-license +sha1QtLicense="9d59241d16f68d914f1c7aa1dc23e05faa169e8d" +Install "$cache/semisecure/.qt-license" "$targetFolder/.qt-license" $sha1QtLicense + +# Login keychain +sha1LoginKeychainPassword="aae58d00d0a1b179a09f21cfc67f9d16fb95ff36" +Install "$cacheSigningTools/login_keychain_password.txt" "$targetFolder/login_keychain_password.txt" "$sha1LoginKeychainPassword" +{ loginKeychainPassword=$(cat "$targetFolder/login_keychain_password.txt"); } 2> /dev/null +loginKeychain=$keychains/login.keychain + +echo "Setting login.keychain as default keychain.." +security default-keychain -s $loginKeychain* +echo "Unlocking Login keychain with password.." +{ security unlock-keychain -p "$loginKeychainPassword" $loginKeychain*; } 2> /dev/null + +echo "remove the "Lock after X minutes of inactivity" from login.keychain" +security set-keychain-settings $loginKeychain + +# Apple Worldwide Developer Relations Certification Authority -> https://developer.apple.com/certificationauthority/AppleWWDRCA.cer +sha1AppleWWDRCA="ff6797793a3cd798dc5b2abef56f73edc9f83a64" +Install "$cacheSigningTools/AppleWWDRCA.cer" "$targetFolder/AppleWWDRCA.cer" $sha1AppleWWDRCA +sudo security add-certificates -k $loginKeychain* "$targetFolder/AppleWWDRCA.cer" + +# Developer ID Certification Authority -> https://www.apple.com/certificateauthority/DeveloperIDCA.cer +sha1DeveloperIDCA="3b166c3b7dc4b751c9fe2afab9135641e388e186" +Install "$cacheSigningTools/DeveloperIDCA.cer" "$targetFolder/DeveloperIDCA.cer" $sha1DeveloperIDCA +sudo security add-certificates -k $loginKeychain* "$targetFolder/DeveloperIDCA.cer" + +# Create script to unlock keychain 'security unlock-keychain -p 'password' Developer_ID_TheQtCompany.keychain' +sha1UnLockKeychain="4398870e3f558ad28c80566b5f70e24dc29ea724" +unlockKeychain=$targetFolder/unlock-keychain.sh +{ Install "$cacheSigningTools/unlock-keychain.sh" "$unlockKeychain" $sha1UnLockKeychain; } 2> /dev/null +sudo chmod 755 "$unlockKeychain" + +# Codesigning requirements file. The bundle identifier in the requirements file should match the identifier of the application that is signed. +shaCsreq="2c3f00b1845a0f475673fd6934ba25ea51d1f910" +csreq=$targetFolder/csreq_qt_company.txt +Install "$cacheSigningTools/csreq_qt_company.txt" "$csreq" $shaCsreq +chmod 755 "$csreq" + +# iOS signing tools +devIDKeychain="Developer_ID_TheQtCompany.keychain-db" +shaDevIdKeychain="972cca1879cdaeeb6042f9879756c748a8d1eddc" +Install "$cacheSigningTools/$devIDKeychain" "$keychains/$devIDKeychain" $shaDevIdKeychain +echo "Opening $devIDKeychain.." +open "$keychains/$devIDKeychain" + +sha1DeveloperIDTheQtCompanyKeychainPassword="d758e067736bbda7a91ffaec66cd38afdaf68ea6" +Install "$cacheSigningTools/Developer_ID_TheQtCompany_keychain_password.txt" "$targetFolder/Developer_ID_TheQtCompany_keychain_password.txt" "$sha1DeveloperIDTheQtCompanyKeychainPassword" +{ DeveloperIDTheQtCompanyKeychainPassword=$(cat "$targetFolder/Developer_ID_TheQtCompany_keychain_password.txt"); } 2> /dev/null + +echo "Unlocking $devIDKeychain with password.." +{ security unlock-keychain -p "$DeveloperIDTheQtCompanyKeychainPassword" $keychains/Developer_ID_TheQtCompany.keychain; } 2> /dev/null +security set-keychain-settings $keychains/Developer_ID_TheQtCompany.keychain + +sha1Ios="aae58d00d0a1b179a09f21cfc67f9d16fb95ff36" +{ Install "$cacheSigningTools/ios_password.txt" "$targetFolder/ios_password.txt" $sha1Ios; } 2> /dev/null +{ iosPassword=$(cat "$targetFolder/ios_password.txt"); } 2> /dev/null + +iPhoneDeveloper="iPhoneDeveloperCiTeam2020.p12" +shaIPhoneDeveloper="73136e44fed850f398e85908e4a73f20a6bdd8a2" +Install "$cacheSigningTools/latest_ios_cert_2020/$iPhoneDeveloper" "$targetFolder/$iPhoneDeveloper" $shaIPhoneDeveloper +echo "Importing $iPhoneDeveloper.." +{ security import $targetFolder/$iPhoneDeveloper -k $loginKeychain* -P "$iosPassword" -T /usr/bin/codesign; } 2> /dev/null + +iPhoneDistribution="iPhoneDistributionCiTeam2020.p12" +shaIPhoneDistribution="36215c3cbc6bfee48e86aafbd53c56282fe36d8d" +Install "$cacheSigningTools/latest_ios_cert_2020/$iPhoneDistribution" "$targetFolder/$iPhoneDistribution" $shaIPhoneDistribution +echo "Importing $iPhoneDistribution.." +{ security import "$targetFolder/$iPhoneDistribution" -k $loginKeychain* -P "$iosPassword" -T /usr/bin/codesign; } 2> /dev/null + +# Mobileprovision +echo "Creating directory $targetFolder/Library/MobileDevice/Provisioning Profiles.." +mkdir "$targetFolder/Library/MobileDevice" +mkdir "$targetFolder/Library/MobileDevice/Provisioning Profiles" +shaMobileprovision="ec9697276253ca7bf4401912236f0e6fde4214da" +Install "$cacheSigningTools/latest_ios_cert_2020/iOS_Dev_2020_citeam.mobileprovision" "$targetFolder/Library/MobileDevice/Provisioning Profiles/iOS_Dev_2020_citeam.mobileprovision" $shaMobileprovision + +# Removing password files +rm -fr "$targetFolder/login_keychain_password.txt" + diff --git a/coin/provisioning/qtci-macos-14-arm/80-screenresolution.sh b/coin/provisioning/qtci-macos-14-arm/80-screenresolution.sh new file mode 100755 index 00000000..ed905a33 --- /dev/null +++ b/coin/provisioning/qtci-macos-14-arm/80-screenresolution.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 + +"$(dirname "$0")"/../common/macos/screenresolution.sh + diff --git a/coin/provisioning/qtci-macos-14-arm/81-bluetooth.sh b/coin/provisioning/qtci-macos-14-arm/81-bluetooth.sh new file mode 100755 index 00000000..c58b9a34 --- /dev/null +++ b/coin/provisioning/qtci-macos-14-arm/81-bluetooth.sh @@ -0,0 +1,10 @@ +#!/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 + +brew install blueutil + +#Disable Bluetooth +blueutil -p 0 diff --git a/coin/provisioning/qtci-macos-14-arm/90-docker.sh b/coin/provisioning/qtci-macos-14-arm/90-docker.sh new file mode 100755 index 00000000..f03971a9 --- /dev/null +++ b/coin/provisioning/qtci-macos-14-arm/90-docker.sh @@ -0,0 +1,9 @@ +#!/usr/bin/env bash +#Copyright (C) 2023 The Qt Company Ltd +#SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only + +set -ex + +# shellcheck source=../common/macos/docker.sh +source "${BASH_SOURCE%/*}/../common/macos/docker.sh" "arm64" + diff --git a/coin/provisioning/qtci-macos-14-arm/90-install-ffmpeg.sh b/coin/provisioning/qtci-macos-14-arm/90-install-ffmpeg.sh new file mode 100755 index 00000000..23cb13e1 --- /dev/null +++ b/coin/provisioning/qtci-macos-14-arm/90-install-ffmpeg.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 + +source "${BASH_SOURCE%/*}/../common/unix/install-ffmpeg.sh" "macos-universal" diff --git a/coin/provisioning/qtci-macos-14-arm/90-vlc.sh b/coin/provisioning/qtci-macos-14-arm/90-vlc.sh new file mode 100644 index 00000000..4924fe5c --- /dev/null +++ b/coin/provisioning/qtci-macos-14-arm/90-vlc.sh @@ -0,0 +1,8 @@ +#!/usr/bin/env bash +#Copyright (C) 2023 The Qt Company Ltd +#SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only + +set -ex + +# for QtMM streaming tests +brew install --cask vlc diff --git a/coin/provisioning/qtci-macos-14-arm/97-set-locale.sh b/coin/provisioning/qtci-macos-14-arm/97-set-locale.sh new file mode 100755 index 00000000..bc966cbf --- /dev/null +++ b/coin/provisioning/qtci-macos-14-arm/97-set-locale.sh @@ -0,0 +1,8 @@ +#!/usr/bin/env bash +#Copyright (C) 2023 The Qt Company Ltd +#SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only + +set -ex + +BASEDIR=$(dirname "$0") +"$BASEDIR/../common/macos/set-locale.sh" diff --git a/coin/provisioning/qtci-macos-14-arm/98-mimersql.sh b/coin/provisioning/qtci-macos-14-arm/98-mimersql.sh new file mode 100755 index 00000000..70d5bc1d --- /dev/null +++ b/coin/provisioning/qtci-macos-14-arm/98-mimersql.sh @@ -0,0 +1,5 @@ +#!/usr/bin/env bash +set -ex + +BASEDIR=$(dirname "$0") +"$BASEDIR/../common/macos/mimersql.sh" "macos-universal" diff --git a/coin/provisioning/qtci-macos-14-arm/99-mac-version.sh b/coin/provisioning/qtci-macos-14-arm/99-mac-version.sh new file mode 100755 index 00000000..b9b5aeb0 --- /dev/null +++ b/coin/provisioning/qtci-macos-14-arm/99-mac-version.sh @@ -0,0 +1,8 @@ +#!/usr/bin/env bash +#Copyright (C) 2023 The Qt Company Ltd +#SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only + +set -ex + +BASEDIR=$(dirname "$0") +"$BASEDIR/../common/macos/macos-version.sh" diff --git a/coin/provisioning/qtci-macos-14-x86_64/01-disable-net-lso.sh b/coin/provisioning/qtci-macos-14-x86_64/01-disable-net-lso.sh new file mode 100755 index 00000000..659ebe96 --- /dev/null +++ b/coin/provisioning/qtci-macos-14-x86_64/01-disable-net-lso.sh @@ -0,0 +1,3 @@ +#!/bin/sh + +"$(dirname "$0")"/../common/macos/disable_net_lso.sh diff --git a/coin/provisioning/qtci-macos-14-x86_64/01-disable-notifications_and_warnings.sh b/coin/provisioning/qtci-macos-14-x86_64/01-disable-notifications_and_warnings.sh new file mode 100755 index 00000000..27efbb62 --- /dev/null +++ b/coin/provisioning/qtci-macos-14-x86_64/01-disable-notifications_and_warnings.sh @@ -0,0 +1,3 @@ +#!/bin/sh + +"$(dirname "$0")"/../common/macos/disable-notifications_and_warnings.sh diff --git a/coin/provisioning/qtci-macos-14-x86_64/01-disable-updates.sh b/coin/provisioning/qtci-macos-14-x86_64/01-disable-updates.sh new file mode 100755 index 00000000..a2b2a0f0 --- /dev/null +++ b/coin/provisioning/qtci-macos-14-x86_64/01-disable-updates.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 + +BASEDIR=$(dirname "$0") +"$BASEDIR/../common/macos/system_updates.sh" diff --git a/coin/provisioning/qtci-macos-14-x86_64/01-enable_zsh_history_and_viminfo.sh b/coin/provisioning/qtci-macos-14-x86_64/01-enable_zsh_history_and_viminfo.sh new file mode 100755 index 00000000..6004b140 --- /dev/null +++ b/coin/provisioning/qtci-macos-14-x86_64/01-enable_zsh_history_and_viminfo.sh @@ -0,0 +1,5 @@ +#!/usr/bin/env bash +set -ex + +# shellcheck source=../common/macos/enable_zsh_history_and_viminfo.sh +source "${BASH_SOURCE%/*}/../common/macos/enable_zsh_history_and_viminfo.sh" diff --git a/coin/provisioning/qtci-macos-14-x86_64/01-increase_limits.sh b/coin/provisioning/qtci-macos-14-x86_64/01-increase_limits.sh new file mode 100755 index 00000000..08669e52 --- /dev/null +++ b/coin/provisioning/qtci-macos-14-x86_64/01-increase_limits.sh @@ -0,0 +1,3 @@ +#!/bin/sh + +"$(dirname "$0")"/../common/macos/increase_limits.sh diff --git a/coin/provisioning/qtci-macos-14-x86_64/01-install_telegraf.sh b/coin/provisioning/qtci-macos-14-x86_64/01-install_telegraf.sh new file mode 100755 index 00000000..abd9ba0d --- /dev/null +++ b/coin/provisioning/qtci-macos-14-x86_64/01-install_telegraf.sh @@ -0,0 +1,3 @@ +#!/bin/sh + +"$(dirname "$0")"/../common/macos/telegraf_install.sh diff --git a/coin/provisioning/qtci-macos-14-x86_64/01-mount-vcpkg-cache-drive.sh b/coin/provisioning/qtci-macos-14-x86_64/01-mount-vcpkg-cache-drive.sh new file mode 100755 index 00000000..2739f40f --- /dev/null +++ b/coin/provisioning/qtci-macos-14-x86_64/01-mount-vcpkg-cache-drive.sh @@ -0,0 +1,8 @@ +#!/usr/bin/env bash +# Copyright (C) 2023 The Qt Company Ltd. +# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only + +set -ex + +# shellcheck source=../common/macos/mount-vcpkg-cache-drive.sh +source "${BASH_SOURCE%/*}/../common/macos/mount-vcpkg-cache-drive.sh" diff --git a/coin/provisioning/qtci-macos-14-x86_64/01-sha1sum-compatibility.sh b/coin/provisioning/qtci-macos-14-x86_64/01-sha1sum-compatibility.sh new file mode 100755 index 00000000..e31fe48b --- /dev/null +++ b/coin/provisioning/qtci-macos-14-x86_64/01-sha1sum-compatibility.sh @@ -0,0 +1,10 @@ +#!/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 + +#!/usr/bin/env bash + +set -ex + +# shellcheck source=../common/macos/sha1sum-compatibility.sh +source "${BASH_SOURCE%/*}/../common/macos/sha1sum-compatibility.sh" diff --git a/coin/provisioning/qtci-macos-14-x86_64/03-bashprofile.sh b/coin/provisioning/qtci-macos-14-x86_64/03-bashprofile.sh new file mode 100755 index 00000000..4eed8433 --- /dev/null +++ b/coin/provisioning/qtci-macos-14-x86_64/03-bashprofile.sh @@ -0,0 +1,9 @@ +#!/usr/bin/env 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 + +set -ex + +# Read .bashrc if exist +printf -- "# Get the aliases and functions\nif [ -f ~/.bashrc ]; then\n . ~/.bashrc\nfi\n" >> ~/.bash_profile + diff --git a/coin/provisioning/qtci-macos-14-x86_64/05-systemsetup.sh b/coin/provisioning/qtci-macos-14-x86_64/05-systemsetup.sh new file mode 100755 index 00000000..d7f07955 --- /dev/null +++ b/coin/provisioning/qtci-macos-14-x86_64/05-systemsetup.sh @@ -0,0 +1,84 @@ +#!/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 + +# This script modifies system settings for automated use + +targetFile="$HOME/vncpw.txt" + +# Fetch password +curl --retry 5 --retry-delay 10 --retry-max-time 60 \ + "http://ci-files01-hki.ci.qt.io/input/semisecure/vncpw.txt" \ + -o "$targetFile" +shasum "$targetFile" |grep "a795fccaa8f277e62ec08e6056c544b8b63924a0" + +{ VNCPassword=$(cat "$targetFile"); } 2> /dev/null +NTS_IP=10.212.2.216 + +echo "Disable Screensaver" +# For current session +defaults -currentHost write com.apple.screensaver idleTime 0 + +echo "Disable sleep" +sudo pmset sleep 0 displaysleep 0 + +# For session after a reboot +mkdir -p "$HOME/Library/LaunchAgents" +sudo tee -a "$HOME/Library/LaunchAgents/no-screensaver.plist" <<EOT +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd"> + +<plist version="1.0"> + <dict> + <key>Label</key> + <string>org.qt.io.screensaver_disable</string> + <key>ProgramArguments</key> + <array> + <string>defaults</string> + <string>-currentHost</string> + <string>write</string> + <string>com.apple.screensaver</string> + <string>idleTime</string> + <string>0</string> + </array> + <key>RunAtLoad</key> + <true/> + <key>KeepAlive</key> + <false/> + </dict> +</plist> +EOT + +defaults write com.apple.screensaver askForPassword -int 0 + +echo "Set keyboard type rates and delays" +# normal minimum is 15 (225 ms) +defaults write -g InitialKeyRepeat -int 15 +# normal minimum is 2 (30 ms) +defaults write -g KeyRepeat -int 2 + +set +x +echo "Enable remote desktop sharing" +sudo /System/Library/CoreServices/RemoteManagement/ARDAgent.app/Contents/Resources/kickstart \ + -activate -configure -access -on -clientopts -setvnclegacy -vnclegacy yes -clientopts \ + -setvncpw -vncpw "$VNCPassword" -restart -agent -privs -all +set -x + +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 + +sudo systemsetup settimezone GMT +sudo systemsetup setusingnetworktime off +sudo rm -f "$targetFile" + +# Enable automount for nfs shares +sudo sed -i'.orig' -e 's:^#/net:/net:' -e 's:hidefromfinder,nosuid:hidefromfinder,nosuid,locallocks,nocallback:' /etc/auto_master +sudo automount -cv + +# Disable multicast advertisements +sudo defaults write /Library/Preferences/com.apple.mDNSResponder.plist NoMulticastAdvertisements -bool true + +# Enable Use keyboard navigation to move focus between controls +defaults write -g AppleKeyboardUIMode -int 2 diff --git a/coin/provisioning/qtci-macos-14-x86_64/06-crashreporter.sh b/coin/provisioning/qtci-macos-14-x86_64/06-crashreporter.sh new file mode 100755 index 00000000..cb7c0774 --- /dev/null +++ b/coin/provisioning/qtci-macos-14-x86_64/06-crashreporter.sh @@ -0,0 +1,7 @@ +#!/usr/bin/env 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 + +set -ex + +defaults write com.apple.CrashReporter DialogType server diff --git a/coin/provisioning/qtci-macos-14-x86_64/06-disable_spotlight.sh b/coin/provisioning/qtci-macos-14-x86_64/06-disable_spotlight.sh new file mode 100755 index 00000000..ab85a262 --- /dev/null +++ b/coin/provisioning/qtci-macos-14-x86_64/06-disable_spotlight.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 + +# shellcheck source=../common/macos/disable_spotlight.sh +source "${BASH_SOURCE%/*}/../common/macos/disable_spotlight.sh" diff --git a/coin/provisioning/qtci-macos-14-x86_64/06-disable_update_downloads.sh b/coin/provisioning/qtci-macos-14-x86_64/06-disable_update_downloads.sh new file mode 100755 index 00000000..18cb98ea --- /dev/null +++ b/coin/provisioning/qtci-macos-14-x86_64/06-disable_update_downloads.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 +set -ex +BASEDIR=$(dirname "$0") +"$BASEDIR"/../common/macos/disable_update_downloads.sh diff --git a/coin/provisioning/qtci-macos-14-x86_64/07-SSL_keychain.sh b/coin/provisioning/qtci-macos-14-x86_64/07-SSL_keychain.sh new file mode 100755 index 00000000..e14dcee9 --- /dev/null +++ b/coin/provisioning/qtci-macos-14-x86_64/07-SSL_keychain.sh @@ -0,0 +1,11 @@ +#!/usr/bin/env bash +#Copyright (C) 2023 The Qt Company Ltd +#SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only + +set -ex + +# shellcheck source=../common/unix/SetEnvVar.sh +source "${BASH_SOURCE%/*}/../common/unix/SetEnvVar.sh" + +# Enables the usage of temporary keychains for SSL autotests +SetEnvVar "QT_SSL_USE_TEMPORARY_KEYCHAIN" "1" diff --git a/coin/provisioning/qtci-macos-14-x86_64/15-xz.sh b/coin/provisioning/qtci-macos-14-x86_64/15-xz.sh new file mode 100755 index 00000000..9abb7f53 --- /dev/null +++ b/coin/provisioning/qtci-macos-14-x86_64/15-xz.sh @@ -0,0 +1,21 @@ +#!/usr/bin/env bash +# Copyright (C) 2023 The Qt Company Ltd. +# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only + +# This script installs XZ-Utils + +# XZ-Utils are needed for uncompressing xz-compressed files + +set -ex + +# shellcheck source=../common/macos/InstallPKGFromURL.sh +source "${BASH_SOURCE%/*}/../common/macos/InstallPKGFromURL.sh" + +PrimaryUrl="http://ci-files01-hki.ci.qt.io/input/mac/macos_10.12_sierra/XZ.pkg" +AltUrl="http://sourceforge.net/projects/macpkg/files/XZ/5.0.7/XZ.pkg" +SHA1="f0c1f82ebcffe0bd4b8b57b6a77805db56b2de67" +DestDir="/" + +InstallPKGFromURL "$PrimaryUrl" "$AltUrl" "$SHA1" "$DestDir" + +echo "XZ = 5.0.7" >> ~/versions.txt diff --git a/coin/provisioning/qtci-macos-14-x86_64/20-java.sh b/coin/provisioning/qtci-macos-14-x86_64/20-java.sh new file mode 100755 index 00000000..325fee63 --- /dev/null +++ b/coin/provisioning/qtci-macos-14-x86_64/20-java.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 + +BASEDIR=$(dirname "$0") +"$BASEDIR/../common/macos/java.sh" diff --git a/coin/provisioning/qtci-macos-14-x86_64/20-xcode.sh b/coin/provisioning/qtci-macos-14-x86_64/20-xcode.sh new file mode 100755 index 00000000..62d78e72 --- /dev/null +++ b/coin/provisioning/qtci-macos-14-x86_64/20-xcode.sh @@ -0,0 +1,22 @@ +#!/usr/bin/env bash +# Copyright (C) 2023 The Qt Company Ltd. +# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only + +# This script installs Xcode +# Prerequisites: Have Xcode prefetched to local cache as xz compressed. +# This can be achieved by fetching Xcode_9.xip from Apple Store. +# Uncompress it with 'xar -xf Xcode_9.xip' +# Then get https://gist.githubusercontent.com/pudquick/ff412bcb29c9c1fa4b8d/raw/24b25538ea8df8d0634a2a6189aa581ccc6a5b4b/parse_pbzx2.py +# with which you can run 'python parse_pbzx2.py Content'. +# This will give you five files called "Content.part<00..05>.cpio.xz". +# Extract those that have the extension .xz with xz. +# "cat" together all the content files "cat file1, file2, file3, file4, file5 >file_new" +# Compress the new file with xz back to something like Xcode_9.xz +# Upload the file to temporary storage for this script to use. + +set -ex + +# shellcheck source=../common/macos/install_xcode.sh +source "${BASH_SOURCE%/*}/../common/macos/install_xcode.sh" + +InstallXCode /net/ci-files01-hki.ci.qt.io/hdd/www/input/mac/Xcode_15.3.xip 15.3 diff --git a/coin/provisioning/qtci-macos-14-x86_64/21-install-commandlinetools.sh b/coin/provisioning/qtci-macos-14-x86_64/21-install-commandlinetools.sh new file mode 100755 index 00000000..7d1708bd --- /dev/null +++ b/coin/provisioning/qtci-macos-14-x86_64/21-install-commandlinetools.sh @@ -0,0 +1,14 @@ +#!/usr/bin/env bash +# Copyright (C) 2023 The Qt Company Ltd. +# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only + +set -ex + +# shellcheck source=../common/macos/install-commandlinetools.sh +source "${BASH_SOURCE%/*}/../common/macos/install-commandlinetools.sh" +version="15.3" +packageName="Command_Line_Tools_for_Xcode_$version.dmg" +url="http://ci-files01-hki.ci.qt.io/input/mac/$packageName" +sha1="e7149414aff0e3d6c85245683e77ddde2f410ec0" + +InstallCommandLineTools $url $url $sha1 $packageName $version diff --git a/coin/provisioning/qtci-macos-14-x86_64/24-sccache.sh b/coin/provisioning/qtci-macos-14-x86_64/24-sccache.sh new file mode 100755 index 00000000..358b23fb --- /dev/null +++ b/coin/provisioning/qtci-macos-14-x86_64/24-sccache.sh @@ -0,0 +1,3 @@ +#!/usr/bin/env bash + +source "${BASH_SOURCE%/*}/../common/macos/sccache.sh" diff --git a/coin/provisioning/qtci-macos-14-x86_64/25-cmake.sh b/coin/provisioning/qtci-macos-14-x86_64/25-cmake.sh new file mode 100755 index 00000000..33095880 --- /dev/null +++ b/coin/provisioning/qtci-macos-14-x86_64/25-cmake.sh @@ -0,0 +1,8 @@ +#!/usr/bin/env bash +#Copyright (C) 2023 The Qt Company Ltd +#SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only + +set -ex + +BASEDIR=$(dirname "$0") +"$BASEDIR/../common/macos/cmake.sh" diff --git a/coin/provisioning/qtci-macos-14-x86_64/25-homebrew.sh b/coin/provisioning/qtci-macos-14-x86_64/25-homebrew.sh new file mode 100755 index 00000000..7ff457b7 --- /dev/null +++ b/coin/provisioning/qtci-macos-14-x86_64/25-homebrew.sh @@ -0,0 +1,26 @@ +#!/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 + +# Will install homebrew package manager for macOS. +# WARNING: Requires commandlinetools + + +set -e + +. "$(dirname "$0")"/../common/unix/DownloadURL.sh + +DownloadURL \ + http://ci-files01-hki.ci.qt.io/input/mac/homebrew/d8f6c666d20a3d42e007ceec161a06651ad92ba331a24a3de62912edb129a522/install.sh \ + http://ci-files01-hki.ci.qt.io/input/mac/homebrew/d8f6c666d20a3d42e007ceec161a06651ad92ba331a24a3de62912edb129a522/install.sh \ + d8f6c666d20a3d42e007ceec161a06651ad92ba331a24a3de62912edb129a522 \ + /tmp/homebrew_install.sh + +DownloadURL "http://ci-files01-hki.ci.qt.io/input/semisecure/sign/pw" "http://ci-files01-hki.ci.qt.io/input/semisecure/sign/pw" "aae58d00d0a1b179a09f21cfc67f9d16fb95ff36" "/Users/qt/pw" +{ pw=$(cat "/Users/qt/pw"); } 2> /dev/null +sudo chmod 755 /tmp/homebrew_install.sh +{ (echo "$pw" | /tmp/homebrew_install.sh); } 2> /dev/null +rm -f "/Users/qt/pw" + +# No need to manually do `brew update`, the homebrew installer script does it. +### brew update diff --git a/coin/provisioning/qtci-macos-14-x86_64/25-mysql.sh b/coin/provisioning/qtci-macos-14-x86_64/25-mysql.sh new file mode 100755 index 00000000..b9f0c0ae --- /dev/null +++ b/coin/provisioning/qtci-macos-14-x86_64/25-mysql.sh @@ -0,0 +1,27 @@ +#!/usr/bin/env bash +# Copyright (C) 2023 The Qt Company Ltd. +# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only + +# This script installs MySQL + +# MySQL is needed for Qt to be able to support MySQL + +set -ex + +# shellcheck source=../common/macos/InstallAppFromCompressedFileFromURL.sh +source "${BASH_SOURCE%/*}/../common/macos/InstallAppFromCompressedFileFromURL.sh" +# shellcheck source=../common/unix/SetEnvVar.sh +source "${BASH_SOURCE%/*}/../common/unix/SetEnvVar.sh" + +PrimaryUrl="http://ci-files01-hki.ci.qt.io/input/mac/macos_10.12_sierra/mysql-5.7.15-osx10.11-x86_64.tar.gz" +AltUrl="https://dev.mysql.com/get/Downloads/MySQL-5.7/mysql-5.7.15-osx10.11-x86_64.tar.gz" +SHA1="07949bd42f350b0504a1536b8830b809b4a34fca" +appPrefix="" +targetDir="/opt/mysql57/" + +sudo mkdir -p "/opt" + +InstallAppFromCompressedFileFromURL "$PrimaryUrl" "$AltUrl" "$SHA1" "$appPrefix" "$targetDir" + +SetEnvVar "MYSQLBINPATH" "/opt/mysql57/bin" +echo "MySQL = 5.7.15" >> ~/versions.txt diff --git a/coin/provisioning/qtci-macos-14-x86_64/25-pip.sh b/coin/provisioning/qtci-macos-14-x86_64/25-pip.sh new file mode 100755 index 00000000..3fc865d0 --- /dev/null +++ b/coin/provisioning/qtci-macos-14-x86_64/25-pip.sh @@ -0,0 +1,8 @@ +#!/usr/bin/env bash +#Copyright (C) 2023 The Qt Company Ltd +#SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only + +set -ex + +BASEDIR=$(dirname "$0") +"$BASEDIR/../common/macos/pip.sh" diff --git a/coin/provisioning/qtci-macos-14-x86_64/25-postgresql.sh b/coin/provisioning/qtci-macos-14-x86_64/25-postgresql.sh new file mode 100755 index 00000000..06cae6ef --- /dev/null +++ b/coin/provisioning/qtci-macos-14-x86_64/25-postgresql.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 + +BASEDIR=$(dirname "$0") +"$BASEDIR/../common/macos/postgresql.sh" diff --git a/coin/provisioning/qtci-macos-14-x86_64/25-python2.sh b/coin/provisioning/qtci-macos-14-x86_64/25-python2.sh new file mode 100755 index 00000000..4c88a413 --- /dev/null +++ b/coin/provisioning/qtci-macos-14-x86_64/25-python2.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 + +# shellcheck source=../common/macos/python2.sh +source "${BASH_SOURCE%/*}/../common/macos/python2.sh" diff --git a/coin/provisioning/qtci-macos-14-x86_64/25-python3.sh b/coin/provisioning/qtci-macos-14-x86_64/25-python3.sh new file mode 100755 index 00000000..8fee606c --- /dev/null +++ b/coin/provisioning/qtci-macos-14-x86_64/25-python3.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 + +# shellcheck source=../common/macos/python3.sh +source "${BASH_SOURCE%/*}/../common/macos/python3.sh" diff --git a/coin/provisioning/qtci-macos-14-x86_64/26-freetype.sh b/coin/provisioning/qtci-macos-14-x86_64/26-freetype.sh new file mode 100755 index 00000000..fa0790f8 --- /dev/null +++ b/coin/provisioning/qtci-macos-14-x86_64/26-freetype.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 + +brew install freetype diff --git a/coin/provisioning/qtci-macos-14-x86_64/26-jq.sh b/coin/provisioning/qtci-macos-14-x86_64/26-jq.sh new file mode 100755 index 00000000..4dffcb96 --- /dev/null +++ b/coin/provisioning/qtci-macos-14-x86_64/26-jq.sh @@ -0,0 +1,5 @@ +#!/usr/bin/env bash + +set -ex + +brew install jq diff --git a/coin/provisioning/qtci-macos-14-x86_64/26-ninja.sh b/coin/provisioning/qtci-macos-14-x86_64/26-ninja.sh new file mode 100755 index 00000000..4443eeb4 --- /dev/null +++ b/coin/provisioning/qtci-macos-14-x86_64/26-ninja.sh @@ -0,0 +1,10 @@ +#!/usr/bin/env bash +#Copyright (C) 2023 The Qt Company Ltd +#SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only + +set -ex + +# shellcheck source=../common/macos/ninja.sh +source "${BASH_SOURCE%/*}/../common/macos/ninja.sh" + + diff --git a/coin/provisioning/qtci-macos-14-x86_64/26-odbc.sh b/coin/provisioning/qtci-macos-14-x86_64/26-odbc.sh new file mode 100755 index 00000000..2b6b013a --- /dev/null +++ b/coin/provisioning/qtci-macos-14-x86_64/26-odbc.sh @@ -0,0 +1,9 @@ +#!/usr/bin/env bash +#Copyright (C) 2023 The Qt Company Ltd +#SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only +# Install libiodbc + +set -ex + +BASEDIR=$(dirname "$0") +"$BASEDIR/../common/macos/libiodbc.sh" --with-universal diff --git a/coin/provisioning/qtci-macos-14-x86_64/26-p7zip.sh b/coin/provisioning/qtci-macos-14-x86_64/26-p7zip.sh new file mode 100755 index 00000000..8cdcd0c3 --- /dev/null +++ b/coin/provisioning/qtci-macos-14-x86_64/26-p7zip.sh @@ -0,0 +1,9 @@ +#!/usr/bin/env bash +#Copyright (C) 2023 The Qt Company Ltd +#SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only +# Install 7z to be used from command line + +set -ex + +brew update +brew install p7zip diff --git a/coin/provisioning/qtci-macos-14-x86_64/26-pcre2.sh b/coin/provisioning/qtci-macos-14-x86_64/26-pcre2.sh new file mode 100755 index 00000000..c10d6206 --- /dev/null +++ b/coin/provisioning/qtci-macos-14-x86_64/26-pcre2.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 + +brew install pcre2 diff --git a/coin/provisioning/qtci-macos-14-x86_64/27-libclang.sh b/coin/provisioning/qtci-macos-14-x86_64/27-libclang.sh new file mode 100755 index 00000000..cc025e6e --- /dev/null +++ b/coin/provisioning/qtci-macos-14-x86_64/27-libclang.sh @@ -0,0 +1,9 @@ +#!/usr/bin/env bash +#Copyright (C) 2023 The Qt Company Ltd +#SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only + +set -ex + +BASEDIR=$(dirname "$0") +# There is only one mac package and common script uses it as a default +"$BASEDIR/../common/unix/libclang.sh" diff --git a/coin/provisioning/qtci-macos-14-x86_64/28-libclang-v100-dyn.sh b/coin/provisioning/qtci-macos-14-x86_64/28-libclang-v100-dyn.sh new file mode 100755 index 00000000..d95e7e00 --- /dev/null +++ b/coin/provisioning/qtci-macos-14-x86_64/28-libclang-v100-dyn.sh @@ -0,0 +1,8 @@ +#!/usr/bin/env bash +#Copyright (C) 2023 The Qt Company Ltd +#SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only + +set -ex + +BASEDIR=$(dirname "$0") +"$BASEDIR/../common/unix/libclang-v100-dyn.sh" diff --git a/coin/provisioning/qtci-macos-14-x86_64/29-install-pkgconfig.sh b/coin/provisioning/qtci-macos-14-x86_64/29-install-pkgconfig.sh new file mode 100755 index 00000000..33e11580 --- /dev/null +++ b/coin/provisioning/qtci-macos-14-x86_64/29-install-pkgconfig.sh @@ -0,0 +1,6 @@ +#!/usr/bin/env bash + +set -ex + +BASEDIR=$(dirname "$0") +"$BASEDIR/../common/macos/pkgconfig.sh" diff --git a/coin/provisioning/qtci-macos-14-x86_64/29-libusb.sh b/coin/provisioning/qtci-macos-14-x86_64/29-libusb.sh new file mode 100755 index 00000000..e9e9e238 --- /dev/null +++ b/coin/provisioning/qtci-macos-14-x86_64/29-libusb.sh @@ -0,0 +1,9 @@ +#!/usr/bin/env bash +#Copyright (C) 2023 The Qt Company Ltd +#SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only + +set -ex + +BASEDIR=$(dirname "$0") + +"$BASEDIR/../common/macos/libusb.sh" diff --git a/coin/provisioning/qtci-macos-14-x86_64/30-android.sh b/coin/provisioning/qtci-macos-14-x86_64/30-android.sh new file mode 100755 index 00000000..ddb3aec0 --- /dev/null +++ b/coin/provisioning/qtci-macos-14-x86_64/30-android.sh @@ -0,0 +1,8 @@ +#!/usr/bin/env bash +#Copyright (C) 2023 The Qt Company Ltd +#SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only + +set -ex + +# shellcheck source=../common/macos/android.sh +source "${BASH_SOURCE%/*}/../common/macos/android.sh" diff --git a/coin/provisioning/qtci-macos-14-x86_64/30-fbx.sh b/coin/provisioning/qtci-macos-14-x86_64/30-fbx.sh new file mode 100755 index 00000000..e991bc08 --- /dev/null +++ b/coin/provisioning/qtci-macos-14-x86_64/30-fbx.sh @@ -0,0 +1,9 @@ +#!/usr/bin/env bash +#Copyright (C) 2023 The Qt Company Ltd +#SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only + +set -ex + +BASEDIR=$(dirname "$0") +"$BASEDIR/../common/macos/fbx_macos.sh" + diff --git a/coin/provisioning/qtci-macos-14-x86_64/30-install-conan.sh b/coin/provisioning/qtci-macos-14-x86_64/30-install-conan.sh new file mode 100755 index 00000000..8d90ef37 --- /dev/null +++ b/coin/provisioning/qtci-macos-14-x86_64/30-install-conan.sh @@ -0,0 +1,8 @@ +#!/usr/bin/env bash +#Copyright (C) 2023 The Qt Company Ltd +#SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only + +set -ex + +BASEDIR=$(dirname "$0") +"$BASEDIR/../common/unix/install-conan.sh" "macos" diff --git a/coin/provisioning/qtci-macos-14-x86_64/30-nodejs.sh b/coin/provisioning/qtci-macos-14-x86_64/30-nodejs.sh new file mode 100755 index 00000000..a5cf7d4d --- /dev/null +++ b/coin/provisioning/qtci-macos-14-x86_64/30-nodejs.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 + +BASEDIR=$(dirname "$0") +"$BASEDIR/../common/macos/nodejs.sh" diff --git a/coin/provisioning/qtci-macos-14-x86_64/35-install-breakpad.sh b/coin/provisioning/qtci-macos-14-x86_64/35-install-breakpad.sh new file mode 100755 index 00000000..8a9dde56 --- /dev/null +++ b/coin/provisioning/qtci-macos-14-x86_64/35-install-breakpad.sh @@ -0,0 +1,8 @@ +#!/usr/bin/env bash +#Copyright (C) 2023 The Qt Company Ltd +#SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only + +set -ex + +# shellcheck source=../common/unix/install-breakpad.sh +source "${BASH_SOURCE%/*}/../common/unix/install-breakpad.sh" diff --git a/coin/provisioning/qtci-macos-14-x86_64/35-install_protobuf.sh b/coin/provisioning/qtci-macos-14-x86_64/35-install_protobuf.sh new file mode 100755 index 00000000..b0761374 --- /dev/null +++ b/coin/provisioning/qtci-macos-14-x86_64/35-install_protobuf.sh @@ -0,0 +1,9 @@ +#!/usr/bin/env bash +# Copyright (C) 2023 The Qt Company Ltd. +# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only + +set -ex + +# shellcheck source=../common/unix/install_protobuf.sh +source "${BASH_SOURCE%/*}/../common/unix/install_protobuf.sh" + diff --git a/coin/provisioning/qtci-macos-14-x86_64/35-openssl.sh b/coin/provisioning/qtci-macos-14-x86_64/35-openssl.sh new file mode 100755 index 00000000..c86788db --- /dev/null +++ b/coin/provisioning/qtci-macos-14-x86_64/35-openssl.sh @@ -0,0 +1,9 @@ +#!/usr/bin/env bash +#Copyright (C) 2023 The Qt Company Ltd +#SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only + +set -ex + +# shellcheck source=../common/unix/install-openssl.sh +source "${BASH_SOURCE%/*}/../common/unix/install-openssl.sh" "macos-universal" + diff --git a/coin/provisioning/qtci-macos-14-x86_64/36-emsdk.sh b/coin/provisioning/qtci-macos-14-x86_64/36-emsdk.sh new file mode 100755 index 00000000..c8aec444 --- /dev/null +++ b/coin/provisioning/qtci-macos-14-x86_64/36-emsdk.sh @@ -0,0 +1,8 @@ +#!/usr/bin/env bash +#Copyright (C) 2023 The Qt Company Ltd +#SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only + +set -ex + +# shellcheck source=../common/unix/emsdk.sh +source "${BASH_SOURCE%/*}/../common/unix/emsdk.sh" diff --git a/coin/provisioning/qtci-macos-14-x86_64/50-openssl_for_android_darwin.sh b/coin/provisioning/qtci-macos-14-x86_64/50-openssl_for_android_darwin.sh new file mode 100755 index 00000000..8cb78e85 --- /dev/null +++ b/coin/provisioning/qtci-macos-14-x86_64/50-openssl_for_android_darwin.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 + +# shellcheck source=../common/unix/openssl_for_android.sh +source "${BASH_SOURCE%/*}/../common/unix/openssl_for_android.sh" diff --git a/coin/provisioning/qtci-macos-14-x86_64/80-screenresolution.sh b/coin/provisioning/qtci-macos-14-x86_64/80-screenresolution.sh new file mode 100755 index 00000000..ed905a33 --- /dev/null +++ b/coin/provisioning/qtci-macos-14-x86_64/80-screenresolution.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 + +"$(dirname "$0")"/../common/macos/screenresolution.sh + diff --git a/coin/provisioning/qtci-macos-14-x86_64/81-bluetooth.sh b/coin/provisioning/qtci-macos-14-x86_64/81-bluetooth.sh new file mode 100755 index 00000000..c58b9a34 --- /dev/null +++ b/coin/provisioning/qtci-macos-14-x86_64/81-bluetooth.sh @@ -0,0 +1,10 @@ +#!/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 + +brew install blueutil + +#Disable Bluetooth +blueutil -p 0 diff --git a/coin/provisioning/qtci-macos-14-x86_64/90-install-ffmpeg.sh b/coin/provisioning/qtci-macos-14-x86_64/90-install-ffmpeg.sh new file mode 100755 index 00000000..23cb13e1 --- /dev/null +++ b/coin/provisioning/qtci-macos-14-x86_64/90-install-ffmpeg.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 + +source "${BASH_SOURCE%/*}/../common/unix/install-ffmpeg.sh" "macos-universal" diff --git a/coin/provisioning/qtci-macos-14-x86_64/90-squish.sh b/coin/provisioning/qtci-macos-14-x86_64/90-squish.sh new file mode 100755 index 00000000..c2658d0e --- /dev/null +++ b/coin/provisioning/qtci-macos-14-x86_64/90-squish.sh @@ -0,0 +1,8 @@ +#!/usr/bin/env bash +#Copyright (C) 2023 The Qt Company Ltd +#SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only +set -ex + +BASEDIR=$(dirname "$0") +"$BASEDIR/../common/unix/squishInstall.sh" + diff --git a/coin/provisioning/qtci-macos-14-x86_64/90-vlc.sh b/coin/provisioning/qtci-macos-14-x86_64/90-vlc.sh new file mode 100644 index 00000000..4924fe5c --- /dev/null +++ b/coin/provisioning/qtci-macos-14-x86_64/90-vlc.sh @@ -0,0 +1,8 @@ +#!/usr/bin/env bash +#Copyright (C) 2023 The Qt Company Ltd +#SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only + +set -ex + +# for QtMM streaming tests +brew install --cask vlc diff --git a/coin/provisioning/qtci-macos-14-x86_64/97-set-locale.sh b/coin/provisioning/qtci-macos-14-x86_64/97-set-locale.sh new file mode 100755 index 00000000..4ac0fd13 --- /dev/null +++ b/coin/provisioning/qtci-macos-14-x86_64/97-set-locale.sh @@ -0,0 +1,8 @@ +#!/usr/bin/env bash +#Copyright (C) 2023 The Qt Company Ltd +#SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only + +set -ex + +BASEDIR=$(dirname "$0") +"$BASEDIR"/../common/macos/set-locale.sh diff --git a/coin/provisioning/qtci-macos-14-x86_64/98-mimersql.sh b/coin/provisioning/qtci-macos-14-x86_64/98-mimersql.sh new file mode 100755 index 00000000..70d5bc1d --- /dev/null +++ b/coin/provisioning/qtci-macos-14-x86_64/98-mimersql.sh @@ -0,0 +1,5 @@ +#!/usr/bin/env bash +set -ex + +BASEDIR=$(dirname "$0") +"$BASEDIR/../common/macos/mimersql.sh" "macos-universal" diff --git a/coin/provisioning/qtci-macos-14-x86_64/99-mac-version.sh b/coin/provisioning/qtci-macos-14-x86_64/99-mac-version.sh new file mode 100755 index 00000000..d145d1e9 --- /dev/null +++ b/coin/provisioning/qtci-macos-14-x86_64/99-mac-version.sh @@ -0,0 +1,8 @@ +#!/usr/bin/env bash +#Copyright (C) 2023 The Qt Company Ltd +#SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only + +set -ex + +BASEDIR=$(dirname "$0") +"$BASEDIR"/../common/macos/macos-version.sh diff --git a/coin/provisioning/qtci-windows-10-x86/00-disable-netadapterlso.ps1 b/coin/provisioning/qtci-windows-10-x86/00-disable-netadapterlso.ps1 index 36fff06e..d20f1402 100644 --- a/coin/provisioning/qtci-windows-10-x86/00-disable-netadapterlso.ps1 +++ b/coin/provisioning/qtci-windows-10-x86/00-disable-netadapterlso.ps1 @@ -1,2 +1 @@ -Disable-NetAdapterLso Ethernet -Start-Sleep -s 15 # Give windows some time to adjust network settings +. "$PSScriptRoot\..\common\windows\disable-netadapterlso.ps1" 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/05-msvc.ps1 b/coin/provisioning/qtci-windows-10-x86/05-msvc.ps1 index 3f554a4b..a83ddea4 100644 --- a/coin/provisioning/qtci-windows-10-x86/05-msvc.ps1 +++ b/coin/provisioning/qtci-windows-10-x86/05-msvc.ps1 @@ -1,41 +1,5 @@ -############################################################################# -## -## Copyright (C) 2017 The Qt Company Ltd. -## Contact: https://www.qt.io/licensing/ -## -## This file is part of the provisioning scripts of the Qt Toolkit. -## -## $QT_BEGIN_LICENSE:LGPL$ -## Commercial License Usage -## Licensees holding valid commercial Qt licenses may use this file in -## accordance with the commercial license agreement provided with the -## Software or, alternatively, in accordance with the terms contained in -## a written agreement between you and The Qt Company. For licensing terms -## and conditions see https://www.qt.io/terms-conditions. For further -## information use the contact form at https://www.qt.io/contact-us. -## -## GNU Lesser General Public License Usage -## Alternatively, this file may be used under the terms of the GNU Lesser -## General Public License version 3 as published by the Free Software -## Foundation and appearing in the file LICENSE.LGPL3 included in the -## packaging of this file. Please review the following information to -## ensure the GNU Lesser General Public License version 3 requirements -## will be met: https://www.gnu.org/licenses/lgpl-3.0.html. -## -## GNU General Public License Usage -## Alternatively, this file may be used under the terms of the GNU -## General Public License version 2.0 or (at your option) the GNU General -## Public license version 3 or any later version approved by the KDE Free -## Qt Foundation. The licenses are as published by the Free Software -## Foundation and appearing in the file LICENSE.GPL2 and LICENSE.GPL3 -## included in the packaging of this file. Please review the following -## information to ensure the GNU General Public License requirements will -## be met: https://www.gnu.org/licenses/gpl-2.0.html and -## https://www.gnu.org/licenses/gpl-3.0.html. -## -## $QT_END_LICENSE$ -## -############################################################################# +# Copyright (C) 2017 The Qt Company Ltd. +# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only # Visual Studios are pre-provisioned to tier1 images diff --git a/coin/provisioning/qtci-windows-10-x86/06-longpath.ps1 b/coin/provisioning/qtci-windows-10-x86/06-longpath.ps1 new file mode 100644 index 00000000..6561d57b --- /dev/null +++ b/coin/provisioning/qtci-windows-10-x86/06-longpath.ps1 @@ -0,0 +1,2 @@ +. "$PSScriptRoot\..\common\windows\longpath.ps1" + diff --git a/coin/provisioning/qtci-windows-10-x86/09-install-openssh.ps1 b/coin/provisioning/qtci-windows-10-x86/09-install-openssh.ps1 new file mode 100644 index 00000000..9de844da --- /dev/null +++ b/coin/provisioning/qtci-windows-10-x86/09-install-openssh.ps1 @@ -0,0 +1 @@ +. "$PSScriptRoot\..\common\windows\install-openssh.ps1" diff --git a/coin/provisioning/qtci-windows-10-x86/90-signing-tools.ps1 b/coin/provisioning/qtci-windows-10-x86/90-signing-tools.ps1 index a1c04177..fbd8c52f 100644 --- a/coin/provisioning/qtci-windows-10-x86/90-signing-tools.ps1 +++ b/coin/provisioning/qtci-windows-10-x86/90-signing-tools.ps1 @@ -1,48 +1,12 @@ -############################################################################# -## -## Copyright (C) 2017 The Qt Company Ltd. -## Copyright (C) 2017 Pelagicore AG -## Contact: https://www.qt.io/licensing/ -## -## This file is part of the provisioning scripts of the Qt Toolkit. -## -## $QT_BEGIN_LICENSE:LGPL$ -## Commercial License Usage -## Licensees holding valid commercial Qt licenses may use this file in -## accordance with the commercial license agreement provided with the -## Software or, alternatively, in accordance with the terms contained in -## a written agreement between you and The Qt Company. For licensing terms -## and conditions see https://www.qt.io/terms-conditions. For further -## information use the contact form at https://www.qt.io/contact-us. -## -## GNU Lesser General Public License Usage -## Alternatively, this file may be used under the terms of the GNU Lesser -## General Public License version 3 as published by the Free Software -## Foundation and appearing in the file LICENSE.LGPL3 included in the -## packaging of this file. Please review the following information to -## ensure the GNU Lesser General Public License version 3 requirements -## will be met: https://www.gnu.org/licenses/lgpl-3.0.html. -## -## GNU General Public License Usage -## Alternatively, this file may be used under the terms of the GNU -## General Public License version 2.0 or (at your option) the GNU General -## Public license version 3 or any later version approved by the KDE Free -## Qt Foundation. The licenses are as published by the Free Software -## Foundation and appearing in the file LICENSE.GPL2 and LICENSE.GPL3 -## included in the packaging of this file. Please review the following -## information to ensure the GNU General Public License requirements will -## be met: https://www.gnu.org/licenses/gpl-2.0.html and -## https://www.gnu.org/licenses/gpl-3.0.html. -## -## $QT_END_LICENSE$ -## -############################################################################# +# Copyright (C) 2017 The Qt Company Ltd. +# Copyright (C) 2017 Pelagicore AG +# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only . "$PSScriptRoot\..\common\windows\helpers.ps1" # Signing tools are needed to sign offline installers when releasing -$url = "http://ci-files01-hki.intra.qt.io/input/semisecure/sign/sign.zip" +$url = "http://ci-files01-hki.ci.qt.io/input/semisecure/sign/sign.zip" $destination = "C:\Windows\temp\sign.zip" Download $url $url $destination diff --git a/coin/provisioning/qtci-windows-10-x86/99-share-test-folders.ps1 b/coin/provisioning/qtci-windows-10-x86/99-share-test-folders.ps1 new file mode 100644 index 00000000..576fcfdc --- /dev/null +++ b/coin/provisioning/qtci-windows-10-x86/99-share-test-folders.ps1 @@ -0,0 +1 @@ +. "$PSScriptRoot\..\common\windows\share-test-folders.ps1" diff --git a/coin/provisioning/qtci-windows-10-x86_64/01-change-resolution.ps1 b/coin/provisioning/qtci-windows-10-x86_64/01-change-resolution.ps1 index 679769a8..c1e73a62 100644 --- a/coin/provisioning/qtci-windows-10-x86_64/01-change-resolution.ps1 +++ b/coin/provisioning/qtci-windows-10-x86_64/01-change-resolution.ps1 @@ -22,4 +22,7 @@ Function ChangeResolution { 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-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-x86_64/06-longpath.ps1 b/coin/provisioning/qtci-windows-10-x86_64/06-longpath.ps1 new file mode 100644 index 00000000..6561d57b --- /dev/null +++ b/coin/provisioning/qtci-windows-10-x86_64/06-longpath.ps1 @@ -0,0 +1,2 @@ +. "$PSScriptRoot\..\common\windows\longpath.ps1" + diff --git a/coin/provisioning/qtci-windows-10-x86_64/09-install-mingw1120_64.ps1 b/coin/provisioning/qtci-windows-10-x86_64/09-install-mingw1120_64.ps1 index d6aaa064..e23cec73 100644 --- a/coin/provisioning/qtci-windows-10-x86_64/09-install-mingw1120_64.ps1 +++ b/coin/provisioning/qtci-windows-10-x86_64/09-install-mingw1120_64.ps1 @@ -3,9 +3,9 @@ # This script will install 64-bit MinGW 11.2.0 # Note! MinGW version is 9.0.0 but the GCC version is 11.2 which is used with the naming of MinGW -$release = "MinGW-w64-x86_64-11.2.0-release-posix-seh-rt_v9-rev1" +$release = "MinGW-w64-x86_64-11.2.0-release-posix-seh-rt_v9-rev3" -$sha1 = "76bbfd135633d3d414e06cd7bf70cae94d2311db" +$sha1 = "50174112ceca6f9fe42debbedda54ce6e9187302" InstallMinGW $release $sha1 diff --git a/coin/provisioning/qtci-windows-10-x86_64/09-install-openssh.ps1 b/coin/provisioning/qtci-windows-10-x86_64/09-install-openssh.ps1 new file mode 100644 index 00000000..9de844da --- /dev/null +++ b/coin/provisioning/qtci-windows-10-x86_64/09-install-openssh.ps1 @@ -0,0 +1 @@ +. "$PSScriptRoot\..\common\windows\install-openssh.ps1" diff --git a/coin/provisioning/qtci-windows-10-x86_64/25-llvm-mingw.ps1 b/coin/provisioning/qtci-windows-10-x86_64/25-llvm-mingw.ps1 index 0bf07481..adc2c506 100644 --- a/coin/provisioning/qtci-windows-10-x86_64/25-llvm-mingw.ps1 +++ b/coin/provisioning/qtci-windows-10-x86_64/25-llvm-mingw.ps1 @@ -1,55 +1,19 @@ -############################################################################# -## -## Copyright (C) 2021 The Qt Company Ltd. -## Contact: https://www.qt.io/licensing/ -## -## This file is part of the provisioning scripts of the Qt Toolkit. -## -## $QT_BEGIN_LICENSE:LGPL$ -## Commercial License Usage -## Licensees holding valid commercial Qt licenses may use this file in -## accordance with the commercial license agreement provided with the -## Software or, alternatively, in accordance with the terms contained in -## a written agreement between you and The Qt Company. For licensing terms -## and conditions see https://www.qt.io/terms-conditions. For further -## information use the contact form at https://www.qt.io/contact-us. -## -## GNU Lesser General Public License Usage -## Alternatively, this file may be used under the terms of the GNU Lesser -## General Public License version 3 as published by the Free Software -## Foundation and appearing in the file LICENSE.LGPL3 included in the -## packaging of this file. Please review the following information to -## ensure the GNU Lesser General Public License version 3 requirements -## will be met: https://www.gnu.org/licenses/lgpl-3.0.html. -## -## GNU General Public License Usage -## Alternatively, this file may be used under the terms of the GNU -## General Public License version 2.0 or (at your option) the GNU General -## Public license version 3 or any later version approved by the KDE Free -## Qt Foundation. The licenses are as published by the Free Software -## Foundation and appearing in the file LICENSE.GPL2 and LICENSE.GPL3 -## included in the packaging of this file. Please review the following -## information to ensure the GNU General Public License requirements will -## be met: https://www.gnu.org/licenses/gpl-2.0.html and -## https://www.gnu.org/licenses/gpl-3.0.html. -## -## $QT_END_LICENSE$ -## -############################################################################# +# 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 . "$PSScriptRoot\..\common\windows\helpers.ps1" # This script installs LLVM-Mingw by mstorsjo -$zip = Get-DownloadLocation "llvm-mingw-20211002-ucrt-x86_64.zip" -$url_cache = "http://ci-files01-hki.intra.qt.io/input/windows/llvm-mingw-20211002-ucrt-x86_64.zip" -$url_official = "https://github.com/mstorsjo/llvm-mingw/releases/download/20211002/llvm-mingw-20211002-ucrt-x86_64.zip" +$zip = Get-DownloadLocation "llvm-mingw-20220906-ucrt-x86_64.zip" +$url_cache = "http://ci-files01-hki.ci.qt.io/input/windows/llvm-mingw-20220906-ucrt-x86_64.zip" +$url_official = "https://github.com/mstorsjo/llvm-mingw/releases/download/20220906/llvm-mingw-20220906-ucrt-x86_64.zip" Download $url_official $url_cache $zip -Verify-Checksum $zip "69907fa281552f795f28438ab69f8c7032c8d20e" +Verify-Checksum $zip "51ff525eefa4f5db905cc7b4c8b56079c3baed65" Extract-7Zip $zip C:\ -Rename-Item C:\llvm-mingw-20211002-ucrt-x86_64 C:\llvm-mingw +Rename-Item C:\llvm-mingw-20220906-ucrt-x86_64 C:\llvm-mingw -Write-Output "llvm-mingw = 13.0.0" >> ~/versions.txt +Write-Output "llvm-mingw = 15.0.0" >> ~/versions.txt Remove-Item -Path $zip diff --git a/coin/provisioning/qtci-windows-10-x86_64/90-install-ffmpeg.ps1 b/coin/provisioning/qtci-windows-10-x86_64/90-install-ffmpeg.ps1 new file mode 100644 index 00000000..e16f634c --- /dev/null +++ b/coin/provisioning/qtci-windows-10-x86_64/90-install-ffmpeg.ps1 @@ -0,0 +1,2 @@ +. "$PSScriptRoot\..\common\windows\install-ffmpeg.ps1" + diff --git a/coin/provisioning/qtci-windows-10-x86_64/90-install-virtualbox.ps1 b/coin/provisioning/qtci-windows-10-x86_64/90-install-virtualbox.ps1 index fc4ce546..bf14fd23 100644 --- a/coin/provisioning/qtci-windows-10-x86_64/90-install-virtualbox.ps1 +++ b/coin/provisioning/qtci-windows-10-x86_64/90-install-virtualbox.ps1 @@ -1,41 +1,5 @@ -############################################################################ -## -## Copyright (C) 2017 The Qt Company Ltd. -## Contact: https://www.qt.io/licensing/ -## -## This file is part of the provisioning scripts of the Qt Toolkit. -## -## $QT_BEGIN_LICENSE:LGPL$ -## Commercial License Usage -## Licensees holding valid commercial Qt licenses may use this file in -## accordance with the commercial license agreement provided with the -## Software or, alternatively, in accordance with the terms contained in -## a written agreement between you and The Qt Company. For licensing terms -## and conditions see https://www.qt.io/terms-conditions. For further -## information use the contact form at https://www.qt.io/contact-us. -## -## GNU Lesser General Public License Usage -## Alternatively, this file may be used under the terms of the GNU Lesser -## General Public License version 3 as published by the Free Software -## Foundation and appearing in the file LICENSE.LGPL3 included in the -## packaging of this file. Please review the following information to -## ensure the GNU Lesser General Public License version 3 requirements -## will be met: https://www.gnu.org/licenses/lgpl-3.0.html. -## -## GNU General Public License Usage -## Alternatively, this file may be used under the terms of the GNU -## General Public License version 2.0 or (at your option) the GNU General -## Public license version 3 or any later version approved by the KDE Free -## Qt Foundation. The licenses are as published by the Free Software -## Foundation and appearing in the file LICENSE.GPL2 and LICENSE.GPL3 -## included in the packaging of this file. Please review the following -## information to ensure the GNU General Public License requirements will -## be met: https://www.gnu.org/licenses/gpl-2.0.html and -## https://www.gnu.org/licenses/gpl-3.0.html. -## -## $QT_END_LICENSE$ -## -############################################################################# +# 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 . "$PSScriptRoot\..\common\windows\helpers.ps1" @@ -43,7 +7,7 @@ $version = "5.2.4" $sha1 = "71df4474a5e94918728b62d1f6bc036674ef0e96" -$url_cache = "\\ci-files01-hki.intra.qt.io\provisioning\windows\VirtualBox-" + $version + "-119785-Win.exe" +$url_cache = "\\ci-files01-hki.ci.qt.io\provisioning\windows\VirtualBox-" + $version + "-119785-Win.exe" $url_official = "http://download.virtualbox.org/virtualbox/" + $version + "/VirtualBox-" + $version + "-119785-Win.exe" $virtualboxPackage = "C:\Windows\Temp\virtualbox-$version.exe" diff --git a/coin/provisioning/qtci-windows-10-x86_64/90-mimersql.ps1 b/coin/provisioning/qtci-windows-10-x86_64/90-mimersql.ps1 new file mode 100644 index 00000000..576dd9d2 --- /dev/null +++ b/coin/provisioning/qtci-windows-10-x86_64/90-mimersql.ps1 @@ -0,0 +1 @@ +. "$PSScriptRoot\..\common\windows\mimersql.ps1" diff --git a/coin/provisioning/qtci-windows-10-x86_64/92-install-protobuf.ps1 b/coin/provisioning/qtci-windows-10-x86_64/92-install-protobuf.ps1 deleted file mode 100644 index 8bcdf3fa..00000000 --- a/coin/provisioning/qtci-windows-10-x86_64/92-install-protobuf.ps1 +++ /dev/null @@ -1,2 +0,0 @@ -. "$PSScriptRoot\..\common\windows\install-protobuf.ps1" - diff --git a/coin/provisioning/qtci-windows-10-x86_64/92-protobuf.ps1 b/coin/provisioning/qtci-windows-10-x86_64/92-protobuf.ps1 new file mode 100644 index 00000000..c455bce7 --- /dev/null +++ b/coin/provisioning/qtci-windows-10-x86_64/92-protobuf.ps1 @@ -0,0 +1,2 @@ +. "$PSScriptRoot\..\common\windows\protobuf.ps1" + diff --git a/coin/provisioning/qtci-windows-10-x86_64/98-disable-windows-module-installer.ps1 b/coin/provisioning/qtci-windows-10-x86_64/96-disable-windows-module-installer.ps1 index fb8ec541..fb8ec541 100644 --- a/coin/provisioning/qtci-windows-10-x86_64/98-disable-windows-module-installer.ps1 +++ b/coin/provisioning/qtci-windows-10-x86_64/96-disable-windows-module-installer.ps1 diff --git a/coin/provisioning/qtci-windows-10-x86_64/97-msvc2015.ps1 b/coin/provisioning/qtci-windows-10-x86_64/97-msvc2015.ps1 new file mode 100644 index 00000000..2f458f75 --- /dev/null +++ b/coin/provisioning/qtci-windows-10-x86_64/97-msvc2015.ps1 @@ -0,0 +1,10 @@ +# 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 + +# Visual Studios are pre-provisioned to tier1 images + +# MSVC 2015 Update 3 +Write-Output "Visual Studio 2015 = Version 14.0.25420.1 Update 3" >> ~\versions.txt + +# MSVC 2019 and Build Tools are pre-provisioned, but the updating happens with "$PSScriptRoot\..\common\windows\update-msvc2019.ps1" + diff --git a/coin/provisioning/qtci-windows-10-x86_64/97-msvc2019.ps1 b/coin/provisioning/qtci-windows-10-x86_64/97-msvc2019.ps1 new file mode 100644 index 00000000..96f0a2d3 --- /dev/null +++ b/coin/provisioning/qtci-windows-10-x86_64/97-msvc2019.ps1 @@ -0,0 +1,6 @@ +# 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 + +# MSVC 2019 and Build Tools are pre-provisioned, but the updating happens with: +. "$PSScriptRoot\..\common\windows\update-msvc2019.ps1" + diff --git a/coin/provisioning/qtci-windows-10-x86_64/99-unset-proxy.ps1 b/coin/provisioning/qtci-windows-10-x86_64/98-unset-proxy.ps1 index 0c25a0fb..0c25a0fb 100644 --- a/coin/provisioning/qtci-windows-10-x86_64/99-unset-proxy.ps1 +++ b/coin/provisioning/qtci-windows-10-x86_64/98-unset-proxy.ps1 diff --git a/coin/provisioning/qtci-windows-10-x86_64/99-msvc2015.ps1 b/coin/provisioning/qtci-windows-10-x86_64/99-msvc2015.ps1 deleted file mode 100644 index 5ecf031e..00000000 --- a/coin/provisioning/qtci-windows-10-x86_64/99-msvc2015.ps1 +++ /dev/null @@ -1,46 +0,0 @@ -############################################################################# -## -## Copyright (C) 2020 The Qt Company Ltd. -## Contact: https://www.qt.io/licensing/ -## -## This file is part of the provisioning scripts of the Qt Toolkit. -## -## $QT_BEGIN_LICENSE:LGPL$ -## Commercial License Usage -## Licensees holding valid commercial Qt licenses may use this file in -## accordance with the commercial license agreement provided with the -## Software or, alternatively, in accordance with the terms contained in -## a written agreement between you and The Qt Company. For licensing terms -## and conditions see https://www.qt.io/terms-conditions. For further -## information use the contact form at https://www.qt.io/contact-us. -## -## GNU Lesser General Public License Usage -## Alternatively, this file may be used under the terms of the GNU Lesser -## General Public License version 3 as published by the Free Software -## Foundation and appearing in the file LICENSE.LGPL3 included in the -## packaging of this file. Please review the following information to -## ensure the GNU Lesser General Public License version 3 requirements -## will be met: https://www.gnu.org/licenses/lgpl-3.0.html. -## -## GNU General Public License Usage -## Alternatively, this file may be used under the terms of the GNU -## General Public License version 2.0 or (at your option) the GNU General -## Public license version 3 or any later version approved by the KDE Free -## Qt Foundation. The licenses are as published by the Free Software -## Foundation and appearing in the file LICENSE.GPL2 and LICENSE.GPL3 -## included in the packaging of this file. Please review the following -## information to ensure the GNU General Public License requirements will -## be met: https://www.gnu.org/licenses/gpl-2.0.html and -## https://www.gnu.org/licenses/gpl-3.0.html. -## -## $QT_END_LICENSE$ -## -############################################################################# - -# Visual Studios are pre-provisioned to tier1 images - -# MSVC 2015 Update 3 -Write-Output "Visual Studio 2015 = Version 14.0.25420.1 Update 3" >> ~\versions.txt - -# MSVC 2019 and Build Tools are pre-provisioned, but the updating happens with "$PSScriptRoot\..\common\windows\update-msvc2019.ps1" - diff --git a/coin/provisioning/qtci-windows-10-x86_64/99-msvc2019.ps1 b/coin/provisioning/qtci-windows-10-x86_64/99-msvc2019.ps1 deleted file mode 100644 index 4f048086..00000000 --- a/coin/provisioning/qtci-windows-10-x86_64/99-msvc2019.ps1 +++ /dev/null @@ -1,42 +0,0 @@ -############################################################################# -## -## Copyright (C) 2020 The Qt Company Ltd. -## Contact: https://www.qt.io/licensing/ -## -## This file is part of the provisioning scripts of the Qt Toolkit. -## -## $QT_BEGIN_LICENSE:LGPL$ -## Commercial License Usage -## Licensees holding valid commercial Qt licenses may use this file in -## accordance with the commercial license agreement provided with the -## Software or, alternatively, in accordance with the terms contained in -## a written agreement between you and The Qt Company. For licensing terms -## and conditions see https://www.qt.io/terms-conditions. For further -## information use the contact form at https://www.qt.io/contact-us. -## -## GNU Lesser General Public License Usage -## Alternatively, this file may be used under the terms of the GNU Lesser -## General Public License version 3 as published by the Free Software -## Foundation and appearing in the file LICENSE.LGPL3 included in the -## packaging of this file. Please review the following information to -## ensure the GNU Lesser General Public License version 3 requirements -## will be met: https://www.gnu.org/licenses/lgpl-3.0.html. -## -## GNU General Public License Usage -## Alternatively, this file may be used under the terms of the GNU -## General Public License version 2.0 or (at your option) the GNU General -## Public license version 3 or any later version approved by the KDE Free -## Qt Foundation. The licenses are as published by the Free Software -## Foundation and appearing in the file LICENSE.GPL2 and LICENSE.GPL3 -## included in the packaging of this file. Please review the following -## information to ensure the GNU General Public License requirements will -## be met: https://www.gnu.org/licenses/gpl-2.0.html and -## https://www.gnu.org/licenses/gpl-3.0.html. -## -## $QT_END_LICENSE$ -## -############################################################################# - -# MSVC 2019 and Build Tools are pre-provisioned, but the updating happens with: -. "$PSScriptRoot\..\common\windows\update-msvc2019.ps1" - diff --git a/coin/provisioning/qtci-windows-10-x86_64/99-share-test-folders.ps1 b/coin/provisioning/qtci-windows-10-x86_64/99-share-test-folders.ps1 new file mode 100644 index 00000000..576fcfdc --- /dev/null +++ b/coin/provisioning/qtci-windows-10-x86_64/99-share-test-folders.ps1 @@ -0,0 +1 @@ +. "$PSScriptRoot\..\common\windows\share-test-folders.ps1" diff --git a/coin/provisioning/qtci-windows-10_21H2-x86_64/01-change-resolution.ps1 b/coin/provisioning/qtci-windows-10_21H2-x86_64/01-change-resolution.ps1 index 679769a8..c1e73a62 100644 --- a/coin/provisioning/qtci-windows-10_21H2-x86_64/01-change-resolution.ps1 +++ b/coin/provisioning/qtci-windows-10_21H2-x86_64/01-change-resolution.ps1 @@ -22,4 +22,7 @@ Function ChangeResolution { 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-10_21H2-x86_64/01-mount-vcpkg-cache-drive.ps1 b/coin/provisioning/qtci-windows-10_21H2-x86_64/01-mount-vcpkg-cache-drive.ps1 new file mode 100644 index 00000000..97dbd7d6 --- /dev/null +++ b/coin/provisioning/qtci-windows-10_21H2-x86_64/01-mount-vcpkg-cache-drive.ps1 @@ -0,0 +1 @@ +. "$PSScriptRoot\..\common\windows\mount-vcpkg-cache-drive.ps1" diff --git a/coin/provisioning/qtci-windows-10_21H2-x86_64/01-msvc2019.ps1 b/coin/provisioning/qtci-windows-10_21H2-x86_64/01-msvc2019.ps1 new file mode 100644 index 00000000..53136f18 --- /dev/null +++ b/coin/provisioning/qtci-windows-10_21H2-x86_64/01-msvc2019.ps1 @@ -0,0 +1,6 @@ +# 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 + +# MSVC 2019 and Build Tools are pre-provisioned, but the updating happens with: +. "$PSScriptRoot\..\common\windows\update-msvc2019.ps1" + 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_21H2-x86_64/06-longpath.ps1 b/coin/provisioning/qtci-windows-10_21H2-x86_64/06-longpath.ps1 new file mode 100644 index 00000000..6561d57b --- /dev/null +++ b/coin/provisioning/qtci-windows-10_21H2-x86_64/06-longpath.ps1 @@ -0,0 +1,2 @@ +. "$PSScriptRoot\..\common\windows\longpath.ps1" + diff --git a/coin/provisioning/qtci-windows-10_21H2-x86_64/08-install-jq.ps1 b/coin/provisioning/qtci-windows-10_21H2-x86_64/08-install-jq.ps1 new file mode 100644 index 00000000..18fa568a --- /dev/null +++ b/coin/provisioning/qtci-windows-10_21H2-x86_64/08-install-jq.ps1 @@ -0,0 +1 @@ +. "$PSScriptRoot\..\common\windows\install-jq.ps1" diff --git a/coin/provisioning/qtci-windows-10_21H2-x86_64/08-python3.ps1 b/coin/provisioning/qtci-windows-10_21H2-x86_64/08-python3.ps1 index 401a5ada..78598946 100644 --- a/coin/provisioning/qtci-windows-10_21H2-x86_64/08-python3.ps1 +++ b/coin/provisioning/qtci-windows-10_21H2-x86_64/08-python3.ps1 @@ -5,8 +5,7 @@ # - version # - Optional true/false if set as default with PYTHON3/PIP3_PATH variables, default false -. "$PSScriptRoot\..\common\windows\python3.ps1" 64 "a8ac14ee5486547caf84abdf151be22d9d069c0a" "C:\Python38_64" "3.8.1" -. "$PSScriptRoot\..\common\windows\python3.ps1" 32 "14ff2c2e5538b03a012cb4c9d519d970444ebd42" "C:\Python38_32" "3.8.1" +. "$PSScriptRoot\..\common\windows\python3.ps1" 64 "3ee4e92a8ef94c70fb56859503fdc805d217d689" "C:\Python310_64" "3.10.0" # default ones -. "$PSScriptRoot\..\common\windows\python3.ps1" 64 "bcf9bda733a9153811209c62d628c41ab6cedbe2" "C:\Python36" "3.6.2" $true -. "$PSScriptRoot\..\common\windows\python3.ps1" 32 "cd9744b142eca832f9534390676e6cfb84bf655d" "C:\Python36_32" "3.6.2" $true +. "$PSScriptRoot\..\common\windows\python3.ps1" 64 "a8ac14ee5486547caf84abdf151be22d9d069c0a" "C:\Python38_64" "3.8.1" $true +. "$PSScriptRoot\..\common\windows\python3.ps1" 32 "14ff2c2e5538b03a012cb4c9d519d970444ebd42" "C:\Python38_32" "3.8.1" $true diff --git a/coin/provisioning/qtci-windows-10_21H2-x86_64/09-install-mingw1120_64.ps1 b/coin/provisioning/qtci-windows-10_21H2-x86_64/09-install-mingw1120_64.ps1 index d6aaa064..e23cec73 100644 --- a/coin/provisioning/qtci-windows-10_21H2-x86_64/09-install-mingw1120_64.ps1 +++ b/coin/provisioning/qtci-windows-10_21H2-x86_64/09-install-mingw1120_64.ps1 @@ -3,9 +3,9 @@ # This script will install 64-bit MinGW 11.2.0 # Note! MinGW version is 9.0.0 but the GCC version is 11.2 which is used with the naming of MinGW -$release = "MinGW-w64-x86_64-11.2.0-release-posix-seh-rt_v9-rev1" +$release = "MinGW-w64-x86_64-11.2.0-release-posix-seh-rt_v9-rev3" -$sha1 = "76bbfd135633d3d414e06cd7bf70cae94d2311db" +$sha1 = "50174112ceca6f9fe42debbedda54ce6e9187302" InstallMinGW $release $sha1 diff --git a/coin/provisioning/qtci-windows-10_21H2-x86_64/09-openssl-arm64.ps1 b/coin/provisioning/qtci-windows-10_21H2-x86_64/09-openssl-arm64.ps1 new file mode 100644 index 00000000..c1bbf271 --- /dev/null +++ b/coin/provisioning/qtci-windows-10_21H2-x86_64/09-openssl-arm64.ps1 @@ -0,0 +1 @@ +. "$PSScriptRoot\..\common\windows\openssl-arm64.ps1" diff --git a/coin/provisioning/qtci-windows-10_21H2-x86_64/25-llvm-mingw.ps1 b/coin/provisioning/qtci-windows-10_21H2-x86_64/25-llvm-mingw.ps1 index cf730147..8912f952 100644 --- a/coin/provisioning/qtci-windows-10_21H2-x86_64/25-llvm-mingw.ps1 +++ b/coin/provisioning/qtci-windows-10_21H2-x86_64/25-llvm-mingw.ps1 @@ -1,61 +1,20 @@ -############################################################################# -## -## Copyright (C) 2021 The Qt Company Ltd. -## Contact: https://www.qt.io/licensing/ -## -## This file is part of the provisioning scripts of the Qt Toolkit. -## -## $QT_BEGIN_LICENSE:LGPL$ -## Commercial License Usage -## Licensees holding valid commercial Qt licenses may use this file in -## accordance with the commercial license agreement provided with the -## Software or, alternatively, in accordance with the terms contained in -## a written agreement between you and The Qt Company. For licensing terms -## and conditions see https://www.qt.io/terms-conditions. For further -## information use the contact form at https://www.qt.io/contact-us. -## -## GNU Lesser General Public License Usage -## Alternatively, this file may be used under the terms of the GNU Lesser -## General Public License version 3 as published by the Free Software -## Foundation and appearing in the file LICENSE.LGPL3 included in the -## packaging of this file. Please review the following information to -## ensure the GNU Lesser General Public License version 3 requirements -## will be met: https://www.gnu.org/licenses/lgpl-3.0.html. -## -## GNU General Public License Usage -## Alternatively, this file may be used under the terms of the GNU -## General Public License version 2.0 or (at your option) the GNU General -## Public license version 3 or any later version approved by the KDE Free -## Qt Foundation. The licenses are as published by the Free Software -## Foundation and appearing in the file LICENSE.GPL2 and LICENSE.GPL3 -## included in the packaging of this file. Please review the following -## information to ensure the GNU General Public License requirements will -## be met: https://www.gnu.org/licenses/gpl-2.0.html and -## https://www.gnu.org/licenses/gpl-3.0.html. -## -## $QT_END_LICENSE$ -## -############################################################################# +# 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 . "$PSScriptRoot\..\common\windows\helpers.ps1" # This script installs LLVM-Mingw by mstorsjo +# https://github.com/mstorsjo/llvm-mingw/releases/tag/20220906 -$zip = Get-DownloadLocation "llvm-mingw-20210423-ucrt-x86_64.zip" -$url_cache = "http://ci-files01-hki.intra.qt.io/input/windows/llvm-mingw-20210423-ucrt-x86_64.zip" -$url_official = "https://github.com/mstorsjo/llvm-mingw/releases/download/20210423/llvm-mingw-20210423-ucrt-x86_64.zip" +$zip = Get-DownloadLocation "llvm-mingw-20220906-ucrt-x86_64.zip" +$url_cache = "http://ci-files01-hki.ci.qt.io/input/windows/llvm-mingw-20220906-ucrt-x86_64.zip" +$url_official = "https://github.com/mstorsjo/llvm-mingw/releases/download/20220906/llvm-mingw-20220906-ucrt-x86_64.zip" Download $url_official $url_cache $zip -Verify-Checksum $zip "da9fb1e4a74747b6c410240cec0d488e428fd338" +Verify-Checksum $zip "51ff525eefa4f5db905cc7b4c8b56079c3baed65" Extract-7Zip $zip C:\ -Rename-Item C:\llvm-mingw-20210423-ucrt-x86_64 C:\llvm-mingw +Rename-Item C:\llvm-mingw-20220906-ucrt-x86_64 C:\llvm-mingw -# Due to https://github.com/mstorsjo/llvm-mingw/issues/199 -Remove-Item C:\llvm-mingw\aarch64-w64-mingw32\lib\libc++.dll.a -Remove-Item C:\llvm-mingw\x86_64-w64-mingw32\lib\libc++.dll.a -Remove-Item C:\llvm-mingw\armv7-w64-mingw32\lib\libc++.dll.a -Remove-Item C:\llvm-mingw\i686-w64-mingw32\lib\libc++.dll.a - -Write-Output "llvm-mingw = 12" >> ~/versions.txt +Write-Output "llvm-mingw = 15.0.0" >> ~/versions.txt Remove-Item -Path $zip diff --git a/coin/provisioning/qtci-windows-10_21H2-x86_64/40-qnx710.ps1 b/coin/provisioning/qtci-windows-10_21H2-x86_64/40-qnx710.ps1 new file mode 100644 index 00000000..826cc5b2 --- /dev/null +++ b/coin/provisioning/qtci-windows-10_21H2-x86_64/40-qnx710.ps1 @@ -0,0 +1 @@ +. "$PSScriptRoot\..\common\windows\qnx710.ps1" diff --git a/coin/provisioning/qtci-windows-10_21H2-x86_64/90-install-ffmpeg.ps1 b/coin/provisioning/qtci-windows-10_21H2-x86_64/90-install-ffmpeg.ps1 new file mode 100644 index 00000000..e16f634c --- /dev/null +++ b/coin/provisioning/qtci-windows-10_21H2-x86_64/90-install-ffmpeg.ps1 @@ -0,0 +1,2 @@ +. "$PSScriptRoot\..\common\windows\install-ffmpeg.ps1" + diff --git a/coin/provisioning/qtci-windows-10_21H2-x86_64/90-install-virtualbox.ps1 b/coin/provisioning/qtci-windows-10_21H2-x86_64/90-install-virtualbox.ps1 index fc4ce546..bf14fd23 100644 --- a/coin/provisioning/qtci-windows-10_21H2-x86_64/90-install-virtualbox.ps1 +++ b/coin/provisioning/qtci-windows-10_21H2-x86_64/90-install-virtualbox.ps1 @@ -1,41 +1,5 @@ -############################################################################ -## -## Copyright (C) 2017 The Qt Company Ltd. -## Contact: https://www.qt.io/licensing/ -## -## This file is part of the provisioning scripts of the Qt Toolkit. -## -## $QT_BEGIN_LICENSE:LGPL$ -## Commercial License Usage -## Licensees holding valid commercial Qt licenses may use this file in -## accordance with the commercial license agreement provided with the -## Software or, alternatively, in accordance with the terms contained in -## a written agreement between you and The Qt Company. For licensing terms -## and conditions see https://www.qt.io/terms-conditions. For further -## information use the contact form at https://www.qt.io/contact-us. -## -## GNU Lesser General Public License Usage -## Alternatively, this file may be used under the terms of the GNU Lesser -## General Public License version 3 as published by the Free Software -## Foundation and appearing in the file LICENSE.LGPL3 included in the -## packaging of this file. Please review the following information to -## ensure the GNU Lesser General Public License version 3 requirements -## will be met: https://www.gnu.org/licenses/lgpl-3.0.html. -## -## GNU General Public License Usage -## Alternatively, this file may be used under the terms of the GNU -## General Public License version 2.0 or (at your option) the GNU General -## Public license version 3 or any later version approved by the KDE Free -## Qt Foundation. The licenses are as published by the Free Software -## Foundation and appearing in the file LICENSE.GPL2 and LICENSE.GPL3 -## included in the packaging of this file. Please review the following -## information to ensure the GNU General Public License requirements will -## be met: https://www.gnu.org/licenses/gpl-2.0.html and -## https://www.gnu.org/licenses/gpl-3.0.html. -## -## $QT_END_LICENSE$ -## -############################################################################# +# 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 . "$PSScriptRoot\..\common\windows\helpers.ps1" @@ -43,7 +7,7 @@ $version = "5.2.4" $sha1 = "71df4474a5e94918728b62d1f6bc036674ef0e96" -$url_cache = "\\ci-files01-hki.intra.qt.io\provisioning\windows\VirtualBox-" + $version + "-119785-Win.exe" +$url_cache = "\\ci-files01-hki.ci.qt.io\provisioning\windows\VirtualBox-" + $version + "-119785-Win.exe" $url_official = "http://download.virtualbox.org/virtualbox/" + $version + "/VirtualBox-" + $version + "-119785-Win.exe" $virtualboxPackage = "C:\Windows\Temp\virtualbox-$version.exe" diff --git a/coin/provisioning/qtci-windows-10_21H2-x86_64/90-mimersql.ps1 b/coin/provisioning/qtci-windows-10_21H2-x86_64/90-mimersql.ps1 new file mode 100644 index 00000000..576dd9d2 --- /dev/null +++ b/coin/provisioning/qtci-windows-10_21H2-x86_64/90-mimersql.ps1 @@ -0,0 +1 @@ +. "$PSScriptRoot\..\common\windows\mimersql.ps1" diff --git a/coin/provisioning/qtci-windows-10_21H2-x86_64/90-python-modules.ps1 b/coin/provisioning/qtci-windows-10_21H2-x86_64/90-python-modules.ps1 index 3646d826..80ab54dc 100644 --- a/coin/provisioning/qtci-windows-10_21H2-x86_64/90-python-modules.ps1 +++ b/coin/provisioning/qtci-windows-10_21H2-x86_64/90-python-modules.ps1 @@ -1,3 +1,4 @@ +. "$PSScriptRoot\..\common\windows\helpers.ps1" # Needed by packaging scripts -C:\Python36\Scripts\pip3 install bs4 -C:\Python36\Scripts\pip3 install sh +$scriptsPath = [System.Environment]::GetEnvironmentVariable('PIP3_PATH', [System.EnvironmentVariableTarget]::Machine) +Run-Executable "$scriptsPath\pip3.exe" "install bs4" diff --git a/coin/provisioning/qtci-windows-10_21H2-x86_64/92-install-protobuf.ps1 b/coin/provisioning/qtci-windows-10_21H2-x86_64/92-install-protobuf.ps1 deleted file mode 100644 index 8bcdf3fa..00000000 --- a/coin/provisioning/qtci-windows-10_21H2-x86_64/92-install-protobuf.ps1 +++ /dev/null @@ -1,2 +0,0 @@ -. "$PSScriptRoot\..\common\windows\install-protobuf.ps1" - diff --git a/coin/provisioning/qtci-windows-10_21H2-x86_64/92-protobuf.ps1 b/coin/provisioning/qtci-windows-10_21H2-x86_64/92-protobuf.ps1 new file mode 100644 index 00000000..c455bce7 --- /dev/null +++ b/coin/provisioning/qtci-windows-10_21H2-x86_64/92-protobuf.ps1 @@ -0,0 +1,2 @@ +. "$PSScriptRoot\..\common\windows\protobuf.ps1" + diff --git a/coin/provisioning/qtci-windows-10_21H2-x86_64/93-grpc.ps1 b/coin/provisioning/qtci-windows-10_21H2-x86_64/93-grpc.ps1 new file mode 100644 index 00000000..7d0b471d --- /dev/null +++ b/coin/provisioning/qtci-windows-10_21H2-x86_64/93-grpc.ps1 @@ -0,0 +1 @@ +. "$PSScriptRoot\..\common\windows\grpc.ps1" diff --git a/coin/provisioning/qtci-windows-10_21H2-x86_64/93-install-vcpkg.ps1 b/coin/provisioning/qtci-windows-10_21H2-x86_64/93-install-vcpkg.ps1 new file mode 100644 index 00000000..3c360de9 --- /dev/null +++ b/coin/provisioning/qtci-windows-10_21H2-x86_64/93-install-vcpkg.ps1 @@ -0,0 +1 @@ +. "$PSScriptRoot\..\common\windows\install-vcpkg.ps1" diff --git a/coin/provisioning/qtci-windows-10_21H2-x86_64/94-install-vcpkg-ports.ps1 b/coin/provisioning/qtci-windows-10_21H2-x86_64/94-install-vcpkg-ports.ps1 new file mode 100644 index 00000000..1dd657bc --- /dev/null +++ b/coin/provisioning/qtci-windows-10_21H2-x86_64/94-install-vcpkg-ports.ps1 @@ -0,0 +1 @@ +. "$PSScriptRoot\..\common\windows\install-vcpkg-ports.ps1" diff --git a/coin/provisioning/qtci-windows-10_21H2-x86_64/98-disable-windows-module-installer.ps1 b/coin/provisioning/qtci-windows-10_21H2-x86_64/96-disable-windows-module-installer.ps1 index fb8ec541..fb8ec541 100644 --- a/coin/provisioning/qtci-windows-10_21H2-x86_64/98-disable-windows-module-installer.ps1 +++ b/coin/provisioning/qtci-windows-10_21H2-x86_64/96-disable-windows-module-installer.ps1 diff --git a/coin/provisioning/qtci-windows-10_21H2-x86_64/97-msvc2015.ps1 b/coin/provisioning/qtci-windows-10_21H2-x86_64/97-msvc2015.ps1 new file mode 100644 index 00000000..2c1735d0 --- /dev/null +++ b/coin/provisioning/qtci-windows-10_21H2-x86_64/97-msvc2015.ps1 @@ -0,0 +1,10 @@ +# 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 + +# Visual Studios are pre-provisioned to tier1 images + +# MSVC 2015 Update 3 +Write-Output "Visual Studio 2015 = Version 14.0.25431.01 Update 3" >> ~\versions.txt + +# MSVC 2019 and Build Tools are pre-provisioned, but the updating happens with "$PSScriptRoot\..\common\windows\update-msvc2019.ps1" + diff --git a/coin/provisioning/qtci-windows-10_21H2-x86_64/99-unset-proxy.ps1 b/coin/provisioning/qtci-windows-10_21H2-x86_64/98-unset-proxy.ps1 index 0c25a0fb..0c25a0fb 100644 --- a/coin/provisioning/qtci-windows-10_21H2-x86_64/99-unset-proxy.ps1 +++ b/coin/provisioning/qtci-windows-10_21H2-x86_64/98-unset-proxy.ps1 diff --git a/coin/provisioning/qtci-windows-10_21H2-x86_64/99-msvc2015.ps1 b/coin/provisioning/qtci-windows-10_21H2-x86_64/99-msvc2015.ps1 deleted file mode 100644 index 8b955d83..00000000 --- a/coin/provisioning/qtci-windows-10_21H2-x86_64/99-msvc2015.ps1 +++ /dev/null @@ -1,46 +0,0 @@ -############################################################################# -## -## Copyright (C) 2021 The Qt Company Ltd. -## Contact: https://www.qt.io/licensing/ -## -## This file is part of the provisioning scripts of the Qt Toolkit. -## -## $QT_BEGIN_LICENSE:LGPL$ -## Commercial License Usage -## Licensees holding valid commercial Qt licenses may use this file in -## accordance with the commercial license agreement provided with the -## Software or, alternatively, in accordance with the terms contained in -## a written agreement between you and The Qt Company. For licensing terms -## and conditions see https://www.qt.io/terms-conditions. For further -## information use the contact form at https://www.qt.io/contact-us. -## -## GNU Lesser General Public License Usage -## Alternatively, this file may be used under the terms of the GNU Lesser -## General Public License version 3 as published by the Free Software -## Foundation and appearing in the file LICENSE.LGPL3 included in the -## packaging of this file. Please review the following information to -## ensure the GNU Lesser General Public License version 3 requirements -## will be met: https://www.gnu.org/licenses/lgpl-3.0.html. -## -## GNU General Public License Usage -## Alternatively, this file may be used under the terms of the GNU -## General Public License version 2.0 or (at your option) the GNU General -## Public license version 3 or any later version approved by the KDE Free -## Qt Foundation. The licenses are as published by the Free Software -## Foundation and appearing in the file LICENSE.GPL2 and LICENSE.GPL3 -## included in the packaging of this file. Please review the following -## information to ensure the GNU General Public License requirements will -## be met: https://www.gnu.org/licenses/gpl-2.0.html and -## https://www.gnu.org/licenses/gpl-3.0.html. -## -## $QT_END_LICENSE$ -## -############################################################################# - -# Visual Studios are pre-provisioned to tier1 images - -# MSVC 2015 Update 3 -Write-Output "Visual Studio 2015 = Version 14.0.25431.01 Update 3" >> ~\versions.txt - -# MSVC 2019 and Build Tools are pre-provisioned, but the updating happens with "$PSScriptRoot\..\common\windows\update-msvc2019.ps1" - diff --git a/coin/provisioning/qtci-windows-10_21H2-x86_64/99-msvc2019.ps1 b/coin/provisioning/qtci-windows-10_21H2-x86_64/99-msvc2019.ps1 deleted file mode 100644 index 4f048086..00000000 --- a/coin/provisioning/qtci-windows-10_21H2-x86_64/99-msvc2019.ps1 +++ /dev/null @@ -1,42 +0,0 @@ -############################################################################# -## -## Copyright (C) 2020 The Qt Company Ltd. -## Contact: https://www.qt.io/licensing/ -## -## This file is part of the provisioning scripts of the Qt Toolkit. -## -## $QT_BEGIN_LICENSE:LGPL$ -## Commercial License Usage -## Licensees holding valid commercial Qt licenses may use this file in -## accordance with the commercial license agreement provided with the -## Software or, alternatively, in accordance with the terms contained in -## a written agreement between you and The Qt Company. For licensing terms -## and conditions see https://www.qt.io/terms-conditions. For further -## information use the contact form at https://www.qt.io/contact-us. -## -## GNU Lesser General Public License Usage -## Alternatively, this file may be used under the terms of the GNU Lesser -## General Public License version 3 as published by the Free Software -## Foundation and appearing in the file LICENSE.LGPL3 included in the -## packaging of this file. Please review the following information to -## ensure the GNU Lesser General Public License version 3 requirements -## will be met: https://www.gnu.org/licenses/lgpl-3.0.html. -## -## GNU General Public License Usage -## Alternatively, this file may be used under the terms of the GNU -## General Public License version 2.0 or (at your option) the GNU General -## Public license version 3 or any later version approved by the KDE Free -## Qt Foundation. The licenses are as published by the Free Software -## Foundation and appearing in the file LICENSE.GPL2 and LICENSE.GPL3 -## included in the packaging of this file. Please review the following -## information to ensure the GNU General Public License requirements will -## be met: https://www.gnu.org/licenses/gpl-2.0.html and -## https://www.gnu.org/licenses/gpl-3.0.html. -## -## $QT_END_LICENSE$ -## -############################################################################# - -# MSVC 2019 and Build Tools are pre-provisioned, but the updating happens with: -. "$PSScriptRoot\..\common\windows\update-msvc2019.ps1" - diff --git a/coin/provisioning/qtci-windows-10_21H2-x86_64/99-share-test-folders.ps1 b/coin/provisioning/qtci-windows-10_21H2-x86_64/99-share-test-folders.ps1 new file mode 100644 index 00000000..576fcfdc --- /dev/null +++ b/coin/provisioning/qtci-windows-10_21H2-x86_64/99-share-test-folders.ps1 @@ -0,0 +1 @@ +. "$PSScriptRoot\..\common\windows\share-test-folders.ps1" diff --git a/coin/provisioning/qtci-windows-10_22H2-x86_64/00-disable-netadapterlso.ps1 b/coin/provisioning/qtci-windows-10_22H2-x86_64/00-disable-netadapterlso.ps1 new file mode 100644 index 00000000..d20f1402 --- /dev/null +++ b/coin/provisioning/qtci-windows-10_22H2-x86_64/00-disable-netadapterlso.ps1 @@ -0,0 +1 @@ +. "$PSScriptRoot\..\common\windows\disable-netadapterlso.ps1" diff --git a/coin/provisioning/qtci-windows-10_22H2-x86_64/00-install-sevenzip.ps1 b/coin/provisioning/qtci-windows-10_22H2-x86_64/00-install-sevenzip.ps1 new file mode 100644 index 00000000..a9044256 --- /dev/null +++ b/coin/provisioning/qtci-windows-10_22H2-x86_64/00-install-sevenzip.ps1 @@ -0,0 +1 @@ +. "$PSScriptRoot\..\common\windows\install-sevenzip.ps1" diff --git a/coin/provisioning/qtci-windows-10_22H2-x86_64/01-allow-remote-desktop-access.ps1 b/coin/provisioning/qtci-windows-10_22H2-x86_64/01-allow-remote-desktop-access.ps1 new file mode 100644 index 00000000..af05e838 --- /dev/null +++ b/coin/provisioning/qtci-windows-10_22H2-x86_64/01-allow-remote-desktop-access.ps1 @@ -0,0 +1 @@ +. "$PSScriptRoot\..\common\windows\allow-remote-desktop-access.ps1" diff --git a/coin/provisioning/qtci-windows-10_22H2-x86_64/01-change-resolution.ps1 b/coin/provisioning/qtci-windows-10_22H2-x86_64/01-change-resolution.ps1 new file mode 100644 index 00000000..c1e73a62 --- /dev/null +++ b/coin/provisioning/qtci-windows-10_22H2-x86_64/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-10_22H2-x86_64/01-disable-notifications.ps1 b/coin/provisioning/qtci-windows-10_22H2-x86_64/01-disable-notifications.ps1 new file mode 100644 index 00000000..ada20147 --- /dev/null +++ b/coin/provisioning/qtci-windows-10_22H2-x86_64/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-10_22H2-x86_64/01-disable-runtimebroker.ps1 b/coin/provisioning/qtci-windows-10_22H2-x86_64/01-disable-runtimebroker.ps1 new file mode 100644 index 00000000..8ae8190d --- /dev/null +++ b/coin/provisioning/qtci-windows-10_22H2-x86_64/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-10_22H2-x86_64/01-disable-windows-telemetry.ps1 b/coin/provisioning/qtci-windows-10_22H2-x86_64/01-disable-windows-telemetry.ps1 new file mode 100644 index 00000000..3f5a75f4 --- /dev/null +++ b/coin/provisioning/qtci-windows-10_22H2-x86_64/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-10_22H2-x86_64/01-enable-guest-logon.ps1 b/coin/provisioning/qtci-windows-10_22H2-x86_64/01-enable-guest-logon.ps1 new file mode 100644 index 00000000..3cf989d3 --- /dev/null +++ b/coin/provisioning/qtci-windows-10_22H2-x86_64/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-10_22H2-x86_64/01-install_telegraf.ps1 b/coin/provisioning/qtci-windows-10_22H2-x86_64/01-install_telegraf.ps1 new file mode 100644 index 00000000..77fa8cbf --- /dev/null +++ b/coin/provisioning/qtci-windows-10_22H2-x86_64/01-install_telegraf.ps1 @@ -0,0 +1 @@ +. "$PSScriptRoot\..\common\windows\install_telegraf.ps1" diff --git a/coin/provisioning/qtci-windows-10_22H2-x86_64/01-mount-vcpkg-cache-drive.ps1 b/coin/provisioning/qtci-windows-10_22H2-x86_64/01-mount-vcpkg-cache-drive.ps1 new file mode 100644 index 00000000..97dbd7d6 --- /dev/null +++ b/coin/provisioning/qtci-windows-10_22H2-x86_64/01-mount-vcpkg-cache-drive.ps1 @@ -0,0 +1 @@ +. "$PSScriptRoot\..\common\windows\mount-vcpkg-cache-drive.ps1" diff --git a/coin/provisioning/qtci-windows-10_22H2-x86_64/01-set-proxy.ps1 b/coin/provisioning/qtci-windows-10_22H2-x86_64/01-set-proxy.ps1 new file mode 100644 index 00000000..13b1ec60 --- /dev/null +++ b/coin/provisioning/qtci-windows-10_22H2-x86_64/01-set-proxy.ps1 @@ -0,0 +1 @@ +. "$PSScriptRoot\..\common\windows\set-proxy.ps1" diff --git a/coin/provisioning/qtci-windows-10_22H2-x86_64/02-disable-autoreboot.ps1 b/coin/provisioning/qtci-windows-10_22H2-x86_64/02-disable-autoreboot.ps1 new file mode 100644 index 00000000..73430b76 --- /dev/null +++ b/coin/provisioning/qtci-windows-10_22H2-x86_64/02-disable-autoreboot.ps1 @@ -0,0 +1 @@ +. "$PSScriptRoot\..\common\windows\disable-autoreboot.ps1" diff --git a/coin/provisioning/qtci-windows-10_22H2-x86_64/02-disable-sleep.ps1 b/coin/provisioning/qtci-windows-10_22H2-x86_64/02-disable-sleep.ps1 new file mode 100644 index 00000000..5bf811ef --- /dev/null +++ b/coin/provisioning/qtci-windows-10_22H2-x86_64/02-disable-sleep.ps1 @@ -0,0 +1 @@ +. "$PSScriptRoot\..\common\windows\disable-sleep.ps1" diff --git a/coin/provisioning/qtci-windows-10_22H2-x86_64/03-nodejs.ps1 b/coin/provisioning/qtci-windows-10_22H2-x86_64/03-nodejs.ps1 new file mode 100644 index 00000000..6032e945 --- /dev/null +++ b/coin/provisioning/qtci-windows-10_22H2-x86_64/03-nodejs.ps1 @@ -0,0 +1 @@ +. "$PSScriptRoot\..\common\windows\nodejs.ps1" diff --git a/coin/provisioning/qtci-windows-10_22H2-x86_64/04-msys.ps1 b/coin/provisioning/qtci-windows-10_22H2-x86_64/04-msys.ps1 new file mode 100644 index 00000000..44efea92 --- /dev/null +++ b/coin/provisioning/qtci-windows-10_22H2-x86_64/04-msys.ps1 @@ -0,0 +1 @@ +. "$PSScriptRoot\..\common\windows\msys.ps1" diff --git a/coin/provisioning/qtci-windows-10_22H2-x86_64/05-enable-devmode.ps1 b/coin/provisioning/qtci-windows-10_22H2-x86_64/05-enable-devmode.ps1 new file mode 100644 index 00000000..01e6f8b0 --- /dev/null +++ b/coin/provisioning/qtci-windows-10_22H2-x86_64/05-enable-devmode.ps1 @@ -0,0 +1 @@ +. "$PSScriptRoot\..\common\windows\win10-enable-devmode.ps1" diff --git a/coin/provisioning/qtci-windows-10_22H2-x86_64/05-wsearch-off.ps1 b/coin/provisioning/qtci-windows-10_22H2-x86_64/05-wsearch-off.ps1 new file mode 100644 index 00000000..eed6b734 --- /dev/null +++ b/coin/provisioning/qtci-windows-10_22H2-x86_64/05-wsearch-off.ps1 @@ -0,0 +1 @@ +. "$PSScriptRoot\..\common\windows\wsearch-off.ps1" diff --git a/coin/provisioning/qtci-windows-10_22H2-x86_64/06-longpath.ps1 b/coin/provisioning/qtci-windows-10_22H2-x86_64/06-longpath.ps1 new file mode 100644 index 00000000..6561d57b --- /dev/null +++ b/coin/provisioning/qtci-windows-10_22H2-x86_64/06-longpath.ps1 @@ -0,0 +1,2 @@ +. "$PSScriptRoot\..\common\windows\longpath.ps1" + diff --git a/coin/provisioning/qtci-windows-10_22H2-x86_64/06-mesa_llvmpipe.ps1 b/coin/provisioning/qtci-windows-10_22H2-x86_64/06-mesa_llvmpipe.ps1 new file mode 100644 index 00000000..1b1a07e9 --- /dev/null +++ b/coin/provisioning/qtci-windows-10_22H2-x86_64/06-mesa_llvmpipe.ps1 @@ -0,0 +1 @@ +. "$PSScriptRoot\..\common\windows\mesa_llvmpipe.ps1" diff --git a/coin/provisioning/qtci-windows-10_22H2-x86_64/06-ninja.ps1 b/coin/provisioning/qtci-windows-10_22H2-x86_64/06-ninja.ps1 new file mode 100644 index 00000000..ba571a1e --- /dev/null +++ b/coin/provisioning/qtci-windows-10_22H2-x86_64/06-ninja.ps1 @@ -0,0 +1 @@ +. "$PSScriptRoot\..\common\windows\ninja.ps1" diff --git a/coin/provisioning/qtci-windows-10_22H2-x86_64/08-install-git.ps1 b/coin/provisioning/qtci-windows-10_22H2-x86_64/08-install-git.ps1 new file mode 100644 index 00000000..38106de7 --- /dev/null +++ b/coin/provisioning/qtci-windows-10_22H2-x86_64/08-install-git.ps1 @@ -0,0 +1 @@ +. "$PSScriptRoot\..\common\windows\install-git.ps1" diff --git a/coin/provisioning/qtci-windows-10_22H2-x86_64/08-install-jdk.ps1 b/coin/provisioning/qtci-windows-10_22H2-x86_64/08-install-jdk.ps1 new file mode 100644 index 00000000..15065b55 --- /dev/null +++ b/coin/provisioning/qtci-windows-10_22H2-x86_64/08-install-jdk.ps1 @@ -0,0 +1 @@ +. "$PSScriptRoot\..\common\windows\install-jdk.ps1" diff --git a/coin/provisioning/qtci-windows-10_22H2-x86_64/08-install-jq.ps1 b/coin/provisioning/qtci-windows-10_22H2-x86_64/08-install-jq.ps1 new file mode 100644 index 00000000..18fa568a --- /dev/null +++ b/coin/provisioning/qtci-windows-10_22H2-x86_64/08-install-jq.ps1 @@ -0,0 +1 @@ +. "$PSScriptRoot\..\common\windows\install-jq.ps1" diff --git a/coin/provisioning/qtci-windows-10_22H2-x86_64/08-libclang-v100-dyn.ps1 b/coin/provisioning/qtci-windows-10_22H2-x86_64/08-libclang-v100-dyn.ps1 new file mode 100644 index 00000000..82b91257 --- /dev/null +++ b/coin/provisioning/qtci-windows-10_22H2-x86_64/08-libclang-v100-dyn.ps1 @@ -0,0 +1,2 @@ +. "$PSScriptRoot\..\common\windows\libclang-v100-dyn.ps1" 64 vs2019 +. "$PSScriptRoot\..\common\windows\libclang-v100-dyn.ps1" 32 vs2019 diff --git a/coin/provisioning/qtci-windows-10_22H2-x86_64/08-libclang.ps1 b/coin/provisioning/qtci-windows-10_22H2-x86_64/08-libclang.ps1 new file mode 100644 index 00000000..7681f01a --- /dev/null +++ b/coin/provisioning/qtci-windows-10_22H2-x86_64/08-libclang.ps1 @@ -0,0 +1,3 @@ +# Do not set the default LLVM_INSTALL_DIR for mingw, leave it with msvc for compat +. "$PSScriptRoot\..\common\windows\libclang.ps1" 64 mingw $False +. "$PSScriptRoot\..\common\windows\libclang.ps1" 64 vs2019 diff --git a/coin/provisioning/qtci-windows-10_22H2-x86_64/08-python3.ps1 b/coin/provisioning/qtci-windows-10_22H2-x86_64/08-python3.ps1 new file mode 100644 index 00000000..78598946 --- /dev/null +++ b/coin/provisioning/qtci-windows-10_22H2-x86_64/08-python3.ps1 @@ -0,0 +1,11 @@ +# Parameters: +# - Arch 32/64 +# - installer sha1 +# - install target dir +# - version +# - Optional true/false if set as default with PYTHON3/PIP3_PATH variables, default false + +. "$PSScriptRoot\..\common\windows\python3.ps1" 64 "3ee4e92a8ef94c70fb56859503fdc805d217d689" "C:\Python310_64" "3.10.0" +# default ones +. "$PSScriptRoot\..\common\windows\python3.ps1" 64 "a8ac14ee5486547caf84abdf151be22d9d069c0a" "C:\Python38_64" "3.8.1" $true +. "$PSScriptRoot\..\common\windows\python3.ps1" 32 "14ff2c2e5538b03a012cb4c9d519d970444ebd42" "C:\Python38_32" "3.8.1" $true diff --git a/coin/provisioning/qtci-windows-10_22H2-x86_64/09-install-dependencywalker.ps1 b/coin/provisioning/qtci-windows-10_22H2-x86_64/09-install-dependencywalker.ps1 new file mode 100644 index 00000000..331de489 --- /dev/null +++ b/coin/provisioning/qtci-windows-10_22H2-x86_64/09-install-dependencywalker.ps1 @@ -0,0 +1 @@ +. "$PSScriptRoot\..\common\windows\install-dependencywalker.ps1" diff --git a/coin/provisioning/qtci-windows-10_22H2-x86_64/09-install-mingw1310_64.ps1 b/coin/provisioning/qtci-windows-10_22H2-x86_64/09-install-mingw1310_64.ps1 new file mode 100644 index 00000000..ef8e0a50 --- /dev/null +++ b/coin/provisioning/qtci-windows-10_22H2-x86_64/09-install-mingw1310_64.ps1 @@ -0,0 +1,11 @@ +. "$PSScriptRoot\..\common\windows\install-mingw.ps1" + +# This script will install 64-bit MinGW 13.1.0 +# Note! MinGW version is 9.0.0 but the GCC version is 13.1 which is used with the naming of MinGW + +$release = "MinGW-w64-x86_64-13.1.0-release-posix-seh-msvcrt-rt_v11-rev1" + +$sha1 = "561db0989c1b2cb73e0ceb27aed3b0ee8cb1db48" + +InstallMinGW $release $sha1 + diff --git a/coin/provisioning/qtci-windows-10_22H2-x86_64/09-install-openssh.ps1 b/coin/provisioning/qtci-windows-10_22H2-x86_64/09-install-openssh.ps1 new file mode 100644 index 00000000..9de844da --- /dev/null +++ b/coin/provisioning/qtci-windows-10_22H2-x86_64/09-install-openssh.ps1 @@ -0,0 +1 @@ +. "$PSScriptRoot\..\common\windows\install-openssh.ps1" diff --git a/coin/provisioning/qtci-windows-10_22H2-x86_64/09-install-ruby.ps1 b/coin/provisioning/qtci-windows-10_22H2-x86_64/09-install-ruby.ps1 new file mode 100644 index 00000000..875b426f --- /dev/null +++ b/coin/provisioning/qtci-windows-10_22H2-x86_64/09-install-ruby.ps1 @@ -0,0 +1 @@ +. "$PSScriptRoot\..\common\windows\install-ruby.ps1" diff --git a/coin/provisioning/qtci-windows-10_22H2-x86_64/09-install-sed.ps1 b/coin/provisioning/qtci-windows-10_22H2-x86_64/09-install-sed.ps1 new file mode 100644 index 00000000..b3c8fded --- /dev/null +++ b/coin/provisioning/qtci-windows-10_22H2-x86_64/09-install-sed.ps1 @@ -0,0 +1 @@ +. "$PSScriptRoot\..\common\windows\install-sed.ps1" diff --git a/coin/provisioning/qtci-windows-10_22H2-x86_64/09-install-strawberry-perl.ps1 b/coin/provisioning/qtci-windows-10_22H2-x86_64/09-install-strawberry-perl.ps1 new file mode 100644 index 00000000..2b5756be --- /dev/null +++ b/coin/provisioning/qtci-windows-10_22H2-x86_64/09-install-strawberry-perl.ps1 @@ -0,0 +1 @@ +. "$PSScriptRoot\..\common\windows\install-strawberry-perl.ps1" diff --git a/coin/provisioning/qtci-windows-10_22H2-x86_64/09-openssl-arm64.ps1 b/coin/provisioning/qtci-windows-10_22H2-x86_64/09-openssl-arm64.ps1 new file mode 100644 index 00000000..c1bbf271 --- /dev/null +++ b/coin/provisioning/qtci-windows-10_22H2-x86_64/09-openssl-arm64.ps1 @@ -0,0 +1 @@ +. "$PSScriptRoot\..\common\windows\openssl-arm64.ps1" diff --git a/coin/provisioning/qtci-windows-10_22H2-x86_64/09-openssl.ps1 b/coin/provisioning/qtci-windows-10_22H2-x86_64/09-openssl.ps1 new file mode 100644 index 00000000..d57ad1cd --- /dev/null +++ b/coin/provisioning/qtci-windows-10_22H2-x86_64/09-openssl.ps1 @@ -0,0 +1 @@ +. "$PSScriptRoot\..\common\windows\openssl.ps1" diff --git a/coin/provisioning/qtci-windows-10_22H2-x86_64/09-set-network-test-server.ps1 b/coin/provisioning/qtci-windows-10_22H2-x86_64/09-set-network-test-server.ps1 new file mode 100644 index 00000000..7918fabf --- /dev/null +++ b/coin/provisioning/qtci-windows-10_22H2-x86_64/09-set-network-test-server.ps1 @@ -0,0 +1 @@ +. "$PSScriptRoot\..\common\windows\set-network-test-server.ps1" diff --git a/coin/provisioning/qtci-windows-10_22H2-x86_64/09-vulkansdk.ps1 b/coin/provisioning/qtci-windows-10_22H2-x86_64/09-vulkansdk.ps1 new file mode 100644 index 00000000..54a3d563 --- /dev/null +++ b/coin/provisioning/qtci-windows-10_22H2-x86_64/09-vulkansdk.ps1 @@ -0,0 +1 @@ +. "$PSScriptRoot\..\common\windows\vulkansdk.ps1" diff --git a/coin/provisioning/qtci-windows-10_22H2-x86_64/10-dxsdk.ps1 b/coin/provisioning/qtci-windows-10_22H2-x86_64/10-dxsdk.ps1 new file mode 100644 index 00000000..155df6b8 --- /dev/null +++ b/coin/provisioning/qtci-windows-10_22H2-x86_64/10-dxsdk.ps1 @@ -0,0 +1 @@ +. "$PSScriptRoot\..\common\windows\dxsdk.ps1" diff --git a/coin/provisioning/qtci-windows-10_22H2-x86_64/10-install-msys2.ps1 b/coin/provisioning/qtci-windows-10_22H2-x86_64/10-install-msys2.ps1 new file mode 100644 index 00000000..be9a3634 --- /dev/null +++ b/coin/provisioning/qtci-windows-10_22H2-x86_64/10-install-msys2.ps1 @@ -0,0 +1 @@ +. "$PSScriptRoot\..\common\windows\install-msys2.ps1" diff --git a/coin/provisioning/qtci-windows-10_22H2-x86_64/11-conan.ps1 b/coin/provisioning/qtci-windows-10_22H2-x86_64/11-conan.ps1 new file mode 100644 index 00000000..6215f9e4 --- /dev/null +++ b/coin/provisioning/qtci-windows-10_22H2-x86_64/11-conan.ps1 @@ -0,0 +1 @@ +. "$PSScriptRoot\..\common\windows\conan.ps1" diff --git a/coin/provisioning/qtci-windows-10_22H2-x86_64/20-install-sccache.ps1 b/coin/provisioning/qtci-windows-10_22H2-x86_64/20-install-sccache.ps1 new file mode 100644 index 00000000..0794bff3 --- /dev/null +++ b/coin/provisioning/qtci-windows-10_22H2-x86_64/20-install-sccache.ps1 @@ -0,0 +1 @@ +. "$PSScriptRoot\..\common\windows\install-sccache.ps1" diff --git a/coin/provisioning/qtci-windows-10_22H2-x86_64/22-mqtt_broker.ps1 b/coin/provisioning/qtci-windows-10_22H2-x86_64/22-mqtt_broker.ps1 new file mode 100644 index 00000000..71deb0d4 --- /dev/null +++ b/coin/provisioning/qtci-windows-10_22H2-x86_64/22-mqtt_broker.ps1 @@ -0,0 +1 @@ +. "$PSScriptRoot\..\common\windows\mqtt_broker.ps1" diff --git a/coin/provisioning/qtci-windows-10_22H2-x86_64/23-winrtrunner.ps1 b/coin/provisioning/qtci-windows-10_22H2-x86_64/23-winrtrunner.ps1 new file mode 100644 index 00000000..078f862e --- /dev/null +++ b/coin/provisioning/qtci-windows-10_22H2-x86_64/23-winrtrunner.ps1 @@ -0,0 +1 @@ +. "$PSScriptRoot\..\common\windows\winrtrunner.ps1" diff --git a/coin/provisioning/qtci-windows-10_22H2-x86_64/25-llvm-mingw.ps1 b/coin/provisioning/qtci-windows-10_22H2-x86_64/25-llvm-mingw.ps1 new file mode 100644 index 00000000..3b84e504 --- /dev/null +++ b/coin/provisioning/qtci-windows-10_22H2-x86_64/25-llvm-mingw.ps1 @@ -0,0 +1,20 @@ +# 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 + +. "$PSScriptRoot\..\common\windows\helpers.ps1" + +# This script installs LLVM-Mingw by mstorsjo +# https://github.com/mstorsjo/llvm-mingw/releases/tag/20220323 + +$zip = Get-DownloadLocation "llvm-mingw-20231017-ucrt-x86_64.zip" +$url_cache = "http://ci-files01-hki.ci.qt.io/input/windows/llvm-mingw-20231017-ucrt-x86_64.zip" +$url_official = "https://github.com/mstorsjo/llvm-mingw/releases/download/20231017/llvm-mingw-20231017-ucrt-x86_64.zip" + +Download $url_official $url_cache $zip +Verify-Checksum $zip "1a39032b5add2f06fe0dfa56d0279b313b974da3" +Extract-7Zip $zip C:\ + +Rename-Item C:\llvm-mingw-20231017-ucrt-x86_64 C:\llvm-mingw + +Write-Output "llvm-mingw = 17.0.3" >> ~/versions.txt +Remove-Item -Path $zip diff --git a/coin/provisioning/qtci-windows-10_22H2-x86_64/29-libusb.ps1 b/coin/provisioning/qtci-windows-10_22H2-x86_64/29-libusb.ps1 new file mode 100644 index 00000000..6035912d --- /dev/null +++ b/coin/provisioning/qtci-windows-10_22H2-x86_64/29-libusb.ps1 @@ -0,0 +1,3 @@ + + +. "$PSScriptRoot\..\common\windows\libusb.ps1" diff --git a/coin/provisioning/qtci-windows-10_22H2-x86_64/30-fbx.ps1 b/coin/provisioning/qtci-windows-10_22H2-x86_64/30-fbx.ps1 new file mode 100644 index 00000000..468b0433 --- /dev/null +++ b/coin/provisioning/qtci-windows-10_22H2-x86_64/30-fbx.ps1 @@ -0,0 +1 @@ +. "$PSScriptRoot\..\common\windows\fbx_windows.ps1" diff --git a/coin/provisioning/qtci-windows-10_22H2-x86_64/35-install-breakpad.ps1 b/coin/provisioning/qtci-windows-10_22H2-x86_64/35-install-breakpad.ps1 new file mode 100644 index 00000000..9360a326 --- /dev/null +++ b/coin/provisioning/qtci-windows-10_22H2-x86_64/35-install-breakpad.ps1 @@ -0,0 +1 @@ +. "$PSScriptRoot\..\common\windows\install-breakpad.ps1" diff --git a/coin/provisioning/qtci-windows-10_22H2-x86_64/36-install-gnuwin32.ps1 b/coin/provisioning/qtci-windows-10_22H2-x86_64/36-install-gnuwin32.ps1 new file mode 100644 index 00000000..0e2abbac --- /dev/null +++ b/coin/provisioning/qtci-windows-10_22H2-x86_64/36-install-gnuwin32.ps1 @@ -0,0 +1,2 @@ +. "$PSScriptRoot\..\common\windows\install-gnuwin32.ps1" + diff --git a/coin/provisioning/qtci-windows-10_22H2-x86_64/40-android.ps1 b/coin/provisioning/qtci-windows-10_22H2-x86_64/40-android.ps1 new file mode 100644 index 00000000..69799974 --- /dev/null +++ b/coin/provisioning/qtci-windows-10_22H2-x86_64/40-android.ps1 @@ -0,0 +1 @@ +. "$PSScriptRoot\..\common\windows\android.ps1" diff --git a/coin/provisioning/qtci-windows-10_22H2-x86_64/40-qnx710.ps1 b/coin/provisioning/qtci-windows-10_22H2-x86_64/40-qnx710.ps1 new file mode 100644 index 00000000..826cc5b2 --- /dev/null +++ b/coin/provisioning/qtci-windows-10_22H2-x86_64/40-qnx710.ps1 @@ -0,0 +1 @@ +. "$PSScriptRoot\..\common\windows\qnx710.ps1" diff --git a/coin/provisioning/qtci-windows-10_22H2-x86_64/50-openssl_for_android.ps1 b/coin/provisioning/qtci-windows-10_22H2-x86_64/50-openssl_for_android.ps1 new file mode 100644 index 00000000..25c6f28a --- /dev/null +++ b/coin/provisioning/qtci-windows-10_22H2-x86_64/50-openssl_for_android.ps1 @@ -0,0 +1 @@ +. "$PSScriptRoot\..\common\windows\android-openssl.ps1" diff --git a/coin/provisioning/qtci-windows-10_22H2-x86_64/60-jom.ps1 b/coin/provisioning/qtci-windows-10_22H2-x86_64/60-jom.ps1 new file mode 100644 index 00000000..b246ce25 --- /dev/null +++ b/coin/provisioning/qtci-windows-10_22H2-x86_64/60-jom.ps1 @@ -0,0 +1 @@ +. "$PSScriptRoot\..\common\windows\jom.ps1" diff --git a/coin/provisioning/qtci-windows-10_22H2-x86_64/70-cmake.ps1 b/coin/provisioning/qtci-windows-10_22H2-x86_64/70-cmake.ps1 new file mode 100644 index 00000000..73dc7bc2 --- /dev/null +++ b/coin/provisioning/qtci-windows-10_22H2-x86_64/70-cmake.ps1 @@ -0,0 +1 @@ +. "$PSScriptRoot\..\common\windows\cmake.ps1" diff --git a/coin/provisioning/qtci-windows-10_22H2-x86_64/79-opcua_unifiedautomation.ps1 b/coin/provisioning/qtci-windows-10_22H2-x86_64/79-opcua_unifiedautomation.ps1 new file mode 100644 index 00000000..e7f14459 --- /dev/null +++ b/coin/provisioning/qtci-windows-10_22H2-x86_64/79-opcua_unifiedautomation.ps1 @@ -0,0 +1 @@ +. "$PSScriptRoot\..\common\windows\opcua_unifiedautomation.ps1" diff --git a/coin/provisioning/qtci-windows-10_22H2-x86_64/80-emsdk.ps1 b/coin/provisioning/qtci-windows-10_22H2-x86_64/80-emsdk.ps1 new file mode 100644 index 00000000..b72470a2 --- /dev/null +++ b/coin/provisioning/qtci-windows-10_22H2-x86_64/80-emsdk.ps1 @@ -0,0 +1,2 @@ +. "$PSScriptRoot\..\common\windows\emsdk.ps1" + diff --git a/coin/provisioning/qtci-windows-10_22H2-x86_64/85-disable_quickedit_powershell.ps1 b/coin/provisioning/qtci-windows-10_22H2-x86_64/85-disable_quickedit_powershell.ps1 new file mode 100644 index 00000000..547e15a8 --- /dev/null +++ b/coin/provisioning/qtci-windows-10_22H2-x86_64/85-disable_quickedit_powershell.ps1 @@ -0,0 +1 @@ +. "$PSScriptRoot\..\common\windows\disable-quickedit.ps1" diff --git a/coin/provisioning/qtci-windows-10_22H2-x86_64/90-3dstudio_3rdparty.ps1 b/coin/provisioning/qtci-windows-10_22H2-x86_64/90-3dstudio_3rdparty.ps1 new file mode 100644 index 00000000..114f52f9 --- /dev/null +++ b/coin/provisioning/qtci-windows-10_22H2-x86_64/90-3dstudio_3rdparty.ps1 @@ -0,0 +1 @@ +. "$PSScriptRoot\..\common\windows\3dstudio_3rdparty.ps1" diff --git a/coin/provisioning/qtci-windows-10_22H2-x86_64/90-exceutequeueditems.ps1 b/coin/provisioning/qtci-windows-10_22H2-x86_64/90-exceutequeueditems.ps1 new file mode 100644 index 00000000..52306fb9 --- /dev/null +++ b/coin/provisioning/qtci-windows-10_22H2-x86_64/90-exceutequeueditems.ps1 @@ -0,0 +1 @@ +. "$PSScriptRoot\..\common\windows\exceutequeueditems.ps1" diff --git a/coin/provisioning/qtci-windows-10_22H2-x86_64/90-install-dotnet.ps1 b/coin/provisioning/qtci-windows-10_22H2-x86_64/90-install-dotnet.ps1 new file mode 100644 index 00000000..a2ecfba2 --- /dev/null +++ b/coin/provisioning/qtci-windows-10_22H2-x86_64/90-install-dotnet.ps1 @@ -0,0 +1,2 @@ +. "$PSScriptRoot\..\common\windows\install-dotnet.ps1" + diff --git a/coin/provisioning/qtci-windows-10_22H2-x86_64/90-install-ffmpeg.ps1 b/coin/provisioning/qtci-windows-10_22H2-x86_64/90-install-ffmpeg.ps1 new file mode 100644 index 00000000..e16f634c --- /dev/null +++ b/coin/provisioning/qtci-windows-10_22H2-x86_64/90-install-ffmpeg.ps1 @@ -0,0 +1,2 @@ +. "$PSScriptRoot\..\common\windows\install-ffmpeg.ps1" + diff --git a/coin/provisioning/qtci-windows-10_22H2-x86_64/90-install-mcuxpresso.ps1 b/coin/provisioning/qtci-windows-10_22H2-x86_64/90-install-mcuxpresso.ps1 new file mode 100644 index 00000000..22d19322 --- /dev/null +++ b/coin/provisioning/qtci-windows-10_22H2-x86_64/90-install-mcuxpresso.ps1 @@ -0,0 +1 @@ +. "$PSScriptRoot\..\common\windows\install-mcuxpresso.ps1" diff --git a/coin/provisioning/qtci-windows-10_22H2-x86_64/90-install-notepad++.ps1 b/coin/provisioning/qtci-windows-10_22H2-x86_64/90-install-notepad++.ps1 new file mode 100644 index 00000000..455d92bf --- /dev/null +++ b/coin/provisioning/qtci-windows-10_22H2-x86_64/90-install-notepad++.ps1 @@ -0,0 +1 @@ +. "$PSScriptRoot\..\common\windows\install-notepad++.ps1" diff --git a/coin/provisioning/qtci-windows-10_22H2-x86_64/90-install-stm32cubeprogrammer.ps1 b/coin/provisioning/qtci-windows-10_22H2-x86_64/90-install-stm32cubeprogrammer.ps1 new file mode 100644 index 00000000..25c2bb42 --- /dev/null +++ b/coin/provisioning/qtci-windows-10_22H2-x86_64/90-install-stm32cubeprogrammer.ps1 @@ -0,0 +1 @@ +. "$PSScriptRoot\..\common\windows\install-stm32cubeprogrammer.ps1" diff --git a/coin/provisioning/qtci-windows-10_22H2-x86_64/90-install-virtualbox.ps1 b/coin/provisioning/qtci-windows-10_22H2-x86_64/90-install-virtualbox.ps1 new file mode 100644 index 00000000..bf14fd23 --- /dev/null +++ b/coin/provisioning/qtci-windows-10_22H2-x86_64/90-install-virtualbox.ps1 @@ -0,0 +1,21 @@ +# 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 + +. "$PSScriptRoot\..\common\windows\helpers.ps1" + +# This script will install VirtualBox + +$version = "5.2.4" +$sha1 = "71df4474a5e94918728b62d1f6bc036674ef0e96" +$url_cache = "\\ci-files01-hki.ci.qt.io\provisioning\windows\VirtualBox-" + $version + "-119785-Win.exe" +$url_official = "http://download.virtualbox.org/virtualbox/" + $version + "/VirtualBox-" + $version + "-119785-Win.exe" +$virtualboxPackage = "C:\Windows\Temp\virtualbox-$version.exe" + +Download $url_official $url_cache $virtualboxPackage +Verify-Checksum $virtualboxPackage $sha1 +Run-Executable $virtualboxPackage "--silent" + +Write-Output "Cleaning $virtualboxPackage.." +Remove "$virtualboxPackage" + +Write-Output "VirtualBox = $version" >> ~\versions.txt diff --git a/coin/provisioning/qtci-windows-10_22H2-x86_64/90-libusb.ps1 b/coin/provisioning/qtci-windows-10_22H2-x86_64/90-libusb.ps1 new file mode 100644 index 00000000..29a1cfa4 --- /dev/null +++ b/coin/provisioning/qtci-windows-10_22H2-x86_64/90-libusb.ps1 @@ -0,0 +1 @@ +. "$PSScriptRoot\..\common\windows\libusb.ps1" diff --git a/coin/provisioning/qtci-windows-10_22H2-x86_64/90-mimersql.ps1 b/coin/provisioning/qtci-windows-10_22H2-x86_64/90-mimersql.ps1 new file mode 100644 index 00000000..576dd9d2 --- /dev/null +++ b/coin/provisioning/qtci-windows-10_22H2-x86_64/90-mimersql.ps1 @@ -0,0 +1 @@ +. "$PSScriptRoot\..\common\windows\mimersql.ps1" diff --git a/coin/provisioning/qtci-windows-10_22H2-x86_64/90-mysql.ps1 b/coin/provisioning/qtci-windows-10_22H2-x86_64/90-mysql.ps1 new file mode 100644 index 00000000..864a79a5 --- /dev/null +++ b/coin/provisioning/qtci-windows-10_22H2-x86_64/90-mysql.ps1 @@ -0,0 +1,2 @@ +. "$PSScriptRoot\..\common\windows\mysql.ps1" + diff --git a/coin/provisioning/qtci-windows-10_22H2-x86_64/90-postgresql.ps1 b/coin/provisioning/qtci-windows-10_22H2-x86_64/90-postgresql.ps1 new file mode 100644 index 00000000..0e0d87be --- /dev/null +++ b/coin/provisioning/qtci-windows-10_22H2-x86_64/90-postgresql.ps1 @@ -0,0 +1,2 @@ +. "$PSScriptRoot\..\common\windows\postgresql.ps1" + diff --git a/coin/provisioning/qtci-windows-10_22H2-x86_64/90-python-modules.ps1 b/coin/provisioning/qtci-windows-10_22H2-x86_64/90-python-modules.ps1 new file mode 100644 index 00000000..80ab54dc --- /dev/null +++ b/coin/provisioning/qtci-windows-10_22H2-x86_64/90-python-modules.ps1 @@ -0,0 +1,4 @@ +. "$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-10_22H2-x86_64/90-squish.ps1 b/coin/provisioning/qtci-windows-10_22H2-x86_64/90-squish.ps1 new file mode 100644 index 00000000..ff758845 --- /dev/null +++ b/coin/provisioning/qtci-windows-10_22H2-x86_64/90-squish.ps1 @@ -0,0 +1 @@ +. "$PSScriptRoot\..\common\windows\squishInstall.ps1" diff --git a/coin/provisioning/qtci-windows-10_22H2-x86_64/90-vclibs_debug.ps1 b/coin/provisioning/qtci-windows-10_22H2-x86_64/90-vclibs_debug.ps1 new file mode 100644 index 00000000..49148017 --- /dev/null +++ b/coin/provisioning/qtci-windows-10_22H2-x86_64/90-vclibs_debug.ps1 @@ -0,0 +1,3 @@ +. "$PSScriptRoot\..\common\windows\vclibs_debug.ps1" + +Install-VCLibsDebug X64 diff --git a/coin/provisioning/qtci-windows-10_22H2-x86_64/91-install-azure-tool.ps1 b/coin/provisioning/qtci-windows-10_22H2-x86_64/91-install-azure-tool.ps1 new file mode 100644 index 00000000..f1d5acc3 --- /dev/null +++ b/coin/provisioning/qtci-windows-10_22H2-x86_64/91-install-azure-tool.ps1 @@ -0,0 +1 @@ +. "$PSScriptRoot\..\common\windows\install-azure-tool.ps1" diff --git a/coin/provisioning/qtci-windows-10_22H2-x86_64/91-squish-coco.ps1 b/coin/provisioning/qtci-windows-10_22H2-x86_64/91-squish-coco.ps1 new file mode 100644 index 00000000..bf4f8a96 --- /dev/null +++ b/coin/provisioning/qtci-windows-10_22H2-x86_64/91-squish-coco.ps1 @@ -0,0 +1,2 @@ + "$PSScriptRoot\..\common\windows\squish-coco.ps1" + diff --git a/coin/provisioning/qtci-windows-10_22H2-x86_64/92-protobuf.ps1 b/coin/provisioning/qtci-windows-10_22H2-x86_64/92-protobuf.ps1 new file mode 100644 index 00000000..c455bce7 --- /dev/null +++ b/coin/provisioning/qtci-windows-10_22H2-x86_64/92-protobuf.ps1 @@ -0,0 +1,2 @@ +. "$PSScriptRoot\..\common\windows\protobuf.ps1" + diff --git a/coin/provisioning/qtci-windows-10_22H2-x86_64/93-grpc.ps1 b/coin/provisioning/qtci-windows-10_22H2-x86_64/93-grpc.ps1 new file mode 100644 index 00000000..7d0b471d --- /dev/null +++ b/coin/provisioning/qtci-windows-10_22H2-x86_64/93-grpc.ps1 @@ -0,0 +1 @@ +. "$PSScriptRoot\..\common\windows\grpc.ps1" diff --git a/coin/provisioning/qtci-windows-10_22H2-x86_64/93-install-vcpkg.ps1 b/coin/provisioning/qtci-windows-10_22H2-x86_64/93-install-vcpkg.ps1 new file mode 100644 index 00000000..3c360de9 --- /dev/null +++ b/coin/provisioning/qtci-windows-10_22H2-x86_64/93-install-vcpkg.ps1 @@ -0,0 +1 @@ +. "$PSScriptRoot\..\common\windows\install-vcpkg.ps1" diff --git a/coin/provisioning/qtci-windows-10_22H2-x86_64/94-install-vcpkg-ports.ps1 b/coin/provisioning/qtci-windows-10_22H2-x86_64/94-install-vcpkg-ports.ps1 new file mode 100644 index 00000000..9d5a693e --- /dev/null +++ b/coin/provisioning/qtci-windows-10_22H2-x86_64/94-install-vcpkg-ports.ps1 @@ -0,0 +1,3 @@ +. "$PSScriptRoot\..\common\windows\install-vcpkg-ports.ps1" + +. "$PSScriptRoot\..\common\windows\install-vcpkg-ports-android.ps1" diff --git a/coin/provisioning/qtci-windows-11_21H2-x86_64/98-disable-windows-module-installer.ps1 b/coin/provisioning/qtci-windows-10_22H2-x86_64/96-disable-windows-module-installer.ps1 index fb8ec541..fb8ec541 100644 --- a/coin/provisioning/qtci-windows-11_21H2-x86_64/98-disable-windows-module-installer.ps1 +++ b/coin/provisioning/qtci-windows-10_22H2-x86_64/96-disable-windows-module-installer.ps1 diff --git a/coin/provisioning/qtci-windows-10_22H2-x86_64/97-msvc2015.ps1 b/coin/provisioning/qtci-windows-10_22H2-x86_64/97-msvc2015.ps1 new file mode 100644 index 00000000..2c1735d0 --- /dev/null +++ b/coin/provisioning/qtci-windows-10_22H2-x86_64/97-msvc2015.ps1 @@ -0,0 +1,10 @@ +# 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 + +# Visual Studios are pre-provisioned to tier1 images + +# MSVC 2015 Update 3 +Write-Output "Visual Studio 2015 = Version 14.0.25431.01 Update 3" >> ~\versions.txt + +# MSVC 2019 and Build Tools are pre-provisioned, but the updating happens with "$PSScriptRoot\..\common\windows\update-msvc2019.ps1" + diff --git a/coin/provisioning/qtci-windows-11_21H2-x86_64/99-unset-proxy.ps1 b/coin/provisioning/qtci-windows-10_22H2-x86_64/98-unset-proxy.ps1 index 0c25a0fb..0c25a0fb 100644 --- a/coin/provisioning/qtci-windows-11_21H2-x86_64/99-unset-proxy.ps1 +++ b/coin/provisioning/qtci-windows-10_22H2-x86_64/98-unset-proxy.ps1 diff --git a/coin/provisioning/qtci-windows-10_22H2-x86_64/99-share-test-folders.ps1 b/coin/provisioning/qtci-windows-10_22H2-x86_64/99-share-test-folders.ps1 new file mode 100644 index 00000000..576fcfdc --- /dev/null +++ b/coin/provisioning/qtci-windows-10_22H2-x86_64/99-share-test-folders.ps1 @@ -0,0 +1 @@ +. "$PSScriptRoot\..\common\windows\share-test-folders.ps1" diff --git a/coin/provisioning/qtci-windows-10_22H2-x86_64/99-version.ps1 b/coin/provisioning/qtci-windows-10_22H2-x86_64/99-version.ps1 new file mode 100644 index 00000000..36e498bc --- /dev/null +++ b/coin/provisioning/qtci-windows-10_22H2-x86_64/99-version.ps1 @@ -0,0 +1 @@ +. "$PSScriptRoot\..\common\windows\version.ps1" diff --git a/coin/provisioning/qtci-windows-10_22H2-x86_64/conanfiles/qtwebkit.txt b/coin/provisioning/qtci-windows-10_22H2-x86_64/conanfiles/qtwebkit.txt new file mode 100644 index 00000000..eaafc008 --- /dev/null +++ b/coin/provisioning/qtci-windows-10_22H2-x86_64/conanfiles/qtwebkit.txt @@ -0,0 +1,31 @@ +[requires] +icu/65.1@qtproject/stable +libxml2/2.9.10@qtproject/stable +libxslt/1.1.34@qtproject/stable +libjpeg-turbo/2.0.5@qtproject/stable + +[generators] +cmake +txt + +[options] +icu:shared=True +icu:data_packaging=library + +libxml2:shared=True +libxml2:iconv=False +libxml2:icu=True +libxml2:zlib=False + +libxslt:shared=True + +libjpeg-turbo:shared=False + +[imports] +bin, icudt65.dll -> ./bin +bin, icuin65.dll -> ./bin +bin, icuuc65.dll -> ./bin +bin, libxml2.dll -> ./bin +bin, libxslt.dll -> ./bin +bin, libxml2-2.dll -> ./bin +bin, libxslt-1.dll -> ./bin diff --git a/coin/provisioning/qtci-windows-11_21H2-x86_64/01-change-resolution.ps1 b/coin/provisioning/qtci-windows-11_21H2-x86_64/01-change-resolution.ps1 index 679769a8..c1e73a62 100644 --- a/coin/provisioning/qtci-windows-11_21H2-x86_64/01-change-resolution.ps1 +++ b/coin/provisioning/qtci-windows-11_21H2-x86_64/01-change-resolution.ps1 @@ -22,4 +22,7 @@ Function ChangeResolution { 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_21H2-x86_64/01-mount-vcpkg-cache-drive.ps1 b/coin/provisioning/qtci-windows-11_21H2-x86_64/01-mount-vcpkg-cache-drive.ps1 new file mode 100644 index 00000000..97dbd7d6 --- /dev/null +++ b/coin/provisioning/qtci-windows-11_21H2-x86_64/01-mount-vcpkg-cache-drive.ps1 @@ -0,0 +1 @@ +. "$PSScriptRoot\..\common\windows\mount-vcpkg-cache-drive.ps1" diff --git a/coin/provisioning/qtci-windows-11_21H2-x86_64/02-python-32bit.ps1 b/coin/provisioning/qtci-windows-11_21H2-x86_64/02-python-32bit.ps1 deleted file mode 100644 index bd2d52c3..00000000 --- a/coin/provisioning/qtci-windows-11_21H2-x86_64/02-python-32bit.ps1 +++ /dev/null @@ -1 +0,0 @@ -. "$PSScriptRoot\..\common\windows\python.ps1" 32 "C:\Python27_32" diff --git a/coin/provisioning/qtci-windows-11_21H2-x86_64/02-python.ps1 b/coin/provisioning/qtci-windows-11_21H2-x86_64/02-python.ps1 deleted file mode 100644 index e2e9be9c..00000000 --- a/coin/provisioning/qtci-windows-11_21H2-x86_64/02-python.ps1 +++ /dev/null @@ -1 +0,0 @@ -. "$PSScriptRoot\..\common\windows\python.ps1" 64 diff --git a/coin/provisioning/qtci-windows-11_21H2-x86_64/06-longpath.ps1 b/coin/provisioning/qtci-windows-11_21H2-x86_64/06-longpath.ps1 new file mode 100644 index 00000000..6561d57b --- /dev/null +++ b/coin/provisioning/qtci-windows-11_21H2-x86_64/06-longpath.ps1 @@ -0,0 +1,2 @@ +. "$PSScriptRoot\..\common\windows\longpath.ps1" + diff --git a/coin/provisioning/qtci-windows-11_21H2-x86_64/08-install-jq.ps1 b/coin/provisioning/qtci-windows-11_21H2-x86_64/08-install-jq.ps1 new file mode 100644 index 00000000..18fa568a --- /dev/null +++ b/coin/provisioning/qtci-windows-11_21H2-x86_64/08-install-jq.ps1 @@ -0,0 +1 @@ +. "$PSScriptRoot\..\common\windows\install-jq.ps1" diff --git a/coin/provisioning/qtci-windows-11_21H2-x86_64/08-python3.ps1 b/coin/provisioning/qtci-windows-11_21H2-x86_64/08-python3.ps1 index 401a5ada..7d52476a 100644 --- a/coin/provisioning/qtci-windows-11_21H2-x86_64/08-python3.ps1 +++ b/coin/provisioning/qtci-windows-11_21H2-x86_64/08-python3.ps1 @@ -5,8 +5,8 @@ # - version # - Optional true/false if set as default with PYTHON3/PIP3_PATH variables, default false -. "$PSScriptRoot\..\common\windows\python3.ps1" 64 "a8ac14ee5486547caf84abdf151be22d9d069c0a" "C:\Python38_64" "3.8.1" -. "$PSScriptRoot\..\common\windows\python3.ps1" 32 "14ff2c2e5538b03a012cb4c9d519d970444ebd42" "C:\Python38_32" "3.8.1" +. "$PSScriptRoot\..\common\windows\python3.ps1" 64 "f8d42a421db25a01b53f0c135a9a74ddae042643" "C:\Python37_64" "3.7.9" +. "$PSScriptRoot\..\common\windows\python3.ps1" 64 "3ee4e92a8ef94c70fb56859503fdc805d217d689" "C:\Python310_64" "3.10.0" # default ones -. "$PSScriptRoot\..\common\windows\python3.ps1" 64 "bcf9bda733a9153811209c62d628c41ab6cedbe2" "C:\Python36" "3.6.2" $true -. "$PSScriptRoot\..\common\windows\python3.ps1" 32 "cd9744b142eca832f9534390676e6cfb84bf655d" "C:\Python36_32" "3.6.2" $true +. "$PSScriptRoot\..\common\windows\python3.ps1" 64 "a8ac14ee5486547caf84abdf151be22d9d069c0a" "C:\Python38_64" "3.8.1" $true +. "$PSScriptRoot\..\common\windows\python3.ps1" 32 "14ff2c2e5538b03a012cb4c9d519d970444ebd42" "C:\Python38_32" "3.8.1" $true diff --git a/coin/provisioning/qtci-windows-11_21H2-x86_64/09-install-mingw1120_64.ps1 b/coin/provisioning/qtci-windows-11_21H2-x86_64/09-install-mingw1120_64.ps1 index 921bf23b..e23cec73 100644 --- a/coin/provisioning/qtci-windows-11_21H2-x86_64/09-install-mingw1120_64.ps1 +++ b/coin/provisioning/qtci-windows-11_21H2-x86_64/09-install-mingw1120_64.ps1 @@ -3,9 +3,9 @@ # This script will install 64-bit MinGW 11.2.0 # Note! MinGW version is 9.0.0 but the GCC version is 11.2 which is used with the naming of MinGW -$release = "mingw-w64-x86_64-11.2.0-release-posix-seh-rt_v9-rev1" +$release = "MinGW-w64-x86_64-11.2.0-release-posix-seh-rt_v9-rev3" -$sha1 = "5554791dc13468bf44e2e519c6691f2deecd000c" +$sha1 = "50174112ceca6f9fe42debbedda54ce6e9187302" InstallMinGW $release $sha1 diff --git a/coin/provisioning/qtci-windows-11_21H2-x86_64/09-openssl-arm64.ps1 b/coin/provisioning/qtci-windows-11_21H2-x86_64/09-openssl-arm64.ps1 new file mode 100644 index 00000000..c1bbf271 --- /dev/null +++ b/coin/provisioning/qtci-windows-11_21H2-x86_64/09-openssl-arm64.ps1 @@ -0,0 +1 @@ +. "$PSScriptRoot\..\common\windows\openssl-arm64.ps1" diff --git a/coin/provisioning/qtci-windows-11_21H2-x86_64/25-llvm-mingw.ps1 b/coin/provisioning/qtci-windows-11_21H2-x86_64/25-llvm-mingw.ps1 index cf730147..8912f952 100644 --- a/coin/provisioning/qtci-windows-11_21H2-x86_64/25-llvm-mingw.ps1 +++ b/coin/provisioning/qtci-windows-11_21H2-x86_64/25-llvm-mingw.ps1 @@ -1,61 +1,20 @@ -############################################################################# -## -## Copyright (C) 2021 The Qt Company Ltd. -## Contact: https://www.qt.io/licensing/ -## -## This file is part of the provisioning scripts of the Qt Toolkit. -## -## $QT_BEGIN_LICENSE:LGPL$ -## Commercial License Usage -## Licensees holding valid commercial Qt licenses may use this file in -## accordance with the commercial license agreement provided with the -## Software or, alternatively, in accordance with the terms contained in -## a written agreement between you and The Qt Company. For licensing terms -## and conditions see https://www.qt.io/terms-conditions. For further -## information use the contact form at https://www.qt.io/contact-us. -## -## GNU Lesser General Public License Usage -## Alternatively, this file may be used under the terms of the GNU Lesser -## General Public License version 3 as published by the Free Software -## Foundation and appearing in the file LICENSE.LGPL3 included in the -## packaging of this file. Please review the following information to -## ensure the GNU Lesser General Public License version 3 requirements -## will be met: https://www.gnu.org/licenses/lgpl-3.0.html. -## -## GNU General Public License Usage -## Alternatively, this file may be used under the terms of the GNU -## General Public License version 2.0 or (at your option) the GNU General -## Public license version 3 or any later version approved by the KDE Free -## Qt Foundation. The licenses are as published by the Free Software -## Foundation and appearing in the file LICENSE.GPL2 and LICENSE.GPL3 -## included in the packaging of this file. Please review the following -## information to ensure the GNU General Public License requirements will -## be met: https://www.gnu.org/licenses/gpl-2.0.html and -## https://www.gnu.org/licenses/gpl-3.0.html. -## -## $QT_END_LICENSE$ -## -############################################################################# +# 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 . "$PSScriptRoot\..\common\windows\helpers.ps1" # This script installs LLVM-Mingw by mstorsjo +# https://github.com/mstorsjo/llvm-mingw/releases/tag/20220906 -$zip = Get-DownloadLocation "llvm-mingw-20210423-ucrt-x86_64.zip" -$url_cache = "http://ci-files01-hki.intra.qt.io/input/windows/llvm-mingw-20210423-ucrt-x86_64.zip" -$url_official = "https://github.com/mstorsjo/llvm-mingw/releases/download/20210423/llvm-mingw-20210423-ucrt-x86_64.zip" +$zip = Get-DownloadLocation "llvm-mingw-20220906-ucrt-x86_64.zip" +$url_cache = "http://ci-files01-hki.ci.qt.io/input/windows/llvm-mingw-20220906-ucrt-x86_64.zip" +$url_official = "https://github.com/mstorsjo/llvm-mingw/releases/download/20220906/llvm-mingw-20220906-ucrt-x86_64.zip" Download $url_official $url_cache $zip -Verify-Checksum $zip "da9fb1e4a74747b6c410240cec0d488e428fd338" +Verify-Checksum $zip "51ff525eefa4f5db905cc7b4c8b56079c3baed65" Extract-7Zip $zip C:\ -Rename-Item C:\llvm-mingw-20210423-ucrt-x86_64 C:\llvm-mingw +Rename-Item C:\llvm-mingw-20220906-ucrt-x86_64 C:\llvm-mingw -# Due to https://github.com/mstorsjo/llvm-mingw/issues/199 -Remove-Item C:\llvm-mingw\aarch64-w64-mingw32\lib\libc++.dll.a -Remove-Item C:\llvm-mingw\x86_64-w64-mingw32\lib\libc++.dll.a -Remove-Item C:\llvm-mingw\armv7-w64-mingw32\lib\libc++.dll.a -Remove-Item C:\llvm-mingw\i686-w64-mingw32\lib\libc++.dll.a - -Write-Output "llvm-mingw = 12" >> ~/versions.txt +Write-Output "llvm-mingw = 15.0.0" >> ~/versions.txt Remove-Item -Path $zip diff --git a/coin/provisioning/qtci-windows-11_21H2-x86_64/90-install-ffmpeg.ps1 b/coin/provisioning/qtci-windows-11_21H2-x86_64/90-install-ffmpeg.ps1 new file mode 100644 index 00000000..e16f634c --- /dev/null +++ b/coin/provisioning/qtci-windows-11_21H2-x86_64/90-install-ffmpeg.ps1 @@ -0,0 +1,2 @@ +. "$PSScriptRoot\..\common\windows\install-ffmpeg.ps1" + diff --git a/coin/provisioning/qtci-windows-11_21H2-x86_64/90-install-virtualbox.ps1 b/coin/provisioning/qtci-windows-11_21H2-x86_64/90-install-virtualbox.ps1 index fc4ce546..bf14fd23 100644 --- a/coin/provisioning/qtci-windows-11_21H2-x86_64/90-install-virtualbox.ps1 +++ b/coin/provisioning/qtci-windows-11_21H2-x86_64/90-install-virtualbox.ps1 @@ -1,41 +1,5 @@ -############################################################################ -## -## Copyright (C) 2017 The Qt Company Ltd. -## Contact: https://www.qt.io/licensing/ -## -## This file is part of the provisioning scripts of the Qt Toolkit. -## -## $QT_BEGIN_LICENSE:LGPL$ -## Commercial License Usage -## Licensees holding valid commercial Qt licenses may use this file in -## accordance with the commercial license agreement provided with the -## Software or, alternatively, in accordance with the terms contained in -## a written agreement between you and The Qt Company. For licensing terms -## and conditions see https://www.qt.io/terms-conditions. For further -## information use the contact form at https://www.qt.io/contact-us. -## -## GNU Lesser General Public License Usage -## Alternatively, this file may be used under the terms of the GNU Lesser -## General Public License version 3 as published by the Free Software -## Foundation and appearing in the file LICENSE.LGPL3 included in the -## packaging of this file. Please review the following information to -## ensure the GNU Lesser General Public License version 3 requirements -## will be met: https://www.gnu.org/licenses/lgpl-3.0.html. -## -## GNU General Public License Usage -## Alternatively, this file may be used under the terms of the GNU -## General Public License version 2.0 or (at your option) the GNU General -## Public license version 3 or any later version approved by the KDE Free -## Qt Foundation. The licenses are as published by the Free Software -## Foundation and appearing in the file LICENSE.GPL2 and LICENSE.GPL3 -## included in the packaging of this file. Please review the following -## information to ensure the GNU General Public License requirements will -## be met: https://www.gnu.org/licenses/gpl-2.0.html and -## https://www.gnu.org/licenses/gpl-3.0.html. -## -## $QT_END_LICENSE$ -## -############################################################################# +# 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 . "$PSScriptRoot\..\common\windows\helpers.ps1" @@ -43,7 +7,7 @@ $version = "5.2.4" $sha1 = "71df4474a5e94918728b62d1f6bc036674ef0e96" -$url_cache = "\\ci-files01-hki.intra.qt.io\provisioning\windows\VirtualBox-" + $version + "-119785-Win.exe" +$url_cache = "\\ci-files01-hki.ci.qt.io\provisioning\windows\VirtualBox-" + $version + "-119785-Win.exe" $url_official = "http://download.virtualbox.org/virtualbox/" + $version + "/VirtualBox-" + $version + "-119785-Win.exe" $virtualboxPackage = "C:\Windows\Temp\virtualbox-$version.exe" diff --git a/coin/provisioning/qtci-windows-11_21H2-x86_64/90-mimersql.ps1 b/coin/provisioning/qtci-windows-11_21H2-x86_64/90-mimersql.ps1 new file mode 100644 index 00000000..576dd9d2 --- /dev/null +++ b/coin/provisioning/qtci-windows-11_21H2-x86_64/90-mimersql.ps1 @@ -0,0 +1 @@ +. "$PSScriptRoot\..\common\windows\mimersql.ps1" diff --git a/coin/provisioning/qtci-windows-11_21H2-x86_64/90-python-modules.ps1 b/coin/provisioning/qtci-windows-11_21H2-x86_64/90-python-modules.ps1 index 3646d826..80ab54dc 100644 --- a/coin/provisioning/qtci-windows-11_21H2-x86_64/90-python-modules.ps1 +++ b/coin/provisioning/qtci-windows-11_21H2-x86_64/90-python-modules.ps1 @@ -1,3 +1,4 @@ +. "$PSScriptRoot\..\common\windows\helpers.ps1" # Needed by packaging scripts -C:\Python36\Scripts\pip3 install bs4 -C:\Python36\Scripts\pip3 install sh +$scriptsPath = [System.Environment]::GetEnvironmentVariable('PIP3_PATH', [System.EnvironmentVariableTarget]::Machine) +Run-Executable "$scriptsPath\pip3.exe" "install bs4" diff --git a/coin/provisioning/qtci-windows-11_21H2-x86_64/92-install-protobuf.ps1 b/coin/provisioning/qtci-windows-11_21H2-x86_64/92-install-protobuf.ps1 deleted file mode 100644 index 8bcdf3fa..00000000 --- a/coin/provisioning/qtci-windows-11_21H2-x86_64/92-install-protobuf.ps1 +++ /dev/null @@ -1,2 +0,0 @@ -. "$PSScriptRoot\..\common\windows\install-protobuf.ps1" - diff --git a/coin/provisioning/qtci-windows-11_21H2-x86_64/92-protobuf.ps1 b/coin/provisioning/qtci-windows-11_21H2-x86_64/92-protobuf.ps1 new file mode 100644 index 00000000..c455bce7 --- /dev/null +++ b/coin/provisioning/qtci-windows-11_21H2-x86_64/92-protobuf.ps1 @@ -0,0 +1,2 @@ +. "$PSScriptRoot\..\common\windows\protobuf.ps1" + diff --git a/coin/provisioning/qtci-windows-11_21H2-x86_64/93-grpc.ps1 b/coin/provisioning/qtci-windows-11_21H2-x86_64/93-grpc.ps1 new file mode 100644 index 00000000..7d0b471d --- /dev/null +++ b/coin/provisioning/qtci-windows-11_21H2-x86_64/93-grpc.ps1 @@ -0,0 +1 @@ +. "$PSScriptRoot\..\common\windows\grpc.ps1" diff --git a/coin/provisioning/qtci-windows-11_21H2-x86_64/93-install-vcpkg.ps1 b/coin/provisioning/qtci-windows-11_21H2-x86_64/93-install-vcpkg.ps1 new file mode 100644 index 00000000..3c360de9 --- /dev/null +++ b/coin/provisioning/qtci-windows-11_21H2-x86_64/93-install-vcpkg.ps1 @@ -0,0 +1 @@ +. "$PSScriptRoot\..\common\windows\install-vcpkg.ps1" diff --git a/coin/provisioning/qtci-windows-11_21H2-x86_64/94-install-vcpkg-ports.ps1 b/coin/provisioning/qtci-windows-11_21H2-x86_64/94-install-vcpkg-ports.ps1 new file mode 100644 index 00000000..1dd657bc --- /dev/null +++ b/coin/provisioning/qtci-windows-11_21H2-x86_64/94-install-vcpkg-ports.ps1 @@ -0,0 +1 @@ +. "$PSScriptRoot\..\common\windows\install-vcpkg-ports.ps1" diff --git a/coin/provisioning/qtci-windows-11_21H2-x86_64/96-disable-windows-module-installer.ps1 b/coin/provisioning/qtci-windows-11_21H2-x86_64/96-disable-windows-module-installer.ps1 new file mode 100644 index 00000000..fb8ec541 --- /dev/null +++ b/coin/provisioning/qtci-windows-11_21H2-x86_64/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_21H2-x86_64/97-msvc2015.ps1 b/coin/provisioning/qtci-windows-11_21H2-x86_64/97-msvc2015.ps1 new file mode 100644 index 00000000..2c1735d0 --- /dev/null +++ b/coin/provisioning/qtci-windows-11_21H2-x86_64/97-msvc2015.ps1 @@ -0,0 +1,10 @@ +# 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 + +# Visual Studios are pre-provisioned to tier1 images + +# MSVC 2015 Update 3 +Write-Output "Visual Studio 2015 = Version 14.0.25431.01 Update 3" >> ~\versions.txt + +# MSVC 2019 and Build Tools are pre-provisioned, but the updating happens with "$PSScriptRoot\..\common\windows\update-msvc2019.ps1" + diff --git a/coin/provisioning/qtci-windows-11_21H2-x86_64/98-unset-proxy.ps1 b/coin/provisioning/qtci-windows-11_21H2-x86_64/98-unset-proxy.ps1 new file mode 100644 index 00000000..0c25a0fb --- /dev/null +++ b/coin/provisioning/qtci-windows-11_21H2-x86_64/98-unset-proxy.ps1 @@ -0,0 +1 @@ +. "$PSScriptRoot\..\common\windows\unset-proxy.ps1" diff --git a/coin/provisioning/qtci-windows-11_21H2-x86_64/99-msvc2015.ps1 b/coin/provisioning/qtci-windows-11_21H2-x86_64/99-msvc2015.ps1 deleted file mode 100644 index 8b955d83..00000000 --- a/coin/provisioning/qtci-windows-11_21H2-x86_64/99-msvc2015.ps1 +++ /dev/null @@ -1,46 +0,0 @@ -############################################################################# -## -## Copyright (C) 2021 The Qt Company Ltd. -## Contact: https://www.qt.io/licensing/ -## -## This file is part of the provisioning scripts of the Qt Toolkit. -## -## $QT_BEGIN_LICENSE:LGPL$ -## Commercial License Usage -## Licensees holding valid commercial Qt licenses may use this file in -## accordance with the commercial license agreement provided with the -## Software or, alternatively, in accordance with the terms contained in -## a written agreement between you and The Qt Company. For licensing terms -## and conditions see https://www.qt.io/terms-conditions. For further -## information use the contact form at https://www.qt.io/contact-us. -## -## GNU Lesser General Public License Usage -## Alternatively, this file may be used under the terms of the GNU Lesser -## General Public License version 3 as published by the Free Software -## Foundation and appearing in the file LICENSE.LGPL3 included in the -## packaging of this file. Please review the following information to -## ensure the GNU Lesser General Public License version 3 requirements -## will be met: https://www.gnu.org/licenses/lgpl-3.0.html. -## -## GNU General Public License Usage -## Alternatively, this file may be used under the terms of the GNU -## General Public License version 2.0 or (at your option) the GNU General -## Public license version 3 or any later version approved by the KDE Free -## Qt Foundation. The licenses are as published by the Free Software -## Foundation and appearing in the file LICENSE.GPL2 and LICENSE.GPL3 -## included in the packaging of this file. Please review the following -## information to ensure the GNU General Public License requirements will -## be met: https://www.gnu.org/licenses/gpl-2.0.html and -## https://www.gnu.org/licenses/gpl-3.0.html. -## -## $QT_END_LICENSE$ -## -############################################################################# - -# Visual Studios are pre-provisioned to tier1 images - -# MSVC 2015 Update 3 -Write-Output "Visual Studio 2015 = Version 14.0.25431.01 Update 3" >> ~\versions.txt - -# MSVC 2019 and Build Tools are pre-provisioned, but the updating happens with "$PSScriptRoot\..\common\windows\update-msvc2019.ps1" - diff --git a/coin/provisioning/qtci-windows-11_21H2-x86_64/99-msvc2019.ps1 b/coin/provisioning/qtci-windows-11_21H2-x86_64/99-msvc2019.ps1 deleted file mode 100644 index 4f048086..00000000 --- a/coin/provisioning/qtci-windows-11_21H2-x86_64/99-msvc2019.ps1 +++ /dev/null @@ -1,42 +0,0 @@ -############################################################################# -## -## Copyright (C) 2020 The Qt Company Ltd. -## Contact: https://www.qt.io/licensing/ -## -## This file is part of the provisioning scripts of the Qt Toolkit. -## -## $QT_BEGIN_LICENSE:LGPL$ -## Commercial License Usage -## Licensees holding valid commercial Qt licenses may use this file in -## accordance with the commercial license agreement provided with the -## Software or, alternatively, in accordance with the terms contained in -## a written agreement between you and The Qt Company. For licensing terms -## and conditions see https://www.qt.io/terms-conditions. For further -## information use the contact form at https://www.qt.io/contact-us. -## -## GNU Lesser General Public License Usage -## Alternatively, this file may be used under the terms of the GNU Lesser -## General Public License version 3 as published by the Free Software -## Foundation and appearing in the file LICENSE.LGPL3 included in the -## packaging of this file. Please review the following information to -## ensure the GNU Lesser General Public License version 3 requirements -## will be met: https://www.gnu.org/licenses/lgpl-3.0.html. -## -## GNU General Public License Usage -## Alternatively, this file may be used under the terms of the GNU -## General Public License version 2.0 or (at your option) the GNU General -## Public license version 3 or any later version approved by the KDE Free -## Qt Foundation. The licenses are as published by the Free Software -## Foundation and appearing in the file LICENSE.GPL2 and LICENSE.GPL3 -## included in the packaging of this file. Please review the following -## information to ensure the GNU General Public License requirements will -## be met: https://www.gnu.org/licenses/gpl-2.0.html and -## https://www.gnu.org/licenses/gpl-3.0.html. -## -## $QT_END_LICENSE$ -## -############################################################################# - -# MSVC 2019 and Build Tools are pre-provisioned, but the updating happens with: -. "$PSScriptRoot\..\common\windows\update-msvc2019.ps1" - diff --git a/coin/provisioning/qtci-windows-11_21H2-x86_64/99-share-test-folders.ps1 b/coin/provisioning/qtci-windows-11_21H2-x86_64/99-share-test-folders.ps1 new file mode 100644 index 00000000..576fcfdc --- /dev/null +++ b/coin/provisioning/qtci-windows-11_21H2-x86_64/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/00-disable-netadapterlso.ps1 b/coin/provisioning/qtci-windows-11_22H2-aarch64/00-disable-netadapterlso.ps1 new file mode 100644 index 00000000..d20f1402 --- /dev/null +++ b/coin/provisioning/qtci-windows-11_22H2-aarch64/00-disable-netadapterlso.ps1 @@ -0,0 +1 @@ +. "$PSScriptRoot\..\common\windows\disable-netadapterlso.ps1" diff --git a/coin/provisioning/qtci-windows-11_22H2-aarch64/00-install-sevenzip.ps1 b/coin/provisioning/qtci-windows-11_22H2-aarch64/00-install-sevenzip.ps1 new file mode 100644 index 00000000..a9044256 --- /dev/null +++ b/coin/provisioning/qtci-windows-11_22H2-aarch64/00-install-sevenzip.ps1 @@ -0,0 +1 @@ +. "$PSScriptRoot\..\common\windows\install-sevenzip.ps1" diff --git a/coin/provisioning/qtci-windows-11_22H2-aarch64/01-allow-remote-desktop-access.ps1 b/coin/provisioning/qtci-windows-11_22H2-aarch64/01-allow-remote-desktop-access.ps1 new file mode 100644 index 00000000..af05e838 --- /dev/null +++ b/coin/provisioning/qtci-windows-11_22H2-aarch64/01-allow-remote-desktop-access.ps1 @@ -0,0 +1 @@ +. "$PSScriptRoot\..\common\windows\allow-remote-desktop-access.ps1" diff --git a/coin/provisioning/qtci-windows-11_22H2-aarch64/01-change-resolution.ps1 b/coin/provisioning/qtci-windows-11_22H2-aarch64/01-change-resolution.ps1 new file mode 100644 index 00000000..c1e73a62 --- /dev/null +++ b/coin/provisioning/qtci-windows-11_22H2-aarch64/01-change-resolution.ps1 @@ -0,0 +1,28 @@ +$x_value = "1280" +$y_value = "800" + +Function ChangeResolution { + Param ( + [string]$driver + ) + + $path = "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\GraphicsDrivers\Configuration" + + reg.exe ADD "$path\$driver\00\" /V PrimSurfSize.cx /T REG_dWORD /D $x_value /F + reg.exe ADD "$path\$driver\00\" /V PrimSurfSize.cy /T REG_dWORD /D $y_value /F + reg.exe ADD "$path\$driver\00\00" /V DwmClipBox.bottom /T REG_dWORD /D $y_value /F + reg.exe ADD "$path\$driver\00\00" /V DwmClipBox.right /T REG_dWORD /D $x_value /F + reg.exe ADD "$path\$driver\00\00" /V PrimSurfSize.cx /T REG_dWORD /D $x_value /F + reg.exe ADD "$path\$driver\00\00" /V PrimSurfSize.cy /T REG_dWORD /D $y_value /F + reg.exe ADD "$path\$driver\00\00" /V ActiveSize.cy /T REG_dWORD /D $y_value /F + reg.exe ADD "$path\$driver\00\00" /V ActiveSize.cx /T REG_dWORD /D $x_value /F + +} + +Write-Host "Changing the resolution to ${x_value}x${y_value}" +ChangeResolution "MSBDD_NOEDID_1234_1111_00000000_00020000_0^E3701873EC28AFCFF631E725354CDC2D" +ChangeResolution "MSBDD_NOEDID_15AD_0405_00000000_000F0000_0^C13AE38966E73205F75BFACA84EB83A5" +ChangeResolution "MSBDD_RHT12340_2A_07DE_3A_1234_1111_00000000_00020000_0^EC6E4468E7627A114F1F86EA72F3C134" +ChangeResolution "MSBDD_RHT12340_2A_07DE_3D_1234_1111_00000000_00010000_0^4189234F4C5A30C0FE2E08AED7E5F516" +ChangeResolution "MSBDD_RHT12340_2A_07DE_3D_1234_1111_00000000_00020000_0^0E45B5CD7061674FC90A8064A6FE81F4" +ChangeResolution "MSNILNOEDID_1414_008D_FFFFFFFF_FFFFFFFF_0^030B4FCE00727AC1593E5B6FD18648D6" diff --git a/coin/provisioning/qtci-windows-11_22H2-aarch64/01-disable-notifications.ps1 b/coin/provisioning/qtci-windows-11_22H2-aarch64/01-disable-notifications.ps1 new file mode 100644 index 00000000..ada20147 --- /dev/null +++ b/coin/provisioning/qtci-windows-11_22H2-aarch64/01-disable-notifications.ps1 @@ -0,0 +1,9 @@ +# Windows 'Notifications & actions' +# Disable 'Get notifications from apps and other senders' +reg.exe ADD "HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\PushNotifications" /V ToastEnabled /T REG_dWORD /D 0 /F + +# Disable 'Show me the Windows welcome experience after udpates and occasionally when I sign in to highlight what's new and suggested' +reg.exe ADD "HKEY_CURRENT_USER\SOFTWARE\Microsoft\Windows\CurrentVersion\ContentDeliveryManager" /V SubscribedContent-310093Enabled /T REG_dWORD /D 0 /F + +# Disable 'Get tips, tricks and suggestions as you use Windows' +reg.exe ADD "HKEY_CURRENT_USER\SOFTWARE\Microsoft\Windows\CurrentVersion\ContentDeliveryManager" /V SubscribedContent-338389Enabled /T REG_dWORD /D 0 /F diff --git a/coin/provisioning/qtci-windows-11_22H2-aarch64/01-disable-runtimebroker.ps1 b/coin/provisioning/qtci-windows-11_22H2-aarch64/01-disable-runtimebroker.ps1 new file mode 100644 index 00000000..8ae8190d --- /dev/null +++ b/coin/provisioning/qtci-windows-11_22H2-aarch64/01-disable-runtimebroker.ps1 @@ -0,0 +1,4 @@ +# Disable RunTime Broker +# The RunTime Broker is a Windows system process, which helps to manage app permissions on your pc between Windows apps and ensures apps are behaving themselves. +# Coordinates execution of background work for WinRT application. If this service is stopped or disabled, then background work might not be triggered. +reg.exe ADD "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\TimeBrokerSvc" /V Start /T REG_dWORD /D 4 /F diff --git a/coin/provisioning/qtci-windows-11_22H2-aarch64/01-disable-windows-telemetry.ps1 b/coin/provisioning/qtci-windows-11_22H2-aarch64/01-disable-windows-telemetry.ps1 new file mode 100644 index 00000000..3f5a75f4 --- /dev/null +++ b/coin/provisioning/qtci-windows-11_22H2-aarch64/01-disable-windows-telemetry.ps1 @@ -0,0 +1,7 @@ +# Disable Connected User Experiences and Telemetry service +# The Connected User Experiences and Telemetry service enables features that support in-application and connected user experiences. +# Additionally, this service manages the event driven collection and transmission of diagnostic and usage information +# (used to improve the experience and quality of the Windows Platform) when the diagnostics and usage privacy option settings are enabled under Feedback and Diagnostics. +reg.exe ADD "HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Windows\Data Collection" /V AllowTelemetry /T REG_dWORD /D 0 /F +stop-service diagtrack +set-service diagtrack -startuptype disabled diff --git a/coin/provisioning/qtci-windows-11_22H2-aarch64/01-enable-guest-logon.ps1 b/coin/provisioning/qtci-windows-11_22H2-aarch64/01-enable-guest-logon.ps1 new file mode 100644 index 00000000..3cf989d3 --- /dev/null +++ b/coin/provisioning/qtci-windows-11_22H2-aarch64/01-enable-guest-logon.ps1 @@ -0,0 +1,2 @@ +# Allow SMB client guest logons to SMB server. +reg.exe ADD "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\LanmanWorkstation\Parameters" /V AllowInsecureGuestAuth /T REG_dWORD /D 1 /F diff --git a/coin/provisioning/qtci-windows-11_22H2-aarch64/01-install_telegraf.ps1 b/coin/provisioning/qtci-windows-11_22H2-aarch64/01-install_telegraf.ps1 new file mode 100644 index 00000000..77fa8cbf --- /dev/null +++ b/coin/provisioning/qtci-windows-11_22H2-aarch64/01-install_telegraf.ps1 @@ -0,0 +1 @@ +. "$PSScriptRoot\..\common\windows\install_telegraf.ps1" diff --git a/coin/provisioning/qtci-windows-11_22H2-aarch64/01-set-proxy.ps1 b/coin/provisioning/qtci-windows-11_22H2-aarch64/01-set-proxy.ps1 new file mode 100644 index 00000000..13b1ec60 --- /dev/null +++ b/coin/provisioning/qtci-windows-11_22H2-aarch64/01-set-proxy.ps1 @@ -0,0 +1 @@ +. "$PSScriptRoot\..\common\windows\set-proxy.ps1" diff --git a/coin/provisioning/qtci-windows-11_22H2-aarch64/02-disable-autoreboot.ps1 b/coin/provisioning/qtci-windows-11_22H2-aarch64/02-disable-autoreboot.ps1 new file mode 100644 index 00000000..73430b76 --- /dev/null +++ b/coin/provisioning/qtci-windows-11_22H2-aarch64/02-disable-autoreboot.ps1 @@ -0,0 +1 @@ +. "$PSScriptRoot\..\common\windows\disable-autoreboot.ps1" diff --git a/coin/provisioning/qtci-windows-11_22H2-aarch64/02-disable-sleep.ps1 b/coin/provisioning/qtci-windows-11_22H2-aarch64/02-disable-sleep.ps1 new file mode 100644 index 00000000..5bf811ef --- /dev/null +++ b/coin/provisioning/qtci-windows-11_22H2-aarch64/02-disable-sleep.ps1 @@ -0,0 +1 @@ +. "$PSScriptRoot\..\common\windows\disable-sleep.ps1" diff --git a/coin/provisioning/qtci-windows-11_22H2-aarch64/03-nodejs.ps1 b/coin/provisioning/qtci-windows-11_22H2-aarch64/03-nodejs.ps1 new file mode 100644 index 00000000..6032e945 --- /dev/null +++ b/coin/provisioning/qtci-windows-11_22H2-aarch64/03-nodejs.ps1 @@ -0,0 +1 @@ +. "$PSScriptRoot\..\common\windows\nodejs.ps1" diff --git a/coin/provisioning/qtci-windows-11_22H2-aarch64/05-enable-devmode.ps1 b/coin/provisioning/qtci-windows-11_22H2-aarch64/05-enable-devmode.ps1 new file mode 100644 index 00000000..01e6f8b0 --- /dev/null +++ b/coin/provisioning/qtci-windows-11_22H2-aarch64/05-enable-devmode.ps1 @@ -0,0 +1 @@ +. "$PSScriptRoot\..\common\windows\win10-enable-devmode.ps1" diff --git a/coin/provisioning/qtci-windows-11_22H2-aarch64/05-wsearch-off.ps1 b/coin/provisioning/qtci-windows-11_22H2-aarch64/05-wsearch-off.ps1 new file mode 100644 index 00000000..eed6b734 --- /dev/null +++ b/coin/provisioning/qtci-windows-11_22H2-aarch64/05-wsearch-off.ps1 @@ -0,0 +1 @@ +. "$PSScriptRoot\..\common\windows\wsearch-off.ps1" diff --git a/coin/provisioning/qtci-windows-11_22H2-aarch64/06-longpath.ps1 b/coin/provisioning/qtci-windows-11_22H2-aarch64/06-longpath.ps1 new file mode 100644 index 00000000..6561d57b --- /dev/null +++ b/coin/provisioning/qtci-windows-11_22H2-aarch64/06-longpath.ps1 @@ -0,0 +1,2 @@ +. "$PSScriptRoot\..\common\windows\longpath.ps1" + diff --git a/coin/provisioning/qtci-windows-11_22H2-aarch64/06-mesa_llvmpipe.ps1 b/coin/provisioning/qtci-windows-11_22H2-aarch64/06-mesa_llvmpipe.ps1 new file mode 100644 index 00000000..1b1a07e9 --- /dev/null +++ b/coin/provisioning/qtci-windows-11_22H2-aarch64/06-mesa_llvmpipe.ps1 @@ -0,0 +1 @@ +. "$PSScriptRoot\..\common\windows\mesa_llvmpipe.ps1" diff --git a/coin/provisioning/qtci-windows-11_22H2-aarch64/06-ninja.ps1 b/coin/provisioning/qtci-windows-11_22H2-aarch64/06-ninja.ps1 new file mode 100644 index 00000000..ba571a1e --- /dev/null +++ b/coin/provisioning/qtci-windows-11_22H2-aarch64/06-ninja.ps1 @@ -0,0 +1 @@ +. "$PSScriptRoot\..\common\windows\ninja.ps1" diff --git a/coin/provisioning/qtci-windows-11_22H2-aarch64/08-install-git.ps1 b/coin/provisioning/qtci-windows-11_22H2-aarch64/08-install-git.ps1 new file mode 100644 index 00000000..38106de7 --- /dev/null +++ b/coin/provisioning/qtci-windows-11_22H2-aarch64/08-install-git.ps1 @@ -0,0 +1 @@ +. "$PSScriptRoot\..\common\windows\install-git.ps1" diff --git a/coin/provisioning/qtci-windows-11_22H2-aarch64/08-python3.ps1 b/coin/provisioning/qtci-windows-11_22H2-aarch64/08-python3.ps1 new file mode 100644 index 00000000..74cb6997 --- /dev/null +++ b/coin/provisioning/qtci-windows-11_22H2-aarch64/08-python3.ps1 @@ -0,0 +1,9 @@ +# Parameters: +# - Arch 32/64 +# - installer sha1 +# - install target dir +# - version +# - Optional true/false if set as default with PYTHON3/PIP3_PATH variables, default false + +# Downloading https://www.python.org/ftp/python/3.11.9/python-3.11.9-arm64.exe +. "$PSScriptRoot\..\common\windows\python3.ps1" 64 "9e0487af5f0472978b7b6d4f4d3d8fd56865ff97" "C:\Python311_64" "3.11.9" $true diff --git a/coin/provisioning/qtci-windows-11_22H2-aarch64/09-install-dependencywalker.ps1 b/coin/provisioning/qtci-windows-11_22H2-aarch64/09-install-dependencywalker.ps1 new file mode 100644 index 00000000..331de489 --- /dev/null +++ b/coin/provisioning/qtci-windows-11_22H2-aarch64/09-install-dependencywalker.ps1 @@ -0,0 +1 @@ +. "$PSScriptRoot\..\common\windows\install-dependencywalker.ps1" diff --git a/coin/provisioning/qtci-windows-11_22H2-aarch64/09-install-openssh.ps1 b/coin/provisioning/qtci-windows-11_22H2-aarch64/09-install-openssh.ps1 new file mode 100644 index 00000000..9de844da --- /dev/null +++ b/coin/provisioning/qtci-windows-11_22H2-aarch64/09-install-openssh.ps1 @@ -0,0 +1 @@ +. "$PSScriptRoot\..\common\windows\install-openssh.ps1" diff --git a/coin/provisioning/qtci-windows-11_22H2-aarch64/09-install-sed.ps1 b/coin/provisioning/qtci-windows-11_22H2-aarch64/09-install-sed.ps1 new file mode 100644 index 00000000..b3c8fded --- /dev/null +++ b/coin/provisioning/qtci-windows-11_22H2-aarch64/09-install-sed.ps1 @@ -0,0 +1 @@ +. "$PSScriptRoot\..\common\windows\install-sed.ps1" diff --git a/coin/provisioning/qtci-windows-11_22H2-aarch64/09-openssl-arm64.ps1 b/coin/provisioning/qtci-windows-11_22H2-aarch64/09-openssl-arm64.ps1 new file mode 100644 index 00000000..c1bbf271 --- /dev/null +++ b/coin/provisioning/qtci-windows-11_22H2-aarch64/09-openssl-arm64.ps1 @@ -0,0 +1 @@ +. "$PSScriptRoot\..\common\windows\openssl-arm64.ps1" diff --git a/coin/provisioning/qtci-windows-11_22H2-aarch64/09-openssl.ps1 b/coin/provisioning/qtci-windows-11_22H2-aarch64/09-openssl.ps1 new file mode 100644 index 00000000..db3013e0 --- /dev/null +++ b/coin/provisioning/qtci-windows-11_22H2-aarch64/09-openssl.ps1 @@ -0,0 +1,4 @@ +# Windows ARM has own common script +# - "$PSScriptRoot\..\common\windows\openssl-arm64.ps1" +# - need to check should these be combined or excluded +#. "$PSScriptRoot\..\common\windows\openssl.ps1" diff --git a/coin/provisioning/qtci-windows-11_22H2-aarch64/09-set-network-test-server.ps1 b/coin/provisioning/qtci-windows-11_22H2-aarch64/09-set-network-test-server.ps1 new file mode 100644 index 00000000..7918fabf --- /dev/null +++ b/coin/provisioning/qtci-windows-11_22H2-aarch64/09-set-network-test-server.ps1 @@ -0,0 +1 @@ +. "$PSScriptRoot\..\common\windows\set-network-test-server.ps1" diff --git a/coin/provisioning/qtci-windows-11_22H2-aarch64/09-vulkansdk.ps1 b/coin/provisioning/qtci-windows-11_22H2-aarch64/09-vulkansdk.ps1 new file mode 100644 index 00000000..54a3d563 --- /dev/null +++ b/coin/provisioning/qtci-windows-11_22H2-aarch64/09-vulkansdk.ps1 @@ -0,0 +1 @@ +. "$PSScriptRoot\..\common\windows\vulkansdk.ps1" diff --git a/coin/provisioning/qtci-windows-11_22H2-aarch64/22-mqtt_broker.ps1 b/coin/provisioning/qtci-windows-11_22H2-aarch64/22-mqtt_broker.ps1 new file mode 100644 index 00000000..71deb0d4 --- /dev/null +++ b/coin/provisioning/qtci-windows-11_22H2-aarch64/22-mqtt_broker.ps1 @@ -0,0 +1 @@ +. "$PSScriptRoot\..\common\windows\mqtt_broker.ps1" diff --git a/coin/provisioning/qtci-windows-11_22H2-aarch64/23-winrtrunner.ps1 b/coin/provisioning/qtci-windows-11_22H2-aarch64/23-winrtrunner.ps1 new file mode 100644 index 00000000..078f862e --- /dev/null +++ b/coin/provisioning/qtci-windows-11_22H2-aarch64/23-winrtrunner.ps1 @@ -0,0 +1 @@ +. "$PSScriptRoot\..\common\windows\winrtrunner.ps1" diff --git a/coin/provisioning/qtci-windows-11_22H2-aarch64/25-llvm-mingw.ps1 b/coin/provisioning/qtci-windows-11_22H2-aarch64/25-llvm-mingw.ps1 new file mode 100644 index 00000000..9ce91521 --- /dev/null +++ b/coin/provisioning/qtci-windows-11_22H2-aarch64/25-llvm-mingw.ps1 @@ -0,0 +1,20 @@ +# Copyright (C) 2024 The Qt Company Ltd. +# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only + +. "$PSScriptRoot\..\common\windows\helpers.ps1" + +# This script installs LLVM-Mingw by mstorsjo +# https://github.com/mstorsjo/llvm-mingw/releases/tag/20240320 + +$zip = Get-DownloadLocation "llvm-mingw-20240320-ucrt-aarch64.zip" +$url_cache = "http://ci-files01-hki.ci.qt.io/input/windows/llvm-mingw-20240320-ucrt-aarch64.zip" +$url_official = "https://github.com/mstorsjo/llvm-mingw/releases/download/20240320/llvm-mingw-20240320-ucrt-aarch64.zip" + +Download $url_official $url_cache $zip +Verify-Checksum $zip "1ea4870551a6aaf0d51332be1ea10ce776ee3b42" +Extract-7Zip $zip C:\ + +Rename-Item C:\llvm-mingw-20240320-ucrt-aarch64 C:\llvm-mingw + +Write-Output "llvm-mingw = 18.1.2" >> ~/versions.txt +Remove-Item -Path $zip diff --git a/coin/provisioning/qtci-windows-11_22H2-aarch64/29-libusb.ps1 b/coin/provisioning/qtci-windows-11_22H2-aarch64/29-libusb.ps1 new file mode 100644 index 00000000..6035912d --- /dev/null +++ b/coin/provisioning/qtci-windows-11_22H2-aarch64/29-libusb.ps1 @@ -0,0 +1,3 @@ + + +. "$PSScriptRoot\..\common\windows\libusb.ps1" diff --git a/coin/provisioning/qtci-windows-11_22H2-aarch64/35-install-breakpad.ps1 b/coin/provisioning/qtci-windows-11_22H2-aarch64/35-install-breakpad.ps1 new file mode 100644 index 00000000..9360a326 --- /dev/null +++ b/coin/provisioning/qtci-windows-11_22H2-aarch64/35-install-breakpad.ps1 @@ -0,0 +1 @@ +. "$PSScriptRoot\..\common\windows\install-breakpad.ps1" diff --git a/coin/provisioning/qtci-windows-11_22H2-aarch64/36-install-gnuwin32.ps1 b/coin/provisioning/qtci-windows-11_22H2-aarch64/36-install-gnuwin32.ps1 new file mode 100644 index 00000000..0e2abbac --- /dev/null +++ b/coin/provisioning/qtci-windows-11_22H2-aarch64/36-install-gnuwin32.ps1 @@ -0,0 +1,2 @@ +. "$PSScriptRoot\..\common\windows\install-gnuwin32.ps1" + diff --git a/coin/provisioning/qtci-windows-11_22H2-aarch64/60-jom.ps1 b/coin/provisioning/qtci-windows-11_22H2-aarch64/60-jom.ps1 new file mode 100644 index 00000000..b246ce25 --- /dev/null +++ b/coin/provisioning/qtci-windows-11_22H2-aarch64/60-jom.ps1 @@ -0,0 +1 @@ +. "$PSScriptRoot\..\common\windows\jom.ps1" diff --git a/coin/provisioning/qtci-windows-11_22H2-aarch64/70-cmake.ps1 b/coin/provisioning/qtci-windows-11_22H2-aarch64/70-cmake.ps1 new file mode 100644 index 00000000..73dc7bc2 --- /dev/null +++ b/coin/provisioning/qtci-windows-11_22H2-aarch64/70-cmake.ps1 @@ -0,0 +1 @@ +. "$PSScriptRoot\..\common\windows\cmake.ps1" diff --git a/coin/provisioning/qtci-windows-11_22H2-aarch64/85-disable_quickedit_powershell.ps1 b/coin/provisioning/qtci-windows-11_22H2-aarch64/85-disable_quickedit_powershell.ps1 new file mode 100644 index 00000000..547e15a8 --- /dev/null +++ b/coin/provisioning/qtci-windows-11_22H2-aarch64/85-disable_quickedit_powershell.ps1 @@ -0,0 +1 @@ +. "$PSScriptRoot\..\common\windows\disable-quickedit.ps1" diff --git a/coin/provisioning/qtci-windows-11_22H2-aarch64/90-3dstudio_3rdparty.ps1 b/coin/provisioning/qtci-windows-11_22H2-aarch64/90-3dstudio_3rdparty.ps1 new file mode 100644 index 00000000..114f52f9 --- /dev/null +++ b/coin/provisioning/qtci-windows-11_22H2-aarch64/90-3dstudio_3rdparty.ps1 @@ -0,0 +1 @@ +. "$PSScriptRoot\..\common\windows\3dstudio_3rdparty.ps1" diff --git a/coin/provisioning/qtci-windows-11_22H2-aarch64/90-install-notepad++.ps1 b/coin/provisioning/qtci-windows-11_22H2-aarch64/90-install-notepad++.ps1 new file mode 100644 index 00000000..455d92bf --- /dev/null +++ b/coin/provisioning/qtci-windows-11_22H2-aarch64/90-install-notepad++.ps1 @@ -0,0 +1 @@ +. "$PSScriptRoot\..\common\windows\install-notepad++.ps1" diff --git a/coin/provisioning/qtci-windows-11_22H2-aarch64/90-install-stm32cubeprogrammer.ps1 b/coin/provisioning/qtci-windows-11_22H2-aarch64/90-install-stm32cubeprogrammer.ps1 new file mode 100644 index 00000000..25c2bb42 --- /dev/null +++ b/coin/provisioning/qtci-windows-11_22H2-aarch64/90-install-stm32cubeprogrammer.ps1 @@ -0,0 +1 @@ +. "$PSScriptRoot\..\common\windows\install-stm32cubeprogrammer.ps1" diff --git a/coin/provisioning/qtci-windows-11_22H2-aarch64/90-libusb.ps1 b/coin/provisioning/qtci-windows-11_22H2-aarch64/90-libusb.ps1 new file mode 100644 index 00000000..29a1cfa4 --- /dev/null +++ b/coin/provisioning/qtci-windows-11_22H2-aarch64/90-libusb.ps1 @@ -0,0 +1 @@ +. "$PSScriptRoot\..\common\windows\libusb.ps1" diff --git a/coin/provisioning/qtci-windows-11_22H2-aarch64/90-python-modules.ps1 b/coin/provisioning/qtci-windows-11_22H2-aarch64/90-python-modules.ps1 new file mode 100644 index 00000000..adf9e30b --- /dev/null +++ b/coin/provisioning/qtci-windows-11_22H2-aarch64/90-python-modules.ps1 @@ -0,0 +1,5 @@ +. "$PSScriptRoot\..\common\windows\helpers.ps1" + +# Needed by packaging scripts +$scriptsPath = [System.Environment]::GetEnvironmentVariable('PIP3_PATH', [System.EnvironmentVariableTarget]::Machine) +Run-Executable "$scriptsPath\pip3.exe" "install bs4" diff --git a/coin/provisioning/qtci-windows-11_22H2-aarch64/96-disable-windows-module-installer.ps1 b/coin/provisioning/qtci-windows-11_22H2-aarch64/96-disable-windows-module-installer.ps1 new file mode 100644 index 00000000..fb8ec541 --- /dev/null +++ b/coin/provisioning/qtci-windows-11_22H2-aarch64/96-disable-windows-module-installer.ps1 @@ -0,0 +1 @@ +. "$PSScriptRoot\..\common\windows\disable-windows-module-installer.ps1" diff --git a/coin/provisioning/qtci-windows-11_22H2-aarch64/98-unset-proxy.ps1 b/coin/provisioning/qtci-windows-11_22H2-aarch64/98-unset-proxy.ps1 new file mode 100644 index 00000000..0c25a0fb --- /dev/null +++ b/coin/provisioning/qtci-windows-11_22H2-aarch64/98-unset-proxy.ps1 @@ -0,0 +1 @@ +. "$PSScriptRoot\..\common\windows\unset-proxy.ps1" diff --git a/coin/provisioning/qtci-windows-11_22H2-aarch64/99-share-test-folders.ps1 b/coin/provisioning/qtci-windows-11_22H2-aarch64/99-share-test-folders.ps1 new file mode 100644 index 00000000..576fcfdc --- /dev/null +++ b/coin/provisioning/qtci-windows-11_22H2-aarch64/99-share-test-folders.ps1 @@ -0,0 +1 @@ +. "$PSScriptRoot\..\common\windows\share-test-folders.ps1" diff --git a/coin/provisioning/qtci-windows-11_22H2-aarch64/99-version.ps1 b/coin/provisioning/qtci-windows-11_22H2-aarch64/99-version.ps1 new file mode 100644 index 00000000..36e498bc --- /dev/null +++ b/coin/provisioning/qtci-windows-11_22H2-aarch64/99-version.ps1 @@ -0,0 +1 @@ +. "$PSScriptRoot\..\common\windows\version.ps1" diff --git a/coin/provisioning/qtci-windows-11_22H2-x86_64/00-disable-netadapterlso.ps1 b/coin/provisioning/qtci-windows-11_22H2-x86_64/00-disable-netadapterlso.ps1 new file mode 100644 index 00000000..d20f1402 --- /dev/null +++ b/coin/provisioning/qtci-windows-11_22H2-x86_64/00-disable-netadapterlso.ps1 @@ -0,0 +1 @@ +. "$PSScriptRoot\..\common\windows\disable-netadapterlso.ps1" diff --git a/coin/provisioning/qtci-windows-11_22H2-x86_64/00-install-sevenzip.ps1 b/coin/provisioning/qtci-windows-11_22H2-x86_64/00-install-sevenzip.ps1 new file mode 100644 index 00000000..a9044256 --- /dev/null +++ b/coin/provisioning/qtci-windows-11_22H2-x86_64/00-install-sevenzip.ps1 @@ -0,0 +1 @@ +. "$PSScriptRoot\..\common\windows\install-sevenzip.ps1" diff --git a/coin/provisioning/qtci-windows-11_22H2-x86_64/01-allow-remote-desktop-access.ps1 b/coin/provisioning/qtci-windows-11_22H2-x86_64/01-allow-remote-desktop-access.ps1 new file mode 100644 index 00000000..af05e838 --- /dev/null +++ b/coin/provisioning/qtci-windows-11_22H2-x86_64/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-x86_64/01-change-resolution.ps1 b/coin/provisioning/qtci-windows-11_22H2-x86_64/01-change-resolution.ps1 new file mode 100644 index 00000000..c1e73a62 --- /dev/null +++ b/coin/provisioning/qtci-windows-11_22H2-x86_64/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-x86_64/01-disable-notifications.ps1 b/coin/provisioning/qtci-windows-11_22H2-x86_64/01-disable-notifications.ps1 new file mode 100644 index 00000000..ada20147 --- /dev/null +++ b/coin/provisioning/qtci-windows-11_22H2-x86_64/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-x86_64/01-disable-runtimebroker.ps1 b/coin/provisioning/qtci-windows-11_22H2-x86_64/01-disable-runtimebroker.ps1 new file mode 100644 index 00000000..8ae8190d --- /dev/null +++ b/coin/provisioning/qtci-windows-11_22H2-x86_64/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-x86_64/01-disable-windows-telemetry.ps1 b/coin/provisioning/qtci-windows-11_22H2-x86_64/01-disable-windows-telemetry.ps1 new file mode 100644 index 00000000..3f5a75f4 --- /dev/null +++ b/coin/provisioning/qtci-windows-11_22H2-x86_64/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-x86_64/01-enable-guest-logon.ps1 b/coin/provisioning/qtci-windows-11_22H2-x86_64/01-enable-guest-logon.ps1 new file mode 100644 index 00000000..3cf989d3 --- /dev/null +++ b/coin/provisioning/qtci-windows-11_22H2-x86_64/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-x86_64/01-install_telegraf.ps1 b/coin/provisioning/qtci-windows-11_22H2-x86_64/01-install_telegraf.ps1 new file mode 100644 index 00000000..77fa8cbf --- /dev/null +++ b/coin/provisioning/qtci-windows-11_22H2-x86_64/01-install_telegraf.ps1 @@ -0,0 +1 @@ +. "$PSScriptRoot\..\common\windows\install_telegraf.ps1" diff --git a/coin/provisioning/qtci-windows-11_22H2-x86_64/01-mount-vcpkg-cache-drive.ps1 b/coin/provisioning/qtci-windows-11_22H2-x86_64/01-mount-vcpkg-cache-drive.ps1 new file mode 100644 index 00000000..97dbd7d6 --- /dev/null +++ b/coin/provisioning/qtci-windows-11_22H2-x86_64/01-mount-vcpkg-cache-drive.ps1 @@ -0,0 +1 @@ +. "$PSScriptRoot\..\common\windows\mount-vcpkg-cache-drive.ps1" diff --git a/coin/provisioning/qtci-windows-11_22H2-x86_64/01-set-proxy.ps1 b/coin/provisioning/qtci-windows-11_22H2-x86_64/01-set-proxy.ps1 new file mode 100644 index 00000000..13b1ec60 --- /dev/null +++ b/coin/provisioning/qtci-windows-11_22H2-x86_64/01-set-proxy.ps1 @@ -0,0 +1 @@ +. "$PSScriptRoot\..\common\windows\set-proxy.ps1" diff --git a/coin/provisioning/qtci-windows-11_22H2-x86_64/02-disable-autoreboot.ps1 b/coin/provisioning/qtci-windows-11_22H2-x86_64/02-disable-autoreboot.ps1 new file mode 100644 index 00000000..73430b76 --- /dev/null +++ b/coin/provisioning/qtci-windows-11_22H2-x86_64/02-disable-autoreboot.ps1 @@ -0,0 +1 @@ +. "$PSScriptRoot\..\common\windows\disable-autoreboot.ps1" diff --git a/coin/provisioning/qtci-windows-11_22H2-x86_64/02-disable-sleep.ps1 b/coin/provisioning/qtci-windows-11_22H2-x86_64/02-disable-sleep.ps1 new file mode 100644 index 00000000..5bf811ef --- /dev/null +++ b/coin/provisioning/qtci-windows-11_22H2-x86_64/02-disable-sleep.ps1 @@ -0,0 +1 @@ +. "$PSScriptRoot\..\common\windows\disable-sleep.ps1" diff --git a/coin/provisioning/qtci-windows-11_22H2-x86_64/03-nodejs.ps1 b/coin/provisioning/qtci-windows-11_22H2-x86_64/03-nodejs.ps1 new file mode 100644 index 00000000..6032e945 --- /dev/null +++ b/coin/provisioning/qtci-windows-11_22H2-x86_64/03-nodejs.ps1 @@ -0,0 +1 @@ +. "$PSScriptRoot\..\common\windows\nodejs.ps1" diff --git a/coin/provisioning/qtci-windows-11_22H2-x86_64/04-msys.ps1 b/coin/provisioning/qtci-windows-11_22H2-x86_64/04-msys.ps1 new file mode 100644 index 00000000..44efea92 --- /dev/null +++ b/coin/provisioning/qtci-windows-11_22H2-x86_64/04-msys.ps1 @@ -0,0 +1 @@ +. "$PSScriptRoot\..\common\windows\msys.ps1" diff --git a/coin/provisioning/qtci-windows-11_22H2-x86_64/05-enable-devmode.ps1 b/coin/provisioning/qtci-windows-11_22H2-x86_64/05-enable-devmode.ps1 new file mode 100644 index 00000000..01e6f8b0 --- /dev/null +++ b/coin/provisioning/qtci-windows-11_22H2-x86_64/05-enable-devmode.ps1 @@ -0,0 +1 @@ +. "$PSScriptRoot\..\common\windows\win10-enable-devmode.ps1" diff --git a/coin/provisioning/qtci-windows-11_22H2-x86_64/05-wsearch-off.ps1 b/coin/provisioning/qtci-windows-11_22H2-x86_64/05-wsearch-off.ps1 new file mode 100644 index 00000000..eed6b734 --- /dev/null +++ b/coin/provisioning/qtci-windows-11_22H2-x86_64/05-wsearch-off.ps1 @@ -0,0 +1 @@ +. "$PSScriptRoot\..\common\windows\wsearch-off.ps1" diff --git a/coin/provisioning/qtci-windows-11_22H2-x86_64/06-longpath.ps1 b/coin/provisioning/qtci-windows-11_22H2-x86_64/06-longpath.ps1 new file mode 100644 index 00000000..6561d57b --- /dev/null +++ b/coin/provisioning/qtci-windows-11_22H2-x86_64/06-longpath.ps1 @@ -0,0 +1,2 @@ +. "$PSScriptRoot\..\common\windows\longpath.ps1" + diff --git a/coin/provisioning/qtci-windows-11_22H2-x86_64/06-mesa_llvmpipe.ps1 b/coin/provisioning/qtci-windows-11_22H2-x86_64/06-mesa_llvmpipe.ps1 new file mode 100644 index 00000000..1b1a07e9 --- /dev/null +++ b/coin/provisioning/qtci-windows-11_22H2-x86_64/06-mesa_llvmpipe.ps1 @@ -0,0 +1 @@ +. "$PSScriptRoot\..\common\windows\mesa_llvmpipe.ps1" diff --git a/coin/provisioning/qtci-windows-11_22H2-x86_64/06-ninja.ps1 b/coin/provisioning/qtci-windows-11_22H2-x86_64/06-ninja.ps1 new file mode 100644 index 00000000..ba571a1e --- /dev/null +++ b/coin/provisioning/qtci-windows-11_22H2-x86_64/06-ninja.ps1 @@ -0,0 +1 @@ +. "$PSScriptRoot\..\common\windows\ninja.ps1" diff --git a/coin/provisioning/qtci-windows-11_22H2-x86_64/08-install-git.ps1 b/coin/provisioning/qtci-windows-11_22H2-x86_64/08-install-git.ps1 new file mode 100644 index 00000000..38106de7 --- /dev/null +++ b/coin/provisioning/qtci-windows-11_22H2-x86_64/08-install-git.ps1 @@ -0,0 +1 @@ +. "$PSScriptRoot\..\common\windows\install-git.ps1" diff --git a/coin/provisioning/qtci-windows-11_22H2-x86_64/08-install-jdk.ps1 b/coin/provisioning/qtci-windows-11_22H2-x86_64/08-install-jdk.ps1 new file mode 100644 index 00000000..15065b55 --- /dev/null +++ b/coin/provisioning/qtci-windows-11_22H2-x86_64/08-install-jdk.ps1 @@ -0,0 +1 @@ +. "$PSScriptRoot\..\common\windows\install-jdk.ps1" diff --git a/coin/provisioning/qtci-windows-11_22H2-x86_64/08-install-jq.ps1 b/coin/provisioning/qtci-windows-11_22H2-x86_64/08-install-jq.ps1 new file mode 100644 index 00000000..18fa568a --- /dev/null +++ b/coin/provisioning/qtci-windows-11_22H2-x86_64/08-install-jq.ps1 @@ -0,0 +1 @@ +. "$PSScriptRoot\..\common\windows\install-jq.ps1" diff --git a/coin/provisioning/qtci-windows-11_22H2-x86_64/08-libclang-v100-dyn.ps1 b/coin/provisioning/qtci-windows-11_22H2-x86_64/08-libclang-v100-dyn.ps1 new file mode 100644 index 00000000..82b91257 --- /dev/null +++ b/coin/provisioning/qtci-windows-11_22H2-x86_64/08-libclang-v100-dyn.ps1 @@ -0,0 +1,2 @@ +. "$PSScriptRoot\..\common\windows\libclang-v100-dyn.ps1" 64 vs2019 +. "$PSScriptRoot\..\common\windows\libclang-v100-dyn.ps1" 32 vs2019 diff --git a/coin/provisioning/qtci-windows-11_22H2-x86_64/08-libclang.ps1 b/coin/provisioning/qtci-windows-11_22H2-x86_64/08-libclang.ps1 new file mode 100644 index 00000000..7681f01a --- /dev/null +++ b/coin/provisioning/qtci-windows-11_22H2-x86_64/08-libclang.ps1 @@ -0,0 +1,3 @@ +# Do not set the default LLVM_INSTALL_DIR for mingw, leave it with msvc for compat +. "$PSScriptRoot\..\common\windows\libclang.ps1" 64 mingw $False +. "$PSScriptRoot\..\common\windows\libclang.ps1" 64 vs2019 diff --git a/coin/provisioning/qtci-windows-11_22H2-x86_64/08-python3.ps1 b/coin/provisioning/qtci-windows-11_22H2-x86_64/08-python3.ps1 new file mode 100644 index 00000000..7d52476a --- /dev/null +++ b/coin/provisioning/qtci-windows-11_22H2-x86_64/08-python3.ps1 @@ -0,0 +1,12 @@ +# Parameters: +# - Arch 32/64 +# - installer sha1 +# - install target dir +# - version +# - Optional true/false if set as default with PYTHON3/PIP3_PATH variables, default false + +. "$PSScriptRoot\..\common\windows\python3.ps1" 64 "f8d42a421db25a01b53f0c135a9a74ddae042643" "C:\Python37_64" "3.7.9" +. "$PSScriptRoot\..\common\windows\python3.ps1" 64 "3ee4e92a8ef94c70fb56859503fdc805d217d689" "C:\Python310_64" "3.10.0" +# default ones +. "$PSScriptRoot\..\common\windows\python3.ps1" 64 "a8ac14ee5486547caf84abdf151be22d9d069c0a" "C:\Python38_64" "3.8.1" $true +. "$PSScriptRoot\..\common\windows\python3.ps1" 32 "14ff2c2e5538b03a012cb4c9d519d970444ebd42" "C:\Python38_32" "3.8.1" $true diff --git a/coin/provisioning/qtci-windows-11_22H2-x86_64/09-install-dependencywalker.ps1 b/coin/provisioning/qtci-windows-11_22H2-x86_64/09-install-dependencywalker.ps1 new file mode 100644 index 00000000..331de489 --- /dev/null +++ b/coin/provisioning/qtci-windows-11_22H2-x86_64/09-install-dependencywalker.ps1 @@ -0,0 +1 @@ +. "$PSScriptRoot\..\common\windows\install-dependencywalker.ps1" diff --git a/coin/provisioning/qtci-windows-11_22H2-x86_64/09-install-mingw1310_64.ps1 b/coin/provisioning/qtci-windows-11_22H2-x86_64/09-install-mingw1310_64.ps1 new file mode 100644 index 00000000..ef8e0a50 --- /dev/null +++ b/coin/provisioning/qtci-windows-11_22H2-x86_64/09-install-mingw1310_64.ps1 @@ -0,0 +1,11 @@ +. "$PSScriptRoot\..\common\windows\install-mingw.ps1" + +# This script will install 64-bit MinGW 13.1.0 +# Note! MinGW version is 9.0.0 but the GCC version is 13.1 which is used with the naming of MinGW + +$release = "MinGW-w64-x86_64-13.1.0-release-posix-seh-msvcrt-rt_v11-rev1" + +$sha1 = "561db0989c1b2cb73e0ceb27aed3b0ee8cb1db48" + +InstallMinGW $release $sha1 + diff --git a/coin/provisioning/qtci-windows-11_22H2-x86_64/09-install-openssh.ps1 b/coin/provisioning/qtci-windows-11_22H2-x86_64/09-install-openssh.ps1 new file mode 100644 index 00000000..9de844da --- /dev/null +++ b/coin/provisioning/qtci-windows-11_22H2-x86_64/09-install-openssh.ps1 @@ -0,0 +1 @@ +. "$PSScriptRoot\..\common\windows\install-openssh.ps1" diff --git a/coin/provisioning/qtci-windows-11_22H2-x86_64/09-install-ruby.ps1 b/coin/provisioning/qtci-windows-11_22H2-x86_64/09-install-ruby.ps1 new file mode 100644 index 00000000..875b426f --- /dev/null +++ b/coin/provisioning/qtci-windows-11_22H2-x86_64/09-install-ruby.ps1 @@ -0,0 +1 @@ +. "$PSScriptRoot\..\common\windows\install-ruby.ps1" diff --git a/coin/provisioning/qtci-windows-11_22H2-x86_64/09-install-sed.ps1 b/coin/provisioning/qtci-windows-11_22H2-x86_64/09-install-sed.ps1 new file mode 100644 index 00000000..b3c8fded --- /dev/null +++ b/coin/provisioning/qtci-windows-11_22H2-x86_64/09-install-sed.ps1 @@ -0,0 +1 @@ +. "$PSScriptRoot\..\common\windows\install-sed.ps1" diff --git a/coin/provisioning/qtci-windows-11_22H2-x86_64/09-install-strawberry-perl.ps1 b/coin/provisioning/qtci-windows-11_22H2-x86_64/09-install-strawberry-perl.ps1 new file mode 100644 index 00000000..2b5756be --- /dev/null +++ b/coin/provisioning/qtci-windows-11_22H2-x86_64/09-install-strawberry-perl.ps1 @@ -0,0 +1 @@ +. "$PSScriptRoot\..\common\windows\install-strawberry-perl.ps1" diff --git a/coin/provisioning/qtci-windows-11_22H2-x86_64/09-openssl-arm64.ps1 b/coin/provisioning/qtci-windows-11_22H2-x86_64/09-openssl-arm64.ps1 new file mode 100644 index 00000000..c1bbf271 --- /dev/null +++ b/coin/provisioning/qtci-windows-11_22H2-x86_64/09-openssl-arm64.ps1 @@ -0,0 +1 @@ +. "$PSScriptRoot\..\common\windows\openssl-arm64.ps1" diff --git a/coin/provisioning/qtci-windows-11_22H2-x86_64/09-openssl.ps1 b/coin/provisioning/qtci-windows-11_22H2-x86_64/09-openssl.ps1 new file mode 100644 index 00000000..d57ad1cd --- /dev/null +++ b/coin/provisioning/qtci-windows-11_22H2-x86_64/09-openssl.ps1 @@ -0,0 +1 @@ +. "$PSScriptRoot\..\common\windows\openssl.ps1" diff --git a/coin/provisioning/qtci-windows-11_22H2-x86_64/09-set-network-test-server.ps1 b/coin/provisioning/qtci-windows-11_22H2-x86_64/09-set-network-test-server.ps1 new file mode 100644 index 00000000..7918fabf --- /dev/null +++ b/coin/provisioning/qtci-windows-11_22H2-x86_64/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-x86_64/09-vulkansdk.ps1 b/coin/provisioning/qtci-windows-11_22H2-x86_64/09-vulkansdk.ps1 new file mode 100644 index 00000000..54a3d563 --- /dev/null +++ b/coin/provisioning/qtci-windows-11_22H2-x86_64/09-vulkansdk.ps1 @@ -0,0 +1 @@ +. "$PSScriptRoot\..\common\windows\vulkansdk.ps1" diff --git a/coin/provisioning/qtci-windows-11_22H2-x86_64/10-dxsdk.ps1 b/coin/provisioning/qtci-windows-11_22H2-x86_64/10-dxsdk.ps1 new file mode 100644 index 00000000..155df6b8 --- /dev/null +++ b/coin/provisioning/qtci-windows-11_22H2-x86_64/10-dxsdk.ps1 @@ -0,0 +1 @@ +. "$PSScriptRoot\..\common\windows\dxsdk.ps1" diff --git a/coin/provisioning/qtci-windows-11_22H2-x86_64/10-install-msys2.ps1 b/coin/provisioning/qtci-windows-11_22H2-x86_64/10-install-msys2.ps1 new file mode 100644 index 00000000..be9a3634 --- /dev/null +++ b/coin/provisioning/qtci-windows-11_22H2-x86_64/10-install-msys2.ps1 @@ -0,0 +1 @@ +. "$PSScriptRoot\..\common\windows\install-msys2.ps1" diff --git a/coin/provisioning/qtci-windows-11_22H2-x86_64/11-conan.ps1 b/coin/provisioning/qtci-windows-11_22H2-x86_64/11-conan.ps1 new file mode 100644 index 00000000..6215f9e4 --- /dev/null +++ b/coin/provisioning/qtci-windows-11_22H2-x86_64/11-conan.ps1 @@ -0,0 +1 @@ +. "$PSScriptRoot\..\common\windows\conan.ps1" diff --git a/coin/provisioning/qtci-windows-11_22H2-x86_64/20-install-sccache.ps1 b/coin/provisioning/qtci-windows-11_22H2-x86_64/20-install-sccache.ps1 new file mode 100644 index 00000000..0794bff3 --- /dev/null +++ b/coin/provisioning/qtci-windows-11_22H2-x86_64/20-install-sccache.ps1 @@ -0,0 +1 @@ +. "$PSScriptRoot\..\common\windows\install-sccache.ps1" diff --git a/coin/provisioning/qtci-windows-11_22H2-x86_64/22-mqtt_broker.ps1 b/coin/provisioning/qtci-windows-11_22H2-x86_64/22-mqtt_broker.ps1 new file mode 100644 index 00000000..71deb0d4 --- /dev/null +++ b/coin/provisioning/qtci-windows-11_22H2-x86_64/22-mqtt_broker.ps1 @@ -0,0 +1 @@ +. "$PSScriptRoot\..\common\windows\mqtt_broker.ps1" diff --git a/coin/provisioning/qtci-windows-11_22H2-x86_64/23-winrtrunner.ps1 b/coin/provisioning/qtci-windows-11_22H2-x86_64/23-winrtrunner.ps1 new file mode 100644 index 00000000..078f862e --- /dev/null +++ b/coin/provisioning/qtci-windows-11_22H2-x86_64/23-winrtrunner.ps1 @@ -0,0 +1 @@ +. "$PSScriptRoot\..\common\windows\winrtrunner.ps1" diff --git a/coin/provisioning/qtci-windows-11_22H2-x86_64/25-llvm-mingw.ps1 b/coin/provisioning/qtci-windows-11_22H2-x86_64/25-llvm-mingw.ps1 new file mode 100644 index 00000000..3b84e504 --- /dev/null +++ b/coin/provisioning/qtci-windows-11_22H2-x86_64/25-llvm-mingw.ps1 @@ -0,0 +1,20 @@ +# 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 + +. "$PSScriptRoot\..\common\windows\helpers.ps1" + +# This script installs LLVM-Mingw by mstorsjo +# https://github.com/mstorsjo/llvm-mingw/releases/tag/20220323 + +$zip = Get-DownloadLocation "llvm-mingw-20231017-ucrt-x86_64.zip" +$url_cache = "http://ci-files01-hki.ci.qt.io/input/windows/llvm-mingw-20231017-ucrt-x86_64.zip" +$url_official = "https://github.com/mstorsjo/llvm-mingw/releases/download/20231017/llvm-mingw-20231017-ucrt-x86_64.zip" + +Download $url_official $url_cache $zip +Verify-Checksum $zip "1a39032b5add2f06fe0dfa56d0279b313b974da3" +Extract-7Zip $zip C:\ + +Rename-Item C:\llvm-mingw-20231017-ucrt-x86_64 C:\llvm-mingw + +Write-Output "llvm-mingw = 17.0.3" >> ~/versions.txt +Remove-Item -Path $zip diff --git a/coin/provisioning/qtci-windows-11_22H2-x86_64/29-libusb.ps1 b/coin/provisioning/qtci-windows-11_22H2-x86_64/29-libusb.ps1 new file mode 100644 index 00000000..6035912d --- /dev/null +++ b/coin/provisioning/qtci-windows-11_22H2-x86_64/29-libusb.ps1 @@ -0,0 +1,3 @@ + + +. "$PSScriptRoot\..\common\windows\libusb.ps1" diff --git a/coin/provisioning/qtci-windows-11_22H2-x86_64/30-fbx.ps1 b/coin/provisioning/qtci-windows-11_22H2-x86_64/30-fbx.ps1 new file mode 100644 index 00000000..468b0433 --- /dev/null +++ b/coin/provisioning/qtci-windows-11_22H2-x86_64/30-fbx.ps1 @@ -0,0 +1 @@ +. "$PSScriptRoot\..\common\windows\fbx_windows.ps1" diff --git a/coin/provisioning/qtci-windows-11_22H2-x86_64/35-install-breakpad.ps1 b/coin/provisioning/qtci-windows-11_22H2-x86_64/35-install-breakpad.ps1 new file mode 100644 index 00000000..9360a326 --- /dev/null +++ b/coin/provisioning/qtci-windows-11_22H2-x86_64/35-install-breakpad.ps1 @@ -0,0 +1 @@ +. "$PSScriptRoot\..\common\windows\install-breakpad.ps1" diff --git a/coin/provisioning/qtci-windows-11_22H2-x86_64/36-install-gnuwin32.ps1 b/coin/provisioning/qtci-windows-11_22H2-x86_64/36-install-gnuwin32.ps1 new file mode 100644 index 00000000..0e2abbac --- /dev/null +++ b/coin/provisioning/qtci-windows-11_22H2-x86_64/36-install-gnuwin32.ps1 @@ -0,0 +1,2 @@ +. "$PSScriptRoot\..\common\windows\install-gnuwin32.ps1" + diff --git a/coin/provisioning/qtci-windows-11_22H2-x86_64/40-android.ps1 b/coin/provisioning/qtci-windows-11_22H2-x86_64/40-android.ps1 new file mode 100644 index 00000000..69799974 --- /dev/null +++ b/coin/provisioning/qtci-windows-11_22H2-x86_64/40-android.ps1 @@ -0,0 +1 @@ +. "$PSScriptRoot\..\common\windows\android.ps1" diff --git a/coin/provisioning/qtci-windows-11_22H2-x86_64/50-openssl_for_android.ps1 b/coin/provisioning/qtci-windows-11_22H2-x86_64/50-openssl_for_android.ps1 new file mode 100644 index 00000000..25c6f28a --- /dev/null +++ b/coin/provisioning/qtci-windows-11_22H2-x86_64/50-openssl_for_android.ps1 @@ -0,0 +1 @@ +. "$PSScriptRoot\..\common\windows\android-openssl.ps1" diff --git a/coin/provisioning/qtci-windows-11_22H2-x86_64/60-jom.ps1 b/coin/provisioning/qtci-windows-11_22H2-x86_64/60-jom.ps1 new file mode 100644 index 00000000..b246ce25 --- /dev/null +++ b/coin/provisioning/qtci-windows-11_22H2-x86_64/60-jom.ps1 @@ -0,0 +1 @@ +. "$PSScriptRoot\..\common\windows\jom.ps1" diff --git a/coin/provisioning/qtci-windows-11_22H2-x86_64/70-cmake.ps1 b/coin/provisioning/qtci-windows-11_22H2-x86_64/70-cmake.ps1 new file mode 100644 index 00000000..73dc7bc2 --- /dev/null +++ b/coin/provisioning/qtci-windows-11_22H2-x86_64/70-cmake.ps1 @@ -0,0 +1 @@ +. "$PSScriptRoot\..\common\windows\cmake.ps1" diff --git a/coin/provisioning/qtci-windows-11_22H2-x86_64/79-opcua_unifiedautomation.ps1 b/coin/provisioning/qtci-windows-11_22H2-x86_64/79-opcua_unifiedautomation.ps1 new file mode 100644 index 00000000..e7f14459 --- /dev/null +++ b/coin/provisioning/qtci-windows-11_22H2-x86_64/79-opcua_unifiedautomation.ps1 @@ -0,0 +1 @@ +. "$PSScriptRoot\..\common\windows\opcua_unifiedautomation.ps1" diff --git a/coin/provisioning/qtci-windows-11_22H2-x86_64/80-emsdk.ps1 b/coin/provisioning/qtci-windows-11_22H2-x86_64/80-emsdk.ps1 new file mode 100644 index 00000000..b72470a2 --- /dev/null +++ b/coin/provisioning/qtci-windows-11_22H2-x86_64/80-emsdk.ps1 @@ -0,0 +1,2 @@ +. "$PSScriptRoot\..\common\windows\emsdk.ps1" + diff --git a/coin/provisioning/qtci-windows-11_22H2-x86_64/85-disable_quickedit_powershell.ps1 b/coin/provisioning/qtci-windows-11_22H2-x86_64/85-disable_quickedit_powershell.ps1 new file mode 100644 index 00000000..547e15a8 --- /dev/null +++ b/coin/provisioning/qtci-windows-11_22H2-x86_64/85-disable_quickedit_powershell.ps1 @@ -0,0 +1 @@ +. "$PSScriptRoot\..\common\windows\disable-quickedit.ps1" diff --git a/coin/provisioning/qtci-windows-11_22H2-x86_64/90-3dstudio_3rdparty.ps1 b/coin/provisioning/qtci-windows-11_22H2-x86_64/90-3dstudio_3rdparty.ps1 new file mode 100644 index 00000000..114f52f9 --- /dev/null +++ b/coin/provisioning/qtci-windows-11_22H2-x86_64/90-3dstudio_3rdparty.ps1 @@ -0,0 +1 @@ +. "$PSScriptRoot\..\common\windows\3dstudio_3rdparty.ps1" diff --git a/coin/provisioning/qtci-windows-11_22H2-x86_64/90-exceutequeueditems.ps1 b/coin/provisioning/qtci-windows-11_22H2-x86_64/90-exceutequeueditems.ps1 new file mode 100644 index 00000000..52306fb9 --- /dev/null +++ b/coin/provisioning/qtci-windows-11_22H2-x86_64/90-exceutequeueditems.ps1 @@ -0,0 +1 @@ +. "$PSScriptRoot\..\common\windows\exceutequeueditems.ps1" diff --git a/coin/provisioning/qtci-windows-11_22H2-x86_64/90-install-dotnet.ps1 b/coin/provisioning/qtci-windows-11_22H2-x86_64/90-install-dotnet.ps1 new file mode 100644 index 00000000..a2ecfba2 --- /dev/null +++ b/coin/provisioning/qtci-windows-11_22H2-x86_64/90-install-dotnet.ps1 @@ -0,0 +1,2 @@ +. "$PSScriptRoot\..\common\windows\install-dotnet.ps1" + diff --git a/coin/provisioning/qtci-windows-11_22H2-x86_64/90-install-ffmpeg.ps1 b/coin/provisioning/qtci-windows-11_22H2-x86_64/90-install-ffmpeg.ps1 new file mode 100644 index 00000000..e16f634c --- /dev/null +++ b/coin/provisioning/qtci-windows-11_22H2-x86_64/90-install-ffmpeg.ps1 @@ -0,0 +1,2 @@ +. "$PSScriptRoot\..\common\windows\install-ffmpeg.ps1" + diff --git a/coin/provisioning/qtci-windows-11_22H2-x86_64/90-install-mcuxpresso.ps1 b/coin/provisioning/qtci-windows-11_22H2-x86_64/90-install-mcuxpresso.ps1 new file mode 100644 index 00000000..22d19322 --- /dev/null +++ b/coin/provisioning/qtci-windows-11_22H2-x86_64/90-install-mcuxpresso.ps1 @@ -0,0 +1 @@ +. "$PSScriptRoot\..\common\windows\install-mcuxpresso.ps1" diff --git a/coin/provisioning/qtci-windows-11_22H2-x86_64/90-install-notepad++.ps1 b/coin/provisioning/qtci-windows-11_22H2-x86_64/90-install-notepad++.ps1 new file mode 100644 index 00000000..455d92bf --- /dev/null +++ b/coin/provisioning/qtci-windows-11_22H2-x86_64/90-install-notepad++.ps1 @@ -0,0 +1 @@ +. "$PSScriptRoot\..\common\windows\install-notepad++.ps1" diff --git a/coin/provisioning/qtci-windows-11_22H2-x86_64/90-install-stm32cubeprogrammer.ps1 b/coin/provisioning/qtci-windows-11_22H2-x86_64/90-install-stm32cubeprogrammer.ps1 new file mode 100644 index 00000000..25c2bb42 --- /dev/null +++ b/coin/provisioning/qtci-windows-11_22H2-x86_64/90-install-stm32cubeprogrammer.ps1 @@ -0,0 +1 @@ +. "$PSScriptRoot\..\common\windows\install-stm32cubeprogrammer.ps1" diff --git a/coin/provisioning/qtci-windows-11_22H2-x86_64/90-install-virtualbox.ps1 b/coin/provisioning/qtci-windows-11_22H2-x86_64/90-install-virtualbox.ps1 new file mode 100644 index 00000000..bf14fd23 --- /dev/null +++ b/coin/provisioning/qtci-windows-11_22H2-x86_64/90-install-virtualbox.ps1 @@ -0,0 +1,21 @@ +# 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 + +. "$PSScriptRoot\..\common\windows\helpers.ps1" + +# This script will install VirtualBox + +$version = "5.2.4" +$sha1 = "71df4474a5e94918728b62d1f6bc036674ef0e96" +$url_cache = "\\ci-files01-hki.ci.qt.io\provisioning\windows\VirtualBox-" + $version + "-119785-Win.exe" +$url_official = "http://download.virtualbox.org/virtualbox/" + $version + "/VirtualBox-" + $version + "-119785-Win.exe" +$virtualboxPackage = "C:\Windows\Temp\virtualbox-$version.exe" + +Download $url_official $url_cache $virtualboxPackage +Verify-Checksum $virtualboxPackage $sha1 +Run-Executable $virtualboxPackage "--silent" + +Write-Output "Cleaning $virtualboxPackage.." +Remove "$virtualboxPackage" + +Write-Output "VirtualBox = $version" >> ~\versions.txt diff --git a/coin/provisioning/qtci-windows-11_22H2-x86_64/90-libusb.ps1 b/coin/provisioning/qtci-windows-11_22H2-x86_64/90-libusb.ps1 new file mode 100644 index 00000000..29a1cfa4 --- /dev/null +++ b/coin/provisioning/qtci-windows-11_22H2-x86_64/90-libusb.ps1 @@ -0,0 +1 @@ +. "$PSScriptRoot\..\common\windows\libusb.ps1" diff --git a/coin/provisioning/qtci-windows-11_22H2-x86_64/90-mimersql.ps1 b/coin/provisioning/qtci-windows-11_22H2-x86_64/90-mimersql.ps1 new file mode 100644 index 00000000..576dd9d2 --- /dev/null +++ b/coin/provisioning/qtci-windows-11_22H2-x86_64/90-mimersql.ps1 @@ -0,0 +1 @@ +. "$PSScriptRoot\..\common\windows\mimersql.ps1" diff --git a/coin/provisioning/qtci-windows-11_22H2-x86_64/90-mysql.ps1 b/coin/provisioning/qtci-windows-11_22H2-x86_64/90-mysql.ps1 new file mode 100644 index 00000000..864a79a5 --- /dev/null +++ b/coin/provisioning/qtci-windows-11_22H2-x86_64/90-mysql.ps1 @@ -0,0 +1,2 @@ +. "$PSScriptRoot\..\common\windows\mysql.ps1" + diff --git a/coin/provisioning/qtci-windows-11_22H2-x86_64/90-postgresql.ps1 b/coin/provisioning/qtci-windows-11_22H2-x86_64/90-postgresql.ps1 new file mode 100644 index 00000000..0e0d87be --- /dev/null +++ b/coin/provisioning/qtci-windows-11_22H2-x86_64/90-postgresql.ps1 @@ -0,0 +1,2 @@ +. "$PSScriptRoot\..\common\windows\postgresql.ps1" + diff --git a/coin/provisioning/qtci-windows-11_22H2-x86_64/90-python-modules.ps1 b/coin/provisioning/qtci-windows-11_22H2-x86_64/90-python-modules.ps1 new file mode 100644 index 00000000..80ab54dc --- /dev/null +++ b/coin/provisioning/qtci-windows-11_22H2-x86_64/90-python-modules.ps1 @@ -0,0 +1,4 @@ +. "$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-x86_64/90-squish.ps1 b/coin/provisioning/qtci-windows-11_22H2-x86_64/90-squish.ps1 new file mode 100644 index 00000000..ff758845 --- /dev/null +++ b/coin/provisioning/qtci-windows-11_22H2-x86_64/90-squish.ps1 @@ -0,0 +1 @@ +. "$PSScriptRoot\..\common\windows\squishInstall.ps1" diff --git a/coin/provisioning/qtci-windows-11_22H2-x86_64/91-install-azure-tool.ps1 b/coin/provisioning/qtci-windows-11_22H2-x86_64/91-install-azure-tool.ps1 new file mode 100644 index 00000000..f1d5acc3 --- /dev/null +++ b/coin/provisioning/qtci-windows-11_22H2-x86_64/91-install-azure-tool.ps1 @@ -0,0 +1 @@ +. "$PSScriptRoot\..\common\windows\install-azure-tool.ps1" diff --git a/coin/provisioning/qtci-windows-11_22H2-x86_64/91-squish-coco.ps1 b/coin/provisioning/qtci-windows-11_22H2-x86_64/91-squish-coco.ps1 new file mode 100644 index 00000000..bf4f8a96 --- /dev/null +++ b/coin/provisioning/qtci-windows-11_22H2-x86_64/91-squish-coco.ps1 @@ -0,0 +1,2 @@ + "$PSScriptRoot\..\common\windows\squish-coco.ps1" + diff --git a/coin/provisioning/qtci-windows-11_22H2-x86_64/92-protobuf.ps1 b/coin/provisioning/qtci-windows-11_22H2-x86_64/92-protobuf.ps1 new file mode 100644 index 00000000..c455bce7 --- /dev/null +++ b/coin/provisioning/qtci-windows-11_22H2-x86_64/92-protobuf.ps1 @@ -0,0 +1,2 @@ +. "$PSScriptRoot\..\common\windows\protobuf.ps1" + diff --git a/coin/provisioning/qtci-windows-11_22H2-x86_64/93-grpc.ps1 b/coin/provisioning/qtci-windows-11_22H2-x86_64/93-grpc.ps1 new file mode 100644 index 00000000..7d0b471d --- /dev/null +++ b/coin/provisioning/qtci-windows-11_22H2-x86_64/93-grpc.ps1 @@ -0,0 +1 @@ +. "$PSScriptRoot\..\common\windows\grpc.ps1" diff --git a/coin/provisioning/qtci-windows-11_22H2-x86_64/93-install-vcpkg.ps1 b/coin/provisioning/qtci-windows-11_22H2-x86_64/93-install-vcpkg.ps1 new file mode 100644 index 00000000..3c360de9 --- /dev/null +++ b/coin/provisioning/qtci-windows-11_22H2-x86_64/93-install-vcpkg.ps1 @@ -0,0 +1 @@ +. "$PSScriptRoot\..\common\windows\install-vcpkg.ps1" diff --git a/coin/provisioning/qtci-windows-11_22H2-x86_64/94-install-vcpkg-ports.ps1 b/coin/provisioning/qtci-windows-11_22H2-x86_64/94-install-vcpkg-ports.ps1 new file mode 100644 index 00000000..1dd657bc --- /dev/null +++ b/coin/provisioning/qtci-windows-11_22H2-x86_64/94-install-vcpkg-ports.ps1 @@ -0,0 +1 @@ +. "$PSScriptRoot\..\common\windows\install-vcpkg-ports.ps1" diff --git a/coin/provisioning/qtci-windows-11_22H2-x86_64/96-disable-windows-module-installer.ps1 b/coin/provisioning/qtci-windows-11_22H2-x86_64/96-disable-windows-module-installer.ps1 new file mode 100644 index 00000000..fb8ec541 --- /dev/null +++ b/coin/provisioning/qtci-windows-11_22H2-x86_64/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-x86_64/97-msvc2015.ps1 b/coin/provisioning/qtci-windows-11_22H2-x86_64/97-msvc2015.ps1 new file mode 100644 index 00000000..2c1735d0 --- /dev/null +++ b/coin/provisioning/qtci-windows-11_22H2-x86_64/97-msvc2015.ps1 @@ -0,0 +1,10 @@ +# 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 + +# Visual Studios are pre-provisioned to tier1 images + +# MSVC 2015 Update 3 +Write-Output "Visual Studio 2015 = Version 14.0.25431.01 Update 3" >> ~\versions.txt + +# MSVC 2019 and Build Tools are pre-provisioned, but the updating happens with "$PSScriptRoot\..\common\windows\update-msvc2019.ps1" + diff --git a/coin/provisioning/qtci-windows-11_22H2-x86_64/98-unset-proxy.ps1 b/coin/provisioning/qtci-windows-11_22H2-x86_64/98-unset-proxy.ps1 new file mode 100644 index 00000000..0c25a0fb --- /dev/null +++ b/coin/provisioning/qtci-windows-11_22H2-x86_64/98-unset-proxy.ps1 @@ -0,0 +1 @@ +. "$PSScriptRoot\..\common\windows\unset-proxy.ps1" diff --git a/coin/provisioning/qtci-windows-11_22H2-x86_64/99-share-test-folders.ps1 b/coin/provisioning/qtci-windows-11_22H2-x86_64/99-share-test-folders.ps1 new file mode 100644 index 00000000..576fcfdc --- /dev/null +++ b/coin/provisioning/qtci-windows-11_22H2-x86_64/99-share-test-folders.ps1 @@ -0,0 +1 @@ +. "$PSScriptRoot\..\common\windows\share-test-folders.ps1" diff --git a/coin/provisioning/qtci-windows-11_22H2-x86_64/99-version.ps1 b/coin/provisioning/qtci-windows-11_22H2-x86_64/99-version.ps1 new file mode 100644 index 00000000..36e498bc --- /dev/null +++ b/coin/provisioning/qtci-windows-11_22H2-x86_64/99-version.ps1 @@ -0,0 +1 @@ +. "$PSScriptRoot\..\common\windows\version.ps1" diff --git a/coin/provisioning/qtci-windows-11_22H2-x86_64/conanfiles/qtwebkit.txt b/coin/provisioning/qtci-windows-11_22H2-x86_64/conanfiles/qtwebkit.txt new file mode 100644 index 00000000..eaafc008 --- /dev/null +++ b/coin/provisioning/qtci-windows-11_22H2-x86_64/conanfiles/qtwebkit.txt @@ -0,0 +1,31 @@ +[requires] +icu/65.1@qtproject/stable +libxml2/2.9.10@qtproject/stable +libxslt/1.1.34@qtproject/stable +libjpeg-turbo/2.0.5@qtproject/stable + +[generators] +cmake +txt + +[options] +icu:shared=True +icu:data_packaging=library + +libxml2:shared=True +libxml2:iconv=False +libxml2:icu=True +libxml2:zlib=False + +libxslt:shared=True + +libjpeg-turbo:shared=False + +[imports] +bin, icudt65.dll -> ./bin +bin, icuin65.dll -> ./bin +bin, icuuc65.dll -> ./bin +bin, libxml2.dll -> ./bin +bin, libxslt.dll -> ./bin +bin, libxml2-2.dll -> ./bin +bin, libxslt-1.dll -> ./bin diff --git a/coin/provisioning/qtci-windows-11_23H2-x86_64/00-disable-netadapterlso.ps1 b/coin/provisioning/qtci-windows-11_23H2-x86_64/00-disable-netadapterlso.ps1 new file mode 100644 index 00000000..d20f1402 --- /dev/null +++ b/coin/provisioning/qtci-windows-11_23H2-x86_64/00-disable-netadapterlso.ps1 @@ -0,0 +1 @@ +. "$PSScriptRoot\..\common\windows\disable-netadapterlso.ps1" diff --git a/coin/provisioning/qtci-windows-11_23H2-x86_64/00-install-sevenzip.ps1 b/coin/provisioning/qtci-windows-11_23H2-x86_64/00-install-sevenzip.ps1 new file mode 100644 index 00000000..a9044256 --- /dev/null +++ b/coin/provisioning/qtci-windows-11_23H2-x86_64/00-install-sevenzip.ps1 @@ -0,0 +1 @@ +. "$PSScriptRoot\..\common\windows\install-sevenzip.ps1" diff --git a/coin/provisioning/qtci-windows-11_23H2-x86_64/01-allow-remote-desktop-access.ps1 b/coin/provisioning/qtci-windows-11_23H2-x86_64/01-allow-remote-desktop-access.ps1 new file mode 100644 index 00000000..af05e838 --- /dev/null +++ b/coin/provisioning/qtci-windows-11_23H2-x86_64/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_23H2-x86_64/01-change-resolution.ps1 b/coin/provisioning/qtci-windows-11_23H2-x86_64/01-change-resolution.ps1 new file mode 100644 index 00000000..c1e73a62 --- /dev/null +++ b/coin/provisioning/qtci-windows-11_23H2-x86_64/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_23H2-x86_64/01-disable-notifications.ps1 b/coin/provisioning/qtci-windows-11_23H2-x86_64/01-disable-notifications.ps1 new file mode 100644 index 00000000..ada20147 --- /dev/null +++ b/coin/provisioning/qtci-windows-11_23H2-x86_64/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_23H2-x86_64/01-disable-runtimebroker.ps1 b/coin/provisioning/qtci-windows-11_23H2-x86_64/01-disable-runtimebroker.ps1 new file mode 100644 index 00000000..8ae8190d --- /dev/null +++ b/coin/provisioning/qtci-windows-11_23H2-x86_64/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_23H2-x86_64/01-disable-windows-telemetry.ps1 b/coin/provisioning/qtci-windows-11_23H2-x86_64/01-disable-windows-telemetry.ps1 new file mode 100644 index 00000000..3f5a75f4 --- /dev/null +++ b/coin/provisioning/qtci-windows-11_23H2-x86_64/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_23H2-x86_64/01-enable-guest-logon.ps1 b/coin/provisioning/qtci-windows-11_23H2-x86_64/01-enable-guest-logon.ps1 new file mode 100644 index 00000000..3cf989d3 --- /dev/null +++ b/coin/provisioning/qtci-windows-11_23H2-x86_64/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_23H2-x86_64/01-install_telegraf.ps1 b/coin/provisioning/qtci-windows-11_23H2-x86_64/01-install_telegraf.ps1 new file mode 100644 index 00000000..77fa8cbf --- /dev/null +++ b/coin/provisioning/qtci-windows-11_23H2-x86_64/01-install_telegraf.ps1 @@ -0,0 +1 @@ +. "$PSScriptRoot\..\common\windows\install_telegraf.ps1" diff --git a/coin/provisioning/qtci-windows-11_23H2-x86_64/01-mount-vcpkg-cache-drive.ps1 b/coin/provisioning/qtci-windows-11_23H2-x86_64/01-mount-vcpkg-cache-drive.ps1 new file mode 100644 index 00000000..97dbd7d6 --- /dev/null +++ b/coin/provisioning/qtci-windows-11_23H2-x86_64/01-mount-vcpkg-cache-drive.ps1 @@ -0,0 +1 @@ +. "$PSScriptRoot\..\common\windows\mount-vcpkg-cache-drive.ps1" diff --git a/coin/provisioning/qtci-windows-11_23H2-x86_64/01-set-proxy.ps1 b/coin/provisioning/qtci-windows-11_23H2-x86_64/01-set-proxy.ps1 new file mode 100644 index 00000000..13b1ec60 --- /dev/null +++ b/coin/provisioning/qtci-windows-11_23H2-x86_64/01-set-proxy.ps1 @@ -0,0 +1 @@ +. "$PSScriptRoot\..\common\windows\set-proxy.ps1" diff --git a/coin/provisioning/qtci-windows-11_23H2-x86_64/02-disable-autoreboot.ps1 b/coin/provisioning/qtci-windows-11_23H2-x86_64/02-disable-autoreboot.ps1 new file mode 100644 index 00000000..73430b76 --- /dev/null +++ b/coin/provisioning/qtci-windows-11_23H2-x86_64/02-disable-autoreboot.ps1 @@ -0,0 +1 @@ +. "$PSScriptRoot\..\common\windows\disable-autoreboot.ps1" diff --git a/coin/provisioning/qtci-windows-11_23H2-x86_64/02-disable-sleep.ps1 b/coin/provisioning/qtci-windows-11_23H2-x86_64/02-disable-sleep.ps1 new file mode 100644 index 00000000..5bf811ef --- /dev/null +++ b/coin/provisioning/qtci-windows-11_23H2-x86_64/02-disable-sleep.ps1 @@ -0,0 +1 @@ +. "$PSScriptRoot\..\common\windows\disable-sleep.ps1" diff --git a/coin/provisioning/qtci-windows-11_23H2-x86_64/03-nodejs.ps1 b/coin/provisioning/qtci-windows-11_23H2-x86_64/03-nodejs.ps1 new file mode 100644 index 00000000..6032e945 --- /dev/null +++ b/coin/provisioning/qtci-windows-11_23H2-x86_64/03-nodejs.ps1 @@ -0,0 +1 @@ +. "$PSScriptRoot\..\common\windows\nodejs.ps1" diff --git a/coin/provisioning/qtci-windows-11_23H2-x86_64/04-msys.ps1 b/coin/provisioning/qtci-windows-11_23H2-x86_64/04-msys.ps1 new file mode 100644 index 00000000..44efea92 --- /dev/null +++ b/coin/provisioning/qtci-windows-11_23H2-x86_64/04-msys.ps1 @@ -0,0 +1 @@ +. "$PSScriptRoot\..\common\windows\msys.ps1" diff --git a/coin/provisioning/qtci-windows-11_23H2-x86_64/05-enable-devmode.ps1 b/coin/provisioning/qtci-windows-11_23H2-x86_64/05-enable-devmode.ps1 new file mode 100644 index 00000000..01e6f8b0 --- /dev/null +++ b/coin/provisioning/qtci-windows-11_23H2-x86_64/05-enable-devmode.ps1 @@ -0,0 +1 @@ +. "$PSScriptRoot\..\common\windows\win10-enable-devmode.ps1" diff --git a/coin/provisioning/qtci-windows-11_23H2-x86_64/05-wsearch-off.ps1 b/coin/provisioning/qtci-windows-11_23H2-x86_64/05-wsearch-off.ps1 new file mode 100644 index 00000000..eed6b734 --- /dev/null +++ b/coin/provisioning/qtci-windows-11_23H2-x86_64/05-wsearch-off.ps1 @@ -0,0 +1 @@ +. "$PSScriptRoot\..\common\windows\wsearch-off.ps1" diff --git a/coin/provisioning/qtci-windows-11_23H2-x86_64/06-longpath.ps1 b/coin/provisioning/qtci-windows-11_23H2-x86_64/06-longpath.ps1 new file mode 100644 index 00000000..6561d57b --- /dev/null +++ b/coin/provisioning/qtci-windows-11_23H2-x86_64/06-longpath.ps1 @@ -0,0 +1,2 @@ +. "$PSScriptRoot\..\common\windows\longpath.ps1" + diff --git a/coin/provisioning/qtci-windows-11_23H2-x86_64/06-mesa_llvmpipe.ps1 b/coin/provisioning/qtci-windows-11_23H2-x86_64/06-mesa_llvmpipe.ps1 new file mode 100644 index 00000000..1b1a07e9 --- /dev/null +++ b/coin/provisioning/qtci-windows-11_23H2-x86_64/06-mesa_llvmpipe.ps1 @@ -0,0 +1 @@ +. "$PSScriptRoot\..\common\windows\mesa_llvmpipe.ps1" diff --git a/coin/provisioning/qtci-windows-11_23H2-x86_64/06-ninja.ps1 b/coin/provisioning/qtci-windows-11_23H2-x86_64/06-ninja.ps1 new file mode 100644 index 00000000..ba571a1e --- /dev/null +++ b/coin/provisioning/qtci-windows-11_23H2-x86_64/06-ninja.ps1 @@ -0,0 +1 @@ +. "$PSScriptRoot\..\common\windows\ninja.ps1" diff --git a/coin/provisioning/qtci-windows-11_23H2-x86_64/08-install-git.ps1 b/coin/provisioning/qtci-windows-11_23H2-x86_64/08-install-git.ps1 new file mode 100644 index 00000000..38106de7 --- /dev/null +++ b/coin/provisioning/qtci-windows-11_23H2-x86_64/08-install-git.ps1 @@ -0,0 +1 @@ +. "$PSScriptRoot\..\common\windows\install-git.ps1" diff --git a/coin/provisioning/qtci-windows-11_23H2-x86_64/08-install-jdk.ps1 b/coin/provisioning/qtci-windows-11_23H2-x86_64/08-install-jdk.ps1 new file mode 100644 index 00000000..15065b55 --- /dev/null +++ b/coin/provisioning/qtci-windows-11_23H2-x86_64/08-install-jdk.ps1 @@ -0,0 +1 @@ +. "$PSScriptRoot\..\common\windows\install-jdk.ps1" diff --git a/coin/provisioning/qtci-windows-11_23H2-x86_64/08-install-jq.ps1 b/coin/provisioning/qtci-windows-11_23H2-x86_64/08-install-jq.ps1 new file mode 100644 index 00000000..18fa568a --- /dev/null +++ b/coin/provisioning/qtci-windows-11_23H2-x86_64/08-install-jq.ps1 @@ -0,0 +1 @@ +. "$PSScriptRoot\..\common\windows\install-jq.ps1" diff --git a/coin/provisioning/qtci-windows-11_23H2-x86_64/08-libclang-v100-dyn.ps1 b/coin/provisioning/qtci-windows-11_23H2-x86_64/08-libclang-v100-dyn.ps1 new file mode 100644 index 00000000..82b91257 --- /dev/null +++ b/coin/provisioning/qtci-windows-11_23H2-x86_64/08-libclang-v100-dyn.ps1 @@ -0,0 +1,2 @@ +. "$PSScriptRoot\..\common\windows\libclang-v100-dyn.ps1" 64 vs2019 +. "$PSScriptRoot\..\common\windows\libclang-v100-dyn.ps1" 32 vs2019 diff --git a/coin/provisioning/qtci-windows-11_23H2-x86_64/08-libclang.ps1 b/coin/provisioning/qtci-windows-11_23H2-x86_64/08-libclang.ps1 new file mode 100644 index 00000000..7681f01a --- /dev/null +++ b/coin/provisioning/qtci-windows-11_23H2-x86_64/08-libclang.ps1 @@ -0,0 +1,3 @@ +# Do not set the default LLVM_INSTALL_DIR for mingw, leave it with msvc for compat +. "$PSScriptRoot\..\common\windows\libclang.ps1" 64 mingw $False +. "$PSScriptRoot\..\common\windows\libclang.ps1" 64 vs2019 diff --git a/coin/provisioning/qtci-windows-11_23H2-x86_64/08-python3.ps1 b/coin/provisioning/qtci-windows-11_23H2-x86_64/08-python3.ps1 new file mode 100644 index 00000000..7d52476a --- /dev/null +++ b/coin/provisioning/qtci-windows-11_23H2-x86_64/08-python3.ps1 @@ -0,0 +1,12 @@ +# Parameters: +# - Arch 32/64 +# - installer sha1 +# - install target dir +# - version +# - Optional true/false if set as default with PYTHON3/PIP3_PATH variables, default false + +. "$PSScriptRoot\..\common\windows\python3.ps1" 64 "f8d42a421db25a01b53f0c135a9a74ddae042643" "C:\Python37_64" "3.7.9" +. "$PSScriptRoot\..\common\windows\python3.ps1" 64 "3ee4e92a8ef94c70fb56859503fdc805d217d689" "C:\Python310_64" "3.10.0" +# default ones +. "$PSScriptRoot\..\common\windows\python3.ps1" 64 "a8ac14ee5486547caf84abdf151be22d9d069c0a" "C:\Python38_64" "3.8.1" $true +. "$PSScriptRoot\..\common\windows\python3.ps1" 32 "14ff2c2e5538b03a012cb4c9d519d970444ebd42" "C:\Python38_32" "3.8.1" $true diff --git a/coin/provisioning/qtci-windows-11_23H2-x86_64/09-install-dependencywalker.ps1 b/coin/provisioning/qtci-windows-11_23H2-x86_64/09-install-dependencywalker.ps1 new file mode 100644 index 00000000..331de489 --- /dev/null +++ b/coin/provisioning/qtci-windows-11_23H2-x86_64/09-install-dependencywalker.ps1 @@ -0,0 +1 @@ +. "$PSScriptRoot\..\common\windows\install-dependencywalker.ps1" diff --git a/coin/provisioning/qtci-windows-11_23H2-x86_64/09-install-mingw1310_64.ps1 b/coin/provisioning/qtci-windows-11_23H2-x86_64/09-install-mingw1310_64.ps1 new file mode 100644 index 00000000..ef8e0a50 --- /dev/null +++ b/coin/provisioning/qtci-windows-11_23H2-x86_64/09-install-mingw1310_64.ps1 @@ -0,0 +1,11 @@ +. "$PSScriptRoot\..\common\windows\install-mingw.ps1" + +# This script will install 64-bit MinGW 13.1.0 +# Note! MinGW version is 9.0.0 but the GCC version is 13.1 which is used with the naming of MinGW + +$release = "MinGW-w64-x86_64-13.1.0-release-posix-seh-msvcrt-rt_v11-rev1" + +$sha1 = "561db0989c1b2cb73e0ceb27aed3b0ee8cb1db48" + +InstallMinGW $release $sha1 + diff --git a/coin/provisioning/qtci-windows-11_23H2-x86_64/09-install-openssh.ps1 b/coin/provisioning/qtci-windows-11_23H2-x86_64/09-install-openssh.ps1 new file mode 100644 index 00000000..9de844da --- /dev/null +++ b/coin/provisioning/qtci-windows-11_23H2-x86_64/09-install-openssh.ps1 @@ -0,0 +1 @@ +. "$PSScriptRoot\..\common\windows\install-openssh.ps1" diff --git a/coin/provisioning/qtci-windows-11_23H2-x86_64/09-install-ruby.ps1 b/coin/provisioning/qtci-windows-11_23H2-x86_64/09-install-ruby.ps1 new file mode 100644 index 00000000..875b426f --- /dev/null +++ b/coin/provisioning/qtci-windows-11_23H2-x86_64/09-install-ruby.ps1 @@ -0,0 +1 @@ +. "$PSScriptRoot\..\common\windows\install-ruby.ps1" diff --git a/coin/provisioning/qtci-windows-11_23H2-x86_64/09-install-sed.ps1 b/coin/provisioning/qtci-windows-11_23H2-x86_64/09-install-sed.ps1 new file mode 100644 index 00000000..b3c8fded --- /dev/null +++ b/coin/provisioning/qtci-windows-11_23H2-x86_64/09-install-sed.ps1 @@ -0,0 +1 @@ +. "$PSScriptRoot\..\common\windows\install-sed.ps1" diff --git a/coin/provisioning/qtci-windows-11_23H2-x86_64/09-install-strawberry-perl.ps1 b/coin/provisioning/qtci-windows-11_23H2-x86_64/09-install-strawberry-perl.ps1 new file mode 100644 index 00000000..2b5756be --- /dev/null +++ b/coin/provisioning/qtci-windows-11_23H2-x86_64/09-install-strawberry-perl.ps1 @@ -0,0 +1 @@ +. "$PSScriptRoot\..\common\windows\install-strawberry-perl.ps1" diff --git a/coin/provisioning/qtci-windows-11_23H2-x86_64/09-openssl-arm64.ps1 b/coin/provisioning/qtci-windows-11_23H2-x86_64/09-openssl-arm64.ps1 new file mode 100644 index 00000000..c1bbf271 --- /dev/null +++ b/coin/provisioning/qtci-windows-11_23H2-x86_64/09-openssl-arm64.ps1 @@ -0,0 +1 @@ +. "$PSScriptRoot\..\common\windows\openssl-arm64.ps1" diff --git a/coin/provisioning/qtci-windows-11_23H2-x86_64/09-openssl.ps1 b/coin/provisioning/qtci-windows-11_23H2-x86_64/09-openssl.ps1 new file mode 100644 index 00000000..d57ad1cd --- /dev/null +++ b/coin/provisioning/qtci-windows-11_23H2-x86_64/09-openssl.ps1 @@ -0,0 +1 @@ +. "$PSScriptRoot\..\common\windows\openssl.ps1" diff --git a/coin/provisioning/qtci-windows-11_23H2-x86_64/09-set-network-test-server.ps1 b/coin/provisioning/qtci-windows-11_23H2-x86_64/09-set-network-test-server.ps1 new file mode 100644 index 00000000..7918fabf --- /dev/null +++ b/coin/provisioning/qtci-windows-11_23H2-x86_64/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_23H2-x86_64/09-vulkansdk.ps1 b/coin/provisioning/qtci-windows-11_23H2-x86_64/09-vulkansdk.ps1 new file mode 100644 index 00000000..54a3d563 --- /dev/null +++ b/coin/provisioning/qtci-windows-11_23H2-x86_64/09-vulkansdk.ps1 @@ -0,0 +1 @@ +. "$PSScriptRoot\..\common\windows\vulkansdk.ps1" diff --git a/coin/provisioning/qtci-windows-11_23H2-x86_64/10-dxsdk.ps1 b/coin/provisioning/qtci-windows-11_23H2-x86_64/10-dxsdk.ps1 new file mode 100644 index 00000000..155df6b8 --- /dev/null +++ b/coin/provisioning/qtci-windows-11_23H2-x86_64/10-dxsdk.ps1 @@ -0,0 +1 @@ +. "$PSScriptRoot\..\common\windows\dxsdk.ps1" diff --git a/coin/provisioning/qtci-windows-11_23H2-x86_64/10-install-msys2.ps1 b/coin/provisioning/qtci-windows-11_23H2-x86_64/10-install-msys2.ps1 new file mode 100644 index 00000000..be9a3634 --- /dev/null +++ b/coin/provisioning/qtci-windows-11_23H2-x86_64/10-install-msys2.ps1 @@ -0,0 +1 @@ +. "$PSScriptRoot\..\common\windows\install-msys2.ps1" diff --git a/coin/provisioning/qtci-windows-11_23H2-x86_64/11-conan.ps1 b/coin/provisioning/qtci-windows-11_23H2-x86_64/11-conan.ps1 new file mode 100644 index 00000000..6215f9e4 --- /dev/null +++ b/coin/provisioning/qtci-windows-11_23H2-x86_64/11-conan.ps1 @@ -0,0 +1 @@ +. "$PSScriptRoot\..\common\windows\conan.ps1" diff --git a/coin/provisioning/qtci-windows-11_23H2-x86_64/20-install-sccache.ps1 b/coin/provisioning/qtci-windows-11_23H2-x86_64/20-install-sccache.ps1 new file mode 100644 index 00000000..0794bff3 --- /dev/null +++ b/coin/provisioning/qtci-windows-11_23H2-x86_64/20-install-sccache.ps1 @@ -0,0 +1 @@ +. "$PSScriptRoot\..\common\windows\install-sccache.ps1" diff --git a/coin/provisioning/qtci-windows-11_23H2-x86_64/22-mqtt_broker.ps1 b/coin/provisioning/qtci-windows-11_23H2-x86_64/22-mqtt_broker.ps1 new file mode 100644 index 00000000..71deb0d4 --- /dev/null +++ b/coin/provisioning/qtci-windows-11_23H2-x86_64/22-mqtt_broker.ps1 @@ -0,0 +1 @@ +. "$PSScriptRoot\..\common\windows\mqtt_broker.ps1" diff --git a/coin/provisioning/qtci-windows-11_23H2-x86_64/23-winrtrunner.ps1 b/coin/provisioning/qtci-windows-11_23H2-x86_64/23-winrtrunner.ps1 new file mode 100644 index 00000000..078f862e --- /dev/null +++ b/coin/provisioning/qtci-windows-11_23H2-x86_64/23-winrtrunner.ps1 @@ -0,0 +1 @@ +. "$PSScriptRoot\..\common\windows\winrtrunner.ps1" diff --git a/coin/provisioning/qtci-windows-11_23H2-x86_64/25-llvm-mingw.ps1 b/coin/provisioning/qtci-windows-11_23H2-x86_64/25-llvm-mingw.ps1 new file mode 100644 index 00000000..3b84e504 --- /dev/null +++ b/coin/provisioning/qtci-windows-11_23H2-x86_64/25-llvm-mingw.ps1 @@ -0,0 +1,20 @@ +# 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 + +. "$PSScriptRoot\..\common\windows\helpers.ps1" + +# This script installs LLVM-Mingw by mstorsjo +# https://github.com/mstorsjo/llvm-mingw/releases/tag/20220323 + +$zip = Get-DownloadLocation "llvm-mingw-20231017-ucrt-x86_64.zip" +$url_cache = "http://ci-files01-hki.ci.qt.io/input/windows/llvm-mingw-20231017-ucrt-x86_64.zip" +$url_official = "https://github.com/mstorsjo/llvm-mingw/releases/download/20231017/llvm-mingw-20231017-ucrt-x86_64.zip" + +Download $url_official $url_cache $zip +Verify-Checksum $zip "1a39032b5add2f06fe0dfa56d0279b313b974da3" +Extract-7Zip $zip C:\ + +Rename-Item C:\llvm-mingw-20231017-ucrt-x86_64 C:\llvm-mingw + +Write-Output "llvm-mingw = 17.0.3" >> ~/versions.txt +Remove-Item -Path $zip diff --git a/coin/provisioning/qtci-windows-11_23H2-x86_64/29-libusb.ps1 b/coin/provisioning/qtci-windows-11_23H2-x86_64/29-libusb.ps1 new file mode 100644 index 00000000..6035912d --- /dev/null +++ b/coin/provisioning/qtci-windows-11_23H2-x86_64/29-libusb.ps1 @@ -0,0 +1,3 @@ + + +. "$PSScriptRoot\..\common\windows\libusb.ps1" diff --git a/coin/provisioning/qtci-windows-11_23H2-x86_64/30-fbx.ps1 b/coin/provisioning/qtci-windows-11_23H2-x86_64/30-fbx.ps1 new file mode 100644 index 00000000..468b0433 --- /dev/null +++ b/coin/provisioning/qtci-windows-11_23H2-x86_64/30-fbx.ps1 @@ -0,0 +1 @@ +. "$PSScriptRoot\..\common\windows\fbx_windows.ps1" diff --git a/coin/provisioning/qtci-windows-11_23H2-x86_64/35-install-breakpad.ps1 b/coin/provisioning/qtci-windows-11_23H2-x86_64/35-install-breakpad.ps1 new file mode 100644 index 00000000..9360a326 --- /dev/null +++ b/coin/provisioning/qtci-windows-11_23H2-x86_64/35-install-breakpad.ps1 @@ -0,0 +1 @@ +. "$PSScriptRoot\..\common\windows\install-breakpad.ps1" diff --git a/coin/provisioning/qtci-windows-11_23H2-x86_64/36-install-gnuwin32.ps1 b/coin/provisioning/qtci-windows-11_23H2-x86_64/36-install-gnuwin32.ps1 new file mode 100644 index 00000000..0e2abbac --- /dev/null +++ b/coin/provisioning/qtci-windows-11_23H2-x86_64/36-install-gnuwin32.ps1 @@ -0,0 +1,2 @@ +. "$PSScriptRoot\..\common\windows\install-gnuwin32.ps1" + diff --git a/coin/provisioning/qtci-windows-11_23H2-x86_64/40-android.ps1 b/coin/provisioning/qtci-windows-11_23H2-x86_64/40-android.ps1 new file mode 100644 index 00000000..69799974 --- /dev/null +++ b/coin/provisioning/qtci-windows-11_23H2-x86_64/40-android.ps1 @@ -0,0 +1 @@ +. "$PSScriptRoot\..\common\windows\android.ps1" diff --git a/coin/provisioning/qtci-windows-11_23H2-x86_64/50-openssl_for_android.ps1 b/coin/provisioning/qtci-windows-11_23H2-x86_64/50-openssl_for_android.ps1 new file mode 100644 index 00000000..25c6f28a --- /dev/null +++ b/coin/provisioning/qtci-windows-11_23H2-x86_64/50-openssl_for_android.ps1 @@ -0,0 +1 @@ +. "$PSScriptRoot\..\common\windows\android-openssl.ps1" diff --git a/coin/provisioning/qtci-windows-11_23H2-x86_64/60-jom.ps1 b/coin/provisioning/qtci-windows-11_23H2-x86_64/60-jom.ps1 new file mode 100644 index 00000000..b246ce25 --- /dev/null +++ b/coin/provisioning/qtci-windows-11_23H2-x86_64/60-jom.ps1 @@ -0,0 +1 @@ +. "$PSScriptRoot\..\common\windows\jom.ps1" diff --git a/coin/provisioning/qtci-windows-11_23H2-x86_64/70-cmake.ps1 b/coin/provisioning/qtci-windows-11_23H2-x86_64/70-cmake.ps1 new file mode 100644 index 00000000..73dc7bc2 --- /dev/null +++ b/coin/provisioning/qtci-windows-11_23H2-x86_64/70-cmake.ps1 @@ -0,0 +1 @@ +. "$PSScriptRoot\..\common\windows\cmake.ps1" diff --git a/coin/provisioning/qtci-windows-11_23H2-x86_64/79-opcua_unifiedautomation.ps1 b/coin/provisioning/qtci-windows-11_23H2-x86_64/79-opcua_unifiedautomation.ps1 new file mode 100644 index 00000000..e7f14459 --- /dev/null +++ b/coin/provisioning/qtci-windows-11_23H2-x86_64/79-opcua_unifiedautomation.ps1 @@ -0,0 +1 @@ +. "$PSScriptRoot\..\common\windows\opcua_unifiedautomation.ps1" diff --git a/coin/provisioning/qtci-windows-11_23H2-x86_64/80-emsdk.ps1 b/coin/provisioning/qtci-windows-11_23H2-x86_64/80-emsdk.ps1 new file mode 100644 index 00000000..b72470a2 --- /dev/null +++ b/coin/provisioning/qtci-windows-11_23H2-x86_64/80-emsdk.ps1 @@ -0,0 +1,2 @@ +. "$PSScriptRoot\..\common\windows\emsdk.ps1" + diff --git a/coin/provisioning/qtci-windows-11_23H2-x86_64/85-disable_quickedit_powershell.ps1 b/coin/provisioning/qtci-windows-11_23H2-x86_64/85-disable_quickedit_powershell.ps1 new file mode 100644 index 00000000..547e15a8 --- /dev/null +++ b/coin/provisioning/qtci-windows-11_23H2-x86_64/85-disable_quickedit_powershell.ps1 @@ -0,0 +1 @@ +. "$PSScriptRoot\..\common\windows\disable-quickedit.ps1" diff --git a/coin/provisioning/qtci-windows-11_23H2-x86_64/90-3dstudio_3rdparty.ps1 b/coin/provisioning/qtci-windows-11_23H2-x86_64/90-3dstudio_3rdparty.ps1 new file mode 100644 index 00000000..114f52f9 --- /dev/null +++ b/coin/provisioning/qtci-windows-11_23H2-x86_64/90-3dstudio_3rdparty.ps1 @@ -0,0 +1 @@ +. "$PSScriptRoot\..\common\windows\3dstudio_3rdparty.ps1" diff --git a/coin/provisioning/qtci-windows-11_23H2-x86_64/90-exceutequeueditems.ps1 b/coin/provisioning/qtci-windows-11_23H2-x86_64/90-exceutequeueditems.ps1 new file mode 100644 index 00000000..52306fb9 --- /dev/null +++ b/coin/provisioning/qtci-windows-11_23H2-x86_64/90-exceutequeueditems.ps1 @@ -0,0 +1 @@ +. "$PSScriptRoot\..\common\windows\exceutequeueditems.ps1" diff --git a/coin/provisioning/qtci-windows-11_23H2-x86_64/90-install-dotnet.ps1 b/coin/provisioning/qtci-windows-11_23H2-x86_64/90-install-dotnet.ps1 new file mode 100644 index 00000000..a2ecfba2 --- /dev/null +++ b/coin/provisioning/qtci-windows-11_23H2-x86_64/90-install-dotnet.ps1 @@ -0,0 +1,2 @@ +. "$PSScriptRoot\..\common\windows\install-dotnet.ps1" + diff --git a/coin/provisioning/qtci-windows-11_23H2-x86_64/90-install-ffmpeg.ps1 b/coin/provisioning/qtci-windows-11_23H2-x86_64/90-install-ffmpeg.ps1 new file mode 100644 index 00000000..e16f634c --- /dev/null +++ b/coin/provisioning/qtci-windows-11_23H2-x86_64/90-install-ffmpeg.ps1 @@ -0,0 +1,2 @@ +. "$PSScriptRoot\..\common\windows\install-ffmpeg.ps1" + diff --git a/coin/provisioning/qtci-windows-11_23H2-x86_64/90-install-mcuxpresso.ps1 b/coin/provisioning/qtci-windows-11_23H2-x86_64/90-install-mcuxpresso.ps1 new file mode 100644 index 00000000..22d19322 --- /dev/null +++ b/coin/provisioning/qtci-windows-11_23H2-x86_64/90-install-mcuxpresso.ps1 @@ -0,0 +1 @@ +. "$PSScriptRoot\..\common\windows\install-mcuxpresso.ps1" diff --git a/coin/provisioning/qtci-windows-11_23H2-x86_64/90-install-notepad++.ps1 b/coin/provisioning/qtci-windows-11_23H2-x86_64/90-install-notepad++.ps1 new file mode 100644 index 00000000..455d92bf --- /dev/null +++ b/coin/provisioning/qtci-windows-11_23H2-x86_64/90-install-notepad++.ps1 @@ -0,0 +1 @@ +. "$PSScriptRoot\..\common\windows\install-notepad++.ps1" diff --git a/coin/provisioning/qtci-windows-11_23H2-x86_64/90-install-stm32cubeprogrammer.ps1 b/coin/provisioning/qtci-windows-11_23H2-x86_64/90-install-stm32cubeprogrammer.ps1 new file mode 100644 index 00000000..25c2bb42 --- /dev/null +++ b/coin/provisioning/qtci-windows-11_23H2-x86_64/90-install-stm32cubeprogrammer.ps1 @@ -0,0 +1 @@ +. "$PSScriptRoot\..\common\windows\install-stm32cubeprogrammer.ps1" diff --git a/coin/provisioning/qtci-windows-11_23H2-x86_64/90-install-virtualbox.ps1 b/coin/provisioning/qtci-windows-11_23H2-x86_64/90-install-virtualbox.ps1 new file mode 100644 index 00000000..bf14fd23 --- /dev/null +++ b/coin/provisioning/qtci-windows-11_23H2-x86_64/90-install-virtualbox.ps1 @@ -0,0 +1,21 @@ +# 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 + +. "$PSScriptRoot\..\common\windows\helpers.ps1" + +# This script will install VirtualBox + +$version = "5.2.4" +$sha1 = "71df4474a5e94918728b62d1f6bc036674ef0e96" +$url_cache = "\\ci-files01-hki.ci.qt.io\provisioning\windows\VirtualBox-" + $version + "-119785-Win.exe" +$url_official = "http://download.virtualbox.org/virtualbox/" + $version + "/VirtualBox-" + $version + "-119785-Win.exe" +$virtualboxPackage = "C:\Windows\Temp\virtualbox-$version.exe" + +Download $url_official $url_cache $virtualboxPackage +Verify-Checksum $virtualboxPackage $sha1 +Run-Executable $virtualboxPackage "--silent" + +Write-Output "Cleaning $virtualboxPackage.." +Remove "$virtualboxPackage" + +Write-Output "VirtualBox = $version" >> ~\versions.txt diff --git a/coin/provisioning/qtci-windows-11_23H2-x86_64/90-libusb.ps1 b/coin/provisioning/qtci-windows-11_23H2-x86_64/90-libusb.ps1 new file mode 100644 index 00000000..29a1cfa4 --- /dev/null +++ b/coin/provisioning/qtci-windows-11_23H2-x86_64/90-libusb.ps1 @@ -0,0 +1 @@ +. "$PSScriptRoot\..\common\windows\libusb.ps1" diff --git a/coin/provisioning/qtci-windows-11_23H2-x86_64/90-mimersql.ps1 b/coin/provisioning/qtci-windows-11_23H2-x86_64/90-mimersql.ps1 new file mode 100644 index 00000000..576dd9d2 --- /dev/null +++ b/coin/provisioning/qtci-windows-11_23H2-x86_64/90-mimersql.ps1 @@ -0,0 +1 @@ +. "$PSScriptRoot\..\common\windows\mimersql.ps1" diff --git a/coin/provisioning/qtci-windows-11_23H2-x86_64/90-mysql.ps1 b/coin/provisioning/qtci-windows-11_23H2-x86_64/90-mysql.ps1 new file mode 100644 index 00000000..864a79a5 --- /dev/null +++ b/coin/provisioning/qtci-windows-11_23H2-x86_64/90-mysql.ps1 @@ -0,0 +1,2 @@ +. "$PSScriptRoot\..\common\windows\mysql.ps1" + diff --git a/coin/provisioning/qtci-windows-11_23H2-x86_64/90-postgresql.ps1 b/coin/provisioning/qtci-windows-11_23H2-x86_64/90-postgresql.ps1 new file mode 100644 index 00000000..0e0d87be --- /dev/null +++ b/coin/provisioning/qtci-windows-11_23H2-x86_64/90-postgresql.ps1 @@ -0,0 +1,2 @@ +. "$PSScriptRoot\..\common\windows\postgresql.ps1" + diff --git a/coin/provisioning/qtci-windows-11_23H2-x86_64/90-python-modules.ps1 b/coin/provisioning/qtci-windows-11_23H2-x86_64/90-python-modules.ps1 new file mode 100644 index 00000000..80ab54dc --- /dev/null +++ b/coin/provisioning/qtci-windows-11_23H2-x86_64/90-python-modules.ps1 @@ -0,0 +1,4 @@ +. "$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_23H2-x86_64/90-squish.ps1 b/coin/provisioning/qtci-windows-11_23H2-x86_64/90-squish.ps1 new file mode 100644 index 00000000..ff758845 --- /dev/null +++ b/coin/provisioning/qtci-windows-11_23H2-x86_64/90-squish.ps1 @@ -0,0 +1 @@ +. "$PSScriptRoot\..\common\windows\squishInstall.ps1" diff --git a/coin/provisioning/qtci-windows-11_23H2-x86_64/91-install-azure-tool.ps1 b/coin/provisioning/qtci-windows-11_23H2-x86_64/91-install-azure-tool.ps1 new file mode 100644 index 00000000..f1d5acc3 --- /dev/null +++ b/coin/provisioning/qtci-windows-11_23H2-x86_64/91-install-azure-tool.ps1 @@ -0,0 +1 @@ +. "$PSScriptRoot\..\common\windows\install-azure-tool.ps1" diff --git a/coin/provisioning/qtci-windows-11_23H2-x86_64/91-squish-coco.ps1 b/coin/provisioning/qtci-windows-11_23H2-x86_64/91-squish-coco.ps1 new file mode 100644 index 00000000..bf4f8a96 --- /dev/null +++ b/coin/provisioning/qtci-windows-11_23H2-x86_64/91-squish-coco.ps1 @@ -0,0 +1,2 @@ + "$PSScriptRoot\..\common\windows\squish-coco.ps1" + diff --git a/coin/provisioning/qtci-windows-11_23H2-x86_64/92-protobuf.ps1 b/coin/provisioning/qtci-windows-11_23H2-x86_64/92-protobuf.ps1 new file mode 100644 index 00000000..c455bce7 --- /dev/null +++ b/coin/provisioning/qtci-windows-11_23H2-x86_64/92-protobuf.ps1 @@ -0,0 +1,2 @@ +. "$PSScriptRoot\..\common\windows\protobuf.ps1" + diff --git a/coin/provisioning/qtci-windows-11_23H2-x86_64/93-grpc.ps1 b/coin/provisioning/qtci-windows-11_23H2-x86_64/93-grpc.ps1 new file mode 100644 index 00000000..7d0b471d --- /dev/null +++ b/coin/provisioning/qtci-windows-11_23H2-x86_64/93-grpc.ps1 @@ -0,0 +1 @@ +. "$PSScriptRoot\..\common\windows\grpc.ps1" diff --git a/coin/provisioning/qtci-windows-11_23H2-x86_64/93-install-vcpkg.ps1 b/coin/provisioning/qtci-windows-11_23H2-x86_64/93-install-vcpkg.ps1 new file mode 100644 index 00000000..3c360de9 --- /dev/null +++ b/coin/provisioning/qtci-windows-11_23H2-x86_64/93-install-vcpkg.ps1 @@ -0,0 +1 @@ +. "$PSScriptRoot\..\common\windows\install-vcpkg.ps1" diff --git a/coin/provisioning/qtci-windows-11_23H2-x86_64/94-install-vcpkg-ports.ps1 b/coin/provisioning/qtci-windows-11_23H2-x86_64/94-install-vcpkg-ports.ps1 new file mode 100644 index 00000000..1dd657bc --- /dev/null +++ b/coin/provisioning/qtci-windows-11_23H2-x86_64/94-install-vcpkg-ports.ps1 @@ -0,0 +1 @@ +. "$PSScriptRoot\..\common\windows\install-vcpkg-ports.ps1" diff --git a/coin/provisioning/qtci-windows-11_23H2-x86_64/96-disable-windows-module-installer.ps1 b/coin/provisioning/qtci-windows-11_23H2-x86_64/96-disable-windows-module-installer.ps1 new file mode 100644 index 00000000..fb8ec541 --- /dev/null +++ b/coin/provisioning/qtci-windows-11_23H2-x86_64/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_23H2-x86_64/98-unset-proxy.ps1 b/coin/provisioning/qtci-windows-11_23H2-x86_64/98-unset-proxy.ps1 new file mode 100644 index 00000000..0c25a0fb --- /dev/null +++ b/coin/provisioning/qtci-windows-11_23H2-x86_64/98-unset-proxy.ps1 @@ -0,0 +1 @@ +. "$PSScriptRoot\..\common\windows\unset-proxy.ps1" diff --git a/coin/provisioning/qtci-windows-11_23H2-x86_64/99-share-test-folders.ps1 b/coin/provisioning/qtci-windows-11_23H2-x86_64/99-share-test-folders.ps1 new file mode 100644 index 00000000..576fcfdc --- /dev/null +++ b/coin/provisioning/qtci-windows-11_23H2-x86_64/99-share-test-folders.ps1 @@ -0,0 +1 @@ +. "$PSScriptRoot\..\common\windows\share-test-folders.ps1" diff --git a/coin/provisioning/qtci-windows-11_23H2-x86_64/99-version.ps1 b/coin/provisioning/qtci-windows-11_23H2-x86_64/99-version.ps1 new file mode 100644 index 00000000..36e498bc --- /dev/null +++ b/coin/provisioning/qtci-windows-11_23H2-x86_64/99-version.ps1 @@ -0,0 +1 @@ +. "$PSScriptRoot\..\common\windows\version.ps1" diff --git a/coin/provisioning/qtci-windows-11_23H2-x86_64/conanfiles/qtwebkit.txt b/coin/provisioning/qtci-windows-11_23H2-x86_64/conanfiles/qtwebkit.txt new file mode 100644 index 00000000..eaafc008 --- /dev/null +++ b/coin/provisioning/qtci-windows-11_23H2-x86_64/conanfiles/qtwebkit.txt @@ -0,0 +1,31 @@ +[requires] +icu/65.1@qtproject/stable +libxml2/2.9.10@qtproject/stable +libxslt/1.1.34@qtproject/stable +libjpeg-turbo/2.0.5@qtproject/stable + +[generators] +cmake +txt + +[options] +icu:shared=True +icu:data_packaging=library + +libxml2:shared=True +libxml2:iconv=False +libxml2:icu=True +libxml2:zlib=False + +libxslt:shared=True + +libjpeg-turbo:shared=False + +[imports] +bin, icudt65.dll -> ./bin +bin, icuin65.dll -> ./bin +bin, icuuc65.dll -> ./bin +bin, libxml2.dll -> ./bin +bin, libxslt.dll -> ./bin +bin, libxml2-2.dll -> ./bin +bin, libxslt-1.dll -> ./bin 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 diff --git a/coin/provisioning/qtci-windows-8.1-x86_64/90-mimersql.ps1 b/coin/provisioning/qtci-windows-8.1-x86_64/90-mimersql.ps1 new file mode 100644 index 00000000..576dd9d2 --- /dev/null +++ b/coin/provisioning/qtci-windows-8.1-x86_64/90-mimersql.ps1 @@ -0,0 +1 @@ +. "$PSScriptRoot\..\common\windows\mimersql.ps1" |