From df4d7fb42dfb88ccc0a73a337d03bbce44cf6101 Mon Sep 17 00:00:00 2001 From: Liang Qi Date: Fri, 6 Sep 2024 08:45:19 +0200 Subject: [PATCH] sccache: Add arm linux support MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Change-Id: I630cdc7bbff320c6ca8e17b33f0e9fc05f6a63af Reviewed-by: Simo Fält Reviewed-by: Liang Qi (cherry picked from commit cad194524e940aab61be3fdc943235a31c668de6) Reviewed-by: Qt Cherry-pick Bot --- coin/provisioning/common/linux/sccache.sh | 11 +++++++++-- coin/provisioning/common/unix/sccache.sh | 4 ++++ .../qtci-linux-Debian-11.6-aarch64/20-sccache.sh | 3 +++ .../qtci-linux-Ubuntu-22.04-aarch64/20-sccache.sh | 3 +++ .../qtci-linux-Ubuntu-24.04-aarch64/20-sccache.sh | 3 +++ 5 files changed, 22 insertions(+), 2 deletions(-) create mode 100755 coin/provisioning/qtci-linux-Debian-11.6-aarch64/20-sccache.sh create mode 100755 coin/provisioning/qtci-linux-Ubuntu-22.04-aarch64/20-sccache.sh create mode 100755 coin/provisioning/qtci-linux-Ubuntu-24.04-aarch64/20-sccache.sh diff --git a/coin/provisioning/common/linux/sccache.sh b/coin/provisioning/common/linux/sccache.sh index 5e4969b3..b7e60187 100755 --- a/coin/provisioning/common/linux/sccache.sh +++ b/coin/provisioning/common/linux/sccache.sh @@ -6,7 +6,14 @@ set -ex source "${BASH_SOURCE%/*}/../unix/sccache.sh" -targetArch=x86_64-unknown-linux-musl targetVersion=0.2.14 -sha1=281680c0fc2c09173e94d12ba45d9f1b8e62e5b3 + +if [[ $(uname -m) == 'aarch64' ]]; then + targetArch=aarch64-unknown-linux-musl + sha1=0f9b57c423d77f7aa89bb642864ac7689d84d6a0 +else + targetArch=x86_64-unknown-linux-musl + sha1=281680c0fc2c09173e94d12ba45d9f1b8e62e5b3 +fi + installSccache "$targetArch" "$targetVersion" "$sha1" diff --git a/coin/provisioning/common/unix/sccache.sh b/coin/provisioning/common/unix/sccache.sh index 8a403ba7..ab4ffd3c 100755 --- a/coin/provisioning/common/unix/sccache.sh +++ b/coin/provisioning/common/unix/sccache.sh @@ -19,6 +19,7 @@ function installSccache { sudo mkdir -p /usr/local/sccache sudo tar -C /usr/local/sccache -x -z --totals --strip-components=1 --file="$targetFile" + sudo chmod +x /usr/local/sccache/sccache # add sccache __before__ the real compiler SetEnvVar "PATH" "/usr/local/sccache:\$PATH" @@ -32,4 +33,7 @@ function installSccache { chmod 755 "$HOME/sccache_wrapper/sccache" SetEnvVar "PATH" "$HOME/sccache_wrapper:\$PATH" + # Prevents some random network I/O errors from failing compilation + # Does not seem to affect much though + SetEnvVar "SCCACHE_IGNORE_SERVER_IO_ERROR" "1" } diff --git a/coin/provisioning/qtci-linux-Debian-11.6-aarch64/20-sccache.sh b/coin/provisioning/qtci-linux-Debian-11.6-aarch64/20-sccache.sh new file mode 100755 index 00000000..b371d947 --- /dev/null +++ b/coin/provisioning/qtci-linux-Debian-11.6-aarch64/20-sccache.sh @@ -0,0 +1,3 @@ +#!/usr/bin/env bash + +source "${BASH_SOURCE%/*}/../common/linux/sccache.sh" diff --git a/coin/provisioning/qtci-linux-Ubuntu-22.04-aarch64/20-sccache.sh b/coin/provisioning/qtci-linux-Ubuntu-22.04-aarch64/20-sccache.sh new file mode 100755 index 00000000..b371d947 --- /dev/null +++ b/coin/provisioning/qtci-linux-Ubuntu-22.04-aarch64/20-sccache.sh @@ -0,0 +1,3 @@ +#!/usr/bin/env bash + +source "${BASH_SOURCE%/*}/../common/linux/sccache.sh" diff --git a/coin/provisioning/qtci-linux-Ubuntu-24.04-aarch64/20-sccache.sh b/coin/provisioning/qtci-linux-Ubuntu-24.04-aarch64/20-sccache.sh new file mode 100755 index 00000000..b371d947 --- /dev/null +++ b/coin/provisioning/qtci-linux-Ubuntu-24.04-aarch64/20-sccache.sh @@ -0,0 +1,3 @@ +#!/usr/bin/env bash + +source "${BASH_SOURCE%/*}/../common/linux/sccache.sh"