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 <jani.heikkinen@qt.io>
(cherry picked from commit 3e838f2a34)
This commit is contained in:
Juha Karjalainen 2018-11-01 12:23:34 +02:00 committed by Jani Heikkinen
parent 5fd662b550
commit 31f5c48a80
21 changed files with 356 additions and 126 deletions

View File

@ -7,20 +7,20 @@ qtci-windows-10-x86_64-10 MSVC2015
qtci-windows-10-x86_64-10 WinRT_10 x86 MSVC2015 Packaging DisableTests -opensource -confirm-license -verbose -prefix c:\Users\qt\work\install -debug-and-release -release -force-debug-info -nomake tests -nomake examples -platform win32-msvc2015 -xplatform winrt-x86-msvc2015
qtci-windows-10-x86_64-10 WinRT_10 armv7 MSVC2015 Packaging DisableTests -opensource -confirm-license -verbose -prefix c:\Users\qt\work\install -debug-and-release -release -force-debug-info -nomake tests -nomake examples -platform win32-msvc2015 -xplatform winrt-arm-msvc2015
qtci-windows-10-x86_64-10 MSVC2017 Packaging -opensource -confirm-license -verbose -prefix c:\Users\qt\work\install -debug-and-release -release -force-debug-info -nomake tests -opengl dynamic -nomake examples -openssl -I %OPENSSL_INCLUDE_x64% -L %OPENSSL_LIB_x64% -plugin-sql-mysql -plugin-sql-sqlite -plugin-sql-odbc -I %MYSQL_INCLUDE_x64% -L %MYSQL_LIB_x64% -plugin-sql-psql -I %POSTGRESQL_INCLUDE_x64% -L %POSTGRESQL_LIB_x64%
qtci-linux-Ubuntu-16.04-x86_64-2 GCC -opensource -confirm-license -verbose -prefix /home/qt/work/install -developer-build -nomake tests -R . -openssl -qtlibinfix TestInfix -qtnamespace TestNamespace
qtci-linux-Ubuntu-18.04-x86_64 GCC -opensource -confirm-license -verbose -prefix /home/qt/work/install -force-debug-info -nomake tests -no-widgets -nomake examples -R . -openssl
qtci-linux-Ubuntu-18.04-x86_64 GCC OutOfSourceBuild Documentation -opensource -confirm-license -verbose -prefix /home/qt/work/install -developer-build -nomake tests -R . -openssl -qtlibinfix TestInfix -qtnamespace TestNamespace
qtci-linux-openSUSE-42.3-x86_64 GCC -opensource -confirm-license -verbose -prefix /home/qt/work/install -developer-build -nomake tests -nomake examples -no-pch -R . -openssl
qtci-linux-openSUSE-42.3-x86_64 ICC_18 DisableTests -opensource -confirm-license -verbose -prefix /home/qt/work/install -developer-build -nomake tests -nomake examples -no-pch -system-sqlite -R . -openssl -platform linux-icc-64
qtci-linux-openSUSE-42.3-x86_64 WebAssembly GCC Packaging DisableTests -opensource -confirm-license -verbose -prefix /home/qt/work/install -developer-build -release -static -nomake tests -nomake examples -no-pch -no-dbus -no-headersclean -no-ssl -no-warnings-are-errors -no-feature-thread -xplatform wasm-emscripten
qtci-linux-RHEL-7.4-x86_64 GCC Packaging -opensource -confirm-license -verbose -prefix /home/qt/work/install -release -nomake tests -nomake examples -no-libudev -no-use-gold-linker -force-debug-info -separate-debug-info -openssl -plugin-sql-mysql -plugin-sql-psql -plugin-sql-sqlite -qt-libjpeg -qt-libpng -qt-xcb -sysconfdir /etc/xdg -qt-pcre -qt-harfbuzz -R .
qtci-linux-Ubuntu-16.04-x86_64-2 GCC -opensource -confirm-license -verbose -prefix /home/qt/work/install -developer-build -nomake tests -R . -qtlibinfix TestInfix -qtnamespace TestNamespace -openssl -I {{.Env.OPENSSL_HOME}}
qtci-linux-Ubuntu-18.04-x86_64 GCC -opensource -confirm-license -verbose -prefix /home/qt/work/install -force-debug-info -nomake tests -no-widgets -nomake examples -R . -openssl -I {{.Env.OPENSSL_HOME}}
qtci-linux-Ubuntu-18.04-x86_64 GCC OutOfSourceBuild Documentation -opensource -confirm-license -verbose -prefix /home/qt/work/install -developer-build -nomake tests -R . -qtlibinfix TestInfix -qtnamespace TestNamespace -openssl -I {{.Env.OPENSSL_HOME}}
qtci-linux-openSUSE-42.3-x86_64 GCC -opensource -confirm-license -verbose -prefix /home/qt/work/install -developer-build -nomake tests -nomake examples -no-pch -R . -openssl -I {{.Env.OPENSSL_HOME}}
qtci-linux-openSUSE-42.3-x86_64 ICC_18 DisableTests -opensource -confirm-license -verbose -prefix /home/qt/work/install -developer-build -nomake tests -nomake examples -no-pch -system-sqlite -R . -openssl -platform linux-icc-64 -I {{.Env.OPENSSL_HOME}}
qtci-linux-openSUSE-42.3-x86_64 WebAssembly GCC Packaging DisableTests -opensource -confirm-license -verbose -prefix /home/qt/work/install -developer-build -release -static -nomake tests -nomake examples -no-pch -no-dbus -no-headersclean -no-ssl -no-warnings-are-errors -no-feature-thread -xplatform wasm-emscripten -I {{.Env.OPENSSL_HOME}}
qtci-linux-RHEL-7.4-x86_64 GCC Packaging -opensource -confirm-license -verbose -prefix /home/qt/work/install -release -nomake tests -nomake examples -no-libudev -no-use-gold-linker -force-debug-info -separate-debug-info -openssl -plugin-sql-mysql -plugin-sql-psql -plugin-sql-sqlite -qt-libjpeg -qt-libpng -qt-xcb -sysconfdir /etc/xdg -qt-pcre -qt-harfbuzz -R . -I {{.Env.OPENSSL_HOME}}
qtci-macos-10.13-x86_64-2 Clang Packaging -opensource -confirm-license -verbose -prefix /Users/qt/work/install -debug-and-release -release -nomake tests -nomake examples -plugin-sql-mysql -plugin-sql-psql -plugin-sql-sqlite -xplatform macx-clang -separate-debug-info -sdk macosx -device-option QMAKE_APPLE_DEVICE_ARCHS=x86_64 -sysconfdir /Library/Preferences/Qt -I/usr/local/opt/openssl/include
qtci-macos-10.12-x86_64-9 Clang -opensource -confirm-license -verbose -prefix /Users/qt/work/install -developer-build -release -qtnamespace TestNamespace -nomake tests -nomake examples -no-pch -no-framework -xplatform macx-clang -sdk macosx -device-option QMAKE_APPLE_DEVICE_ARCHS=x86_64 -I/usr/local/opt/openssl/include
qtci-macos-10.13-x86_64-2 IOS_ANY multi Clang Packaging DisableTests -opensource -confirm-license -verbose -prefix /Users/qt/work/install -debug-and-release -nomake tests -no-icu -nomake examples -no-sql-mysql -no-sql-psql -plugin-sql-sqlite -static -xplatform macx-ios-clang
qtci-macos-10.13-x86_64-2 TvOS_ANY multi Clang DisableTests -opensource -confirm-license -verbose -prefix /Users/qt/work/install -debug-and-release -nomake tests -nomake examples -no-sql-mysql -no-sql-psql -plugin-sql-sqlite -xplatform macx-tvos-clang
qtci-macos-10.13-x86_64-2 WatchOS_ANY multi Clang DisableTests -opensource -confirm-license -verbose -prefix /Users/qt/work/install -debug-and-release -nomake tests -nomake examples -no-sql-mysql -no-sql-psql -plugin-sql-sqlite -xplatform macx-watchos-clang
qtci-linux-RHEL-7.4-x86_64 Android_ANY armv7 Clang Clang Packaging DisableTests -opensource -confirm-license -verbose -prefix /home/qt/work/install -release -nomake tests -nomake examples -no-dbus -no-qpa-platform-guard -no-use-gold-linker -sysconfdir /etc/xdg -opengl es2 -openssl -I /home/qt/openssl-1.0.2/include -android-sdk /opt/android/sdk -android-ndk /opt/android/android-ndk-r19c -android-ndk-host linux-x86_64 -android-arch armeabi-v7a -xplatform android-clang
qtci-linux-RHEL-7.4-x86_64 Android_ANY arm64 Clang Clang Packaging DisableTests -opensource -confirm-license -verbose -prefix /home/qt/work/install -release -nomake tests -nomake examples -no-dbus -no-qpa-platform-guard -no-use-gold-linker -sysconfdir /etc/xdg -opengl es2 -openssl -I /home/qt/openssl-1.0.2/include -android-sdk /opt/android/sdk -android-ndk /opt/android/android-ndk-r19c -android-ndk-host linux-x86_64 -android-arch arm64-v8a -xplatform android-clang
qtci-linux-RHEL-7.4-x86_64 Android_ANY armv7 Clang Clang Packaging DisableTests -opensource -confirm-license -verbose -prefix /home/qt/work/install -release -nomake tests -nomake examples -no-dbus -no-qpa-platform-guard -no-use-gold-linker -sysconfdir /etc/xdg -opengl es2 -openssl -I {{.Env.OPENSSL_ANDROID_HOME}}/include -android-sdk /opt/android/sdk -android-ndk /opt/android/android-ndk-r19c -android-ndk-host linux-x86_64 -android-arch armeabi-v7a -xplatform android-clang
qtci-linux-RHEL-7.4-x86_64 Android_ANY arm64 Clang Clang Packaging DisableTests -opensource -confirm-license -verbose -prefix /home/qt/work/install -release -nomake tests -nomake examples -no-dbus -no-qpa-platform-guard -no-use-gold-linker -sysconfdir /etc/xdg -opengl es2 -openssl -I {{.Env.OPENSSL_ANDROID_HOME}}/include -android-sdk /opt/android/sdk -android-ndk /opt/android/android-ndk-r19c -android-ndk-host linux-x86_64 -android-arch arm64-v8a -xplatform android-clang
qtci-linux-Ubuntu-18.04-x86_64 QEMU armv7 GCC -opensource -confirm-license -verbose -prefix /home/qt/work/install -developer-build -nomake tests -nomake examples -no-xcb -R . -openssl -device linux-imx7-g++ -device-option CROSS_COMPILE=/opt/yocto-armv7/sysroots/x86_64-pokysdk-linux/usr/bin/arm-poky-linux-gnueabi/arm-poky-linux-gnueabi- -device-option DISTRO_OPTS="hard-float boot2qt" -sysroot /opt/yocto-armv7/sysroots/armv7ahf-neon-poky-linux-gnueabi -extprefix /home/qt/work/install -mysql_config /opt/yocto-armv7/sysroots/armv7ahf-neon-poky-linux-gnueabi/usr/bin/mysql_config -psql_config /dev/null -tslib
qtci-linux-Ubuntu-18.04-x86_64 QEMU arm64 GCC -opensource -confirm-license -verbose -prefix /home/qt/work/install -developer-build -nomake tests -nomake examples -no-xcb -R . -openssl -device linux-generic-g++ -device-option CROSS_COMPILE=/opt/yocto-arm64/sysroots/x86_64-pokysdk-linux/usr/bin/aarch64-poky-linux/aarch64-poky-linux- -device-option DISTRO_OPTS=boot2qt -sysroot /opt/yocto-arm64/sysroots/aarch64-poky-linux -extprefix /home/qt/work/install -mysql_config /opt/yocto-arm64/sysroots/aarch64-poky-linux/usr/bin/mysql_config -psql_config /dev/null -tslib
qtci-linux-Ubuntu-18.04-x86_64 GCC TestOnly LicenseCheck

View File

@ -6,7 +6,7 @@ qtci-windows-7-x86-3 Mingw73
qtci-windows-10-x86_64-10 Mingw73 Packaging DisableTests -opensource -confirm-license -verbose -prefix c:\Users\qt\work\install -release -debug-and-release -nomake tests -nomake examples -opengl dynamic -openssl -I %OPENSSL_INCLUDE_x64% -L %OPENSSL_LIB_x64% -plugin-sql-mysql -plugin-sql-sqlite -plugin-sql-odbc -I %MYSQL_INCLUDE_x64% -L %MYSQL_LIB_x64% -plugin-sql-psql -I %POSTGRESQL_INCLUDE_x64% -L %POSTGRESQL_LIB_x64% -platform win32-g++
qtci-windows-10-x86_64-10 WinRT_10 armv7 MSVC2017 Packaging DisableTests -opensource -confirm-license -verbose -prefix c:\Users\qt\work\install -release -debug-and-release -nomake tests -nomake examples -force-debug-info -platform win32-msvc2017 -xplatform winrt-arm-msvc2017
qtci-windows-10-x86_64-10 WinRT_10 MSVC2017 Packaging DisableTests -opensource -confirm-license -verbose -prefix c:\Users\qt\work\install -release -debug-and-release -nomake tests -nomake examples -force-debug-info -platform win32-msvc2017 -xplatform winrt-x64-msvc2017
qtci-linux-RHEL-7.4-x86_64 Android_ANY x86 GCC Clang Packaging DisableTests -opensource -confirm-license -verbose -prefix /home/qt/work/install -release -nomake tests -nomake examples -no-dbus -no-use-gold-linker -no-qpa-platform-guard -opengl es2 -sysconfdir /etc/xdg -openssl -I /home/qt/openssl-1.0.2/include -xplatform android-clang -android-sdk /opt/android/sdk -android-ndk /opt/android/android-ndk-r19c -android-ndk-host linux-x86_64 -android-arch x86
qtci-linux-RHEL-7.4-x86_64 Android_ANY x86 GCC Clang Packaging DisableTests -opensource -confirm-license -verbose -prefix /home/qt/work/install -release -nomake tests -nomake examples -no-dbus -no-use-gold-linker -no-qpa-platform-guard -opengl es2 -sysconfdir /etc/xdg -openssl -I {{.Env.OPENSSL_ANDROID_HOME}}/include -xplatform android-clang -android-sdk /opt/android/sdk -android-ndk /opt/android/android-ndk-r19c -android-ndk-host linux-x86_64 -android-arch x86
qtci-windows-10-x86_64-10 Android_ANY armv7 Mingw73 Clang Packaging DisableTests -opensource -confirm-license -verbose -prefix c:\Users\qt\work\install -release -nomake tests -nomake examples -no-dbus -opengl es2 -sysconfdir /etc/xdg -openssl -I c:\utils\openssl-android-master\include -xplatform android-clang -android-sdk C:\Utils\Android -android-ndk c:\Utils\Android\android-ndk-r19c -android-arch armeabi-v7a
qtci-windows-10-x86_64-10 Android_ANY arm64 Mingw73 Clang Packaging DisableTests -opensource -confirm-license -verbose -prefix c:\Users\qt\work\install -release -nomake tests -nomake examples -no-dbus -opengl es2 -sysconfdir /etc/xdg -openssl -I c:\utils\openssl-android-master\include -xplatform android-clang -android-sdk C:\Utils\Android -android-ndk c:\Utils\Android\android-ndk-r19c -android-arch arm64-v8a
qtci-windows-10-x86_64-10 Android_ANY x86 Mingw73 Clang Packaging DisableTests -opensource -confirm-license -verbose -prefix c:\Users\qt\work\install -release -nomake tests -nomake examples -no-dbus -opengl es2 -sysconfdir /etc/xdg -openssl -I c:\utils\openssl-android-master\include -xplatform android-clang -android-sdk C:\Utils\Android -android-ndk c:\Utils\Android\android-ndk-r19c -android-arch x86

View File

@ -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"

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -0,0 +1,6 @@
#!/bin/bash
set -ex
# shellcheck source=../common/unix/install-openssl.sh
source "${BASH_SOURCE%/*}/../common/unix/install-openssl.sh" "linux"

View File

@ -0,0 +1,6 @@
#!/bin/bash
set -ex
# shellcheck source=../common/unix/install-openssl.sh
source "${BASH_SOURCE%/*}/../common/unix/install-openssl.sh" "linux"

View File

@ -0,0 +1,6 @@
#!/bin/bash
set -ex
# shellcheck source=../common/unix/install-openssl.sh
source "${BASH_SOURCE%/*}/../common/unix/install-openssl.sh" "linux"

View File

@ -0,0 +1,6 @@
#!/bin/bash
set -ex
# shellcheck source=../common/unix/install-openssl.sh
source "${BASH_SOURCE%/*}/../common/unix/install-openssl.sh" "linux"

View File

@ -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"

View File

@ -0,0 +1,6 @@
#!/bin/bash
set -ex
# shellcheck source=../common/unix/install-openssl.sh
source "${BASH_SOURCE%/*}/../common/unix/install-openssl.sh" "linux"

View File

@ -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"

View File

@ -0,0 +1,6 @@
#!/bin/bash
set -ex
# shellcheck source=../common/unix/install-openssl.sh
source "${BASH_SOURCE%/*}/../common/unix/install-openssl.sh" "linux"

View File

@ -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"

View File

@ -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"

View File

@ -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