Files
qt5/coin/provisioning/common/windows/install-oracle.ps1
Christian Ehrlicher 2333f79e3a Coin: Fix env var for Oracle libraries and headers
While on windows the instantclient sdk also provides the relevant
(import) libs, on linux those libraries are only provided by
instantclient-basiclite package. Therfore setting the Oracle_ROOT env
var to the sdk dir will prevent the libraries to be found on linux.
The FindOracle.cmake module is already adjusted to look for the
libraries in ${Oracle_ROOT}, ${Oracle_ROOT}/lib and
${Oracle_ROOT}/sdk/lib so they should be found correctly even we don't
append 'sdk' for Oracle_ROOT on windows for consistency.

Task-number: QTBUG-128873
Change-Id: Icd211d5b503234de529c339581a4f42f0b5fc726
Reviewed-by: Axel Spoerl <axel.spoerl@qt.io>
2024-12-10 16:30:43 +02:00

47 lines
1.9 KiB
PowerShell

# Copyright (C) 2024 The Qt Company Ltd.
# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
. "$PSScriptRoot\helpers.ps1"
# This script installs oci (Oracle Instant Client) $version.
# https://download.oracle.com/otn_software/nt/instantclient/2340000/instantclient-basiclite-windows.x64-23.4.0.24.05.zip
# https://download.oracle.com/otn_software/nt/instantclient/2340000/instantclient-sdk-windows.x64-23.4.0.24.05.zip
$version = "23.4.0.24.05"
$distdir = "instantclient_23_4"
$tmpdir = "C:\Windows\temp"
$installFolder = "C:\Utils\oracle"
$baseurl_ext = "https://download.oracle.com/otn_software/nt/instantclient/2340000"
$baseurl_int = "\\ci-files01-hki.ci.qt.io\provisioning\windows\oracle"
# basic files (dlls) - maybe not even needed for compilation only
$zipfile = "instantclient-basiclite-windows.x64-${version}.zip"
$package = "${tmpdir}\${zipfile}"
$sha1 = "05b22e6d17daad5c3e5908a2bd9d59e4aa457a30"
Write-Host "Fetching from URL ..."
Download "${baseurl_ext}/${zipfile}" "${baseurl_int}\${zipfile}" $package
Verify-Checksum $package $sha1
Write-Host "Installing $package ..."
Extract-7Zip $package $installFolder
Write-Host "Remove downloaded $package ..."
Remove $package
# SDK (lib + header)
$zipfile = "instantclient-sdk-windows.x64-${version}.zip"
$package = "C:\Windows\temp\${zipfile}"
$sha1 = "37305fd653cf52850237ddff4ed71ad61d04a5ee"
Write-Host "Fetching from URL ..."
Download "${baseurl_ext}/${zipfile}" "${baseurl_int}\${zipfile}" $package
Verify-Checksum $package $sha1
Write-Host "Installing $package ..."
Extract-7Zip $package $installFolder
Write-Host "Remove downloaded $package ..."
Remove $package
Set-EnvironmentVariable "Oracle_ROOT" "$installFolder\${distdir}\"
# Store version information to ~/versions.txt, which is used to print version information to provision log.
Write-Output "Oracle Instant Client = $version" >> ~/versions.txt