From c6c18d6bf910c78037b074290b3f05044da859d9 Mon Sep 17 00:00:00 2001 From: Alexandru Croitor Date: Wed, 16 Oct 2024 11:05:32 +0200 Subject: [PATCH] coin: Provision ninja 1.12.1 for RHEL 8.10 and 9.2 It is needed to successfully build Qt with CMake 3.30. Fixes: QTQAINFRA-6484 Change-Id: I70b7d91571f5b20a008947eb0837dd8351965665 Reviewed-by: Joerg Bornemann (cherry picked from commit da3c68ba0cc4c6f6722d0b1af8d84e88e03ba9d0) Reviewed-by: Qt Cherry-pick Bot --- .../common/linux/install-ninja.sh | 42 +++++++++++++++++++ .../05-install-ninja.sh | 8 ++++ .../05-install-ninja.sh | 8 ++++ 3 files changed, 58 insertions(+) create mode 100755 coin/provisioning/common/linux/install-ninja.sh create mode 100644 coin/provisioning/qtci-linux-RHEL-8.10-x86_64/05-install-ninja.sh create mode 100644 coin/provisioning/qtci-linux-RHEL-9.2-x86_64/05-install-ninja.sh diff --git a/coin/provisioning/common/linux/install-ninja.sh b/coin/provisioning/common/linux/install-ninja.sh new file mode 100755 index 00000000..b89fc9da --- /dev/null +++ b/coin/provisioning/common/linux/install-ninja.sh @@ -0,0 +1,42 @@ +#!/usr/bin/env bash +# Copyright (C) 2023 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 + +# shellcheck source=../unix/DownloadURL.sh +source "${BASH_SOURCE%/*}/../unix/DownloadURL.sh" +# shellcheck source=../unix/SetEnvVar.sh +source "${BASH_SOURCE%/*}/../unix/SetEnvVar.sh" + +# This script will install ninja +version="1.12.1" + +uname_m="$(uname -m)" +case "$uname_m" in + x86_64|amd64) + sha256="6f98805688d19672bd699fbbfa2c2cf0fc054ac3df1f0e6a47664d963d530255" + pkgname="ninja-$version-linux-x64.zip" + dirname="ninja-$version-linux-x64" + ;; + arm64|aarch64) + sha256="5c25c6570b0155e95fce5918cb95f1ad9870df5768653afe128db822301a05a1" + pkgname="ninja-$version-linux-arm64.zip" + dirname="ninja-$version-linux-arm64" + ;; + *) fatal "Unknown architecture in uname: $uname_m" 43 ;; +esac + +internalUrl="http://ci-files01-hki.ci.qt.io/input/ninja/$pkgname" +externalUrl="https://github.com/ninja-build/ninja/releases/download/v$version/$pkgname" + +targetFile="$HOME/$pkgname" +DownloadURL "$internalUrl" "$externalUrl" "$sha256" "$targetFile" +echo "Installing ninja ${version}" +sudo unzip -o -q ${targetFile} -d "${HOME}/${dirname}" +rm "$targetFile" + +installPrefix="/opt/$dirname" +sudo mv "$HOME/$dirname" "$installPrefix" + +SetEnvVar "PATH" "$installPrefix:\$PATH" + +echo "ninja = $version" >> ~/versions.txt diff --git a/coin/provisioning/qtci-linux-RHEL-8.10-x86_64/05-install-ninja.sh b/coin/provisioning/qtci-linux-RHEL-8.10-x86_64/05-install-ninja.sh new file mode 100644 index 00000000..adbb6349 --- /dev/null +++ b/coin/provisioning/qtci-linux-RHEL-8.10-x86_64/05-install-ninja.sh @@ -0,0 +1,8 @@ +#!/usr/bin/env bash +#Copyright (C) 2023 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-ninja.sh" diff --git a/coin/provisioning/qtci-linux-RHEL-9.2-x86_64/05-install-ninja.sh b/coin/provisioning/qtci-linux-RHEL-9.2-x86_64/05-install-ninja.sh new file mode 100644 index 00000000..adbb6349 --- /dev/null +++ b/coin/provisioning/qtci-linux-RHEL-9.2-x86_64/05-install-ninja.sh @@ -0,0 +1,8 @@ +#!/usr/bin/env bash +#Copyright (C) 2023 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-ninja.sh"