mirror of
				https://github.com/kata-containers/kata-containers.git
				synced 2025-10-31 01:13:02 +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:
		| @@ -1,8 +1,16 @@ | ||||
| # Copyright (c) 2020 Intel Corporation | ||||
| # | ||||
| # SPDX-License-Identifier: Apache-2.0 | ||||
| # | ||||
|  | ||||
| MK_DIR :=$(shell dirname $(realpath $(lastword $(MAKEFILE_LIST)))) | ||||
| CONFIG_DIR := $(MK_DIR)/../../scripts/ | ||||
|  | ||||
| build: | ||||
| 	"$(MK_DIR)/build-static-qemu.sh" | ||||
|  | ||||
| build-experimental: | ||||
| 	"$(MK_DIR)/build-static-qemu-experimental.sh" | ||||
|  | ||||
| clean: | ||||
| 	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)" | ||||
|  | ||||
| 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_version="${qemu_version:-}" | ||||
| kata_version="${kata_version:-}" | ||||
|  | ||||
| if [ -z "$qemu_repo" ]; then | ||||
| 	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" | ||||
| 	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.version" "${kata_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" ] || qemu_version=$(get_from_kata_deps "assets.hypervisor.qemu.version") | ||||
| [ -n "$qemu_version" ] || die "failed to get qemu version" | ||||
|  | ||||
| info "Build ${qemu_repo} version: ${qemu_version}" | ||||
|  | ||||
| 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}" | ||||
| "${script_dir}/build-base-qemu.sh" "${qemu_repo}" "${qemu_version}" "" "kata-static-qemu.tar.gz" | ||||
|   | ||||
		Reference in New Issue
	
	Block a user