Coin:Android: unify and update OpenSSL provisioning scripts

Use the same prebuilt pacakges for all platforms since the prebuilt libs
are going to be used for the target and they are not tied to the host.

Task-number: QTBUG-110025
Change-Id: I2c79722989902b16883b31cbc6e140855239fcc8
Reviewed-by: Heikki Halmet <heikki.halmet@qt.io>
(cherry picked from commit 4e59702b14)
Reviewed-by: Alexey Edelev <alexey.edelev@qt.io>
This commit is contained in:
Assam Boudjelthia
2023-06-11 03:29:28 +03:00
parent 7d3fec671f
commit df24eed9b4
3 changed files with 38 additions and 58 deletions

View File

@@ -51,10 +51,8 @@ source "${BASH_SOURCE%/*}/../unix/SetEnvVar.sh"
version="3.0.7"
ndkVersionLatest="r25b"
ndkVersionDefault=$ndkVersionLatest
prebuiltOpensslNdkShaDarwinLatest="5cf5ef6c19e62954ccffcd1e31ac1f331028de0d"
prebuiltOpensslNdkShaLinuxLatest="f5e7e840dc1fac2868033ecfc0eeb79742b0daff"
prebuiltOpensslNdkShaDarwinDefault=$prebuiltOpensslNdkShaDarwinLatest
prebuiltOpensslNdkShaLinuxDefault=$prebuiltOpensslNdkShaLinuxLatest
prebuiltOpensslNdkShaLatest="17085b1ef76ba116466213703e38a9d2274ec859"
prebuiltOpensslNdkShaDefault=$prebuiltOpensslNdkShaLatest
: ' SOURCE BUILD INSTRUCTIONS - Openssl prebuilt was made using Android NDK 25
# Source built requires GCC and Perl to be in PATH. Rhel "requires yum install perl-IPC-Cmd"
@@ -94,30 +92,22 @@ PATH=$TOOLCHAIN:$PATH CC=clang make build_generated
function InstallPrebuiltOpenssl() {
ndkVersion=$1
nkdSha=$2
os=$3
sha=$2
if [[ ! -d ${HOME}/openssl_android_ndk_${ndkVersion}/android/openssl-${version} ]]; then
prebuiltUrl="http://ci-files01-hki.intra.qt.io/input/openssl/prebuilt-openssl-${version}-for-android-ndk-${ndkVersion}-${os}.tar.gz"
targetFile="/tmp/prebuilt-openssl-${version}-for-android-ndk-${ndkVersion}-${os}.tar.gz"
opensslHome="${HOME}/prebuilt-openssl-${version}-for-android-ndk-${ndkVersion}"
if [[ ! -d ${opensslHome} ]]; then
prebuiltUrl="http://ci-files01-hki.intra.qt.io/input/openssl/prebuilt-openssl-${version}-for-android-ndk-${ndkVersion}.zip"
targetFile="/tmp/prebuilt-openssl-${version}-for-android-ndk-${ndkVersion}.zip"
DownloadURL "$prebuiltUrl" "$prebuiltUrl" "$nkdSha" "$targetFile"
tar -xzf "$targetFile" -C "${HOME}"
opensslHome="${HOME}/openssl_android_ndk_${ndkVersion}/android/openssl-${version}"
DownloadURL "$prebuiltUrl" "$prebuiltUrl" "$sha" "$targetFile"
unzip -o "$targetFile" -d "${HOME}"
sudo rm -f $targetFile
fi
}
if uname -a |grep -q "Darwin"; then
InstallPrebuiltOpenssl $ndkVersionDefault $prebuiltOpensslNdkShaDarwinDefault "darwin"
SetEnvVar "OPENSSL_ANDROID_HOME_DEFAULT" "$opensslHome"
InstallPrebuiltOpenssl $ndkVersionLatest $prebuiltOpensslNdkShaDarwinLatest "darwin"
SetEnvVar "OPENSSL_ANDROID_HOME_LATEST" "$opensslHome"
else
InstallPrebuiltOpenssl $ndkVersionDefault $prebuiltOpensslNdkShaLinuxDefault "linux"
SetEnvVar "OPENSSL_ANDROID_HOME_DEFAULT" "$opensslHome"
InstallPrebuiltOpenssl $ndkVersionLatest $prebuiltOpensslNdkShaLinuxLatest "linux"
SetEnvVar "OPENSSL_ANDROID_HOME_LATEST" "$opensslHome"
fi
InstallPrebuiltOpenssl $ndkVersionDefault $prebuiltOpensslNdkShaDefault
SetEnvVar "OPENSSL_ANDROID_HOME_DEFAULT" "$opensslHome"
InstallPrebuiltOpenssl $ndkVersionLatest $prebuiltOpensslNdkShaLatest
SetEnvVar "OPENSSL_ANDROID_HOME_LATEST" "$opensslHome"
echo "OpenSSL for Android = $version" >> ~/versions.txt

View File

@@ -51,10 +51,8 @@ source "${BASH_SOURCE%/*}/../unix/SetEnvVar.sh"
version="3.0.7"
ndkVersionLatest="r25b"
ndkVersionDefault=$ndkVersionLatest
prebuiltOpensslNdkShaDarwinLatest="5cf5ef6c19e62954ccffcd1e31ac1f331028de0d"
prebuiltOpensslNdkShaLinuxLatest="f5e7e840dc1fac2868033ecfc0eeb79742b0daff"
prebuiltOpensslNdkShaDarwinDefault=$prebuiltOpensslNdkShaDarwinLatest
prebuiltOpensslNdkShaLinuxDefault=$prebuiltOpensslNdkShaLinuxLatest
prebuiltOpensslNdkShaLatest="17085b1ef76ba116466213703e38a9d2274ec859"
prebuiltOpensslNdkShaDefault=$prebuiltOpensslNdkShaLatest
: ' SOURCE BUILD INSTRUCTIONS - Openssl prebuilt was made using Android NDK 25
# Source built requires GCC and Perl to be in PATH. Rhel "requires yum install perl-IPC-Cmd"
@@ -94,30 +92,22 @@ PATH=$TOOLCHAIN:$PATH CC=clang make build_generated
function InstallPrebuiltOpenssl() {
ndkVersion=$1
nkdSha=$2
os=$3
sha=$2
if [[ ! -d ${HOME}/openssl_android_ndk_${ndkVersion}/android/openssl-${version} ]]; then
prebuiltUrl="http://ci-files01-hki.intra.qt.io/input/openssl/prebuilt-openssl-${version}-for-android-ndk-${ndkVersion}-${os}.tar.gz"
targetFile="/tmp/prebuilt-openssl-${version}-for-android-ndk-${ndkVersion}-${os}.tar.gz"
opensslHome="${HOME}/prebuilt-openssl-${version}-for-android-ndk-${ndkVersion}"
if [[ ! -d ${opensslHome} ]]; then
prebuiltUrl="http://ci-files01-hki.intra.qt.io/input/openssl/prebuilt-openssl-${version}-for-android-ndk-${ndkVersion}.zip"
targetFile="/tmp/prebuilt-openssl-${version}-for-android-ndk-${ndkVersion}.zip"
DownloadURL "$prebuiltUrl" "$prebuiltUrl" "$nkdSha" "$targetFile"
tar -xzf "$targetFile" -C "${HOME}"
opensslHome="${HOME}/openssl_android_ndk_${ndkVersion}/android/openssl-${version}"
DownloadURL "$prebuiltUrl" "$prebuiltUrl" "$sha" "$targetFile"
unzip -o "$targetFile" -d "${HOME}"
sudo rm -f $targetFile
fi
}
if uname -a |grep -q "Darwin"; then
InstallPrebuiltOpenssl $ndkVersionDefault $prebuiltOpensslNdkShaDarwinDefault "darwin"
SetEnvVar "OPENSSL_ANDROID_HOME_DEFAULT" "$opensslHome"
InstallPrebuiltOpenssl $ndkVersionLatest $prebuiltOpensslNdkShaDarwinLatest "darwin"
SetEnvVar "OPENSSL_ANDROID_HOME_LATEST" "$opensslHome"
else
InstallPrebuiltOpenssl $ndkVersionDefault $prebuiltOpensslNdkShaLinuxDefault "linux"
SetEnvVar "OPENSSL_ANDROID_HOME_DEFAULT" "$opensslHome"
InstallPrebuiltOpenssl $ndkVersionLatest $prebuiltOpensslNdkShaLinuxLatest "linux"
SetEnvVar "OPENSSL_ANDROID_HOME_LATEST" "$opensslHome"
fi
InstallPrebuiltOpenssl $ndkVersionDefault $prebuiltOpensslNdkShaDefault
SetEnvVar "OPENSSL_ANDROID_HOME_DEFAULT" "$opensslHome"
InstallPrebuiltOpenssl $ndkVersionLatest $prebuiltOpensslNdkShaLatest
SetEnvVar "OPENSSL_ANDROID_HOME_LATEST" "$opensslHome"
echo "OpenSSL for Android = $version" >> ~/versions.txt

View File

@@ -56,9 +56,9 @@ $ndk_version_latest = "r25b"
$ndk_version_default = "$ndk_version_latest"
$openssl_compressed = Get-DownloadLocation ("openssl-${openssl_version}.tar.gz")
$openssl_sha1 = "f20736d6aae36bcbfa9aba0d358c71601833bf27"
$prebuilt_sha1_ndk_latest = "d4348812054a88b5b672a8ceae62bf30c564869b"
$prebuilt_sha1_ndk_latest = "17085b1ef76ba116466213703e38a9d2274ec859"
$prebuilt_sha1_ndk_default = "$prebuilt_sha1_ndk_latest"
$destination = "C:\Utils\openssl-android-master"
$destination_prefix = "C:\Utils\prebuilt-openssl-${openssl_version}-for-android-ndk"
function Install($1, $2) {
$ndk_version = $1
@@ -69,15 +69,15 @@ function Install($1, $2) {
$ndk_path = "/c/Utils/Android/android-ndk-${ndk_version}"
$cc_path = "$ndk_path/toolchains/llvm/prebuilt/windows-x86_64/bin"
$prebuilt_url_ndk = "\\ci-files01-hki.intra.qt.io\provisioning\openssl\prebuilt-openssl-${openssl_version}-for-android-used-ndk-${ndk_version}-windows.zip"
$prebuilt_zip_ndk = Get-DownloadLocation ("prebuilt-openssl-${openssl_version}-for-android-used-ndk-${ndk_version}-windows.zip")
$prebuilt_url_openssl = "\\ci-files01-hki.intra.qt.io\provisioning\openssl\prebuilt-openssl-${openssl_version}-for-android-ndk-${ndk_version}.zip"
$prebuilt_zip_openssl = Get-DownloadLocation ("prebuilt-openssl-${openssl_version}-for-android-ndk-${ndk_version}.zip")
if ((Test-Path $prebuilt_url_ndk)) {
if ((Test-Path $prebuilt_url_openssl)) {
Write-Host "Install prebuilt OpenSSL for Android"
Download $prebuilt_url_ndk $prebuilt_url_ndk $prebuilt_zip_ndk
Verify-Checksum $prebuilt_zip_ndk $prebuilt_sha1
Extract-7Zip $prebuilt_zip_ndk C:\Utils
Remove $prebuilt_zip_ndk
Download $prebuilt_url_openssl $prebuilt_url_openssl $prebuilt_zip_openssl
Verify-Checksum $prebuilt_zip_openssl $prebuilt_sha1
Extract-7Zip $prebuilt_zip_openssl C:\Utils
Remove $prebuilt_zip_openssl
} else {
Write-Host "Build OpenSSL for Android from sources"
# openssl-${openssl_version}_fixes-ndk_root.tar.gz package includes fixes from https://github.com/openssl/openssl/pull/17322 and string ANDROID_NDK_HOME is replaced with ANDROID_NDK_ROOT in Configurations/15-android.conf
@@ -126,13 +126,13 @@ function Install($1, $2) {
# Install NDK Default version
Install $ndk_version_default $prebuilt_sha1_ndk_default
if (Test-Path -Path ${destination}-${ndk_version_latest}) {
if (Test-Path -Path ${destination_prefix}-${ndk_version_latest}) {
Write-Host "OpenSSL for Android Latest version is the same than Default. Installation done."
} else {
# Install NDK Latest version
Install $ndk_version_latest $prebuilt_sha1_ndk_latest
}
Set-EnvironmentVariable "OPENSSL_ANDROID_HOME_DEFAULT" "${destination}-${ndk_version_default}"
Set-EnvironmentVariable "OPENSSL_ANDROID_HOME_LATEST" "${destination}-${ndk_version_latest}"
Set-EnvironmentVariable "OPENSSL_ANDROID_HOME_DEFAULT" "${destination_prefix}-${ndk_version_default}"
Set-EnvironmentVariable "OPENSSL_ANDROID_HOME_LATEST" "${destination_prefix}-${ndk_version_latest}"
Write-Output "Android OpenSSL = $openssl_version" >> ~/versions.txt