diff --git a/coin/platform_configs/cmake_platforms.yaml b/coin/platform_configs/cmake_platforms.yaml index bdb7eb08..de4f44f3 100644 --- a/coin/platform_configs/cmake_platforms.yaml +++ b/coin/platform_configs/cmake_platforms.yaml @@ -157,7 +157,7 @@ Configurations: Template: 'qtci-windows-11_22H2-aarch64-54' Compiler: 'MSVC2022' Features: ['Packaging', 'DebugAndRelease', 'UseConfigure', 'GenerateSBOM', 'VerifySBOM'] - Configure arguments: '-debug-and-release -force-debug-info -headersclean -nomake examples -qt-zlib -no-sql-psql -no-opengl' + Configure arguments: '-debug-and-release -force-debug-info -headersclean -nomake examples -qt-zlib -no-opengl -no-sql-db2 -no-sql-ibase -no-sql-mysql -no-sql-oci -no-sql-psql -no-sql-mimer' Environment variables: [ 'CMAKE_ARGS=-DFEATURE_msvc_obj_debug_info=ON -DOPENSSL_ROOT_DIR={{.Env.OPENSSL_INCLUDE_arm64}}\..', 'NON_QTBASE_CMAKE_ARGS= -DFEATURE_clangcpp=OFF -DFEATURE_qdoc=OFF -DFFMPEG_DIR={{.Env.FFMPEG_DIR_MSVC_ARM64}} -DQT_DEPLOY_FFMPEG=TRUE', @@ -171,7 +171,7 @@ Configurations: Features: ['Sccache', 'DisableTests', 'TargetBuildOnly', 'Packaging', 'UseConfigure', 'GenerateSBOM', 'VerifySBOM'] Platform dependency: 'windows-11_23H2-msvc2022' Environment variables: [ - 'TARGET_CONFIGURE_ARGS=-debug-and-release -force-debug-info -platform win32-arm64-msvc -no-sql-ibase', + 'TARGET_CONFIGURE_ARGS=-debug-and-release -force-debug-info -platform win32-arm64-msvc -no-sql-db2 -no-sql-ibase -no-sql-mysql -no-sql-oci -no-sql-psql -no-sql-mimer', 'TARGET_CMAKE_ARGS=-DFEATURE_msvc_obj_debug_info=ON -DOPENSSL_ROOT_DIR={{.Env.OPENSSL_ROOT_DIR_x64_arm64}}', 'NON_QTBASE_TARGET_CMAKE_ARGS=-DFEATURE_native_grpc=OFF -DFFMPEG_DIR={{.Env.FFMPEG_DIR_MSVC_ARM64}} -DQT_DEPLOY_FFMPEG=TRUE', 'OPENSSL_CONF_x64={{.Env.OPENSSL_CONF_x64_arm64}}', diff --git a/coin/provisioning/common/linux/install-oracle.sh b/coin/provisioning/common/linux/install-oracle.sh new file mode 100755 index 00000000..ad454a5c --- /dev/null +++ b/coin/provisioning/common/linux/install-oracle.sh @@ -0,0 +1,51 @@ +#!/usr/bin/env bash +# 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 + +set -e + +PROVISIONING_DIR="$(dirname "$0")/../../" +# shellcheck source=../unix/common.sourced.sh +source "${BASH_SOURCE%/*}/../unix/common.sourced.sh" +# shellcheck source=../unix/DownloadURL.sh +source "${BASH_SOURCE%/*}/../unix/DownloadURL.sh" +# shellcheck source=../unix/SetEnvVar.sh +source "${BASH_SOURCE%/*}/../unix/SetEnvVar.sh" + + +# https://download.oracle.com/otn_software/linux/instantclient/2350000/instantclient-basiclite-linux.x64-23.5.0.24.07.zip +# https://download.oracle.com/otn_software/linux/instantclient/2350000/instantclient-sdk-linux.x64-23.5.0.24.07.zip + +version=23.5.0.24.07 +distdir=instantclient_23_5 +installFolder=/opt/oracle +upstreamRepo=https://download.oracle.com/otn_software/linux/instantclient/2350000 +localRepo=http://ci-files01-hki.ci.qt.io/input/oracle + +if [ -d "${installFolder}" ]; then + sudo rm -rf ${installFolder}; +fi +sudo mkdir ${installFolder} + +# basic files (libs) - maybe not even needed for compilation only +echo "Fetching files..." + +packageFile=instantclient-basiclite-linux.x64-${version}.zip +sha=c663ca78e64d5ba9d25cc73ede79defecb4776c0 +DownloadURL $localRepo/$packageFile $upstreamRepo/$packageFile $sha /tmp/$packageFile +echo "Unpacking ${packageFile}" +sudo unzip -o -q /tmp/${packageFile} -d ${installFolder} +echo "Remove downloaded ${packageFile} ..." +rm -rf /tmp/${packageFile} + +packageFile=instantclient-sdk-linux.x64-${version}.zip +sha=7cb72cda0b89c3488afd4b7b30af5fc8444483a3 +DownloadURL $localRepo/$packageFile $upstreamRepo/$packageFile $sha /tmp/$packageFile +echo "Unpacking ${packageFile}" +sudo unzip -o -q /tmp/${packageFile} -d ${installFolder} +echo "Remove downloaded ${packageFile} ..." +rm -rf /tmp/${packageFile} + +SetEnvVar "Oracle_ROOT" "${installFolder}/${distdir}/sdk/" + +echo "Oracle Instant Client = $version" >> ~/versions.txt diff --git a/coin/provisioning/common/windows/install-oracle.ps1 b/coin/provisioning/common/windows/install-oracle.ps1 new file mode 100644 index 00000000..3f5494dc --- /dev/null +++ b/coin/provisioning/common/windows/install-oracle.ps1 @@ -0,0 +1,46 @@ +# 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}\sdk\" + +# Store version information to ~/versions.txt, which is used to print version information to provision log. +Write-Output "Oracle Instant Client = $version" >> ~/versions.txt diff --git a/coin/provisioning/qtci-linux-RHEL-9.2-x86_64/90-install-oracle.sh b/coin/provisioning/qtci-linux-RHEL-9.2-x86_64/90-install-oracle.sh new file mode 100755 index 00000000..7dd380bf --- /dev/null +++ b/coin/provisioning/qtci-linux-RHEL-9.2-x86_64/90-install-oracle.sh @@ -0,0 +1,8 @@ +#!/usr/bin/env bash +# Copyright (C) 2022 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 + +set -ex + +BASEDIR=$(dirname "$0") +"$BASEDIR/../common/linux/install-oracle.sh" diff --git a/coin/provisioning/qtci-linux-SLES-15_SP5-x86_64/90-install-oracle.sh b/coin/provisioning/qtci-linux-SLES-15_SP5-x86_64/90-install-oracle.sh new file mode 100755 index 00000000..7dd380bf --- /dev/null +++ b/coin/provisioning/qtci-linux-SLES-15_SP5-x86_64/90-install-oracle.sh @@ -0,0 +1,8 @@ +#!/usr/bin/env bash +# Copyright (C) 2022 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 + +set -ex + +BASEDIR=$(dirname "$0") +"$BASEDIR/../common/linux/install-oracle.sh" diff --git a/coin/provisioning/qtci-linux-Ubuntu-22.04-x86_64/90-install-oracle.sh b/coin/provisioning/qtci-linux-Ubuntu-22.04-x86_64/90-install-oracle.sh new file mode 100755 index 00000000..7dd380bf --- /dev/null +++ b/coin/provisioning/qtci-linux-Ubuntu-22.04-x86_64/90-install-oracle.sh @@ -0,0 +1,8 @@ +#!/usr/bin/env bash +# Copyright (C) 2022 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 + +set -ex + +BASEDIR=$(dirname "$0") +"$BASEDIR/../common/linux/install-oracle.sh" diff --git a/coin/provisioning/qtci-linux-openSUSE-15.5-x86_64/90-install-oracle.sh b/coin/provisioning/qtci-linux-openSUSE-15.5-x86_64/90-install-oracle.sh new file mode 100755 index 00000000..7dd380bf --- /dev/null +++ b/coin/provisioning/qtci-linux-openSUSE-15.5-x86_64/90-install-oracle.sh @@ -0,0 +1,8 @@ +#!/usr/bin/env bash +# Copyright (C) 2022 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 + +set -ex + +BASEDIR=$(dirname "$0") +"$BASEDIR/../common/linux/install-oracle.sh" diff --git a/coin/provisioning/qtci-windows-10_22H2-x86_64/90-install-oracle.ps1 b/coin/provisioning/qtci-windows-10_22H2-x86_64/90-install-oracle.ps1 new file mode 100644 index 00000000..54697097 --- /dev/null +++ b/coin/provisioning/qtci-windows-10_22H2-x86_64/90-install-oracle.ps1 @@ -0,0 +1 @@ +. "$PSScriptRoot\..\common\windows\install-oracle.ps1" diff --git a/coin/provisioning/qtci-windows-11_23H2-x86_64/90-install-oracle.ps1 b/coin/provisioning/qtci-windows-11_23H2-x86_64/90-install-oracle.ps1 new file mode 100644 index 00000000..54697097 --- /dev/null +++ b/coin/provisioning/qtci-windows-11_23H2-x86_64/90-install-oracle.ps1 @@ -0,0 +1 @@ +. "$PSScriptRoot\..\common\windows\install-oracle.ps1"