Files
Fabiano Fidêncio 599a0944f0 tools: Fix shellcheck issues in build.sh
Fix shellcheck warnings and notes identified by running
shellcheck --severity=style.

Signed-off-by: Fabiano Fidêncio <ffidencio@nvidia.com>
2026-04-24 08:14:08 +02:00

78 lines
2.4 KiB
Bash
Executable File

#!/usr/bin/env bash
#
# Copyright (c) 2022 Intel
#
# SPDX-License-Identifier: Apache-2.0
set -o errexit
set -o nounset
set -o pipefail
script_dir="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
readonly virtiofsd_builder="${script_dir}/build-static-virtiofsd.sh"
# shellcheck source=/dev/null
source "${script_dir}/../../scripts/lib.sh"
ARCH=${ARCH:-$(uname -m)}
DESTDIR=${DESTDIR:-${PWD}}
PREFIX=${PREFIX:-/opt/kata}
kata_version="${kata_version:-}"
virtiofsd_repo="${virtiofsd_repo:-}"
virtiofsd_version="${virtiofsd_version:-}"
virtiofsd_toolchain="${virtiofsd_toolchain:-}"
virtiofsd_zip="${virtiofsd_zip:-}"
package_output_dir="${package_output_dir:-}"
[[ -n "${virtiofsd_repo}" ]] || virtiofsd_repo=$(get_from_kata_deps ".externals.virtiofsd.url")
[[ -n "${virtiofsd_version}" ]] || virtiofsd_version=$(get_from_kata_deps ".externals.virtiofsd.version")
[[ -n "${virtiofsd_toolchain}" ]] || virtiofsd_toolchain=$(get_from_kata_deps ".externals.virtiofsd.toolchain")
[[ -n "${virtiofsd_zip}" ]] || virtiofsd_zip=$(get_from_kata_deps ".externals.virtiofsd.meta.binary")
[[ -n "${virtiofsd_repo}" ]] || die "Failed to get virtiofsd repo"
[[ -n "${virtiofsd_version}" ]] || die "Failed to get virtiofsd version or commit"
[[ -n "${virtiofsd_toolchain}" ]] || die "Failed to get the rust toolchain to build virtiofsd"
case ${ARCH} in
"aarch64")
libc="musl"
;;
"ppc64le")
libc="gnu"
;;
"riscv64")
libc="gnu"
;;
"s390x")
libc="gnu"
;;
"x86_64")
libc="musl"
;;
esac
container_image="${VIRTIOFSD_CONTAINER_BUILDER:-$(get_virtiofsd_image_name)}"
# shellcheck disable=SC2154
[[ "${CROSS_BUILD}" == "true" ]] && container_image="${container_image}-cross-build"
# shellcheck disable=SC2154,SC2086
docker pull "${container_image}" || \
(docker ${BUILDX} build ${PLATFORM} \
--build-arg RUST_TOOLCHAIN="${virtiofsd_toolchain}" \
-t "${container_image}" "${script_dir}/${libc}" && \
# No-op unless PUSH_TO_REGISTRY is exported as "yes"
push_to_registry "${container_image}")
# shellcheck disable=SC2154
docker run --rm -i -v "${repo_root_dir}:${repo_root_dir}" \
-w "${PWD}" \
--env DESTDIR="${DESTDIR}" \
--env PREFIX="${PREFIX}" \
--env virtiofsd_repo="${virtiofsd_repo}" \
--env virtiofsd_version="${virtiofsd_version}" \
--env virtiofsd_zip="${virtiofsd_zip}" \
--env ARCH="${ARCH}" \
--user "$(id -u)":"$(id -g)" \
"${container_image}" \
bash -c "${virtiofsd_builder}"