From 3533a5b61d69d425a11effac0f22ae46311d879c Mon Sep 17 00:00:00 2001 From: Carlos Venegas Date: Tue, 29 Jun 2021 15:51:25 +0000 Subject: [PATCH] Packaging: stop using GOPATH for yq. Use the yq installed in the env. Needed to build kata from docker. The container builder has not an initial Go env. Signed-off-by: Carlos Venegas --- snap/snapcraft.yaml | 13 ++++++++++--- tools/packaging/kernel/build-kernel.sh | 9 ++------- tools/packaging/scripts/lib.sh | 6 +----- 3 files changed, 13 insertions(+), 15 deletions(-) diff --git a/snap/snapcraft.yaml b/snap/snapcraft.yaml index 247a681503..c8613ea146 100644 --- a/snap/snapcraft.yaml +++ b/snap/snapcraft.yaml @@ -188,6 +188,14 @@ parts: - bison - flex override-build: | + yq=${SNAPCRAFT_STAGE}/yq + export GOPATH=${SNAPCRAFT_STAGE}/gopath + kata_dir=${GOPATH}/src/github.com/${SNAPCRAFT_PROJECT_NAME}/${SNAPCRAFT_PROJECT_NAME} + versions_file="${kata_dir}/versions.yaml" + kernel_version="$(${yq} r $versions_file assets.kernel.version)" + #Remove extra 'v' + kernel_version=${kernel_version#v} + [ "$(uname -m)" = "s390x" ] && sudo apt-get --no-install-recommends install -y libssl-dev export GOPATH=${SNAPCRAFT_STAGE}/gopath @@ -197,13 +205,12 @@ parts: cd ${kata_dir}/tools/packaging/kernel # Setup and build kernel - ./build-kernel.sh -d setup + ./build-kernel.sh -v ${kernel_version} -d setup kernel_dir_prefix="kata-linux-" cd ${kernel_dir_prefix}* - version=$(basename ${PWD} | sed 's|'"${kernel_dir_prefix}"'||' | cut -d- -f1) make -j $(($(nproc)-1)) EXTRAVERSION=".container" - kernel_suffix=${version}.container + kernel_suffix=${kernel_version}.container kata_kernel_dir=${SNAPCRAFT_PART_INSTALL}/usr/share/kata-containers mkdir -p ${kata_kernel_dir} diff --git a/tools/packaging/kernel/build-kernel.sh b/tools/packaging/kernel/build-kernel.sh index e27e2c286e..9d03b43eb2 100755 --- a/tools/packaging/kernel/build-kernel.sh +++ b/tools/packaging/kernel/build-kernel.sh @@ -14,7 +14,6 @@ set -o pipefail readonly script_name="$(basename "${BASH_SOURCE[0]}")" readonly script_dir="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)" -kata_version="${kata_version:-}" #project_name readonly project_name="kata-containers" @@ -493,13 +492,9 @@ main() { # If not kernel version take it from versions.yaml if [ -z "$kernel_version" ]; then if [[ ${experimental_kernel} == "true" ]]; then - kernel_version=$(get_from_kata_deps "assets.kernel-experimental.tag" "${kata_version}") - #Remove extra 'v' - kernel_version="${kernel_version#v}" + kernel_version=$(get_from_kata_deps "assets.kernel-experimental.tag") else - kernel_version=$(get_from_kata_deps "assets.kernel.version" "${kata_version}") - #Remove extra 'v' - kernel_version="${kernel_version#v}" + kernel_version=$(get_from_kata_deps "assets.kernel.version") fi fi diff --git a/tools/packaging/scripts/lib.sh b/tools/packaging/scripts/lib.sh index 590ebe095e..1ed7b50037 100644 --- a/tools/packaging/scripts/lib.sh +++ b/tools/packaging/scripts/lib.sh @@ -34,13 +34,9 @@ install_yq() { get_from_kata_deps() { local dependency="$1" - GOPATH=${GOPATH:-${HOME}/go} versions_file="${this_script_dir}/../../../versions.yaml" - #make sure yq is installed - install_yq >&2 - - result=$("${GOPATH}/bin/yq" read -X "$versions_file" "$dependency") + result=$("yq" read -X "$versions_file" "$dependency") [ "$result" = "null" ] && result="" echo "$result" }