diff options
Diffstat (limited to 'coin')
43 files changed, 511 insertions, 24 deletions
diff --git a/coin/platform_configs/qtconnectivity.txt b/coin/platform_configs/qtconnectivity.txt new file mode 100644 index 00000000..4ac73c86 --- /dev/null +++ b/coin/platform_configs/qtconnectivity.txt @@ -0,0 +1,3 @@ +Template Target OS Target arch Compiler Features +--------------------------------- ------------------- ----------- ----------- ------------------------------------------------------------------------------------- +qtci-windows-10-x86_64-10 WinRT_10 x86_64 MSVC2015 DeveloperBuild Static Release ForceDebugInfo diff --git a/coin/platform_configs/qtsdk.txt b/coin/platform_configs/qtsdk.txt new file mode 100644 index 00000000..3011926d --- /dev/null +++ b/coin/platform_configs/qtsdk.txt @@ -0,0 +1,4 @@ +Template Target OS Target arch Compiler Features +--------------------------- ------------------- ----------- ----------- ------------------------------------------------------------------------------------- +qtci-windows-10-x86-3 MSVC2017 Release ForceDebugInfo OpenGLDynamic +qtci-linux-RHEL-6.6-x86_64 GCC Release ForceDebugInfo diff --git a/coin/provisioning/common/linux/android_linux.sh b/coin/provisioning/common/linux/android_linux.sh index 8ff773a3..c77af943 100755 --- a/coin/provisioning/common/linux/android_linux.sh +++ b/coin/provisioning/common/linux/android_linux.sh @@ -54,7 +54,7 @@ toolsFile="sdk-tools-linux-4333796.zip" ndkVersion="r18b" ndkFile="android-ndk-$ndkVersion-linux-x86_64.zip" sdkBuildToolsVersion="28.0.3" -sdkApiLevel="android-21" +sdkApiLevel="android-28" toolsSha1="8c7c28554a32318461802c1291d76fccfafde054" ndkSha1="500679655da3a86aecf67007e8ab230ea9b4dd7b" @@ -80,14 +80,14 @@ else sudo chown -R qt:users "$targetFolder" fi -echo "Running SDK manager for platforms;$sdkApiLevel, tools, platform-tools and build-tools;$sdkBuildToolsVersion." +echo "Running SDK manager for platforms;$sdkApiLevel, platform-tools and build-tools;$sdkBuildToolsVersion." # shellcheck disable=SC2031 if [ "$http_proxy" != "" ]; then proxy_host=$(echo "$proxy" | cut -d'/' -f3 | cut -d':' -f1) proxy_port=$(echo "$proxy" | cut -d':' -f3) - echo "y" |"$sdkTargetFolder/tools/bin/sdkmanager" --no_https --proxy=http --proxy_host="$proxy_host" --proxy_port="$proxy_port" "platforms;$sdkApiLevel" "tools" "platform-tools" "build-tools;$sdkBuildToolsVersion" + echo "y" |"$sdkTargetFolder/tools/bin/sdkmanager" --no_https --proxy=http --proxy_host="$proxy_host" --proxy_port="$proxy_port" "platforms;$sdkApiLevel" "platform-tools" "build-tools;$sdkBuildToolsVersion" else - echo "y" |"$sdkTargetFolder/tools/bin/sdkmanager" "platforms;$sdkApiLevel" "tools" "platform-tools" "build-tools;$sdkBuildToolsVersion" + echo "y" |"$sdkTargetFolder/tools/bin/sdkmanager" "platforms;$sdkApiLevel" "platform-tools" "build-tools;$sdkBuildToolsVersion" fi echo "Checking the contents of Android SDK..." diff --git a/coin/provisioning/common/linux/disable-notifications.sh b/coin/provisioning/common/linux/disable-notifications.sh new file mode 100755 index 00000000..7e805833 --- /dev/null +++ b/coin/provisioning/common/linux/disable-notifications.sh @@ -0,0 +1,4 @@ +#!/usr/bin/env bash + +sudo gsettings set org.gnome.desktop.notifications.application:/update-manager/ enable false +sudo gsettings set org.gnome.desktop.notifications show-banners false diff --git a/coin/provisioning/common/linux/remove-apport.sh b/coin/provisioning/common/linux/remove-apport.sh new file mode 100755 index 00000000..cb6bddcd --- /dev/null +++ b/coin/provisioning/common/linux/remove-apport.sh @@ -0,0 +1,3 @@ +#!/usr/bin/env bash + +sudo apt-get purge apport -y diff --git a/coin/provisioning/common/linux/testserver/apache2/Dockerfile b/coin/provisioning/common/linux/testserver/apache2/Dockerfile index bb2dc850..b39eb21e 100644 --- a/coin/provisioning/common/linux/testserver/apache2/Dockerfile +++ b/coin/provisioning/common/linux/testserver/apache2/Dockerfile @@ -1,5 +1,6 @@ FROM ubuntu:16.04 -RUN apt-get update && apt-get install -y apache2 libcgi-session-perl wget avahi-daemon +ARG packages="apache2 libcgi-session-perl wget avahi-daemon" +RUN apt-get update && apt-get install -y $packages && dpkg -l $packages EXPOSE 80 443 # install configurations and test data diff --git a/coin/provisioning/common/linux/testserver/danted/Dockerfile b/coin/provisioning/common/linux/testserver/danted/Dockerfile index eb2ac6ff..67c1159b 100644 --- a/coin/provisioning/common/linux/testserver/danted/Dockerfile +++ b/coin/provisioning/common/linux/testserver/danted/Dockerfile @@ -1,5 +1,6 @@ FROM ubuntu:16.04 -RUN apt-get update && apt-get install -y gdebi-core=0.9.5.7ubuntu1 wget avahi-daemon +ARG packages="gdebi-core wget avahi-daemon" +RUN apt-get update && apt-get install -y $packages && dpkg -l $packages RUN wget http://ppa.launchpad.net/dajhorn/dante/ubuntu/pool/main/d/dante/dante-server_1.4.1-1_amd64.deb RUN gdebi -n dante-server_1.4.1-1_amd64.deb EXPOSE 1080-1081 diff --git a/coin/provisioning/common/linux/testserver/docker_testserver.sh b/coin/provisioning/common/linux/testserver/docker_testserver.sh index a88e89b9..2534c416 100755 --- a/coin/provisioning/common/linux/testserver/docker_testserver.sh +++ b/coin/provisioning/common/linux/testserver/docker_testserver.sh @@ -53,6 +53,17 @@ do sha1=$(find $context -type f -print0 | sort -z | xargs -r0 sha1sum | awk '{ print $1 }' | \ sha1sum | awk '{ print $1 }') sudo docker build -t qt-test-server-$server:$sha1 $context + + # transition - The fixed tag is temporarily used by CI to pass the qtbase testing. + case $server in + apache2) fixed_tag="cc9ea678b92bdda33acb9fa0159bb4ad0f3cd947" ;; + squid) fixed_tag="577d99307eea9a8cccfec944d25be2bce2fe99cc" ;; + vsftpd) fixed_tag="18896604c7e90b543e56d80c8a8aabdb65a590d0" ;; + ftp-proxy) fixed_tag="2c6c8f1ab6a364b540c43d705fb6f15a585cb2af" ;; + danted) fixed_tag="327dd56c3c35db85b26fac93213a5a1918475bc7" ;; + esac + [ -z "$fixed_tag" ] || \ + sudo docker tag qt-test-server-$server:$sha1 qt-test-server-$server:$fixed_tag done sudo docker images diff --git a/coin/provisioning/common/linux/testserver/ftp-proxy/Dockerfile b/coin/provisioning/common/linux/testserver/ftp-proxy/Dockerfile index cecb2dca..c719c1eb 100644 --- a/coin/provisioning/common/linux/testserver/ftp-proxy/Dockerfile +++ b/coin/provisioning/common/linux/testserver/ftp-proxy/Dockerfile @@ -1,3 +1,4 @@ FROM ubuntu:16.04 -RUN apt-get update && apt-get install -y ftp-proxy=1.9.2.4-10 avahi-daemon +ARG packages="ftp-proxy avahi-daemon" +RUN apt-get update && apt-get install -y $packages && dpkg -l $packages EXPOSE 2121 diff --git a/coin/provisioning/common/linux/testserver/squid/Dockerfile b/coin/provisioning/common/linux/testserver/squid/Dockerfile index 0b930bca..f0ed68b3 100644 --- a/coin/provisioning/common/linux/testserver/squid/Dockerfile +++ b/coin/provisioning/common/linux/testserver/squid/Dockerfile @@ -1,3 +1,4 @@ FROM ubuntu:16.04 -RUN apt-get update && apt-get install -y squid=3.5.12-1ubuntu7.5 avahi-daemon +ARG packages="squid avahi-daemon" +RUN apt-get update && apt-get install -y $packages && dpkg -l $packages EXPOSE 3128-3130 diff --git a/coin/provisioning/common/linux/testserver/vsftpd/Dockerfile b/coin/provisioning/common/linux/testserver/vsftpd/Dockerfile index f8e32d40..af6cd7c7 100644 --- a/coin/provisioning/common/linux/testserver/vsftpd/Dockerfile +++ b/coin/provisioning/common/linux/testserver/vsftpd/Dockerfile @@ -1,5 +1,6 @@ FROM ubuntu:16.04 -RUN apt-get update && apt-get install -y vsftpd=3.0.3-3ubuntu2 ftp=0.17-33 wget avahi-daemon +ARG packages="vsftpd ftp wget avahi-daemon" +RUN apt-get update && apt-get install -y $packages && dpkg -l $packages EXPOSE 20-21 # install configurations and test data diff --git a/coin/provisioning/common/unix/check_and_set_proxy.sh b/coin/provisioning/common/unix/check_and_set_proxy.sh index 8ada72ab..1c33641a 100755 --- a/coin/provisioning/common/unix/check_and_set_proxy.sh +++ b/coin/provisioning/common/unix/check_and_set_proxy.sh @@ -37,4 +37,4 @@ set -ex # shellcheck source=../shared/http_proxy.txt source "${BASH_SOURCE%/*}/../shared/http_proxy.txt" -(wget -q -e "http_proxy=$proxy" --spider proxy.intra.qt.io && echo "Setting http_proxy to $proxy" && export http_proxy=$proxy) || echo "Proxy not detected at $proxy" +{ wget -q -e "http_proxy=$proxy" --spider proxy.intra.qt.io && echo "Setting http_proxy to $proxy" && export http_proxy=$proxy; } || echo "Proxy not detected at $proxy" diff --git a/coin/provisioning/common/unix/mqtt_broker.sh b/coin/provisioning/common/unix/mqtt_broker.sh index c6a65305..37732b31 100644 --- a/coin/provisioning/common/unix/mqtt_broker.sh +++ b/coin/provisioning/common/unix/mqtt_broker.sh @@ -40,7 +40,7 @@ source "${BASH_SOURCE%/*}/InstallFromCompressedFileFromURL.sh" source "${BASH_SOURCE%/*}/../unix/SetEnvVar.sh" CommitSHA="20bad2475c27a6e1d24a56d90a9fceb40963261e" -PrimaryUrl="http://ci-files01-hki.ci.local/input/mqtt_broker/paho.mqtt.testing-$CommitSHA.zip" +PrimaryUrl="http://ci-files01-hki.intra.qt.io/input/mqtt_broker/paho.mqtt.testing-$CommitSHA.zip" AltUrl="https://github.com/eclipse/paho.mqtt.testing/archive/$CommitSHA.zip" SHA1="a0ac88715c2aebb9573a113dc13925a90da19233" targetFolder="/opt/paho_broker" diff --git a/coin/provisioning/common/unix/squishInstall.sh b/coin/provisioning/common/unix/squishInstall.sh index 0f31e5fd..4a7a6837 100755 --- a/coin/provisioning/common/unix/squishInstall.sh +++ b/coin/provisioning/common/unix/squishInstall.sh @@ -122,7 +122,7 @@ function MountAndInstall { sudo cp $targetFileMount /tmp UnMount sudo hdiutil attach "/tmp/$targetFile" - sudo /Volumes/froglogic\ Squish/Install\ Squish.app/Contents/MacOS/Squish unattended=1 targetdir="$targetDirectory/package" qtpath="$targetDirectory" + sudo /Volumes/froglogic\ Squish/Install\ Squish.app/Contents/MacOS/Squish unattended=1 targetdir="$targetDirectory/package" qtpath="$targetDirectory" > /dev/null 2>&1 mountFolder="/Volumes/froglogic Squish" UnMount elif [[ $targetFile == *.run ]]; then diff --git a/coin/provisioning/common/windows/android.ps1 b/coin/provisioning/common/windows/android.ps1 index cd98b747..90c33fbd 100644 --- a/coin/provisioning/common/windows/android.ps1 +++ b/coin/provisioning/common/windows/android.ps1 @@ -51,7 +51,7 @@ $ndkZip = "c:\Windows\Temp\android_ndk_$ndkVersion.zip" $toolsVersion = "26.1.1" $toolsFile = "sdk-tools-windows-4333796.zip" $sdkApi = "ANDROID_API_VERSION" -$sdkApiLevel = "android-21" +$sdkApiLevel = "android-28" $sdkBuildToolsVersion = "28.0.3" $toolsCachedUrl= "\\ci-files01-hki.intra.qt.io\provisioning\android\$toolsFile" $toolsOfficialUrl = "https://dl.google.com/android/repository/$toolsFile" @@ -95,7 +95,7 @@ Out-File -FilePath C:\Utils\Android\licenses\android-sdk-license -Encoding utf8 # Get a PATH where Java's path is defined from previous provisioning [Environment]::SetEnvironmentVariable("PATH", [Environment]::GetEnvironmentVariable("PATH", "Machine"), "Process") -$sdkmanager_args += " platforms;$sdkApiLevel tools platform-tools build-tools;$sdkBuildToolsVersion" +$sdkmanager_args += " platforms;$sdkApiLevel platform-tools build-tools;$sdkBuildToolsVersion" Run-Executable "$toolsFolder\bin\sdkmanager.bat" "$sdkmanager_args" cd $toolsFolder\bin\ $command = 'for($i=0;$i -lt 6;$i++) { $response += "y`n"}; $response | .\sdkmanager.bat --licenses' diff --git a/coin/provisioning/common/windows/helpers.ps1 b/coin/provisioning/common/windows/helpers.ps1 index 794f1b5d..cbf2371f 100644 --- a/coin/provisioning/common/windows/helpers.ps1 +++ b/coin/provisioning/common/windows/helpers.ps1 @@ -27,7 +27,8 @@ function Run-Executable $p = Start-Process -FilePath "$Executable" -Wait -PassThru } else { Write-Host "Running `"$Executable`" with arguments `"$Arguments`"" - $p = Start-Process -FilePath "$Executable" -ArgumentList $Arguments -Wait -PassThru + $p = Start-Process -FilePath "$Executable" -ArgumentList $Arguments -PassThru + Wait-Process -InputObject $p } if ($p.ExitCode -ne 0) { throw "Process $($Executable) exited with exit code $($p.ExitCode)" diff --git a/coin/provisioning/common/windows/install-git.ps1 b/coin/provisioning/common/windows/install-git.ps1 index c57e7199..110c3703 100644 --- a/coin/provisioning/common/windows/install-git.ps1 +++ b/coin/provisioning/common/windows/install-git.ps1 @@ -1,6 +1,6 @@ ############################################################################# ## -## Copyright (C) 2017 The Qt Company Ltd. +## 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. @@ -51,6 +51,8 @@ Download $url_official $url_cache $gitPackage Verify-Checksum $gitPackage $sha1 Write-Host "Installing Git $version..." Run-Executable "$gitPackage" "/SILENT /COMPONENTS=`"icons,ext\reg\shellhere,assoc,assoc_sh`"" -Remove-Item -Path $gitPackage +Write-Host "Adding SSH and SCP to environment variables for RTA" +Set-EnvironmentVariable "SSH" "C:\Program Files\Git\usr\bin\ssh.exe" +Set-EnvironmentVariable "SCP" "C:\Program Files\Git\usr\bin\scp.exe" Write-Output "Git = $version" >> ~\versions.txt diff --git a/coin/provisioning/common/windows/jom.ps1 b/coin/provisioning/common/windows/jom.ps1 index 21993184..7cb60229 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.ci.local/input/windows/jom_$version.zip $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 Verify-Checksum $zip "80EE5678E714DE99DDAF5F7593AB04DB1C7928E4" Extract-7Zip $zip C:\Utils\Jom diff --git a/coin/provisioning/common/windows/mqtt_broker.ps1 b/coin/provisioning/common/windows/mqtt_broker.ps1 index 301667b4..7c13cfb7 100644 --- a/coin/provisioning/common/windows/mqtt_broker.ps1 +++ b/coin/provisioning/common/windows/mqtt_broker.ps1 @@ -38,7 +38,7 @@ $zip = Get-DownloadLocation "pahotest.zip" $commitSHA = "20bad2475c27a6e1d24a56d90a9fceb40963261e" $sha1 = "a0ac88715c2aebb9573a113dc13925a90da19233" -$internalUrl = "http://ci-files01-hki.ci.local/input/mqtt_broker/paho.mqtt.testing-$commitSHA.zip" +$internalUrl = "http://ci-files01-hki.intra.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/vulkansdk.ps1 b/coin/provisioning/common/windows/vulkansdk.ps1 index 1629e676..90d214cb 100644 --- a/coin/provisioning/common/windows/vulkansdk.ps1 +++ b/coin/provisioning/common/windows/vulkansdk.ps1 @@ -36,7 +36,7 @@ # This script will install Vulkan SDK $version = "1.0.51.0" -$url_cache = "\\ci-files01-hki.ci.local\provisioning\windows\VulkanSDK-" +$version+ "-Installer.exe" +$url_cache = "\\ci-files01-hki.intra.qt.io\provisioning\windows\VulkanSDK-" +$version+ "-Installer.exe" $vulkanPackage = "C:\Windows\Temp\vulkan-installer-$version.exe" Copy-Item $url_cache $vulkanPackage diff --git a/coin/provisioning/common/windows/win10sdk.ps1 b/coin/provisioning/common/windows/win10sdk.ps1 index d33a8fc1..3d5b84ef 100644 --- a/coin/provisioning/common/windows/win10sdk.ps1 +++ b/coin/provisioning/common/windows/win10sdk.ps1 @@ -35,7 +35,7 @@ # This script will install Windows 10 SDK -$url_cache = "\\ci-files01-hki.ci.local\provisioning\windows\winsdksetup.exe" +$url_cache = "\\ci-files01-hki.intra.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/qtci-linux-RHEL-6.6-x86_64/01-refresh-subscription-manager.sh b/coin/provisioning/qtci-linux-RHEL-6.6-x86_64/01-refresh-subscription-manager.sh new file mode 100755 index 00000000..84238ebf --- /dev/null +++ b/coin/provisioning/qtci-linux-RHEL-6.6-x86_64/01-refresh-subscription-manager.sh @@ -0,0 +1,43 @@ +#!/usr/bin/env bash + +############################################################################# +## +## 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: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$ +## +############################################################################# + +set -ex + +# refresh local certificates +sudo subscription-manager refresh + +# Attach available subscriptions to system. This is needed when subscriptions are renewed. +sudo subscription-manager attach --auto + diff --git a/coin/provisioning/qtci-linux-RHEL-6.6-x86_64/01-systemsetup.sh b/coin/provisioning/qtci-linux-RHEL-6.6-x86_64/01-systemsetup.sh new file mode 100755 index 00000000..0b85f10d --- /dev/null +++ b/coin/provisioning/qtci-linux-RHEL-6.6-x86_64/01-systemsetup.sh @@ -0,0 +1,46 @@ +#!/usr/bin/env bash + +############################################################################# +## +## Copyright (C) 2017 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$ +## +############################################################################# + +set -ex + +# shellcheck source=../common/unix/check_and_set_proxy.sh +source "${BASH_SOURCE%/*}/../common/unix/check_and_set_proxy.sh" + +# shellcheck disable=SC2031 +if [ "$http_proxy" != "" ]; then + echo "proxy=$proxy" | sudo tee -a /etc/yum.conf +fi + +sudo yum update -y nss curl diff --git a/coin/provisioning/qtci-linux-RHEL-6.6-x86_64/02-disable-ntp.sh b/coin/provisioning/qtci-linux-RHEL-6.6-x86_64/02-disable-ntp.sh new file mode 100755 index 00000000..89806892 --- /dev/null +++ b/coin/provisioning/qtci-linux-RHEL-6.6-x86_64/02-disable-ntp.sh @@ -0,0 +1,4 @@ +#!/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-RHEL-6.6-x86_64/03-install-rhel-epel.sh b/coin/provisioning/qtci-linux-RHEL-6.6-x86_64/03-install-rhel-epel.sh new file mode 100755 index 00000000..21a45506 --- /dev/null +++ b/coin/provisioning/qtci-linux-RHEL-6.6-x86_64/03-install-rhel-epel.sh @@ -0,0 +1,49 @@ +#!/usr/bin/env bash + +############################################################################# +## +## 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: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$ +## +############################################################################# + +# shellcheck source=../common/unix/DownloadURL.sh +source "${BASH_SOURCE%/*}/../common/unix/DownloadURL.sh" + +package="epel-release-6-8.noarch.rpm" +primaryUrl="https://dl.fedoraproject.org/pub/epel/6/x86_64/Packages/e/$package" +cacheUrl="http://ci-files01-hki.intra.qt.io/input/rhel6/$package" +sha1="2b2767a5ae0de30b9c7b840f2e34f5dd9deaf19a" +targetFile="/tmp/$package" + +DownloadURL "$primaryUrl" "$cacheUrl" "$sha1" "$targetFile" + +sudo rpm -ivh "$targetFile" +rm "$targetFile" + diff --git a/coin/provisioning/qtci-linux-RHEL-6.6-x86_64/04-install-packages.sh b/coin/provisioning/qtci-linux-RHEL-6.6-x86_64/04-install-packages.sh new file mode 100755 index 00000000..c1189a94 --- /dev/null +++ b/coin/provisioning/qtci-linux-RHEL-6.6-x86_64/04-install-packages.sh @@ -0,0 +1,46 @@ +#!/usr/bin/env bash + +############################################################################# +## +## 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: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$ +## +############################################################################# + +set -ex + +installPackages=() + +# For Jenkins +installPackages+=(java-1.8.0-openjdk-devel) +# For Qt Creator +installPackages+=(openssl-devel) + +sudo yum -y install "${installPackages[@]}" + diff --git a/coin/provisioning/qtci-linux-RHEL-6.6-x86_64/05-subscription-manager-tooling.sh b/coin/provisioning/qtci-linux-RHEL-6.6-x86_64/05-subscription-manager-tooling.sh new file mode 100755 index 00000000..d3072b37 --- /dev/null +++ b/coin/provisioning/qtci-linux-RHEL-6.6-x86_64/05-subscription-manager-tooling.sh @@ -0,0 +1,10 @@ +#!/usr/bin/env bash +# provides: fix for possible bug in the subscription manager +# version: provided by RedHat +# needed for yum to work properly in case there is incorrect data in +# the sslclientkey repository parameter value + +set -ex + +sudo rm -f /etc/pki/entitlement/* +sudo subscription-manager refresh diff --git a/coin/provisioning/qtci-linux-RHEL-6.6-x86_64/06-odbc.sh b/coin/provisioning/qtci-linux-RHEL-6.6-x86_64/06-odbc.sh new file mode 100755 index 00000000..c8edc2a2 --- /dev/null +++ b/coin/provisioning/qtci-linux-RHEL-6.6-x86_64/06-odbc.sh @@ -0,0 +1,8 @@ +#!/usr/bin/env bash +# provides: odbc devel packages on RHEL +# version: provided by default Linux distribution repository +# needed for configure -plugin-sql-odbc in qtbase + +set -ex + +sudo yum install -y unixODBC-devel diff --git a/coin/provisioning/qtci-linux-RHEL-6.6-x86_64/08-pythondev.sh b/coin/provisioning/qtci-linux-RHEL-6.6-x86_64/08-pythondev.sh new file mode 100755 index 00000000..2861821c --- /dev/null +++ b/coin/provisioning/qtci-linux-RHEL-6.6-x86_64/08-pythondev.sh @@ -0,0 +1,51 @@ +#!/usr/bin/env bash + +############################################################################# +## +## 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: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$ +## +############################################################################# + +# provides: python development libraries +# version: provided by default Linux distribution repository +# needed to build pyside + +set -ex + +sudo yum install -y python-devel python-virtualenv + +# install python3 +sudo yum install -y python34-devel + +# install pip3 +wget https://bootstrap.pypa.io/get-pip.py +sudo python3 get-pip.py +sudo rm -f get-pip.py +sudo pip3 install virtualenv diff --git a/coin/provisioning/qtci-linux-RHEL-6.6-x86_64/09-cmake.sh b/coin/provisioning/qtci-linux-RHEL-6.6-x86_64/09-cmake.sh new file mode 100755 index 00000000..74520b6e --- /dev/null +++ b/coin/provisioning/qtci-linux-RHEL-6.6-x86_64/09-cmake.sh @@ -0,0 +1,4 @@ +#!/usr/bin/env bash +set -ex + +"$(dirname "$0")/../common/linux/cmake_linux.sh" diff --git a/coin/provisioning/qtci-linux-RHEL-6.6-x86_64/20-libusb.sh b/coin/provisioning/qtci-linux-RHEL-6.6-x86_64/20-libusb.sh new file mode 100755 index 00000000..b156e8f9 --- /dev/null +++ b/coin/provisioning/qtci-linux-RHEL-6.6-x86_64/20-libusb.sh @@ -0,0 +1,6 @@ +#!/usr/bin/env bash +# Required for tqtc-boot2qt/qdb + +set -ex + +sudo yum install -y libusb1-devel diff --git a/coin/provisioning/qtci-linux-RHEL-6.6-x86_64/22-mqtt_broker.sh b/coin/provisioning/qtci-linux-RHEL-6.6-x86_64/22-mqtt_broker.sh new file mode 100755 index 00000000..505374c5 --- /dev/null +++ b/coin/provisioning/qtci-linux-RHEL-6.6-x86_64/22-mqtt_broker.sh @@ -0,0 +1,37 @@ +#!/usr/bin/env bash + +############################################################################# +## +## Copyright (C) 2017 The Qt Company Ltd. +## Contact: http://www.qt.io/licensing/ +## +## This file is part of the test suite 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$ +## +############################################################################# + +# shellcheck source=../common/unix/mqtt_broker.sh +source "${BASH_SOURCE%/*}/../common/unix/mqtt_broker.sh" diff --git a/coin/provisioning/qtci-linux-RHEL-6.6-x86_64/30-install_icu.sh b/coin/provisioning/qtci-linux-RHEL-6.6-x86_64/30-install_icu.sh new file mode 100755 index 00000000..67c17954 --- /dev/null +++ b/coin/provisioning/qtci-linux-RHEL-6.6-x86_64/30-install_icu.sh @@ -0,0 +1,74 @@ +#!/usr/bin/env bash + +############################################################################# +## +## Copyright (C) 2016 The Qt Company Ltd. +## Contact: http://www.qt.io/licensing/ +## +## This file is part of the test suite 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$ +## +############################################################################# + +# This script installs the right ICU version + +set -ex +icuVersion="56.1" +icuLocation="/usr/lib64" +sha1="f2eab775c04ce5f3bdae6c47d06b62158b5d6753" + +function Install7ZPackageFromURL { + url=$1 + expectedSha1=$2 + targetDirectory=$3 + + targetFile=$(mktemp) + wget --tries=5 --waitretry=5 --output-document="$targetFile" "$url" + echo "$expectedSha1 $targetFile" | sha1sum --check + sudo /usr/local/bin/7z x -yo"$targetDirectory" "$targetFile" + rm "$targetFile" +} + +echo "Installing custom ICU $icuVersion $sha1 packages on RHEL to $icuLocation" + +baseBinaryPackageURL="http://master.qt.io/development_releases/prebuilt/icu/prebuilt/$icuVersion/icu-linux-g++-Rhel6.6-x64.7z" +Install7ZPackageFromURL "$baseBinaryPackageURL" "$sha1" "/usr/lib64" + +echo "Installing custom ICU devel packages on RHEL" + +sha1Dev="82f8b216371b848b8d36ecec7fe7b6e9b0dba0df" +develPackageURL="http://master.qt.io/development_releases/prebuilt/icu/prebuilt/$icuVersion/icu-linux-g++-Rhel6.6-x64-devel.7z" +tempDir=$(mktemp -d) +# shellcheck disable=SC2064 +trap "sudo rm -fr $tempDir" EXIT +Install7ZPackageFromURL "$develPackageURL" "$sha1Dev" "$tempDir" +sudo cp -a "$tempDir/lib"/* /usr/lib64 +sudo cp -a "$tempDir"/* /usr/ + +sudo /sbin/ldconfig + +# Storage version information to ~/versions.txt, which is used to print version information to provision log. +echo "ICU = $icuVersion" >> ~/versions.txt diff --git a/coin/provisioning/qtci-linux-RHEL-6.6-x86_64/99-version.sh b/coin/provisioning/qtci-linux-RHEL-6.6-x86_64/99-version.sh new file mode 100755 index 00000000..1354bf6b --- /dev/null +++ b/coin/provisioning/qtci-linux-RHEL-6.6-x86_64/99-version.sh @@ -0,0 +1,48 @@ +#!/usr/bin/env bash + +############################################################################# +## +## Copyright (C) 2016 The Qt Company Ltd. +## Contact: http://www.qt.io/licensing/ +## +## This file is part of the test suite 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$ +## +############################################################################# + +# 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-7.4-x86_64/04-install-packages.sh b/coin/provisioning/qtci-linux-RHEL-7.4-x86_64/04-install-packages.sh index 4e2799ff..b547b479 100755 --- a/coin/provisioning/qtci-linux-RHEL-7.4-x86_64/04-install-packages.sh +++ b/coin/provisioning/qtci-linux-RHEL-7.4-x86_64/04-install-packages.sh @@ -98,6 +98,17 @@ 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) sudo yum -y install "${installPackages[@]}" 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 b81bd807..1d567a3e 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 @@ -157,6 +157,8 @@ installPackages+=(virtualbox) installPackages+=(dkms) # Needed for qtspeech installPackages+=(libspeechd-dev) +#Pypdf for PDF reading in RTA tests +installPackages+=(python-pypdf2) echo "Running update for apt" waitLoop 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 new file mode 100755 index 00000000..f38c9bab --- /dev/null +++ b/coin/provisioning/qtci-linux-Ubuntu-18.04-x86_64/02-disable-notifications.sh @@ -0,0 +1,4 @@ +#!/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-Ubuntu-18.04-x86_64/02-remove-apport.sh b/coin/provisioning/qtci-linux-Ubuntu-18.04-x86_64/02-remove-apport.sh new file mode 100755 index 00000000..09477763 --- /dev/null +++ b/coin/provisioning/qtci-linux-Ubuntu-18.04-x86_64/02-remove-apport.sh @@ -0,0 +1,4 @@ +#!/usr/bin/env bash + +# 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/yocto_ssh_configurations.sh b/coin/provisioning/qtci-linux-Ubuntu-18.04-x86_64/04-yocto_ssh_configurations.sh index e4d988fc..e4d988fc 100755 --- a/coin/provisioning/qtci-linux-Ubuntu-18.04-x86_64/yocto_ssh_configurations.sh +++ b/coin/provisioning/qtci-linux-Ubuntu-18.04-x86_64/04-yocto_ssh_configurations.sh diff --git a/coin/provisioning/qtci-linux-openSUSE-42.3-x86_64/02-zypperpackages.sh b/coin/provisioning/qtci-linux-openSUSE-42.3-x86_64/02-zypperpackages.sh index f32af9b5..2fab85ac 100755 --- a/coin/provisioning/qtci-linux-openSUSE-42.3-x86_64/02-zypperpackages.sh +++ b/coin/provisioning/qtci-linux-openSUSE-42.3-x86_64/02-zypperpackages.sh @@ -26,7 +26,9 @@ sudo zypper -nq install sqlite3-devel sudo zypper -nq install Mesa-libEGL-devel sudo zypper -nq install Mesa-libGL-devel +# libxkbcommon sudo zypper -nq install libxkbcommon-devel +sudo zypper -nq install libxkbcommon-x11-devel # Xinput2 sudo zypper -nq install libXi-devel diff --git a/coin/provisioning/qtci-macos-10.13-x86_64/30-android.sh b/coin/provisioning/qtci-macos-10.13-x86_64/30-android.sh index 717a0767..9d7467ef 100755 --- a/coin/provisioning/qtci-macos-10.13-x86_64/30-android.sh +++ b/coin/provisioning/qtci-macos-10.13-x86_64/30-android.sh @@ -48,11 +48,14 @@ sdkTargetFolder="$targetFolder/sdk" basePath="/net/ci-files01-hki.intra.qt.io/hdd/www/input/android" toolsVersion="r26.1.1" +# toolsFile dertermines tools version toolsFile="sdk-tools-darwin-4333796.zip" + ndkVersion="r18b" ndkFile="android-ndk-$ndkVersion-darwin-x86_64.zip" sdkBuildToolsVersion="28.0.3" -sdkApiLevel="android-21" +# this is compile sdk version +sdkApiLevel="android-28" toolsSha1="ed85ea7b59bc3483ce0af4c198523ba044e083ad" ndkSha1="98cb9909aa8c2dab32db188bbdc3ac6207e09440" @@ -70,8 +73,8 @@ sudo unzip -q "$toolsSourceFile" -d "$sdkTargetFolder" echo "Changing ownership of Android files." sudo chown -R qt:wheel "$targetFolder" -echo "Running SDK manager for platforms;$sdkApiLevel, tools, platform-tools and build-tools;$sdkBuildToolsVersion." -(echo "y"; echo "y") |"$sdkTargetFolder/tools/bin/sdkmanager" "platforms;$sdkApiLevel" "tools" "platform-tools" "build-tools;$sdkBuildToolsVersion" +echo "Running SDK manager for platforms;$sdkApiLevel, platform-tools and build-tools;$sdkBuildToolsVersion." +(echo "y"; echo "y") |"$sdkTargetFolder/tools/bin/sdkmanager" "platforms;$sdkApiLevel" "platform-tools" "build-tools;$sdkBuildToolsVersion" echo "Checking the contents of Android SDK..." ls -l "$sdkTargetFolder" diff --git a/coin/provisioning/qtci-windows-10-x86/01-allow-remote-desktop-access.ps1 b/coin/provisioning/qtci-windows-10-x86/01-allow-remote-desktop-access.ps1 new file mode 100644 index 00000000..af05e838 --- /dev/null +++ b/coin/provisioning/qtci-windows-10-x86/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-x86/09-install-strawberry-perl.ps1 b/coin/provisioning/qtci-windows-10-x86/09-install-strawberry-perl.ps1 new file mode 100644 index 00000000..2b5756be --- /dev/null +++ b/coin/provisioning/qtci-windows-10-x86/09-install-strawberry-perl.ps1 @@ -0,0 +1 @@ +. "$PSScriptRoot\..\common\windows\install-strawberry-perl.ps1" |