mirror of
https://github.com/kata-containers/kata-containers.git
synced 2025-06-22 13:38:26 +00:00
qemu: Build experimental qemu.
Split qemu script to build qemu experimental using same dockerfile. Fixes: #1421 Depends-on: github.com/kata-containers/tests#3255 Signed-off-by: Carlos Venegas <jos.c.venegas.munoz@intel.com>
This commit is contained in:
parent
b0e51e59fa
commit
f79105231c
@ -1,8 +1,16 @@
|
|||||||
|
# Copyright (c) 2020 Intel Corporation
|
||||||
|
#
|
||||||
|
# SPDX-License-Identifier: Apache-2.0
|
||||||
|
#
|
||||||
|
|
||||||
MK_DIR :=$(shell dirname $(realpath $(lastword $(MAKEFILE_LIST))))
|
MK_DIR :=$(shell dirname $(realpath $(lastword $(MAKEFILE_LIST))))
|
||||||
CONFIG_DIR := $(MK_DIR)/../../scripts/
|
CONFIG_DIR := $(MK_DIR)/../../scripts/
|
||||||
|
|
||||||
build:
|
build:
|
||||||
"$(MK_DIR)/build-static-qemu.sh"
|
"$(MK_DIR)/build-static-qemu.sh"
|
||||||
|
|
||||||
|
build-experimental:
|
||||||
|
"$(MK_DIR)/build-static-qemu-experimental.sh"
|
||||||
|
|
||||||
clean:
|
clean:
|
||||||
rm -f kata-qemu-static.tar.gz
|
rm -f kata-qemu-static.tar.gz
|
||||||
|
55
tools/packaging/static-build/qemu/build-base-qemu.sh
Executable file
55
tools/packaging/static-build/qemu/build-base-qemu.sh
Executable file
@ -0,0 +1,55 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
#
|
||||||
|
# Copyright (c) 2018 Intel Corporation
|
||||||
|
#
|
||||||
|
# SPDX-License-Identifier: Apache-2.0
|
||||||
|
|
||||||
|
set -o errexit
|
||||||
|
set -o nounset
|
||||||
|
set -o pipefail
|
||||||
|
|
||||||
|
script_dir="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
|
||||||
|
|
||||||
|
source "${script_dir}/../../scripts/lib.sh"
|
||||||
|
source "${script_dir}/../qemu.blacklist"
|
||||||
|
|
||||||
|
packaging_dir="${script_dir}/../.."
|
||||||
|
qemu_destdir="/tmp/qemu-static/"
|
||||||
|
|
||||||
|
qemu_repo="${qemu_repo:-$1}"
|
||||||
|
qemu_version="${qemu_version:-$2}"
|
||||||
|
build_suffix="${3:-}"
|
||||||
|
qemu_tar="${4:-}"
|
||||||
|
|
||||||
|
[ -n "$qemu_repo" ] || die "qemu repo not provided"
|
||||||
|
[ -n "$qemu_version" ] || die "qemu version not provided"
|
||||||
|
|
||||||
|
info "Build ${qemu_repo} version: ${qemu_version}"
|
||||||
|
|
||||||
|
http_proxy="${http_proxy:-}"
|
||||||
|
https_proxy="${https_proxy:-}"
|
||||||
|
prefix="${prefix:-"/opt/kata"}"
|
||||||
|
|
||||||
|
CACHE_TIMEOUT=$(date +"%Y-%m-%d")
|
||||||
|
|
||||||
|
sudo docker build \
|
||||||
|
--build-arg CACHE_TIMEOUT="${CACHE_TIMEOUT}" \
|
||||||
|
--build-arg BUILD_SUFFIX="${build_suffix}" \
|
||||||
|
--build-arg http_proxy="${http_proxy}" \
|
||||||
|
--build-arg https_proxy="${https_proxy}" \
|
||||||
|
--build-arg QEMU_DESTDIR="${qemu_destdir}" \
|
||||||
|
--build-arg QEMU_REPO="${qemu_repo}" \
|
||||||
|
--build-arg QEMU_VERSION="${qemu_version}" \
|
||||||
|
--build-arg QEMU_TARBALL="${qemu_tar}" \
|
||||||
|
--build-arg PREFIX="${prefix}" \
|
||||||
|
"${packaging_dir}" \
|
||||||
|
-f "${script_dir}/Dockerfile" \
|
||||||
|
-t qemu-static
|
||||||
|
|
||||||
|
sudo docker run \
|
||||||
|
--rm \
|
||||||
|
-i \
|
||||||
|
-v "${PWD}":/share qemu-static \
|
||||||
|
mv "${qemu_destdir}/${qemu_tar}" /share/
|
||||||
|
|
||||||
|
sudo chown ${USER}:${USER} "${PWD}/${qemu_tar}"
|
29
tools/packaging/static-build/qemu/build-static-qemu-experimental.sh
Executable file
29
tools/packaging/static-build/qemu/build-static-qemu-experimental.sh
Executable file
@ -0,0 +1,29 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
#
|
||||||
|
# Copyright (c) 2018 Intel Corporation
|
||||||
|
#
|
||||||
|
# SPDX-License-Identifier: Apache-2.0
|
||||||
|
|
||||||
|
set -o errexit
|
||||||
|
set -o nounset
|
||||||
|
set -o pipefail
|
||||||
|
|
||||||
|
script_dir="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
|
||||||
|
|
||||||
|
source "${script_dir}/../../scripts/lib.sh"
|
||||||
|
|
||||||
|
qemu_repo="${qemu_repo:-}"
|
||||||
|
qemu_version="${qemu_version:-}"
|
||||||
|
|
||||||
|
if [ -z "$qemu_repo" ]; then
|
||||||
|
info "Get qemu information from runtime versions.yaml"
|
||||||
|
qemu_url=$(get_from_kata_deps "assets.hypervisor.qemu-experimental.url")
|
||||||
|
[ -n "$qemu_url" ] || die "failed to get qemu url"
|
||||||
|
qemu_repo="${qemu_url}.git"
|
||||||
|
fi
|
||||||
|
[ -n "$qemu_repo" ] || die "failed to get qemu repo"
|
||||||
|
|
||||||
|
[ -n "$qemu_version" ] || qemu_version=$(get_from_kata_deps "assets.hypervisor.qemu-experimental.version")
|
||||||
|
[ -n "$qemu_version" ] || die "failed to get qemu version"
|
||||||
|
|
||||||
|
"${script_dir}/build-base-qemu.sh" "${qemu_repo}" "${qemu_version}" "-experimental" "kata-static-qemu-experimental.tar.gz"
|
@ -11,54 +11,19 @@ set -o pipefail
|
|||||||
script_dir="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
|
script_dir="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
|
||||||
|
|
||||||
source "${script_dir}/../../scripts/lib.sh"
|
source "${script_dir}/../../scripts/lib.sh"
|
||||||
source "${script_dir}/../qemu.blacklist"
|
|
||||||
|
|
||||||
packaging_dir="${script_dir}/../.."
|
|
||||||
qemu_tar="kata-static-qemu.tar.gz"
|
|
||||||
qemu_tmp_tar="kata-static-qemu-tmp.tar.gz"
|
|
||||||
qemu_destdir="/tmp/qemu-static/"
|
|
||||||
|
|
||||||
qemu_repo="${qemu_repo:-}"
|
qemu_repo="${qemu_repo:-}"
|
||||||
qemu_version="${qemu_version:-}"
|
qemu_version="${qemu_version:-}"
|
||||||
kata_version="${kata_version:-}"
|
|
||||||
|
|
||||||
if [ -z "$qemu_repo" ]; then
|
if [ -z "$qemu_repo" ]; then
|
||||||
info "Get qemu information from runtime versions.yaml"
|
info "Get qemu information from runtime versions.yaml"
|
||||||
qemu_url=$(get_from_kata_deps "assets.hypervisor.qemu.url" "${kata_version}")
|
qemu_url=$(get_from_kata_deps "assets.hypervisor.qemu.url")
|
||||||
[ -n "$qemu_url" ] || die "failed to get qemu url"
|
[ -n "$qemu_url" ] || die "failed to get qemu url"
|
||||||
qemu_repo="${qemu_url}.git"
|
qemu_repo="${qemu_url}.git"
|
||||||
fi
|
fi
|
||||||
[ -n "$qemu_repo" ] || die "failed to get qemu repo"
|
[ -n "$qemu_repo" ] || die "failed to get qemu repo"
|
||||||
|
|
||||||
[ -n "$qemu_version" ] || qemu_version=$(get_from_kata_deps "assets.hypervisor.qemu.version" "${kata_version}")
|
[ -n "$qemu_version" ] || qemu_version=$(get_from_kata_deps "assets.hypervisor.qemu.version")
|
||||||
if ! (git ls-remote --heads "${qemu_url}" | grep -q "refs/heads/${qemu_version}"); then
|
|
||||||
qemu_version=$(get_from_kata_deps "assets.hypervisor.qemu.tag" "${kata_version}")
|
|
||||||
fi
|
|
||||||
[ -n "$qemu_version" ] || die "failed to get qemu version"
|
[ -n "$qemu_version" ] || die "failed to get qemu version"
|
||||||
|
|
||||||
info "Build ${qemu_repo} version: ${qemu_version}"
|
"${script_dir}/build-base-qemu.sh" "${qemu_repo}" "${qemu_version}" "" "kata-static-qemu.tar.gz"
|
||||||
|
|
||||||
http_proxy="${http_proxy:-}"
|
|
||||||
https_proxy="${https_proxy:-}"
|
|
||||||
prefix="${prefix:-"/opt/kata"}"
|
|
||||||
|
|
||||||
sudo docker build \
|
|
||||||
--no-cache \
|
|
||||||
--build-arg http_proxy="${http_proxy}" \
|
|
||||||
--build-arg https_proxy="${https_proxy}" \
|
|
||||||
--build-arg QEMU_DESTDIR="${qemu_destdir}" \
|
|
||||||
--build-arg QEMU_REPO="${qemu_repo}" \
|
|
||||||
--build-arg QEMU_VERSION="${qemu_version}" \
|
|
||||||
--build-arg QEMU_TARBALL="${qemu_tar}" \
|
|
||||||
--build-arg PREFIX="${prefix}" \
|
|
||||||
"${packaging_dir}" \
|
|
||||||
-f "${script_dir}/Dockerfile" \
|
|
||||||
-t qemu-static
|
|
||||||
|
|
||||||
sudo docker run \
|
|
||||||
--rm \
|
|
||||||
-i \
|
|
||||||
-v "${PWD}":/share qemu-static \
|
|
||||||
mv "${qemu_destdir}/${qemu_tar}" /share/
|
|
||||||
|
|
||||||
sudo chown ${USER}:${USER} "${PWD}/${qemu_tar}"
|
|
||||||
|
Loading…
Reference in New Issue
Block a user