mirror of
https://github.com/kata-containers/kata-containers.git
synced 2025-08-06 10:34:41 +00:00
shellcheck: fix kernel/build.sh
Refactor code to make shellcheck happy Signed-off-by: Zvonko Kaiser <zkaiser@nvidia.com>
This commit is contained in:
parent
75d23b8884
commit
ca4f96ed00
@ -10,8 +10,13 @@ set -o pipefail
|
|||||||
|
|
||||||
script_dir="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
|
script_dir="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
|
||||||
|
|
||||||
|
# shellcheck disable=SC1091 # import based on variable
|
||||||
source "${script_dir}/../../scripts/lib.sh"
|
source "${script_dir}/../../scripts/lib.sh"
|
||||||
|
|
||||||
|
# repo_root_dir is defined in lib.sh make sure it is set
|
||||||
|
repo_root_dir="${repo_root_dir:-}"
|
||||||
|
|
||||||
|
[[ -n "${repo_root_dir}" ]] || die "repo_root_dir is not set"
|
||||||
readonly kernel_builder="${repo_root_dir}/tools/packaging/kernel/build-kernel.sh"
|
readonly kernel_builder="${repo_root_dir}/tools/packaging/kernel/build-kernel.sh"
|
||||||
readonly initramfs_builder="${repo_root_dir}/tools/packaging/static-build/initramfs/build.sh"
|
readonly initramfs_builder="${repo_root_dir}/tools/packaging/static-build/initramfs/build.sh"
|
||||||
|
|
||||||
@ -23,10 +28,10 @@ PREFIX=${PREFIX:-/opt/kata}
|
|||||||
container_image="${KERNEL_CONTAINER_BUILDER:-$(get_kernel_image_name)}"
|
container_image="${KERNEL_CONTAINER_BUILDER:-$(get_kernel_image_name)}"
|
||||||
MEASURED_ROOTFS=${MEASURED_ROOTFS:-no}
|
MEASURED_ROOTFS=${MEASURED_ROOTFS:-no}
|
||||||
KBUILD_SIGN_PIN="${KBUILD_SIGN_PIN:-}"
|
KBUILD_SIGN_PIN="${KBUILD_SIGN_PIN:-}"
|
||||||
kernel_builder_args="-a ${ARCH} $*"
|
kernel_builder_args="-a ${ARCH:-} $*"
|
||||||
KERNEL_DEBUG_ENABLED=${KERNEL_DEBUG_ENABLED:-"no"}
|
KERNEL_DEBUG_ENABLED=${KERNEL_DEBUG_ENABLED:-"no"}
|
||||||
|
|
||||||
if [ "${MEASURED_ROOTFS}" == "yes" ]; then
|
if [[ "${MEASURED_ROOTFS}" == "yes" ]]; then
|
||||||
info "build initramfs for cc kernel"
|
info "build initramfs for cc kernel"
|
||||||
"${initramfs_builder}"
|
"${initramfs_builder}"
|
||||||
# Turn on the flag to build the kernel with support to
|
# Turn on the flag to build the kernel with support to
|
||||||
@ -34,43 +39,59 @@ if [ "${MEASURED_ROOTFS}" == "yes" ]; then
|
|||||||
kernel_builder_args+=" -m"
|
kernel_builder_args+=" -m"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
if [ "${CROSS_BUILD}" == "true" ]; then
|
if [[ "${CROSS_BUILD:-}" == "true" ]]; then
|
||||||
container_image="${container_image}-${ARCH}-cross-build"
|
container_image="${container_image}-${ARCH:-}-cross-build"
|
||||||
# Need to build a s390x image due to an issue at
|
# Need to build a s390x image due to an issue at
|
||||||
# https://github.com/kata-containers/kata-containers/pull/6586#issuecomment-1603189242
|
# https://github.com/kata-containers/kata-containers/pull/6586#issuecomment-1603189242
|
||||||
if [ ${ARCH} == "s390x" ]; then
|
if [[ ${ARCH:-} == "s390x" ]]; then
|
||||||
BUILDX="buildx"
|
BUILDX="buildx"
|
||||||
PLATFORM="--platform=linux/s390x"
|
PLATFORM="--platform=linux/s390x"
|
||||||
fi
|
fi
|
||||||
fi
|
fi
|
||||||
|
|
||||||
docker pull ${container_image} || \
|
container_engine=${CONTAINER_ENGINE:-"docker"}
|
||||||
(docker ${BUILDX} build ${PLATFORM} \
|
container_build=${container_engine}
|
||||||
--build-arg ARCH=${ARCH} -t "${container_image}" "${script_dir}" && \
|
|
||||||
# No-op unless PUSH_TO_REGISTRY is exported as "yes"
|
|
||||||
push_to_registry "${container_image}")
|
|
||||||
|
|
||||||
docker run --rm -i -v "${repo_root_dir}:${repo_root_dir}" \
|
if [[ -n "${BUILDX}" ]]; then
|
||||||
|
container_build+=" ${BUILDX}"
|
||||||
|
fi
|
||||||
|
|
||||||
|
container_build+=" build"
|
||||||
|
|
||||||
|
if [[ -n "${PLATFORM}" ]]; then
|
||||||
|
container_build+=" ${PLATFORM}"
|
||||||
|
fi
|
||||||
|
|
||||||
|
container_build+=" --build-arg ARCH=${ARCH:-}"
|
||||||
|
|
||||||
|
"${container_engine}" pull "${container_image}" || \
|
||||||
|
{
|
||||||
|
${container_build} -t "${container_image}" "${script_dir}" && \
|
||||||
|
# No-op unless PUSH_TO_REGISTRY is exported as "yes"
|
||||||
|
push_to_registry "${container_image}";
|
||||||
|
}
|
||||||
|
|
||||||
|
"${container_engine}" run --rm -i -v "${repo_root_dir}:${repo_root_dir}" \
|
||||||
-w "${PWD}" \
|
-w "${PWD}" \
|
||||||
--env KERNEL_DEBUG_ENABLED="${KERNEL_DEBUG_ENABLED}" \
|
--env KERNEL_DEBUG_ENABLED="${KERNEL_DEBUG_ENABLED}" \
|
||||||
--user "$(id -u)":"$(id -g)" \
|
--user "$(id -u)":"$(id -g)" \
|
||||||
"${container_image}" \
|
"${container_image}" \
|
||||||
bash -c "${kernel_builder} ${kernel_builder_args} setup"
|
bash -c "${kernel_builder} ${kernel_builder_args} setup"
|
||||||
|
|
||||||
docker run --rm -i -v "${repo_root_dir}:${repo_root_dir}" \
|
"${container_engine}" run --rm -i -v "${repo_root_dir}:${repo_root_dir}" \
|
||||||
-w "${PWD}" \
|
-w "${PWD}" \
|
||||||
--user "$(id -u)":"$(id -g)" \
|
--user "$(id -u)":"$(id -g)" \
|
||||||
"${container_image}" \
|
"${container_image}" \
|
||||||
bash -c "${kernel_builder} ${kernel_builder_args} build"
|
bash -c "${kernel_builder} ${kernel_builder_args} build"
|
||||||
|
|
||||||
docker run --rm -i -v "${repo_root_dir}:${repo_root_dir}" \
|
"${container_engine}" run --rm -i -v "${repo_root_dir}:${repo_root_dir}" \
|
||||||
-w "${PWD}" \
|
-w "${PWD}" \
|
||||||
--env DESTDIR="${DESTDIR}" --env PREFIX="${PREFIX}" \
|
--env DESTDIR="${DESTDIR}" --env PREFIX="${PREFIX}" \
|
||||||
--user "$(id -u)":"$(id -g)" \
|
--user "$(id -u)":"$(id -g)" \
|
||||||
"${container_image}" \
|
"${container_image}" \
|
||||||
bash -c "${kernel_builder} ${kernel_builder_args} install"
|
bash -c "${kernel_builder} ${kernel_builder_args} install"
|
||||||
|
|
||||||
docker run --rm -i -v "${repo_root_dir}:${repo_root_dir}" \
|
"${container_engine}" run --rm -i -v "${repo_root_dir}:${repo_root_dir}" \
|
||||||
-w "${PWD}" \
|
-w "${PWD}" \
|
||||||
--env DESTDIR="${DESTDIR}" --env PREFIX="${PREFIX}" \
|
--env DESTDIR="${DESTDIR}" --env PREFIX="${PREFIX}" \
|
||||||
--env USER="${USER}" \
|
--env USER="${USER}" \
|
||||||
|
Loading…
Reference in New Issue
Block a user