diff options
Diffstat (limited to 'coin/provisioning/common')
8 files changed, 51 insertions, 46 deletions
diff --git a/coin/provisioning/common/linux/android_linux.sh b/coin/provisioning/common/linux/android_linux.sh index 178ff68c..45af2183 100755 --- a/coin/provisioning/common/linux/android_linux.sh +++ b/coin/provisioning/common/linux/android_linux.sh @@ -24,13 +24,13 @@ basePath="http://ci-files01-hki.ci.qt.io/input/android" toolsVersion="2.1" toolsFile="commandlinetools-linux-6609375_latest.zip" -ndkVersionLatest="r25b" +ndkVersionLatest="r26b" ndkVersionDefault=$ndkVersionLatest sdkBuildToolsVersion="34.0.0" sdkApiLevel="android-34" toolsSha1="9172381ff070ee2a416723c1989770cf4b0d1076" -ndkSha1Latest="e27dcb9c8bcaa77b78ff68c3f23abcf6867959eb" +ndkSha1Latest="fdf33d9f6c1b3f16e5459d53a82c7d2201edbcc4" ndkSha1Default=$ndkSha1Latest # Android 14 avd zip @@ -61,24 +61,26 @@ function InstallNdk() { ndkVersion=$1 ndkSha1=$2 - if [[ ! -d "$targetFolder/android-ndk-$ndkVersion" ]]; then - - ndkFile="android-ndk-$ndkVersion-linux.zip" - ndkTargetFile="/tmp/$ndkFile" - ndkSourceFile="$basePath/$ndkFile" - - DownloadURL "$ndkSourceFile" "$ndkSourceFile" "$ndkSha1" "$ndkTargetFile" - echo "Unzipping Android NDK to '$targetFolder'" - sudo unzip -q "$ndkTargetFile" -d "$targetFolder" - rm "$ndkTargetFile" - fi - + ndkFile="android-ndk-$ndkVersion-linux.zip" + ndkTargetFile="/tmp/$ndkFile" + ndkSourceFile="$basePath/$ndkFile" + + DownloadURL "$ndkSourceFile" "$ndkSourceFile" "$ndkSha1" "$ndkTargetFile" + echo "Unzipping Android NDK to '$targetFolder'" + # Get the package base directory name as string + zipBase=$(sudo zipinfo -1 "$ndkTargetFile" 2>/dev/null | awk '!seen {sub("/.*",""); print; seen=1}') + sudo unzip -q "$ndkTargetFile" -d "$targetFolder" + rm "$ndkTargetFile" + androidNdkRoot="${targetFolder}/${zipBase}" } InstallNdk $ndkVersionDefault $ndkSha1Default -SetEnvVar "ANDROID_NDK_ROOT_DEFAULT" "$targetFolder/android-ndk-$ndkVersionDefault" -InstallNdk $ndkVersionLatest $ndkSha1Latest -SetEnvVar "ANDROID_NDK_ROOT_LATEST" "$targetFolder/android-ndk-$ndkVersionLatest" +SetEnvVar "ANDROID_NDK_ROOT_DEFAULT" "$androidNdkRoot" + +if [ "$ndkVersionDefault" != "$ndkVersionLatest" ]; then + InstallNdk $ndkVersionLatest $ndkSha1Latest +fi +SetEnvVar "ANDROID_NDK_ROOT_LATEST" "$androidNdkRoot" # To be used by vcpkg SetEnvVar "ANDROID_NDK_HOME" "$targetFolder/android-ndk-$ndkVersionDefault" diff --git a/coin/provisioning/common/macos/android.sh b/coin/provisioning/common/macos/android.sh index 2e237c75..b7dc953f 100755 --- a/coin/provisioning/common/macos/android.sh +++ b/coin/provisioning/common/macos/android.sh @@ -20,7 +20,7 @@ toolsVersion="2.1" # toolsFile dertermines tools version toolsFile="commandlinetools-mac-6609375_latest.zip" -ndkVersionLatest="r25b" +ndkVersionLatest="r26b" ndkVersionDefault="$ndkVersionLatest" sdkBuildToolsVersion="34.0.0" # this is compile sdk version @@ -48,6 +48,7 @@ sudo unzip -q "$toolsSourceFile" -d "$sdkTargetFolder" echo "Changing ownership of Android files." sudo chown -R qt:wheel "$targetFolder" +sudo chmod -R 755 $targetFolder # Run the following command under `eval` or `sh -c` so that the shell properly splits it sdkmanager_no_progress_bar_cmd="tr '\r' '\n' | grep -v '^\[[ =]*\]'" diff --git a/coin/provisioning/common/unix/install-ffmpeg-android.sh b/coin/provisioning/common/unix/install-ffmpeg-android.sh index aa612a7f..64a5bf8a 100755 --- a/coin/provisioning/common/unix/install-ffmpeg-android.sh +++ b/coin/provisioning/common/unix/install-ffmpeg-android.sh @@ -54,7 +54,7 @@ build_ffmpeg_android() { api_version=24 - ndk_root=/opt/android/android-ndk-r25b + ndk_root=$ANDROID_NDK_ROOT_DEFAULT if uname -a |grep -q "Darwin"; then ndk_host=darwin-x86_64 else diff --git a/coin/provisioning/common/unix/openssl_3_for_android.sh b/coin/provisioning/common/unix/openssl_3_for_android.sh index 6487944d..0ad79315 100755 --- a/coin/provisioning/common/unix/openssl_3_for_android.sh +++ b/coin/provisioning/common/unix/openssl_3_for_android.sh @@ -12,9 +12,9 @@ source "${BASH_SOURCE%/*}/../unix/DownloadURL.sh" source "${BASH_SOURCE%/*}/../unix/SetEnvVar.sh" version="3.0.7" -ndkVersionLatest="r25b" +ndkVersionLatest="r26b" ndkVersionDefault=$ndkVersionLatest -prebuiltOpensslNdkShaLatest="17085b1ef76ba116466213703e38a9d2274ec859" +prebuiltOpensslNdkShaLatest="ea925d5a5b696916fb3650403a2eb3189c52b5ce" prebuiltOpensslNdkShaDefault=$prebuiltOpensslNdkShaLatest : <<'EOB' SOURCE BUILD INSTRUCTIONS - Openssl prebuilt was made using Android NDK 25 @@ -32,7 +32,7 @@ else fi # ANDROID_NDK_ROOT is required during Configure -export ANDROID_NDK_ROOT=/opt/android/android-ndk-r25b +export ANDROID_NDK_ROOT=/opt/android/android-ndk-r26b officialUrl="https://www.openssl.org/source/openssl-$version.tar.gz" cachedUrl="http://ci-files01-hki.ci.qt.io/input/openssl/openssl-$version.tar.gz" diff --git a/coin/provisioning/common/unix/openssl_for_android.sh b/coin/provisioning/common/unix/openssl_for_android.sh index 6487944d..d555e0cc 100755 --- a/coin/provisioning/common/unix/openssl_for_android.sh +++ b/coin/provisioning/common/unix/openssl_for_android.sh @@ -12,12 +12,12 @@ source "${BASH_SOURCE%/*}/../unix/DownloadURL.sh" source "${BASH_SOURCE%/*}/../unix/SetEnvVar.sh" version="3.0.7" -ndkVersionLatest="r25b" +ndkVersionLatest="r26b" ndkVersionDefault=$ndkVersionLatest -prebuiltOpensslNdkShaLatest="17085b1ef76ba116466213703e38a9d2274ec859" +prebuiltOpensslNdkShaLatest="ea925d5a5b696916fb3650403a2eb3189c52b5ce" prebuiltOpensslNdkShaDefault=$prebuiltOpensslNdkShaLatest -: <<'EOB' SOURCE BUILD INSTRUCTIONS - Openssl prebuilt was made using Android NDK 25 +: <<'EOB' SOURCE BUILD INSTRUCTIONS - Openssl prebuilt was made using Android NDK r26b # Source built requires GCC and Perl to be in PATH. Rhel "requires yum install perl-IPC-Cmd" exports_file="/tmp/export.sh" # source previously made environmental variables. @@ -31,9 +31,6 @@ else rm -rf "$exports_file" fi -# ANDROID_NDK_ROOT is required during Configure -export ANDROID_NDK_ROOT=/opt/android/android-ndk-r25b - officialUrl="https://www.openssl.org/source/openssl-$version.tar.gz" cachedUrl="http://ci-files01-hki.ci.qt.io/input/openssl/openssl-$version.tar.gz" targetFile="/tmp/openssl-$version.tar.gz" diff --git a/coin/provisioning/common/windows/android-openssl.ps1 b/coin/provisioning/common/windows/android-openssl.ps1 index 0051a5f0..3542c907 100644 --- a/coin/provisioning/common/windows/android-openssl.ps1 +++ b/coin/provisioning/common/windows/android-openssl.ps1 @@ -16,11 +16,11 @@ if (Is64BitWinHost) { # More info and building instructions can be found from http://doc.qt.io/qt-5/opensslsupport.html $openssl_version = "3.0.7" -$ndk_version_latest = "r25b" +$ndk_version_latest = "r26b" $ndk_version_default = "$ndk_version_latest" $openssl_compressed = Get-DownloadLocation ("openssl-${openssl_version}.tar.gz") $openssl_sha1 = "f20736d6aae36bcbfa9aba0d358c71601833bf27" -$prebuilt_sha1_ndk_latest = "17085b1ef76ba116466213703e38a9d2274ec859" +$prebuilt_sha1_ndk_latest = "ea925d5a5b696916fb3650403a2eb3189c52b5ce" $prebuilt_sha1_ndk_default = "$prebuilt_sha1_ndk_latest" $destination_prefix = "C:\Utils\prebuilt-openssl-${openssl_version}-for-android-ndk" @@ -70,7 +70,7 @@ function Install($1, $2) { } # ANDROID_NDK_ROOT needs to be in environment variables before running this script - # Set-EnvironmentVariable "ANDROID_NDK_ROOT" "C:\Utils\Android\android-ndk-r25b" + # Set-EnvironmentVariable "ANDROID_NDK_ROOT" "C:\Utils\Android\android-ndk-r26b" $make_install = Start-Process -NoNewWindow -Wait -PassThru -ErrorAction Stop -FilePath "$msys_bash" -ArgumentList ("-lc", "`"yes | pacman -S make`"") CheckExitCode $make_install diff --git a/coin/provisioning/common/windows/android.ps1 b/coin/provisioning/common/windows/android.ps1 index 02ecbf65..b594238c 100644 --- a/coin/provisioning/common/windows/android.ps1 +++ b/coin/provisioning/common/windows/android.ps1 @@ -10,17 +10,15 @@ # That's why we need to use Andoid-21 API version in Qt 5.9. # NDK -$ndkVersionLatest = "r25b" +$ndkVersionLatest = "r26b" $ndkVersionDefault = $ndkVersionLatest -$ndkChecksumLatest = "b2e9b5ab2e1434a65ffd85780891878cf5c6fd92" +$ndkChecksumLatest = "17453c61a59e848cffb8634f2c7b322417f1732e" $ndkChecksumDefault = $ndkChecksumLatest $ndkCachedUrlLatest = "\\ci-files01-hki.ci.qt.io\provisioning\android\android-ndk-$ndkVersionLatest-windows.zip" $ndkOfficialUrlLatest = "https://dl.google.com/android/repository/android-ndk-$ndkVersionLatest-windows.zip" $ndkCachedUrlDefault = "\\ci-files01-hki.ci.qt.io\provisioning\android\android-ndk-$ndkVersionDefault-windows.zip" $ndkOfficialUrlDefault = "https://dl.google.com/android/repository/android-ndk-$ndkVersionDefault-windows.zip" -$ndkFolderLatest = "c:\Utils\Android\android-ndk-$ndkVersionLatest" -$ndkFolderDefault = "c:\Utils\Android\android-ndk-$ndkVersionDefault" -$ndkZip = "c:\Windows\Temp\android_ndk.zip" +$ndkZip = "C:\Windows\Temp\android_ndk.zip" # SDK $toolsVersion = "2.1" @@ -31,7 +29,7 @@ $sdkBuildToolsVersion = "34.0.0" $toolsCachedUrl= "\\ci-files01-hki.ci.qt.io\provisioning\android\$toolsFile" $toolsOfficialUrl = "https://dl.google.com/android/repository/$toolsFile" $toolsChecksum = "e2e19c2ff584efa87ef0cfdd1987f92881323208" -$toolsFolder = "c:\Utils\Android\cmdline-tools" +$cmdFolder = "c:\Utils\Android\cmdline-tools" $sdkZip = "c:\Windows\Temp\$toolsFile" @@ -40,31 +38,38 @@ function Install($1, $2, $3, $4) { $zip = $2 $checksum = $3 $offcialUrl = $4 + $tempExtractDir = "C:\Windows\Temp\android_extract" Download $offcialUrl $cacheUrl $zip Verify-Checksum $zip "$checksum" - Extract-7Zip $zip C:\Utils\Android + Extract-7Zip $zip $tempExtractDir + $baseDirectory = (Get-ChildItem $tempExtractDir -Attributes D | Select-Object -First 1).Name + Move-Item -Path ($tempExtractDir + "\" + $baseDirectory) -Destination "C:\Utils\Android\$baseDirectory" -Force Remove $zip + + return "C:\Utils\Android\$baseDirectory" } +New-Item -ItemType Directory -Path C:\Utils\Android\ +New-Item -ItemType Directory -Path C:\Windows\Temp\android_extract Write-Host "Installing Android NDK $ndkVersionDefault" -Install $ndkCachedUrlDefault $ndkZip $ndkChecksumDefault $ndkOfficialUrlDefault +$ndkFolderDefault = Install $ndkCachedUrlDefault $ndkZip $ndkChecksumDefault $ndkOfficialUrlDefault Set-EnvironmentVariable "ANDROID_NDK_ROOT_DEFAULT" $ndkFolderDefault # To be used by vcpkg Set-EnvironmentVariable "ANDROID_NDK_HOME" $ndkFolderDefault $env:ANDROID_NDK_HOME = "$ndkFolderDefault" -if (Test-Path -Path $ndkFolderLatest) { +if ($ndkVersionDefault -eq $ndkVersionLatest) { Write-Host "Android Latest version is the same than Default. NDK installation done." } else { Write-Host "Installing Android NDK $nkdVersionLatest" - Install $ndkCachedUrlLatest $ndkZip $ndkChecksumLatest $ndkOfficialUrlLatest + $ndkFolderLatest = Install $ndkCachedUrlLatest $ndkZip $ndkChecksumLatest $ndkOfficialUrlLatest Set-EnvironmentVariable "ANDROID_NDK_ROOT_LATEST" $ndkFolderLatest } -Install $toolsCachedUrl $sdkZip $toolsChecksum $sdkOfficialUrl -New-Item -ItemType directory -Path $toolsFolder -Move-Item -Path C:\Utils\Android\tools -Destination $toolsFolder\ +$toolsFolder = Install $toolsCachedUrl $sdkZip $toolsChecksum $toolsOfficialUrl +New-Item -ItemType directory -Path $cmdFolder +Move-Item -Path $toolsFolder -Destination $cmdFolder\ Set-EnvironmentVariable "ANDROID_SDK_ROOT" "C:\Utils\Android" Set-EnvironmentVariable "ANDROID_API_VERSION" $sdkApiLevel @@ -87,7 +92,7 @@ Out-File -FilePath C:\Utils\Android\licenses\android-sdk-license -Encoding utf8 # Attempt to catch all errors of sdkmanager.bat, even when hidden behind a pipeline. $ErrorActionPreference = "Stop" -cd $toolsFolder\tools\bin\ +cd $cmdFolder\tools\bin\ $sdkmanager_args += "platforms;$sdkApiLevel", "platform-tools", "build-tools;$sdkBuildToolsVersion", "--sdk_root=C:\Utils\Android" $command = 'for($i=0;$i -lt 6;$i++) { $response += "y`n"}; $response | .\sdkmanager.bat @sdkmanager_args | Out-Null' Invoke-Expression $command diff --git a/coin/provisioning/common/windows/install-ffmpeg.ps1 b/coin/provisioning/common/windows/install-ffmpeg.ps1 index 82421784..8f5d0eeb 100644 --- a/coin/provisioning/common/windows/install-ffmpeg.ps1 +++ b/coin/provisioning/common/windows/install-ffmpeg.ps1 @@ -109,7 +109,7 @@ function InstallAndroidArmv7 { $target_cpu="armv7-a" $api_version="24" - $ndkVersionLatest = "r25b" + $ndkVersionLatest = "r26b" $ndkFolderLatest = "/c/Utils/Android/android-ndk-$ndkVersionLatest" $toolchain="${ndkFolderLatest}/toolchains/llvm/prebuilt/windows-x86_64" |