diff options
author | Liang Qi <liang.qi@qt.io> | 2019-01-23 07:59:29 +0100 |
---|---|---|
committer | Liang Qi <liang.qi@qt.io> | 2019-01-23 08:02:11 +0100 |
commit | 85eb7b7a03ff0dab3b68f11a341e060eb066940a (patch) | |
tree | e6607708f35431f131df9dc8ba7ac42cdaf3dd71 /coin/provisioning | |
parent | 390a373f28e5c3cdcb87f4af74976d5b5cba72b2 (diff) | |
parent | 47d14b365ed7ee6b174d48c9cb14d72c66c26d71 (diff) |
Merge remote-tracking branch 'origin/5.12' into dev
Conflicts:
coin/platform_configs/default.txt
Change-Id: Ie21baa51738ce0761fb45fba3819b1894cc808b6
Diffstat (limited to 'coin/provisioning')
38 files changed, 509 insertions, 483 deletions
diff --git a/coin/provisioning/common/linux/remove-update_notifier.sh b/coin/provisioning/common/linux/remove-update_notifier.sh new file mode 100755 index 00000000..152d7fa8 --- /dev/null +++ b/coin/provisioning/common/linux/remove-update_notifier.sh @@ -0,0 +1,3 @@ +#!/usr/bin/env bash + +sudo apt -q -y remove update-notifier update-manager diff --git a/coin/provisioning/common/linux/open62541.sh b/coin/provisioning/common/linux/squish-coco.sh index 962e8963..4f8627d3 100755 --- a/coin/provisioning/common/linux/open62541.sh +++ b/coin/provisioning/common/linux/squish-coco.sh @@ -1,8 +1,8 @@ -#!/bin/env bash +#!/usr/bin/env bash ############################################################################# ## -## 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. @@ -33,41 +33,28 @@ ## ############################################################################# -set +e - -# shellcheck disable=SC1090 - -# We need to source to be able to use cmake in the shell -if uname -a |grep -q "Ubuntu"; then - source ~/.profile -else - source ~/.bashrc -fi +# This script installs Squish Coco set -ex +# shellcheck source=../unix/DownloadURL.sh +source "${BASH_SOURCE%/*}/../unix/DownloadURL.sh" # shellcheck source=../unix/SetEnvVar.sh source "${BASH_SOURCE%/*}/../unix/SetEnvVar.sh" -TEMPDIR=$(mktemp --directory) || echo "Failed to create temporary directory" -# shellcheck disable=SC2064 -trap "sudo rm -fr $TEMPDIR" EXIT -cd "$TEMPDIR" -sudo pip install --upgrade pip -sudo pip install six +version="4.2.2" +sha1="a44f0f039f3712c715eea63c4021d08bf17a44c6" +package="SquishCocoSetup_${version}_Linux_x86_64.run" +url="http://ci-files01-hki.intra.qt.io/input/coco//$package" + +echo "Enable license for Coco" -git clone https://github.com/open62541/open62541.git open62541 -cd open62541 -git checkout 215651ab8db94e5eacdd10ec26a5a9fb96b9301f -mkdir build -cd build -TARGETPATH=/opt/open62541 -cmake -DUA_ENABLE_AMALGAMATION=ON -DUA_ENABLE_METHODCALLS=ON -DCMAKE_INSTALL_PREFIX:PATH="$TARGETPATH" .. -make +DownloadURL "$url" "$url" "$sha1" "/tmp/$package" +sudo chmod 755 "/tmp/$package" +echo 1 | sudo "/tmp/$package" "--nox11" -sudo make install -sudo /sbin/ldconfig +/opt/SquishCoco/bin/cocolic --license-server=Qt-SRV-33.intra.qt.io:49344 -SetEnvVar "CI_OPEN62541_GCC_X64_PREFIX" "$TARGETPATH" +echo "export PATH=/opt/SquishCoco/bin/:$PATH" >> ~/.bashrc diff --git a/coin/provisioning/common/macos/install_openssl.sh b/coin/provisioning/common/macos/install_openssl.sh new file mode 100755 index 00000000..15f02ffd --- /dev/null +++ b/coin/provisioning/common/macos/install_openssl.sh @@ -0,0 +1,81 @@ +#!/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$ +## +############################################################################# + +# This script install OpenSSL + +set -ex + +# shellcheck source=../common/unix/InstallFromCompressedFileFromURL.sh +source "${BASH_SOURCE%/*}/../unix/InstallFromCompressedFileFromURL.sh" +# shellcheck source=../common/unix/SetEnvVar.sh +source "${BASH_SOURCE%/*}/../unix/SetEnvVar.sh" + +opensslVersion="1.0.2p" +opensslFile="openssl-$opensslVersion.tar.gz" +opensslDlUrl="http://ci-files01-hki.intra.qt.io/input/openssl/$opensslFile" +opensslAltDlUrl="https://www.openssl.org/source/$opensslFile" +opensslSha1="f34b5322e92415755c7d58bf5d0d5cf37666382c" + +# Below target location has been hard coded into Coin. +# QTQAINFRA-1195 +openssl_install_dir=/usr/local/openssl-$opensslVersion +opensslTargetLocation="/usr/local/opt/openssl" + +InstallFromCompressedFileFromURL "$opensslDlUrl" "$opensslAltDlUrl" "$opensslSha1" "/tmp/openssl-$opensslVersion" "openssl-$opensslVersion" +cd "/tmp/openssl-$opensslVersion" +pwd +sudo ./config --prefix=$openssl_install_dir +echo "Running 'make' for OpenSSL" +sudo make --silent > /tmp/openssl_make.log 2>&1 +echo "Running 'make install' for OpenSSL" +sudo make --silent install > /tmp/openssl_make_install.log 2>&1 + +path=$(echo "$opensslTargetLocation" | sed -E 's/(.*)\/.*$/\1/') +sudo mkdir -p "$path" +sudo ln -s $openssl_install_dir $opensslTargetLocation + +SetEnvVar "PATH" "\"$opensslTargetLocation/bin:\$PATH\"" +SetEnvVar "MANPATH" "\"$opensslTargetLocation/share/man:\$MANPATH\"" + +SetEnvVar "OPENSSL_DIR" "\"$openssl_install_dir\"" +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 +security find-certificate -a -p /System/Library/Keychains/SystemRootCertificates.keychain | sudo tee -a $opensslTargetLocation/ssl/cert.pem + +sudo rm -rf /tmp/openssl-$opensslVersion + +echo "OpenSSL = $opensslVersion" >> ~/versions.txt diff --git a/coin/provisioning/common/macos/libiodbc.sh b/coin/provisioning/common/macos/libiodbc.sh index 6c10ccbf..79fa86c2 100755 --- a/coin/provisioning/common/macos/libiodbc.sh +++ b/coin/provisioning/common/macos/libiodbc.sh @@ -48,7 +48,7 @@ brew install 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" -SetEnvVar "LIBRARY_PATH" "/usr/local/Cellar/libiodbc/$version/lib:$LIBRARY_PATH" +SetEnvVar "CPLUS_INCLUDE_PATH" "/usr/local/Cellar/libiodbc/$version/include${CPLUS_INCLUDE_PATH:+:}${CPLUS_INCLUDE_PATH}" +SetEnvVar "LIBRARY_PATH" "/usr/local/Cellar/libiodbc/$version/lib${LIBRARY_PATH:+:}${LIBRARY_PATH}" echo "libiodbc = $version" >> ~/versions.txt diff --git a/coin/provisioning/common/unix/DownloadURL.sh b/coin/provisioning/common/unix/DownloadURL.sh index 2d82af58..996c99da 100755 --- a/coin/provisioning/common/unix/DownloadURL.sh +++ b/coin/provisioning/common/unix/DownloadURL.sh @@ -40,6 +40,8 @@ # If called directly from another script, it will exit the parent script # as well, if not called in its own subshell with parentheses. +set -ex + function DownloadURL { url=$1 url_alt=$2 @@ -47,11 +49,11 @@ function DownloadURL { targetFile=$4 echo "Downloading from primary URL '$url'" - curl --fail -L --retry 5 --retry-delay 5 -o "$targetFile" "$url" || ( + curl --fail -L --retry 5 --retry-delay 5 -o "$targetFile" "$url" || { echo "Failed to download '$url' multiple times" echo "Downloading from alternative URL '$url_alt'" - curl --fail -L --retry 5 --retry-delay 5 -o "$targetFile" "$url_alt" - ) + curl --fail -L --retry 5 --retry-delay 5 -o "$targetFile" "$url_alt" || { echo 'Failed to download even from alternative url'; exit 1; } + } echo "Checking SHA1 on PKG '$targetFile'" echo "$expectedSha1 *$targetFile" > "$targetFile.sha1" diff --git a/coin/provisioning/common/unix/install-breakpad.sh b/coin/provisioning/common/unix/install-breakpad.sh new file mode 100755 index 00000000..669469be --- /dev/null +++ b/coin/provisioning/common/unix/install-breakpad.sh @@ -0,0 +1,81 @@ +#!/usr/bin/env bash + +############################################################################ +## +## Copyright (C) 2019 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=../unix/DownloadURL.sh +source "${BASH_SOURCE%/*}/../unix/DownloadURL.sh" +# shellcheck source=../unix/SetEnvVar.sh +source "${BASH_SOURCE%/*}/../unix/SetEnvVar.sh" + +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_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_sha="62565be0920f3661e138d68026b79fbbdc2a11e4" + +targetBreakpad="/tmp/$breakpad_tar" +targetSyscall="/tmp/$linux_syscall_support_tar" +installFolder="$HOME" +breakpadHome="$HOME/breakpad" + +# shellcheck disable=SC2015 +( DownloadURL "$breakpad_tar_url" "$breakpad_tar_url" "$breakpad_tar_sha" "$targetBreakpad" ) && ( + DownloadURL "$linux_syscall_support_tar_url" "$linux_syscall_support_tar_url" "$linux_syscall_support_tar_sha" "$targetSyscall" + ) && ( + tar -xzf "$targetBreakpad" -C "$installFolder" + tar -xzf "$targetSyscall" -C "/tmp" + mv "/tmp/linux-syscall-support/" "$breakpadHome/src/third_party/lss/" + rm -rf $targetBreakpad + rm -rf $targetSyscall + ) || ( + cd "$HOME" + git clone https://chromium.googlesource.com/breakpad/breakpad "$breakpadHome" + git clone https://chromium.googlesource.com/linux-syscall-support "$breakpadHome/src/third_party/lss" + cd "$breakpadHome" + git checkout "$breakpad_commit_sha" + cd "$breakpadHome/src/third_party/lss" + git checkout "$linux_syscall_support_commit_sha1" + ) + + +SetEnvVar "BREAKPAD_SOURCE_DIR" "$breakpadHome/src" + +echo "breakpad = $breakpad_commit_sha" >> ~/versions.txt +echo "linux_syscall_support = $linux_syscall_support_commit_sha1" >> ~/versions.txt diff --git a/coin/provisioning/common/windows/android-openssl.ps1 b/coin/provisioning/common/windows/android-openssl.ps1 index a6bcaaeb..db53bcc9 100644 --- a/coin/provisioning/common/windows/android-openssl.ps1 +++ b/coin/provisioning/common/windows/android-openssl.ps1 @@ -54,7 +54,7 @@ Remove-Item -Path $zip Remove-Item C:\Utils\openssl-$version.tar # Set-EnvironmentVariable "CC" "C:\utils\Android\android-ndk-r18b\toolchains\llvm\prebuilt\windows\bin\clang" -# Set-EnvironmentVariable "AR" "C:\utils\Android\android-ndk-r18b\toolchains\llvm\prebuilt\windows\bin\llvm-ar" +# Set-EnvironmentVariable "ANDROID_AR" "C:\utils\Android\android-ndk-r18b\toolchains\llvm\prebuilt\windows\bin\llvm-ar" # Set-EnvironmentVariable "ANDROID_DEV" "C:\utils\Android\android-ndk-r18b\platforms\android-21\arch-arm\usr" # Make sure configure for openssl has a "make" and "perl" available diff --git a/coin/provisioning/common/windows/android.ps1 b/coin/provisioning/common/windows/android.ps1 index 90c33fbd..1b4dd35d 100644 --- a/coin/provisioning/common/windows/android.ps1 +++ b/coin/provisioning/common/windows/android.ps1 @@ -85,7 +85,7 @@ if (IsProxyEnabled) { # Remove "http://" from the beginning $proxy = $proxy.Remove(0,7) $proxyhost,$proxyport = $proxy.split(':') - $sdkmanager_args = "--no_https --proxy=http --proxy_host=`"$proxyhost`" --proxy_port=`"$proxyport`" " + $sdkmanager_args = "--no_https", "--proxy=http", "--proxy_host=`"$proxyhost`"", "--proxy_port=`"$proxyport`"" } New-Item -ItemType Directory -Force -Path C:\Utils\Android\licenses @@ -95,9 +95,10 @@ 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 platform-tools build-tools;$sdkBuildToolsVersion" -Run-Executable "$toolsFolder\bin\sdkmanager.bat" "$sdkmanager_args" cd $toolsFolder\bin\ +$sdkmanager_args += "platforms;$sdkApiLevel", "platform-tools", "build-tools;$sdkBuildToolsVersion" +$command = 'for($i=0;$i -lt 6;$i++) { $response += "y`n"}; $response | .\sdkmanager.bat @sdkmanager_args' +iex $command $command = 'for($i=0;$i -lt 6;$i++) { $response += "y`n"}; $response | .\sdkmanager.bat --licenses' iex $command cmd /c "dir C:\Utils\android" diff --git a/coin/provisioning/qtci-linux-RHEL-7.4-x86_64/50-open62541.sh b/coin/provisioning/common/windows/disable-defragment.ps1 index 21c926b8..876938f8 100755..100644 --- a/coin/provisioning/qtci-linux-RHEL-7.4-x86_64/50-open62541.sh +++ b/coin/provisioning/common/windows/disable-defragment.ps1 @@ -1,8 +1,6 @@ -#!/bin/env bash - ############################################################################# ## -## 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. @@ -33,5 +31,4 @@ ## ############################################################################# -# shellcheck source=../common/linux/open62541.sh -source "${BASH_SOURCE%/*}/../common/linux/open62541.sh" +schtasks /Delete /TN "\Microsoft\Windows\Defrag\ScheduledDefrag" /F diff --git a/coin/provisioning/common/windows/helpers.ps1 b/coin/provisioning/common/windows/helpers.ps1 index cbf2371f..76ad4867 100644 --- a/coin/provisioning/common/windows/helpers.ps1 +++ b/coin/provisioning/common/windows/helpers.ps1 @@ -35,6 +35,28 @@ function Run-Executable } } +function Extract-tar_gz +{ + Param ( + [string]$Source, + [string]$Destination + ) + Write-Host "Extracting '$Source' to '$Destination'..." + + if ((Get-Command "7z.exe" -ErrorAction SilentlyContinue) -eq $null) { + $zipExe = join-path (${env:ProgramFiles(x86)}, ${env:ProgramFiles}, ${env:ProgramW6432} -ne $null)[0] '7-zip\7z.exe' + if (-not (test-path $zipExe)) { + $zipExe = "C:\Utils\sevenzip\7z.exe" + if (-not (test-path $zipExe)) { + throw "Could not find 7-zip." + } + } + } else { + $zipExe = "7z.exe" + } + Run-Executable "cmd.exe" "/C $zipExe x -y `"$Source`" -so | $zipExe x -y -aoa -si -ttar `"-o$Destination`"" +} + function Extract-7Zip { Param ( diff --git a/coin/provisioning/common/windows/install-breakpad.ps1 b/coin/provisioning/common/windows/install-breakpad.ps1 new file mode 100644 index 00000000..4a9544cc --- /dev/null +++ b/coin/provisioning/common/windows/install-breakpad.ps1 @@ -0,0 +1,94 @@ +############################################################################ +## +## Copyright (C) 2019 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$ +## +############################################################################ + +# This script install breakpad from sources. +# for manual install.. remember to checkout correct version +# git clone https://chromium.googlesource.com/breakpad/breakpad +# git clone https://chromium.googlesource.com/linux-syscall-support breakpad/src/third_party/lss + +# Commit used to make this zip breakpad_20181113.tar.gz +# breakpad +# commit 66571f4838b2306161f072555cb199049bc68142 (HEAD -> master, origin/master, origin/HEAD) +# linux-syscall-support +# commit 93426bda6535943ff1525d0460aab5cc0870ccaf (HEAD -> master, origin/master, origin/HEAD) + +# This script installs breakpad. + + +. "$PSScriptRoot\helpers.ps1" + + +$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_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_sha="62565be0920f3661e138d68026b79fbbdc2a11e4" + +$targetBreakpad="$env:tmp\$breakpad_tar" +$targetSyscall="$env:tmp\$linux_syscall_support_tar" +$installFolder = "C:\Utils" + +# breakpad +try { + Download $breakpad_tar_url $breakpad_tar_url $targetBreakpad + Verify-Checksum $targetBreakpad $breakpad_tar_sha + Extract-tar_gz $targetBreakpad $installFolder + Remove-Item -Path $targetBreakpad + # linux-syscall-support + Download $linux_syscall_support_tar_url $linux_syscall_support_tar_url $targetSyscall + Verify-Checksum $targetSyscall $linux_syscall_support_tar_sha + Extract-tar_gz $targetSyscall "$env:tmp\" + New-Item -ItemType directory -Path "$installFolder\breakpad\third_party\lss" + Get-ChildItem -Path "$env:tmp\linux-syscall-support\*" -Recurse | Move-Item -Destination "$installFolder\breakpad\third_party\lss" + Remove-Item -Path $targetSyscall +} +catch { + Write-Host "Cached download failed: Attempping fallback method eg git." + Set-Location $installFolder + git.exe clone "https://chromium.googlesource.com/breakpad/breakpad" + git.exe clone "https://chromium.googlesource.com/linux-syscall-support breakpad\third_party\ssl" + Set-Location "breakpad" + git checkout $breakpad_commit_sha + Set-Location "src/third_party/lss" + git checkout $linux_syscall_support_commit_sha1 +} + +Set-EnvironmentVariable "BREAKPAD_SOURCE_DIR" "$installFolder\breakpad\src" + +# Write HEAD commit sha to versions txt, so build can be repeated at later date +Write-Output "breakpad = $breakpad_commit_sha" >> ~/versions.txt +Write-Output "linux-syscall-support = $linux_syscall_support_tar" >> ~/versions.txt diff --git a/coin/provisioning/common/windows/opcua_unifiedautomation.ps1 b/coin/provisioning/common/windows/opcua_unifiedautomation.ps1 index aff784b9..70fcaae0 100644 --- a/coin/provisioning/common/windows/opcua_unifiedautomation.ps1 +++ b/coin/provisioning/common/windows/opcua_unifiedautomation.ps1 @@ -1,6 +1,6 @@ ############################################################################# ## -## Copyright (C) 2018 The Qt Company Ltd. +## Copyright (C) 2019 The Qt Company Ltd. ## Contact: http://www.qt.io/licensing/ ## ## This file is part of the provisioning scripts of the Qt Toolkit. @@ -33,27 +33,58 @@ . "$PSScriptRoot\helpers.ps1" -$zip = Get-DownloadLocation "uasdkcpp.zip" -$sha1 = "e1927dbd5d8bb459b468fa70a70b1de51a4ce022" -$installLocation = "C:\Utils\uacpp" +function DownloadAndInstallUA +{ + Param ( + [string] $InstallerFileName = $(BadParam("no download URL specified")), + [string] $sha1 = $(BadParam("No SHA1 for download specified")), + [string] $Destination = $(BadParam("No location to install specified")) + ) + Write-Host "UACPPSDK: DownloadAndInstallUA $InstallerFileName" + $zip = Get-DownloadLocation "uasdkcpp.zip" -Write-Host "UACPPSDK: Downloading Unified Automation CPP installer..." -$internalUrl = "http://ci-files01-hki.intra.qt.io/input/opcua_uacpp/uasdkcppbundle-bin-EVAL-win32-x86-vs2015-v1.5.6-361.zip" -# No public download link exists -$externalUrl = $internalUrl + Write-Host "UACPPSDK: Downloading Unified Automation CPP installer..." + $internalUrl = "http://ci-files01-hki.intra.qt.io/input/opcua_uacpp/$InstallerFileName.zip" + # No public download link exists + $externalUrl = $internalUrl -Download $externalUrl $internalUrl $zip -Verify-Checksum $zip $sha1 + Download $externalUrl $internalUrl $zip + Verify-Checksum $zip $sha1 -Write-Host "UACPPSDK: Installing $zip..." -Extract-7Zip $zip (Get-DefaultDownloadLocation) -Remove-Item -Path $zip + Write-Host "UACPPSDK: Extracting $zip..." + Extract-7Zip $zip (Get-DefaultDownloadLocation) + Remove-Item -Path $zip -$executable = (Get-DefaultDownloadLocation) + "uasdkcppbundle-bin-EVAL-win32-x86-vs2015-v1.5.6-361.exe" -$arguments = "/S /D=$installLocation" -Run-Executable $executable $arguments -Write-Host "UACPPSDK: Installer done." -Remove-Item $executable + $executable = (Get-DefaultDownloadLocation) + "$InstallerFileName.exe" + # We cannot call the installer as the x86 and x64 versions of the installer are not + # allowed to be installed in parallel (they check for the same registry value and + # delete each other). Extracting does not have a side-effect for Qt + #$arguments = "/S /D=$installLocation" + #Run-Executable $executable $arguments + #Write-Host "UACPPSDK: Installer done." + #Remove-Item $executable -Write-Host "Set environment variable for COIN to locate SDK" -Set-EnvironmentVariable "CI_UACPP_msvc2015_x86_PREFIX" "$installLocation" + Extract-7Zip $executable $Destination + Remove-Item $executable +} + +#x86 version +$installerName86 = "uasdkcppbundle-bin-EVAL-win32-x86-vs2015-v1.6.3-406" +$downloadSha86 = "C73278B4C10DF0E3D60ABAA159ABA9185095124C" +$installLocation86 = "C:\Utils\uacpp_x86" + +DownloadAndInstallUA $installerName86 $downloadSha86 $installLocation86 +Set-EnvironmentVariable "CI_UACPP_msvc2015_x86_PREFIX" "$installLocation86" +# For UA msvc2015 is binary compatible with msvc2017 +Set-EnvironmentVariable "CI_UACPP_msvc2017_x86_PREFIX" "$installLocation86" + + +#x64 version +$installerName64 = "uasdkcppbundle-bin-EVAL-win64-x86_64-vs2015-v1.6.3-406" +$downloadSha64 = "1384e6882644f9163e9840aee962cdb9ca3398c8" +$installLocation64 = "C:\Utils\uacpp_x64" + +DownloadAndInstallUA $installerName64 $downloadSha64 $installLocation64 +Set-EnvironmentVariable "CI_UACPP_msvc2015_x64_PREFIX" "$installLocation64" +# For UA msvc2015 is binary compatible with msvc2017 +Set-EnvironmentVariable "CI_UACPP_msvc2017_x64_PREFIX" "$installLocation64" diff --git a/coin/provisioning/common/windows/open62541.ps1 b/coin/provisioning/common/windows/open62541.ps1 deleted file mode 100644 index b7eceb4d..00000000 --- a/coin/provisioning/common/windows/open62541.ps1 +++ /dev/null @@ -1,265 +0,0 @@ -############################################################################# -## -## 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$ -## -############################################################################# - -Param ( - [string]$targetCommand= "" - ) - -. "$PSScriptRoot\helpers.ps1" - -## Variables for builds -$commitSHA = "215651ab8db94e5eacdd10ec26a5a9fb96b9301f" -$sha1 = "8d899f986071525be73e1ee8565b28ea10536d7d" -$extractTarget = "C:\open62541_build" - -function CreateArchive -{ - param( - [string]$sourceDirectory=$(throw("You must specify a directory")), - [string]$archiveName=$(throw("You must specify an archive name")) - ) - - if ((Get-Command "7z.exe" -ErrorAction SilentlyContinue) -eq $null) { - $zipExe = join-path (${env:ProgramFiles(x86)}, ${env:ProgramFiles}, ${env:ProgramW6432} -ne $null)[0] '7-zip\7z.exe' - if (-not (test-path $zipExe)) { - $zipExe = "C:\Utils\sevenzip\7z.exe" - if (-not (test-path $zipExe)) { - throw "Could not find 7-zip." - } - } - } else { - $zipExe = "7z.exe" - } - - Run-Executable $zipExe "a -y `"$archiveName`" `"$sourceDirectory`"" -} - -function PrepareRepository -{ - $username = $env:USERNAME - $zip = "c:\users\$username\downloads\open62541.zip" - - $externalUrl = "https://github.com/open62541/open62541/archive/$commitSHA.zip" - $internalUrl = "http://ci-files01-hki.intra.qt.io/input/open62541/$commitSHA.zip" - - Download $externalUrl $internalUrl $zip - Verify-Checksum $zip $sha1 - - Extract-7Zip $zip $extractTarget -} - -function PushDevEnvironment -{ - # Provisioning updates the registry entries for PATH etc. However, they are not - # propagated to the next provisioning script and hence need to be manually - # read / set. - $adaptedPath = $env:PATH - $jomLocation = [Environment]::GetEnvironmentVariable("CI_JOM_PATH", "Machine") - $adaptedPath = $adaptedPath + ";" + $jomLocation - $adaptedPath = $adaptedPath + ";" + "C:\Python27" - $adaptedPath = $adaptedPath + ";" + "C:\CMake\bin" - [Environment]::SetEnvironmentVariable("PATH", $adaptedPath, "Process") -} - -function MSVCEnvironment -{ - Param ( - [string]$msvcDir=$(throw("No VS Directory specified")), - [string]$msvcbat=$(throw("No vsvars batch file specified")) - ) - - Push-Location $msvcDir - cmd /c "$msvcbat&set" | - foreach { - if ($_ -match "=") { - $v = $_.split("="); Set-Item -force -path "ENV:\$($v[0])" -value "$($v[1])" - } - } - Pop-Location -} - -function BuildAndInstallOpen62541 -{ - Param ( - [string]$Type=$(throw("You must specify the dev type [mingw530, mingw630, mingw730, msvc2015, msvc2017]")), - [string]$Platform=$(throw("You must specify the target platform [x86, x64]")), - [string]$MakeCommand=$(throw("You must specify a make command [mingw32-make, nmake]")) - ) - Write-Host "### Open62541: Supposed to build with: $Type $Platform $MakeCommand" - - ## Make Build directory - $buildDir = "$extractTarget\open62541-$commitSHA\build" + "_" + $Type + "_" + $Platform - if (Test-Path $buildDir) { - Write-Host " Deleting pre-existing build directory" - Remove-Item $buildDir -Force -Recurse - } - New-Item -ItemType Directory -Force -Path $buildDir - Push-Location $buildDir - - ## Invoke Cmake - $makeGenerator = "NMake Makefiles JOM" - $installTarget = "C:\Utils\open62541" + "_" + $Type + "_" + $Platform - if (Test-Path $installTarget) { - Write-Host " Deleting pre-existing install directory" - Remove-Item $installTarget -Force -Recurse - } - - if ($Type.StartsWith("mingw")) { - $makeGenerator = "MinGW Makefiles" - } - cmake -G "$makeGenerator" -DUA_ENABLE_AMALGAMATION=ON -DUA_ENABLE_METHODCALLS=ON -DCMAKE_INSTALL_PREFIX:PATH=$installTarget -DLIB_INSTALL_DIR:PATH=$installTarget/lib .. - - ## Call build command - Write-Host "### Open62541: Compilation ###" - Run-Executable $MakeCommand - - ## call install command - Write-Host "### Open62541: Installation ###" - Run-Executable $MakeCommand install - - $platformVariable = "CI_OPEN62541_" + $Type + "_" + $Platform + "_PREFIX" - Set-EnvironmentVariable $platformVariable $installTarget - - ## Packaging - Push-Location "C:\Utils" - $archiveName = "open62541_" + $Type + "_" + $Platform + ".7z" - CreateArchive $installTarget $archiveName - Pop-Location - - ## cleanup build directory - Write-Host "### Open62541: Cleanup ###" - Pop-Location - Remove-Item $buildDir -Force -Recurse -} - -function DownloadAndInstall -{ - Param ( - [string]$Type=$(throw("You must specify the dev type [mingw530, mingw630, mingw730, msvc2015, msvc2017]")), - [string]$Platform=$(throw("You must specify the target platform [x86, x64]")) - ) - $baseLocation = "http://ci-files01-hki.intra.qt.io/input/open62541/" - $targetName = "open62541_" + $Type + "_" + $Platform - $archiveName = $targetName + ".7z" - $downloadUrl = $baseLocation + $archiveName - - # Download - $downloadTarget = "C:\Utils\" + $archiveName - Download $downloadUrl $downloadUrl $downloadTarget - - # Extract - Push-Location C:\Utils - Extract-7Zip $downloadTarget C:\Utils - Pop-Location - - # Set environment variable - $platformVariable = "CI_OPEN62541_" + $Type + "_" + $Platform - $platformPath = "C:\Utils\" + $targetName - Set-EnvironmentVariable $platformVariable $platformPath -} - -############################## -# Startup # -############################## -if ($targetCommand.StartsWith("mingw")) { - Write-Host "### Creating Open62541 for MinGW" - $mingwPath = [Environment]::GetEnvironmentVariable($targetCommand, "Machine") - if (!$mingwPath) { - throw("Could not find mingw") - } - - # Strawberry has its own gcc, put mingw in front - $adaptedPath = $mingwPath + "\bin;" + [Environment]::GetEnvironmentVariable("PATH", "Machine") - [Environment]::SetEnvironmentVariable("PATH", $adaptedPath, "Process") - - PushDevEnvironment - BuildAndInstallOpen62541 $targetCommand x86 "mingw32-make" -} elseif ($targetCommand -eq "msvc2015_x86") { - Write-Host "### Creating Open62541 for MSVC2015 x86" - MSVCEnvironment "C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC" "vcvarsall.bat x86" - PushDevEnvironment - BuildAndInstallOpen62541 msvc2015 x86 jom -} elseif ($targetCommand -eq "msvc2015_x64") { - Write-Host "### Creating Open62541 for MSVC2015 x64" - MSVCEnvironment "C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC" "vcvarsall.bat amd64" - PushDevEnvironment - BuildAndInstallOpen62541 msvc2015 x64 jom -} elseif ($targetCommand -eq "msvc2017_x86") { - Write-Host "### Creating Open62541 for MSVC2017 x86" - MSVCEnvironment "C:\Program Files (x86)\Microsoft Visual Studio\2017\Professional\VC\Auxiliary\Build" vcvars32.bat - PushDevEnvironment - BuildAndInstallOpen62541 msvc2017 x86 jom -} elseif ($targetCommand -eq "msvc2017_x64") { - Write-Host "### Creating Open62541 for MSVC2017 x64" - MSVCEnvironment "C:\Program Files (x86)\Microsoft Visual Studio\2017\Professional\VC\Auxiliary\Build" vcvars64.bat - PushDevEnvironment - BuildAndInstallOpen62541 msvc2017 x64 jom -} elseif ($targetCommand -eq "prepare") { - PrepareRepository -} elseif ($targetCommand -eq "build") { - Write-Host "### Building for all supported platforms" - PrepareRepository - Write-Host "### Invoking MinGW530 build" - PowerShell -ExecutionPolicy Bypass -File "$PSScriptRoot\open62541.ps1" -targetCommand mingw530 - Write-Host "### Invoking MinGW630 build" - PowerShell -ExecutionPolicy Bypass -File "$PSScriptRoot\open62541.ps1" -targetCommand mingw630 - Write-Host "### Invoking MinGW730 build" - PowerShell -ExecutionPolicy Bypass -File "$PSScriptRoot\open62541.ps1" -targetCommand mingw730 - Write-Host "### Invoking MSVC2015 build" - PowerShell -ExecutionPolicy Bypass -File "$PSScriptRoot\open62541.ps1" -targetCommand msvc2015_x86 - PowerShell -ExecutionPolicy Bypass -File "$PSScriptRoot\open62541.ps1" -targetCommand msvc2015_x64 - Write-Host "### Invoking MSVC2017 build" - PowerShell -ExecutionPolicy Bypass -File "$PSScriptRoot\open62541.ps1" -targetCommand msvc2017_x86 - PowerShell -ExecutionPolicy Bypass -File "$PSScriptRoot\open62541.ps1" -targetCommand msvc2017_x64 - Write-Host "### Archives have been generated at C:/Utils. Please upload manually" -} elseif ($targetCommand -eq "packaged") { - Write-Host "### Expecting pre-built packages, download and install from archives" - Write-Host "### MinGW530 x64" - DownloadAndInstall mingw530 x86 - Write-Host "### MinGW630 x64" - DownloadAndInstall mingw630 x86 - Write-Host "### MinGW730 x64" - DownloadAndInstall mingw730 x64 - Write-Host "### MSVC2015 x86" - DownloadAndInstall msvc2015 x86 - Write-Host "### MSVC2015 x64" - DownloadAndInstall msvc2015 x64 - Write-Host "### MSVC2017 x64" - DownloadAndInstall msvc2017 x64 -} elseif ($targetCommand) { - Write-Host "### Unknown parameter specified:" $targetCommand " Options are: mingw, msvc2015_x(86/64), msvc2017_x(86/64)" - throw("Unknown parameter") -} else { - # Default behavior - PowerShell -ExecutionPolicy Bypass -File "$PSScriptRoot\open62541.ps1" -targetCommand build -} diff --git a/coin/provisioning/common/windows/squish-coco.ps1 b/coin/provisioning/common/windows/squish-coco.ps1 new file mode 100644 index 00000000..cef4dadf --- /dev/null +++ b/coin/provisioning/common/windows/squish-coco.ps1 @@ -0,0 +1,48 @@ +############################################################################# +# +# 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$ +# +############################################################################ + +# This script installs Squish Coco for RTA + +. "$PSScriptRoot\helpers.ps1" + + +$coco_version="4.2.2" +$url="http://ci-files01-hki.intra.qt.io/input/coco/SquishCocoSetup_" + $coco_version + "_Windows_x64.exe" +$sha1="d6f9f3c20df086ec9a7e13a068f4446442ae5d51" +$installer="C:\Windows\Temp\SquishCocoSetup_" + $coco_version + "_Windows_x64.exe" + +Download $url $url $installer +Verify-Checksum $installer $sha1 +Run-Executable $installer "/S" +Run-Executable "C:\Program Files\squishcoco\cocolic.exe" "--license-server=Qt-SRV-33.intra.qt.io:49344" +Remove-Item -Force -Path $installer 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 b547b479..addfb673 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 @@ -109,6 +109,9 @@ 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) sudo yum -y install "${installPackages[@]}" diff --git a/coin/provisioning/qtci-linux-RHEL-7.4-x86_64/35-install-breakpad.sh b/coin/provisioning/qtci-linux-RHEL-7.4-x86_64/35-install-breakpad.sh new file mode 100644 index 00000000..74dd1579 --- /dev/null +++ b/coin/provisioning/qtci-linux-RHEL-7.4-x86_64/35-install-breakpad.sh @@ -0,0 +1,6 @@ +#!/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-openSUSE-15.0-x86_64/50-open62541.sh b/coin/provisioning/qtci-linux-Ubuntu-18.04-x86_64/02-git_lfs.sh index 21c926b8..7f5140fd 100755 --- a/coin/provisioning/qtci-linux-openSUSE-15.0-x86_64/50-open62541.sh +++ b/coin/provisioning/qtci-linux-Ubuntu-18.04-x86_64/02-git_lfs.sh @@ -1,8 +1,8 @@ -#!/bin/env bash +#!/usr/bin/env bash ############################################################################# ## -## 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. @@ -33,5 +33,11 @@ ## ############################################################################# -# shellcheck source=../common/linux/open62541.sh -source "${BASH_SOURCE%/*}/../common/linux/open62541.sh" +# 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 update +sudo apt install git-lfs 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 new file mode 100755 index 00000000..55c6ce79 --- /dev/null +++ b/coin/provisioning/qtci-linux-Ubuntu-18.04-x86_64/02-remove-update_notifier.sh @@ -0,0 +1,4 @@ +#!/usr/bin/env bash + +# 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/35-install-breakpad.sh b/coin/provisioning/qtci-linux-Ubuntu-18.04-x86_64/35-install-breakpad.sh new file mode 100644 index 00000000..74dd1579 --- /dev/null +++ b/coin/provisioning/qtci-linux-Ubuntu-18.04-x86_64/35-install-breakpad.sh @@ -0,0 +1,6 @@ +#!/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-Ubuntu-18.04-x86_64/91-squish-coco.sh b/coin/provisioning/qtci-linux-Ubuntu-18.04-x86_64/91-squish-coco.sh new file mode 100755 index 00000000..43790efd --- /dev/null +++ b/coin/provisioning/qtci-linux-Ubuntu-18.04-x86_64/91-squish-coco.sh @@ -0,0 +1,3 @@ +#!/bin/bash + +source "${BASH_SOURCE%/*}/../common/linux/squish-coco.sh" diff --git a/coin/provisioning/qtci-macos-10.12-x86_64/20-xcode.sh b/coin/provisioning/qtci-macos-10.12-x86_64/20-xcode.sh index 84a6d06f..304eb0b6 100755 --- a/coin/provisioning/qtci-macos-10.12-x86_64/20-xcode.sh +++ b/coin/provisioning/qtci-macos-10.12-x86_64/20-xcode.sh @@ -47,4 +47,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_8.3.3.xz 8.3.3 +InstallXCode /net/ci-files01-hki.intra.qt.io/hdd/www/input/mac/Xcode_9.2.tar.gz 9.2 diff --git a/coin/provisioning/qtci-macos-10.12-x86_64/21-install-commandlinetools.sh b/coin/provisioning/qtci-macos-10.12-x86_64/21-install-commandlinetools.sh index 462ac422..f7aba0dc 100755 --- a/coin/provisioning/qtci-macos-10.12-x86_64/21-install-commandlinetools.sh +++ b/coin/provisioning/qtci-macos-10.12-x86_64/21-install-commandlinetools.sh @@ -37,10 +37,10 @@ set -ex source "${BASH_SOURCE%/*}/../common/macos/install-commandlinetools.sh" -version="8.3.2" -packageName="CommandLineToolsforXcode$version.dmg" +version="9.2" +packageName="Command_Line_Tools_macOS_10.12_for_Xcode_$version.dmg" url="http://ci-files01-hki.intra.qt.io/input/mac/$packageName" -sha1="da74b2bbf3058a0805c2d9f41ee5cf381d0e0ebe" +sha1="f121c3b70fb77a98c1f2fc5e1932bd93bde03acf" InstallCommandLineTools $url $url $sha1 $packageName $version diff --git a/coin/provisioning/qtci-macos-10.12-x86_64/35-openssl.sh b/coin/provisioning/qtci-macos-10.12-x86_64/35-openssl.sh index f836cf1d..36bcf53c 100755 --- a/coin/provisioning/qtci-macos-10.12-x86_64/35-openssl.sh +++ b/coin/provisioning/qtci-macos-10.12-x86_64/35-openssl.sh @@ -1,76 +1,5 @@ #!/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$ -## -############################################################################# - -# This script install OpenSSL - set -ex -# shellcheck source=../common/unix/InstallFromCompressedFileFromURL.sh -source "${BASH_SOURCE%/*}/../common/unix/InstallFromCompressedFileFromURL.sh" -# shellcheck source=../common/unix/SetEnvVar.sh -source "${BASH_SOURCE%/*}/../common/unix/SetEnvVar.sh" - -opensslVersion="1.0.2p" -opensslFile="openssl-$opensslVersion.tar.gz" -opensslDlUrl="http://ci-files01-hki.intra.qt.io/input/openssl/$opensslFile" -opensslAltDlUrl="https://www.openssl.org/source/$opensslFile" -opensslSha1="f34b5322e92415755c7d58bf5d0d5cf37666382c" - -# Below target location has been hard coded into Coin. -# QTQAINFRA-1195 -opensslTargetLocation="/usr/local/opt/openssl" - -InstallFromCompressedFileFromURL "$opensslDlUrl" "$opensslAltDlUrl" "$opensslSha1" "/tmp/openssl-$opensslVersion" "openssl-$opensslVersion" -cd "/tmp/openssl-$opensslVersion" -pwd -sudo ./config --prefix=/usr/local/openssl-$opensslVersion -echo "Running 'make' for OpenSSL" -sudo make --silent > /tmp/openssl_make.log 2>&1 -echo "Running 'make install' for OpenSSL" -sudo make --silent install > /tmp/openssl_make_install.log 2>&1 - -path=$(echo "$opensslTargetLocation" | sed -E 's/(.*)\/.*$/\1/') -sudo mkdir -p "$path" -sudo ln -s /usr/local/openssl-$opensslVersion $opensslTargetLocation - -SetEnvVar "PATH" "\"$opensslTargetLocation/bin:\$PATH\"" -SetEnvVar "MANPATH" "\"$opensslTargetLocation/share/man:\$MANPATH\"" - -security find-certificate -a -p /Library/Keychains/System.keychain | sudo tee -a $opensslTargetLocation/ssl/cert.pem -security find-certificate -a -p /System/Library/Keychains/SystemRootCertificates.keychain | sudo tee -a $opensslTargetLocation/ssl/cert.pem - -sudo rm -rf /tmp/openssl-$opensslVersion - -echo "OpenSSL = $opensslVersion" >> ~/versions.txt +source "${BASH_SOURCE%/*}/../common/macos/install_openssl.sh" diff --git a/coin/provisioning/qtci-macos-10.13-x86_64/35-install-breakpad.sh b/coin/provisioning/qtci-macos-10.13-x86_64/35-install-breakpad.sh new file mode 100644 index 00000000..74dd1579 --- /dev/null +++ b/coin/provisioning/qtci-macos-10.13-x86_64/35-install-breakpad.sh @@ -0,0 +1,6 @@ +#!/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.13-x86_64/35-openssl.sh b/coin/provisioning/qtci-macos-10.13-x86_64/35-openssl.sh index 9e025a5e..36bcf53c 100755 --- a/coin/provisioning/qtci-macos-10.13-x86_64/35-openssl.sh +++ b/coin/provisioning/qtci-macos-10.13-x86_64/35-openssl.sh @@ -1,76 +1,5 @@ #!/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$ -## -############################################################################# - -# This script install OpenSSL - set -ex -# shellcheck source=../common/unix/InstallFromCompressedFileFromURL.sh -source "${BASH_SOURCE%/*}/../common/unix/InstallFromCompressedFileFromURL.sh" -# shellcheck source=../common/unix/SetEnvVar.sh -source "${BASH_SOURCE%/*}/../common/unix/SetEnvVar.sh" - -opensslVersion="1.0.2p" -opensslFile="openssl-$opensslVersion.tar.gz" -opensslDlUrl="http://ci-files01-hki.intra.qt.io/input/openssl/$opensslFile" -opensslAltDlUrl="https://www.openssl.org/source/$opensslFile" -opensslSha1="f34b5322e92415755c7d58bf5d0d5cf37666382c" - -# Below target location has been hard coded into Coin. -# QTQAINFRA-1195 -opensslTargetLocation="/usr/local/opt/openssl" - -InstallFromCompressedFileFromURL "$opensslDlUrl" "$opensslAltDlUrl" "$opensslSha1" "/tmp/openssl-$opensslVersion" "openssl-$opensslVersion" -cd "/tmp/openssl-$opensslVersion" -pwd -sudo ./config --prefix=/usr/local/openssl-$opensslVersion -echo "Running 'make' for OpenSSL" -sudo make --silent > /tmp/openssl_make.log 2>&1 -echo "Running 'make install' for OpenSSL" -sudo make --silent install > /tmp/openssl_make_install.log 2>&1 - -path=$(echo "$opensslTargetLocation" | sed -E 's/(.*)\/.*$/\1/') -sudo mkdir -p "$path" -sudo ln -s /usr/local/openssl-$opensslVersion $opensslTargetLocation - -SetEnvVar "PATH" "\"$opensslTargetLocation/bin:\$PATH\"" -SetEnvVar "MANPATH" "\"$opensslTargetLocation/share/man:\$MANPATH\"" - -security find-certificate -a -p /Library/Keychains/System.keychain | sudo tee -a $opensslTargetLocation/ssl/cert.pem -security find-certificate -a -p /System/Library/Keychains/SystemRootCertificates.keychain | sudo tee -a $opensslTargetLocation/ssl/cert.pem - -sudo rm -rf /tmp/openssl-$opensslVersion - -echo "OpenSSL = $opensslVersion" >> ~/versions.txt +source "${BASH_SOURCE%/*}/../common/macos/install_openssl.sh" diff --git a/coin/provisioning/qtci-windows-10-x86/02-disable-defragment.ps1 b/coin/provisioning/qtci-windows-10-x86/02-disable-defragment.ps1 new file mode 100644 index 00000000..10518401 --- /dev/null +++ b/coin/provisioning/qtci-windows-10-x86/02-disable-defragment.ps1 @@ -0,0 +1 @@ +. "$PSScriptRoot\..\common\windows\disable-defragment.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 new file mode 100644 index 00000000..2ad25685 --- /dev/null +++ b/coin/provisioning/qtci-windows-10-x86/90-signing-tools.ps1 @@ -0,0 +1,44 @@ +############################################################################# +## +## Copyright (C) 2017 The Qt Company Ltd. +## Copyright (C) 2017 Pelagicore AG +## 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$ +## +############################################################################# + +. "$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" +$destination = "C:\Windows\temp\sign.zip" + +Download $url $url $destination +Extract-7Zip "$destination" "C:\Utils" +Remove-Item -Path "$destination" diff --git a/coin/provisioning/qtci-windows-10-x86_64/02-disable-defragment.ps1 b/coin/provisioning/qtci-windows-10-x86_64/02-disable-defragment.ps1 new file mode 100644 index 00000000..10518401 --- /dev/null +++ b/coin/provisioning/qtci-windows-10-x86_64/02-disable-defragment.ps1 @@ -0,0 +1 @@ +. "$PSScriptRoot\..\common\windows\disable-defragment.ps1" diff --git a/coin/provisioning/qtci-windows-10-x86_64/35-install-breakpad.ps1 b/coin/provisioning/qtci-windows-10-x86_64/35-install-breakpad.ps1 new file mode 100644 index 00000000..9360a326 --- /dev/null +++ b/coin/provisioning/qtci-windows-10-x86_64/35-install-breakpad.ps1 @@ -0,0 +1 @@ +. "$PSScriptRoot\..\common\windows\install-breakpad.ps1" diff --git a/coin/provisioning/qtci-windows-10-x86_64/79-open62541.ps1 b/coin/provisioning/qtci-windows-10-x86_64/79-open62541.ps1 deleted file mode 100644 index 9b532392..00000000 --- a/coin/provisioning/qtci-windows-10-x86_64/79-open62541.ps1 +++ /dev/null @@ -1 +0,0 @@ -. "$PSScriptRoot\..\common\windows\open62541.ps1" diff --git a/coin/provisioning/qtci-windows-10-x86_64/91-squish-coco.ps1 b/coin/provisioning/qtci-windows-10-x86_64/91-squish-coco.ps1 new file mode 100644 index 00000000..bf4f8a96 --- /dev/null +++ b/coin/provisioning/qtci-windows-10-x86_64/91-squish-coco.ps1 @@ -0,0 +1,2 @@ + "$PSScriptRoot\..\common\windows\squish-coco.ps1" + diff --git a/coin/provisioning/qtci-windows-7-x86/02-disable-defragment.ps1 b/coin/provisioning/qtci-windows-7-x86/02-disable-defragment.ps1 new file mode 100644 index 00000000..10518401 --- /dev/null +++ b/coin/provisioning/qtci-windows-7-x86/02-disable-defragment.ps1 @@ -0,0 +1 @@ +. "$PSScriptRoot\..\common\windows\disable-defragment.ps1" diff --git a/coin/provisioning/qtci-windows-7-x86/35-install-breakpad.ps1 b/coin/provisioning/qtci-windows-7-x86/35-install-breakpad.ps1 new file mode 100644 index 00000000..9360a326 --- /dev/null +++ b/coin/provisioning/qtci-windows-7-x86/35-install-breakpad.ps1 @@ -0,0 +1 @@ +. "$PSScriptRoot\..\common\windows\install-breakpad.ps1" diff --git a/coin/provisioning/qtci-windows-7-x86/79-open62541.ps1 b/coin/provisioning/qtci-windows-7-x86/79-open62541.ps1 deleted file mode 100644 index 85bfb98c..00000000 --- a/coin/provisioning/qtci-windows-7-x86/79-open62541.ps1 +++ /dev/null @@ -1,2 +0,0 @@ -. "$PSScriptRoot\..\common\windows\open62541.ps1" -targetCommand prepare -. "$PSScriptRoot\..\common\windows\open62541.ps1" -targetCommand mingw730 diff --git a/coin/provisioning/qtci-windows-7-x86_64/02-disable-defragment.ps1 b/coin/provisioning/qtci-windows-7-x86_64/02-disable-defragment.ps1 new file mode 100644 index 00000000..10518401 --- /dev/null +++ b/coin/provisioning/qtci-windows-7-x86_64/02-disable-defragment.ps1 @@ -0,0 +1 @@ +. "$PSScriptRoot\..\common\windows\disable-defragment.ps1" diff --git a/coin/provisioning/qtci-windows-7-x86_64/35-install-breakpad.ps1 b/coin/provisioning/qtci-windows-7-x86_64/35-install-breakpad.ps1 new file mode 100644 index 00000000..9360a326 --- /dev/null +++ b/coin/provisioning/qtci-windows-7-x86_64/35-install-breakpad.ps1 @@ -0,0 +1 @@ +. "$PSScriptRoot\..\common\windows\install-breakpad.ps1" diff --git a/coin/provisioning/qtci-windows-8.1-x86/02-disable-defragment.ps1 b/coin/provisioning/qtci-windows-8.1-x86/02-disable-defragment.ps1 new file mode 100644 index 00000000..10518401 --- /dev/null +++ b/coin/provisioning/qtci-windows-8.1-x86/02-disable-defragment.ps1 @@ -0,0 +1 @@ +. "$PSScriptRoot\..\common\windows\disable-defragment.ps1" diff --git a/coin/provisioning/qtci-windows-8.1-x86_64/02-disable-defragment.ps1 b/coin/provisioning/qtci-windows-8.1-x86_64/02-disable-defragment.ps1 new file mode 100644 index 00000000..10518401 --- /dev/null +++ b/coin/provisioning/qtci-windows-8.1-x86_64/02-disable-defragment.ps1 @@ -0,0 +1 @@ +. "$PSScriptRoot\..\common\windows\disable-defragment.ps1" |