From 31f5c48a80e140562588bd673ef35fb4efe3d643 Mon Sep 17 00:00:00 2001 From: Juha Karjalainen Date: Thu, 1 Nov 2018 12:23:34 +0200 Subject: Provisioning: Change openssl version to 1.1.1b Use newest LTS version of openssl as support for 1.0.2 series will end at end of 2019. For windows 7 x86 openssl 1.0.2 will be used until all need fixed are made to submodule tests Task-number: QTQAINFRA-2327 Change-Id: I930d239cd139b6202ebdfb5cdc8068ff2ad0b8a3 Reviewed-by: Jani Heikkinen (cherry picked from commit 3e838f2a34d0c1538535bd184aa12681497c8a38) --- .../common/linux/openssl_for_android_linux.sh | 38 +++++---- coin/provisioning/common/macos/install_openssl.sh | 81 ------------------ coin/provisioning/common/unix/install-openssl.sh | 91 +++++++++++++++++++++ .../common/windows/android-openssl.ps1 | 33 +++++--- coin/provisioning/common/windows/openssl.ps1 | 6 +- .../09-install-openssl.sh | 6 ++ .../09-install-openssl.sh | 6 ++ .../10-openssl_for_android_linux.sh | 43 ---------- .../50-openssl_for_android_linux.sh | 43 ++++++++++ .../09-install-openssl.sh | 6 ++ .../50-openssl_for_android_linux.sh | 39 +++++++++ .../09-install-openssl.sh | 6 ++ .../50-openssl_for_android_linux.sh | 39 +++++++++ .../09-install-openssl.sh | 6 ++ .../10-openssl_for_android_linux.sh | 39 --------- .../50-openssl_for_android_linux.sh | 39 +++++++++ .../09-install-openssl.sh | 6 ++ .../qtci-macos-10.12-x86_64/35-openssl.sh | 2 +- .../qtci-macos-10.13-x86_64/35-openssl.sh | 2 +- .../10-openssl_for_android.ps1 | 1 - .../50-openssl_for_android.ps1 | 1 + .../provisioning/qtci-windows-7-x86/09-openssl.ps1 | 95 +++++++++++++++++++++- 22 files changed, 429 insertions(+), 199 deletions(-) delete mode 100755 coin/provisioning/common/macos/install_openssl.sh create mode 100755 coin/provisioning/common/unix/install-openssl.sh create mode 100755 coin/provisioning/qtci-linux-RHEL-6.6-x86_64/09-install-openssl.sh create mode 100755 coin/provisioning/qtci-linux-RHEL-7.4-x86_64/09-install-openssl.sh delete mode 100755 coin/provisioning/qtci-linux-RHEL-7.4-x86_64/10-openssl_for_android_linux.sh create mode 100755 coin/provisioning/qtci-linux-RHEL-7.4-x86_64/50-openssl_for_android_linux.sh create mode 100755 coin/provisioning/qtci-linux-Ubuntu-16.04-x86/09-install-openssl.sh create mode 100755 coin/provisioning/qtci-linux-Ubuntu-16.04-x86/50-openssl_for_android_linux.sh create mode 100755 coin/provisioning/qtci-linux-Ubuntu-16.04-x86_64/09-install-openssl.sh create mode 100755 coin/provisioning/qtci-linux-Ubuntu-16.04-x86_64/50-openssl_for_android_linux.sh create mode 100755 coin/provisioning/qtci-linux-Ubuntu-18.04-x86_64/09-install-openssl.sh delete mode 100755 coin/provisioning/qtci-linux-Ubuntu-18.04-x86_64/10-openssl_for_android_linux.sh create mode 100755 coin/provisioning/qtci-linux-Ubuntu-18.04-x86_64/50-openssl_for_android_linux.sh create mode 100755 coin/provisioning/qtci-linux-openSUSE-42.3-x86_64/09-install-openssl.sh delete mode 100644 coin/provisioning/qtci-windows-10-x86_64/10-openssl_for_android.ps1 create mode 100644 coin/provisioning/qtci-windows-10-x86_64/50-openssl_for_android.ps1 (limited to 'coin/provisioning') diff --git a/coin/provisioning/common/linux/openssl_for_android_linux.sh b/coin/provisioning/common/linux/openssl_for_android_linux.sh index 09d0b6d5..d833975f 100755 --- a/coin/provisioning/common/linux/openssl_for_android_linux.sh +++ b/coin/provisioning/common/linux/openssl_for_android_linux.sh @@ -35,32 +35,38 @@ # This script install OpenSSL from sources. # Requires GCC and Perl to be in PATH. - +set -ex # shellcheck source=../unix/DownloadURL.sh source "${BASH_SOURCE%/*}/../unix/DownloadURL.sh" # shellcheck source=../unix/SetEnvVar.sh source "${BASH_SOURCE%/*}/../unix/SetEnvVar.sh" -version="1.0.2p" +exports_file="/tmp/export.sh" +# source previously made environmental variables. +if uname -a |grep -q "Ubuntu"; then + # shellcheck disable=SC1090 + grep -e "^export" "$HOME/.profile" > $exports_file && source $exports_file + rm -rf "$exports_file" +else + # shellcheck disable=SC1090 + grep -e "^export" "$HOME/.bashrc" > $exports_file && source $exports_file + rm -rf "$exports_file" +fi + +version="1.1.1b" officialUrl="https://www.openssl.org/source/openssl-$version.tar.gz" cachedUrl="http://ci-files01-hki.intra.qt.io/input/openssl/openssl-$version.tar.gz" targetFile="/tmp/openssl-$version.tar.gz" -installFolder="/home/qt/" -sha="f34b5322e92415755c7d58bf5d0d5cf37666382c" -# Until every VM doing Linux Android builds have provisioned the env variable -# OPENSSL_ANDROID_HOME, we can't change the hard coded path that's currently in Coin. -# QTQAINFRA-1436 -opensslHome="${installFolder}openssl-1.0.2" - +sha="e9710abf5e95c48ebf47991b10cbb48c09dae102" +opensslHome="${HOME}/openssl/android/openssl-${version}" DownloadURL "$cachedUrl" "$officialUrl" "$sha" "$targetFile" +mkdir -p "${HOME}/openssl/android/" +tar -xzf "$targetFile" -C "${HOME}/openssl/android/" -tar -xzf "$targetFile" -C "$installFolder" -# This rename should be removed once hard coded path from Coin is fixed. (QTQAINFRA-1436) -mv "${opensslHome}p" "${opensslHome}" -pushd "$opensslHome" - -echo "Running configure" -perl Configure shared android +TOOLCHAIN=${ANDROID_NDK_HOME}/toolchains/llvm/prebuilt/linux-x86_64/bin +cd "$opensslHome" +PATH=$TOOLCHAIN:$PATH CC=clang ./Configure android-arm +PATH=$TOOLCHAIN:$PATH CC=clang make build_generated SetEnvVar "OPENSSL_ANDROID_HOME" "$opensslHome" diff --git a/coin/provisioning/common/macos/install_openssl.sh b/coin/provisioning/common/macos/install_openssl.sh deleted file mode 100755 index 3b1978e2..00000000 --- a/coin/provisioning/common/macos/install_openssl.sh +++ /dev/null @@ -1,81 +0,0 @@ -#!/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 > /dev/null -security find-certificate -a -p /System/Library/Keychains/SystemRootCertificates.keychain | sudo tee -a $opensslTargetLocation/ssl/cert.pem > /dev/null - -sudo rm -rf /tmp/openssl-$opensslVersion - -echo "OpenSSL = $opensslVersion" >> ~/versions.txt diff --git a/coin/provisioning/common/unix/install-openssl.sh b/coin/provisioning/common/unix/install-openssl.sh new file mode 100755 index 00000000..afc1509e --- /dev/null +++ b/coin/provisioning/common/unix/install-openssl.sh @@ -0,0 +1,91 @@ +#!/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$ +## +############################################################################# + +# This script install OpenSSL from sources. +# Requires GCC and Perl to be in PATH. +set -ex +os="$1" +# shellcheck source=../unix/DownloadURL.sh +source "${BASH_SOURCE%/*}/../unix/DownloadURL.sh" +# shellcheck source=../unix/SetEnvVar.sh +source "${BASH_SOURCE%/*}/../unix/SetEnvVar.sh" + +version="1.1.1b" +officialUrl="https://www.openssl.org/source/openssl-$version.tar.gz" +cachedUrl="http://ci-files01-hki.intra.qt.io/input/openssl/openssl-$version.tar.gz" +targetFile="/tmp/openssl-$version.tar.gz" +sha="e9710abf5e95c48ebf47991b10cbb48c09dae102" +opensslHome="${HOME}/openssl-${version}" +opensslSource="${opensslHome}-src" +DownloadURL "$cachedUrl" "$officialUrl" "$sha" "$targetFile" +tar -xzf "$targetFile" -C "$HOME" +mv "$opensslHome" "$opensslSource" +cd "$opensslSource" +pwd + +if [[ "$os" == "linux" ]]; then + ./Configure --prefix="$opensslHome" shared no-ssl3-method enable-ec_nistp_64_gcc_128 linux-x86_64 "-Wa,--noexecstack" + make && make install_sw install_ssldirs + SetEnvVar "OPENSSL_HOME" "$opensslHome" +elif [ "$os" == "macos" ]; then + # Below target location has been hard coded into Coin. + # QTQAINFRA-1195 + openssl_install_dir=/usr/local/openssl-$version + opensslTargetLocation="/usr/local/opt/openssl" + sudo ./Configure --prefix=$openssl_install_dir shared no-ssl3-method enable-ec_nistp_64_gcc_128 darwin64-x86_64-cc "-Wa,--noexecstack" + echo "Running 'make' for OpenSSL" + # shellcheck disable=SC2024 + sudo make --silent > /tmp/openssl_make.log 2>&1 + echo "Running 'make install' for OpenSSL" + # shellcheck disable=SC2024 + 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 > /dev/null + security find-certificate -a -p /System/Library/Keychains/SystemRootCertificates.keychain | sudo tee -a $opensslTargetLocation/ssl/cert.pem > /dev/null +fi + + +echo "OpenSSL = $version" >> ~/versions.txt diff --git a/coin/provisioning/common/windows/android-openssl.ps1 b/coin/provisioning/common/windows/android-openssl.ps1 index cf144c90..981fa51d 100644 --- a/coin/provisioning/common/windows/android-openssl.ps1 +++ b/coin/provisioning/common/windows/android-openssl.ps1 @@ -35,33 +35,40 @@ . "$PSScriptRoot\helpers.ps1" +if (Is64BitWinHost) { + $msys_bash = "C:\Utils\msys64\usr\bin\bash" +} else { + $msys_bash = "C:\Utils\msys32\usr\bin\bash" +} + # OpenSSL need to be configured from sources for Android build in windows 7 # Msys need to be installed to target machine # More info and building instructions can be found from http://doc.qt.io/qt-5/opensslsupport.html -$version = "1.0.2p" +$version = "1.1.1b" $zip = Get-DownloadLocation ("openssl-$version.tar.gz") -$sha1 = "f34b5322e92415755c7d58bf5d0d5cf37666382c" +$sha1 = "e9710abf5e95c48ebf47991b10cbb48c09dae102" $destination = "C:\Utils\openssl-android-master" +# msys unix style paths +$ndkPath = "/c/Utils/Android/android-ndk-r19c" +$openssl_path = "/c/Utils/openssl-android-master" +$cc_path = "$ndkPath/toolchains/llvm/prebuilt/windows-x86_64/bin" Download https://www.openssl.org/source/openssl-$version.tar.gz \\ci-files01-hki.intra.qt.io\provisioning\openssl\openssl-$version.tar.gz $zip Verify-Checksum $zip $sha1 -Extract-7Zip $zip C:\Utils -Extract-7Zip C:\Utils\openssl-$version.tar C:\Utils -Rename-Item C:\Utils\openssl-$version $destination +Extract-7Zip $zip C:\Utils\tmp +Extract-7Zip C:\Utils\tmp\openssl-$version.tar C:\Utils\tmp +Move-Item C:\Utils\tmp\openssl-${version} $destination Remove-Item -Path $zip -Remove-Item C:\Utils\openssl-$version.tar - -# Make sure configure for openssl has a "make" and "perl" available -$env:PATH = $env:PATH + ";C:\msys\1.0\bin;C:\strawberry\perl\bin" Write-Host "Configuring OpenSSL $version for Android..." Push-Location $destination -Run-Executable "C:\msys\1.0\bin\bash.exe" "-c `"c:/strawberry/perl/bin/perl Configure shared android`"" +# $ must be escaped in powershell... +Start-Process -NoNewWindow -Wait -ErrorAction Stop -FilePath "$msys_bash" -ArgumentList ("-lc", "`"pushd $openssl_path; ANDROID_NDK_HOME=$ndkPath PATH=${cc_path}:`$PATH CC=clang $openssl_path/Configure shared android-arm`"") +Start-Process -NoNewWindow -Wait -ErrorAction Stop -FilePath "$msys_bash" -ArgumentList ("-lc", "`"pushd $openssl_path; ANDROID_NDK_HOME=$ndkPath PATH=${cc_path}:`$PATH CC=clang make -f $openssl_path/Makefile build_generated`"") Pop-Location -# Following command is needed when using version 1.1.0. With version 1.1.0 msys is not needed. -# C:\mingw530\bin\mingw32-make.exe include\openssl\opensslconf.h - +Set-EnvironmentVariable "OPENSSL_ANDROID_HOME" "$destination" +Remove-item C:\Utils\tmp -Recurse -Confirm:$false Write-Output "Android OpenSSL = $version" >> ~/versions.txt diff --git a/coin/provisioning/common/windows/openssl.ps1 b/coin/provisioning/common/windows/openssl.ps1 index 4cc6a3b3..2f21db37 100644 --- a/coin/provisioning/common/windows/openssl.ps1 +++ b/coin/provisioning/common/windows/openssl.ps1 @@ -36,7 +36,7 @@ # This script installs OpenSSL $version. # Both x86 and x64 versions needed when x86 integrations are done on x64 machine -$version = "1_0_2p" +$version = "1_1_1b" $packagex64 = "C:\Windows\Temp\Win64OpenSSL-$version.exe" $packagex86 = "C:\Windows\Temp\Win32OpenSSL-$version.exe" @@ -47,7 +47,7 @@ if (Is64BitWinHost) { $installFolder = "C:\openssl" $externalUrl = "https://slproweb.com/download/Win64OpenSSL-$version.exe" $internalUrl = "\\ci-files01-hki.intra.qt.io\provisioning\openssl\Win64OpenSSL-$version.exe" - $sha1 = "ec8b4111afb86ffc81837a30667aa076afe9d1e6" + $sha1 = "5b50819dd84aa9219e0cad9cdddf78285bdd1bbb" Write-Host "Fetching from URL ..." Download $externalUrl $internalUrl $packagex64 @@ -74,7 +74,7 @@ if (Is64BitWinHost) { $externalUrl = "https://slproweb.com/download/Win32OpenSSL-$version.exe" $internalUrl = "\\ci-files01-hki.intra.qt.io\provisioning\openssl\Win32OpenSSL-$version.exe" -$sha1 = "753d6b2cb8b6c808f6212bd21b6e6e7822a4e236" +$sha1 = "1ae5ad4fe5dae01dd056274979cce26945c9e86c" Write-Host "Fetching from URL ..." Download $externalUrl $internalUrl $packagex86 diff --git a/coin/provisioning/qtci-linux-RHEL-6.6-x86_64/09-install-openssl.sh b/coin/provisioning/qtci-linux-RHEL-6.6-x86_64/09-install-openssl.sh new file mode 100755 index 00000000..4f1d3768 --- /dev/null +++ b/coin/provisioning/qtci-linux-RHEL-6.6-x86_64/09-install-openssl.sh @@ -0,0 +1,6 @@ +#!/bin/bash + +set -ex + +# shellcheck source=../common/unix/install-openssl.sh +source "${BASH_SOURCE%/*}/../common/unix/install-openssl.sh" "linux" diff --git a/coin/provisioning/qtci-linux-RHEL-7.4-x86_64/09-install-openssl.sh b/coin/provisioning/qtci-linux-RHEL-7.4-x86_64/09-install-openssl.sh new file mode 100755 index 00000000..4f1d3768 --- /dev/null +++ b/coin/provisioning/qtci-linux-RHEL-7.4-x86_64/09-install-openssl.sh @@ -0,0 +1,6 @@ +#!/bin/bash + +set -ex + +# shellcheck source=../common/unix/install-openssl.sh +source "${BASH_SOURCE%/*}/../common/unix/install-openssl.sh" "linux" diff --git a/coin/provisioning/qtci-linux-RHEL-7.4-x86_64/10-openssl_for_android_linux.sh b/coin/provisioning/qtci-linux-RHEL-7.4-x86_64/10-openssl_for_android_linux.sh deleted file mode 100755 index ef2b3ba8..00000000 --- a/coin/provisioning/qtci-linux-RHEL-7.4-x86_64/10-openssl_for_android_linux.sh +++ /dev/null @@ -1,43 +0,0 @@ -#!/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 +e - -# shellcheck disable=SC1091 -source /opt/rh/devtoolset-4/enable - -set -ex - -# shellcheck source=../common/linux/openssl_for_android_linux.sh -source "${BASH_SOURCE%/*}/../common/linux/openssl_for_android_linux.sh" diff --git a/coin/provisioning/qtci-linux-RHEL-7.4-x86_64/50-openssl_for_android_linux.sh b/coin/provisioning/qtci-linux-RHEL-7.4-x86_64/50-openssl_for_android_linux.sh new file mode 100755 index 00000000..ef2b3ba8 --- /dev/null +++ b/coin/provisioning/qtci-linux-RHEL-7.4-x86_64/50-openssl_for_android_linux.sh @@ -0,0 +1,43 @@ +#!/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 +e + +# shellcheck disable=SC1091 +source /opt/rh/devtoolset-4/enable + +set -ex + +# shellcheck source=../common/linux/openssl_for_android_linux.sh +source "${BASH_SOURCE%/*}/../common/linux/openssl_for_android_linux.sh" diff --git a/coin/provisioning/qtci-linux-Ubuntu-16.04-x86/09-install-openssl.sh b/coin/provisioning/qtci-linux-Ubuntu-16.04-x86/09-install-openssl.sh new file mode 100755 index 00000000..4f1d3768 --- /dev/null +++ b/coin/provisioning/qtci-linux-Ubuntu-16.04-x86/09-install-openssl.sh @@ -0,0 +1,6 @@ +#!/bin/bash + +set -ex + +# shellcheck source=../common/unix/install-openssl.sh +source "${BASH_SOURCE%/*}/../common/unix/install-openssl.sh" "linux" diff --git a/coin/provisioning/qtci-linux-Ubuntu-16.04-x86/50-openssl_for_android_linux.sh b/coin/provisioning/qtci-linux-Ubuntu-16.04-x86/50-openssl_for_android_linux.sh new file mode 100755 index 00000000..81ea3b17 --- /dev/null +++ b/coin/provisioning/qtci-linux-Ubuntu-16.04-x86/50-openssl_for_android_linux.sh @@ -0,0 +1,39 @@ +#!/bin/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/linux/openssl_for_android_linux.sh +source "${BASH_SOURCE%/*}/../common/linux/openssl_for_android_linux.sh" diff --git a/coin/provisioning/qtci-linux-Ubuntu-16.04-x86_64/09-install-openssl.sh b/coin/provisioning/qtci-linux-Ubuntu-16.04-x86_64/09-install-openssl.sh new file mode 100755 index 00000000..4f1d3768 --- /dev/null +++ b/coin/provisioning/qtci-linux-Ubuntu-16.04-x86_64/09-install-openssl.sh @@ -0,0 +1,6 @@ +#!/bin/bash + +set -ex + +# shellcheck source=../common/unix/install-openssl.sh +source "${BASH_SOURCE%/*}/../common/unix/install-openssl.sh" "linux" diff --git a/coin/provisioning/qtci-linux-Ubuntu-16.04-x86_64/50-openssl_for_android_linux.sh b/coin/provisioning/qtci-linux-Ubuntu-16.04-x86_64/50-openssl_for_android_linux.sh new file mode 100755 index 00000000..81ea3b17 --- /dev/null +++ b/coin/provisioning/qtci-linux-Ubuntu-16.04-x86_64/50-openssl_for_android_linux.sh @@ -0,0 +1,39 @@ +#!/bin/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/linux/openssl_for_android_linux.sh +source "${BASH_SOURCE%/*}/../common/linux/openssl_for_android_linux.sh" diff --git a/coin/provisioning/qtci-linux-Ubuntu-18.04-x86_64/09-install-openssl.sh b/coin/provisioning/qtci-linux-Ubuntu-18.04-x86_64/09-install-openssl.sh new file mode 100755 index 00000000..4f1d3768 --- /dev/null +++ b/coin/provisioning/qtci-linux-Ubuntu-18.04-x86_64/09-install-openssl.sh @@ -0,0 +1,6 @@ +#!/bin/bash + +set -ex + +# shellcheck source=../common/unix/install-openssl.sh +source "${BASH_SOURCE%/*}/../common/unix/install-openssl.sh" "linux" diff --git a/coin/provisioning/qtci-linux-Ubuntu-18.04-x86_64/10-openssl_for_android_linux.sh b/coin/provisioning/qtci-linux-Ubuntu-18.04-x86_64/10-openssl_for_android_linux.sh deleted file mode 100755 index 81ea3b17..00000000 --- a/coin/provisioning/qtci-linux-Ubuntu-18.04-x86_64/10-openssl_for_android_linux.sh +++ /dev/null @@ -1,39 +0,0 @@ -#!/bin/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/linux/openssl_for_android_linux.sh -source "${BASH_SOURCE%/*}/../common/linux/openssl_for_android_linux.sh" diff --git a/coin/provisioning/qtci-linux-Ubuntu-18.04-x86_64/50-openssl_for_android_linux.sh b/coin/provisioning/qtci-linux-Ubuntu-18.04-x86_64/50-openssl_for_android_linux.sh new file mode 100755 index 00000000..81ea3b17 --- /dev/null +++ b/coin/provisioning/qtci-linux-Ubuntu-18.04-x86_64/50-openssl_for_android_linux.sh @@ -0,0 +1,39 @@ +#!/bin/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/linux/openssl_for_android_linux.sh +source "${BASH_SOURCE%/*}/../common/linux/openssl_for_android_linux.sh" diff --git a/coin/provisioning/qtci-linux-openSUSE-42.3-x86_64/09-install-openssl.sh b/coin/provisioning/qtci-linux-openSUSE-42.3-x86_64/09-install-openssl.sh new file mode 100755 index 00000000..4f1d3768 --- /dev/null +++ b/coin/provisioning/qtci-linux-openSUSE-42.3-x86_64/09-install-openssl.sh @@ -0,0 +1,6 @@ +#!/bin/bash + +set -ex + +# shellcheck source=../common/unix/install-openssl.sh +source "${BASH_SOURCE%/*}/../common/unix/install-openssl.sh" "linux" 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 963f48d6..44fa76f1 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 @@ -3,4 +3,4 @@ set -ex # shellcheck source=../common/macos/install_openssl.sh -source "${BASH_SOURCE%/*}/../common/macos/install_openssl.sh" +source "${BASH_SOURCE%/*}/../common/unix/install-openssl.sh" "macos" 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 963f48d6..44fa76f1 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 @@ -3,4 +3,4 @@ set -ex # shellcheck source=../common/macos/install_openssl.sh -source "${BASH_SOURCE%/*}/../common/macos/install_openssl.sh" +source "${BASH_SOURCE%/*}/../common/unix/install-openssl.sh" "macos" diff --git a/coin/provisioning/qtci-windows-10-x86_64/10-openssl_for_android.ps1 b/coin/provisioning/qtci-windows-10-x86_64/10-openssl_for_android.ps1 deleted file mode 100644 index 25c6f28a..00000000 --- a/coin/provisioning/qtci-windows-10-x86_64/10-openssl_for_android.ps1 +++ /dev/null @@ -1 +0,0 @@ -. "$PSScriptRoot\..\common\windows\android-openssl.ps1" diff --git a/coin/provisioning/qtci-windows-10-x86_64/50-openssl_for_android.ps1 b/coin/provisioning/qtci-windows-10-x86_64/50-openssl_for_android.ps1 new file mode 100644 index 00000000..25c6f28a --- /dev/null +++ b/coin/provisioning/qtci-windows-10-x86_64/50-openssl_for_android.ps1 @@ -0,0 +1 @@ +. "$PSScriptRoot\..\common\windows\android-openssl.ps1" diff --git a/coin/provisioning/qtci-windows-7-x86/09-openssl.ps1 b/coin/provisioning/qtci-windows-7-x86/09-openssl.ps1 index d57ad1cd..ae867cdc 100644 --- a/coin/provisioning/qtci-windows-7-x86/09-openssl.ps1 +++ b/coin/provisioning/qtci-windows-7-x86/09-openssl.ps1 @@ -1 +1,94 @@ -. "$PSScriptRoot\..\common\windows\openssl.ps1" +############################################################################# +## +## 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$ +## +############################################################################# + +. "$PSScriptRoot\..\common\windows\helpers.ps1" + +# This script installs OpenSSL $version. +# Both x86 and x64 versions needed when x86 integrations are done on x64 machine + +$version = "1_0_2p" +$packagex64 = "C:\Windows\Temp\Win64OpenSSL-$version.exe" +$packagex86 = "C:\Windows\Temp\Win32OpenSSL-$version.exe" + +if (Is64BitWinHost) { + + # Install x64 bit version + $architecture = "x64" + $installFolder = "C:\openssl" + $externalUrl = "https://slproweb.com/download/Win64OpenSSL-$version.exe" + $internalUrl = "\\ci-files01-hki.intra.qt.io\provisioning\openssl\Win64OpenSSL-$version.exe" + $sha1 = "ec8b4111afb86ffc81837a30667aa076afe9d1e6" + + Write-Host "Fetching from URL ..." + Download $externalUrl $internalUrl $packagex64 + Verify-Checksum $packagex64 $sha1 + Write-Host "Installing $packagex64 ..." + Run-Executable "$packagex64" "/SP- /SILENT /LOG /SUPPRESSMSGBOXES /NORESTART /DIR=$installFolder" + + Write-Host "Remove downloaded $packagex64 ..." + Remove-Item -Path $packagex64 + + Set-EnvironmentVariable "OPENSSL_CONF_x64" "$installFolder\bin\openssl.cfg" + Set-EnvironmentVariable "OPENSSL_INCLUDE_x64" "$installFolder\include" + Set-EnvironmentVariable "OPENSSL_LIB_x64" "$installFolder\lib" +} + +# Install x86 bit version +$architecture = "x86" + +if (Is64BitWinHost) { + $installFolder = "C:\openssl$architecture" +} else { + $installFolder = "C:\openssl" +} + +$externalUrl = "https://slproweb.com/download/Win32OpenSSL-$version.exe" +$internalUrl = "\\ci-files01-hki.intra.qt.io\provisioning\openssl\Win32OpenSSL-$version.exe" +$sha1 = "753d6b2cb8b6c808f6212bd21b6e6e7822a4e236" + +Write-Host "Fetching from URL ..." +Download $externalUrl $internalUrl $packagex86 +Verify-Checksum $packagex86 $sha1 +Write-Host "Installing $packagex86 ..." +Run-Executable "$packagex86" "/SP- /SILENT /LOG /SUPPRESSMSGBOXES /NORESTART /DIR=$installFolder" + +Write-Host "Remove downloaded $packagex86 ..." +Remove-Item -Path $packagex86 + +Set-EnvironmentVariable "OPENSSL_CONF_x86" "$installFolder\bin\openssl.cfg" +Set-EnvironmentVariable "OPENSSL_INCLUDE_x86" "$installFolder\include" +Set-EnvironmentVariable "OPENSSL_LIB_x86" "$installFolder\lib" + +# Store version information to ~/versions.txt, which is used to print version information to provision log. +Write-Output "OpenSSL = $version" >> ~/versions.txt + -- cgit v1.2.3