From 512e79f61acf7a29bd1e6045e76041f1ba7e2aa5 Mon Sep 17 00:00:00 2001 From: Eric Ernst Date: Tue, 6 Oct 2020 09:36:27 -0700 Subject: [PATCH] packaging: cleaning, updating based on new filepaths Update scripts to take into account some files being moved, and some general cleanup. Fixes: #866 Signed-off-by: Eric Ernst --- .../generate-local-artifact-tarball.sh | 4 ++-- tools/packaging/Makefile | 17 ++------------ tools/packaging/guest-image/build_image.sh | 14 ++++++------ .../packaging/release/kata-deploy-binaries.sh | 22 ++++++++++--------- 4 files changed, 23 insertions(+), 34 deletions(-) diff --git a/.github/workflows/generate-local-artifact-tarball.sh b/.github/workflows/generate-local-artifact-tarball.sh index d14d30fbfc..3ae4ee6699 100755 --- a/.github/workflows/generate-local-artifact-tarball.sh +++ b/.github/workflows/generate-local-artifact-tarball.sh @@ -18,9 +18,9 @@ main() { fi tag=$(echo $GITHUB_REF | cut -d/ -f3-) - pushd $GITHUB_WORKSPACE/tools/packaging/obs-packaging + pushd $GITHUB_WORKSPACE/tools/packaging git checkout $tag - ./gen_versions_txt.sh $tag + ./scripts/gen_versions_txt.sh $tag popd pushd $GITHUB_WORKSPACE/tools/packaging/release diff --git a/tools/packaging/Makefile b/tools/packaging/Makefile index d33e31914d..651e2f2012 100644 --- a/tools/packaging/Makefile +++ b/tools/packaging/Makefile @@ -8,7 +8,7 @@ MK_DIR :=$(shell dirname $(realpath $(lastword $(MAKEFILE_LIST)))) SED := sed YQ := $(MK_DIR)/yq -SNAPCRAFT_FILE := snap/snapcraft.yaml +SNAPCRAFT_FILE := ../../snap/snapcraft.yaml VERSIONS_YAML_FILE := ../../versions.yaml VERSION_FILE := ../../VERSION @@ -18,20 +18,10 @@ export SNAPCRAFT_FILE export VERSION_FILE export VERSIONS_YAML_FILE -test: - @$(MK_DIR)/.ci/test.sh - -test-release-tools: - @$(MK_DIR)/release/tag_repos_test.sh - @$(MK_DIR)/release/update-repository-version_test.sh - test-static-build: @make -f $(MK_DIR)/static-build/qemu/Makefile @make -f $(MK_DIR)/static-build/firecracker/Makefile -test-packaging-tools: - @$(MK_DIR)/obs-packaging/build_from_docker.sh - $(YQ): @bash -c "source scripts/lib.sh; install_yq $${MK_DIR}" @@ -41,10 +31,7 @@ snap: $(YQ) fi snapcraft -d -obs-test: - @$(MK_DIR)/tests/run_obs_testing.sh - cmd-kata-pkgsync: @make -C $(MK_DIR)/cmd/kata-pkgsync -.PHONY: test test-release-tools test-static-build test-packaging-tools snap cmd-kata-pkgsync +.PHONY: test-static-build snap cmd-kata-pkgsync diff --git a/tools/packaging/guest-image/build_image.sh b/tools/packaging/guest-image/build_image.sh index fdd16f6021..979064cd3e 100755 --- a/tools/packaging/guest-image/build_image.sh +++ b/tools/packaging/guest-image/build_image.sh @@ -13,12 +13,13 @@ set -o pipefail readonly script_name="$(basename "${BASH_SOURCE[0]}")" readonly script_dir="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)" +readonly repo_root_dir="$(cd "${script_dir}/../../../" && pwd)" +readonly osbuilder_dir="$(cd "${repo_root_dir}/tools/osbuilder" && pwd)" readonly tmp_dir=$(mktemp -d -t build-image-tmp.XXXXXXXXXX) export GOPATH="${tmp_dir}/go" export GOPATH=${GOPATH:-${HOME}/go} -source "${script_dir}/../../scripts/lib.sh" -source "${script_dir}/../scripts/pkglib.sh" +source "${repo_root_dir}/scripts/lib.sh" exit_handler() { [ -d "${tmp_dir}" ] && sudo rm -rf "$tmp_dir" @@ -27,7 +28,7 @@ trap exit_handler EXIT arch_target="$(uname -m)" -source "${script_dir}/../versions.txt" +source "${repo_root_dir}/versions.txt" readonly destdir="${PWD}" @@ -39,7 +40,6 @@ build_initrd() { ROOTFS_BUILD_DEST="${tmp_dir}/initrd-image" \ USE_DOCKER=1 \ AGENT_INIT="yes" - } build_image() { @@ -59,8 +59,8 @@ create_tarball() { image_name="kata-containers-image_${img_distro}_${kata_version}_agent_${agent_sha}.img" initrd_name="kata-containers-initrd_${initrd_distro}_${kata_version}_agent_${agent_sha}.initrd" - mv "${script_dir}/../../../osbuilder/kata-containers.img" "${image_name}" - mv "${script_dir}/../../../osbuilder/kata-containers-initrd.img" "${initrd_name}" + mv "${osbuilder_dir}/kata-containers.img" "${image_name}" + mv "${osbuilder_dir}/kata-containers-initrd.img" "${initrd_name}" sudo tar cfzv "${tarball_name}" "${initrd_name}" "${image_name}" } @@ -109,7 +109,7 @@ main() { initrd_os_version=$(get_from_kata_deps "assets.image.architecture.${arch_target}.version" "${kata_version}") shift "$((OPTIND - 1))" - pushd "${script_dir}/../../../osbuilder/" + pushd "${osbuilder_dir}" build_initrd build_image create_tarball diff --git a/tools/packaging/release/kata-deploy-binaries.sh b/tools/packaging/release/kata-deploy-binaries.sh index a3d3d46bc4..d60c95e7a2 100755 --- a/tools/packaging/release/kata-deploy-binaries.sh +++ b/tools/packaging/release/kata-deploy-binaries.sh @@ -11,6 +11,8 @@ set -o pipefail readonly script_name="$(basename "${BASH_SOURCE[0]}")" readonly script_dir="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)" +readonly pkg_root_dir="$(cd "${script_dir}/.." && pwd)" +readonly repo_root_dir="$(cd "${script_dir}/../../../" && pwd)" readonly project="kata-containers" readonly prefix="/opt/kata" readonly project_to_attach="github.com/${project}/${project}" @@ -90,7 +92,7 @@ install_image() { image_destdir="${destdir}/${prefix}/share/kata-containers/" info "Create image" image_tarball=$(find . -name 'kata-containers-'"${kata_version}"'-*.tar.gz') - [ -f "${image_tarball}" ] || "${script_dir}/../obs-packaging/kata-containers-image/build_image.sh" -v "${kata_version}" + [ -f "${image_tarball}" ] || "${pkg_root_dir}/guest-image/build_image.sh" -v "${kata_version}" image_tarball=$(find . -name 'kata-containers-'"${kata_version}"'-*.tar.gz') [ -f "${image_tarball}" ] || die "image not found" info "Install image in destdir ${image_tarball}" @@ -111,7 +113,7 @@ install_image() { #Install kernel asset install_kernel() { kata_version=${1:-$kata_version} - pushd "${script_dir}/../" + pushd "${pkg_root_dir}" info "build kernel" kata_version="${kata_version}" ./kernel/build-kernel.sh setup kata_version="${kata_version}" ./kernel/build-kernel.sh build @@ -126,7 +128,7 @@ install_kernel() { #Install experimental kernel asset install_experimental_kernel() { kata_version=${1:-$kata_version} - pushd "${script_dir}/../" + pushd "${pkg_root_dir}" info "build experimental kernel" kata_version="${kata_version}" ./kernel/build-kernel.sh -e setup kata_version="${kata_version}" ./kernel/build-kernel.sh -e build @@ -142,21 +144,21 @@ install_experimental_kernel() { install_qemu() { kata_version=${1:-$kata_version} info "build static qemu" - kata_version="${kata_version}" "${script_dir}/../static-build/qemu/build-static-qemu.sh" + kata_version="${kata_version}" "${pkg_root_dir}/static-build/qemu/build-static-qemu.sh" } # Install static qemu-virtiofsd asset install_qemu_virtiofsd() { kata_version=${1:-$kata_version} info "build static qemu-virtiofs" - kata_version="${kata_version}" "${script_dir}/../static-build/qemu-virtiofs/build-static-qemu-virtiofs.sh" + kata_version="${kata_version}" "${pkg_root_dir}/static-build/qemu-virtiofs/build-static-qemu-virtiofs.sh" } # Install static firecracker asset install_firecracker() { kata_version=${1:-$kata_version} info "build static firecracker" - [ -f "firecracker/firecracker-static" ] || kata_version="${kata_version}" "${script_dir}/../static-build/firecracker/build-static-firecracker.sh" + [ -f "firecracker/firecracker-static" ] || kata_version="${kata_version}" "${pkg_root_dir}/static-build/firecracker/build-static-firecracker.sh" info "Install static firecracker" mkdir -p "${destdir}/opt/kata/bin/" sudo install -D --owner root --group root --mode 0744 firecracker/firecracker-static "${destdir}/opt/kata/bin/firecracker" @@ -170,7 +172,7 @@ install_firecracker() { install_clh() { kata_version=${1:-$kata_version} info "build static cloud-hypervisor" - kata_version="${kata_version}" "${script_dir}/../static-build/cloud-hypervisor/build-static-clh.sh" + kata_version="${kata_version}" "${pkg_root_dir}/static-build/cloud-hypervisor/build-static-clh.sh" info "Install static cloud-hypervisor" mkdir -p "${destdir}/opt/kata/bin/" sudo install -D --owner root --group root --mode 0744 cloud-hypervisor "${destdir}/opt/kata/bin/cloud-hypervisor" @@ -182,7 +184,7 @@ install_clh() { install_docker_config_script() { local docker_config_script_name="kata-configure-docker.sh" - local docker_config_script="${script_dir}/../static-build/scripts/${docker_config_script_name}" + local docker_config_script="${pkg_root_dir}/static-build/scripts/${docker_config_script_name}" local script_dest_dir="${destdir}/opt/kata/share/scripts" @@ -195,7 +197,7 @@ install_docker_config_script() { #Install all components that are not assets install_kata_components() { kata_version=${1:-$kata_version} - pushd "${script_dir}/../../../src/runtime" + pushd "${repo_root_dir}/src/runtime" echo "Checkout to version ${kata_version}" git checkout "${kata_version}" echo "Build" @@ -273,7 +275,6 @@ main() { destdir="${workdir}/kata-static-${kata_version}-$(uname -m)" info "DESTDIR ${destdir}" mkdir -p "${destdir}" - install_image install_kata_components install_experimental_kernel install_kernel @@ -281,6 +282,7 @@ main() { install_qemu install_qemu_virtiofsd install_firecracker + install_image install_docker_config_script untar_qemu_binaries