mirror of
https://github.com/kata-containers/kata-containers.git
synced 2025-10-22 04:18:53 +00:00
Differently than every single other bit that's part of our repo, QEMU has been using a single Dockerfile that prepares an environment where the project can be built, but *also* building the project as part of that very same Dockerfile. This is a problem, for several different reasons, including: * It's very hard to have a reproducible build if you don't have an archived image of the builder * One cannot cache / ipload the image of the builder, as that contains already a specific version of QEMU * Every single CI run we end up building the builder image, which includes building dependencies (such as liburing) Let's split the logic into a new build script, and pass the build script to be executed inside the builder image, which will be only responsible for providing an environment where QEMU can be built. Fixes: #5464 Signed-off-by: Fabiano Fidêncio <fabiano.fidencio@intel.com>
29 lines
962 B
Bash
Executable File
29 lines
962 B
Bash
Executable File
#!/usr/bin/env bash
|
|
#
|
|
# Copyright (c) 2022 Intel Corporation
|
|
#
|
|
# SPDX-License-Identifier: Apache-2.0
|
|
|
|
set -o errexit
|
|
set -o nounset
|
|
set -o pipefail
|
|
|
|
kata_packaging_dir="/root/kata-containers/tools/packaging"
|
|
kata_packaging_scripts="${kata_packaging_dir}/scripts"
|
|
|
|
kata_static_build_dir="${kata_packaging_dir}/static-build"
|
|
kata_static_build_scripts="${kata_static_build_dir}/scripts"
|
|
|
|
git clone --depth=1 "${QEMU_REPO}" qemu
|
|
pushd qemu
|
|
git fetch --depth=1 origin "${QEMU_VERSION}"
|
|
git checkout FETCH_HEAD
|
|
scripts/git-submodule.sh update meson capstone
|
|
${kata_packaging_scripts}/patch_qemu.sh "${QEMU_VERSION}" "${kata_packaging_dir}/qemu/patches"
|
|
PREFIX="${PREFIX}" ${kata_packaging_scripts}/configure-hypervisor.sh -s "${HYPERVISOR_NAME}" | xargs ./configure --with-pkgversion="${PKGVERSION}"
|
|
make -j"$(nproc +--ignore 1)"
|
|
make install DESTDIR="${QEMU_DESTDIR}"
|
|
popd
|
|
${kata_static_build_scripts}/qemu-build-post.sh
|
|
mv "${QEMU_DESTDIR}/${QEMU_TARBALL}" /share/
|