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 <eric.g.ernst@gmail.com>
This commit is contained in:
Eric Ernst 2020-10-06 09:36:27 -07:00 committed by Eric Ernst
parent f0f205cd7b
commit 0793002464
4 changed files with 23 additions and 34 deletions

View File

@ -18,9 +18,9 @@ main() {
fi fi
tag=$(echo $GITHUB_REF | cut -d/ -f3-) tag=$(echo $GITHUB_REF | cut -d/ -f3-)
pushd $GITHUB_WORKSPACE/tools/packaging/obs-packaging pushd $GITHUB_WORKSPACE/tools/packaging
git checkout $tag git checkout $tag
./gen_versions_txt.sh $tag ./scripts/gen_versions_txt.sh $tag
popd popd
pushd $GITHUB_WORKSPACE/tools/packaging/release pushd $GITHUB_WORKSPACE/tools/packaging/release

View File

@ -8,7 +8,7 @@
MK_DIR :=$(shell dirname $(realpath $(lastword $(MAKEFILE_LIST)))) MK_DIR :=$(shell dirname $(realpath $(lastword $(MAKEFILE_LIST))))
SED := sed SED := sed
YQ := $(MK_DIR)/yq YQ := $(MK_DIR)/yq
SNAPCRAFT_FILE := snap/snapcraft.yaml SNAPCRAFT_FILE := ../../snap/snapcraft.yaml
VERSIONS_YAML_FILE := ../../versions.yaml VERSIONS_YAML_FILE := ../../versions.yaml
VERSION_FILE := ../../VERSION VERSION_FILE := ../../VERSION
@ -18,20 +18,10 @@ export SNAPCRAFT_FILE
export VERSION_FILE export VERSION_FILE
export VERSIONS_YAML_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: test-static-build:
@make -f $(MK_DIR)/static-build/qemu/Makefile @make -f $(MK_DIR)/static-build/qemu/Makefile
@make -f $(MK_DIR)/static-build/firecracker/Makefile @make -f $(MK_DIR)/static-build/firecracker/Makefile
test-packaging-tools:
@$(MK_DIR)/obs-packaging/build_from_docker.sh
$(YQ): $(YQ):
@bash -c "source scripts/lib.sh; install_yq $${MK_DIR}" @bash -c "source scripts/lib.sh; install_yq $${MK_DIR}"
@ -41,10 +31,7 @@ snap: $(YQ)
fi fi
snapcraft -d snapcraft -d
obs-test:
@$(MK_DIR)/tests/run_obs_testing.sh
cmd-kata-pkgsync: cmd-kata-pkgsync:
@make -C $(MK_DIR)/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

View File

@ -13,12 +13,13 @@ set -o pipefail
readonly script_name="$(basename "${BASH_SOURCE[0]}")" readonly script_name="$(basename "${BASH_SOURCE[0]}")"
readonly script_dir="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)" 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) readonly tmp_dir=$(mktemp -d -t build-image-tmp.XXXXXXXXXX)
export GOPATH="${tmp_dir}/go" export GOPATH="${tmp_dir}/go"
export GOPATH=${GOPATH:-${HOME}/go} export GOPATH=${GOPATH:-${HOME}/go}
source "${script_dir}/../../scripts/lib.sh" source "${repo_root_dir}/scripts/lib.sh"
source "${script_dir}/../scripts/pkglib.sh"
exit_handler() { exit_handler() {
[ -d "${tmp_dir}" ] && sudo rm -rf "$tmp_dir" [ -d "${tmp_dir}" ] && sudo rm -rf "$tmp_dir"
@ -27,7 +28,7 @@ trap exit_handler EXIT
arch_target="$(uname -m)" arch_target="$(uname -m)"
source "${script_dir}/../versions.txt" source "${repo_root_dir}/versions.txt"
readonly destdir="${PWD}" readonly destdir="${PWD}"
@ -39,7 +40,6 @@ build_initrd() {
ROOTFS_BUILD_DEST="${tmp_dir}/initrd-image" \ ROOTFS_BUILD_DEST="${tmp_dir}/initrd-image" \
USE_DOCKER=1 \ USE_DOCKER=1 \
AGENT_INIT="yes" AGENT_INIT="yes"
} }
build_image() { build_image() {
@ -59,8 +59,8 @@ create_tarball() {
image_name="kata-containers-image_${img_distro}_${kata_version}_agent_${agent_sha}.img" 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" initrd_name="kata-containers-initrd_${initrd_distro}_${kata_version}_agent_${agent_sha}.initrd"
mv "${script_dir}/../../../osbuilder/kata-containers.img" "${image_name}" mv "${osbuilder_dir}/kata-containers.img" "${image_name}"
mv "${script_dir}/../../../osbuilder/kata-containers-initrd.img" "${initrd_name}" mv "${osbuilder_dir}/kata-containers-initrd.img" "${initrd_name}"
sudo tar cfzv "${tarball_name}" "${initrd_name}" "${image_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}") initrd_os_version=$(get_from_kata_deps "assets.image.architecture.${arch_target}.version" "${kata_version}")
shift "$((OPTIND - 1))" shift "$((OPTIND - 1))"
pushd "${script_dir}/../../../osbuilder/" pushd "${osbuilder_dir}"
build_initrd build_initrd
build_image build_image
create_tarball create_tarball

View File

@ -11,6 +11,8 @@ set -o pipefail
readonly script_name="$(basename "${BASH_SOURCE[0]}")" readonly script_name="$(basename "${BASH_SOURCE[0]}")"
readonly script_dir="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)" 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 project="kata-containers"
readonly prefix="/opt/kata" readonly prefix="/opt/kata"
readonly project_to_attach="github.com/${project}/${project}" readonly project_to_attach="github.com/${project}/${project}"
@ -90,7 +92,7 @@ install_image() {
image_destdir="${destdir}/${prefix}/share/kata-containers/" image_destdir="${destdir}/${prefix}/share/kata-containers/"
info "Create image" info "Create image"
image_tarball=$(find . -name 'kata-containers-'"${kata_version}"'-*.tar.gz') 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') image_tarball=$(find . -name 'kata-containers-'"${kata_version}"'-*.tar.gz')
[ -f "${image_tarball}" ] || die "image not found" [ -f "${image_tarball}" ] || die "image not found"
info "Install image in destdir ${image_tarball}" info "Install image in destdir ${image_tarball}"
@ -111,7 +113,7 @@ install_image() {
#Install kernel asset #Install kernel asset
install_kernel() { install_kernel() {
kata_version=${1:-$kata_version} kata_version=${1:-$kata_version}
pushd "${script_dir}/../" pushd "${pkg_root_dir}"
info "build kernel" info "build kernel"
kata_version="${kata_version}" ./kernel/build-kernel.sh setup kata_version="${kata_version}" ./kernel/build-kernel.sh setup
kata_version="${kata_version}" ./kernel/build-kernel.sh build kata_version="${kata_version}" ./kernel/build-kernel.sh build
@ -126,7 +128,7 @@ install_kernel() {
#Install experimental kernel asset #Install experimental kernel asset
install_experimental_kernel() { install_experimental_kernel() {
kata_version=${1:-$kata_version} kata_version=${1:-$kata_version}
pushd "${script_dir}/../" pushd "${pkg_root_dir}"
info "build experimental kernel" info "build experimental kernel"
kata_version="${kata_version}" ./kernel/build-kernel.sh -e setup kata_version="${kata_version}" ./kernel/build-kernel.sh -e setup
kata_version="${kata_version}" ./kernel/build-kernel.sh -e build kata_version="${kata_version}" ./kernel/build-kernel.sh -e build
@ -142,21 +144,21 @@ install_experimental_kernel() {
install_qemu() { install_qemu() {
kata_version=${1:-$kata_version} kata_version=${1:-$kata_version}
info "build static qemu" 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 static qemu-virtiofsd asset
install_qemu_virtiofsd() { install_qemu_virtiofsd() {
kata_version=${1:-$kata_version} kata_version=${1:-$kata_version}
info "build static qemu-virtiofs" 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 static firecracker asset
install_firecracker() { install_firecracker() {
kata_version=${1:-$kata_version} kata_version=${1:-$kata_version}
info "build static firecracker" 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" info "Install static firecracker"
mkdir -p "${destdir}/opt/kata/bin/" mkdir -p "${destdir}/opt/kata/bin/"
sudo install -D --owner root --group root --mode 0744 firecracker/firecracker-static "${destdir}/opt/kata/bin/firecracker" 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() { install_clh() {
kata_version=${1:-$kata_version} kata_version=${1:-$kata_version}
info "build static cloud-hypervisor" 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" info "Install static cloud-hypervisor"
mkdir -p "${destdir}/opt/kata/bin/" mkdir -p "${destdir}/opt/kata/bin/"
sudo install -D --owner root --group root --mode 0744 cloud-hypervisor "${destdir}/opt/kata/bin/cloud-hypervisor" 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() { install_docker_config_script() {
local docker_config_script_name="kata-configure-docker.sh" 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" 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 all components that are not assets
install_kata_components() { install_kata_components() {
kata_version=${1:-$kata_version} kata_version=${1:-$kata_version}
pushd "${script_dir}/../../../src/runtime" pushd "${repo_root_dir}/src/runtime"
echo "Checkout to version ${kata_version}" echo "Checkout to version ${kata_version}"
git checkout "${kata_version}" git checkout "${kata_version}"
echo "Build" echo "Build"
@ -273,7 +275,6 @@ main() {
destdir="${workdir}/kata-static-${kata_version}-$(uname -m)" destdir="${workdir}/kata-static-${kata_version}-$(uname -m)"
info "DESTDIR ${destdir}" info "DESTDIR ${destdir}"
mkdir -p "${destdir}" mkdir -p "${destdir}"
install_image
install_kata_components install_kata_components
install_experimental_kernel install_experimental_kernel
install_kernel install_kernel
@ -281,6 +282,7 @@ main() {
install_qemu install_qemu
install_qemu_virtiofsd install_qemu_virtiofsd
install_firecracker install_firecracker
install_image
install_docker_config_script install_docker_config_script
untar_qemu_binaries untar_qemu_binaries