mirror of
https://github.com/kata-containers/kata-containers.git
synced 2025-06-28 16:27:50 +00:00
runtime: fix strict "= VERSION" dependencies for deb pkg
When specifying a "Depends: (= VERSION" match in deb packages, the full
"VERSION" needs to be specified, including the trailing release number.
This fixes a regression introduced in: 63413814
Fixes: #531
Signed-off-by: Marco Vedovati <mvedovati@suse.com>
This commit is contained in:
parent
e9ed1f5c55
commit
e6dac824fc
@ -76,6 +76,9 @@ main() {
|
||||
local projectsList=("$@")
|
||||
[ "${#projectsList[@]}" = "0" ] && projectsList=("${OBS_PKGS_PROJECTS[@]}")
|
||||
|
||||
# Make sure runtime is the last project
|
||||
projectsList=($(echo "${projectsList[@]}" | sed -E "s/(^.*)(runtime)(.*$)/\1 \3 \2/"))
|
||||
|
||||
pushd "${script_dir}" >>/dev/null
|
||||
local compare_result="$(./gen_versions_txt.sh --compare ${branch})"
|
||||
[[ "$compare_result" =~ different ]] && die "$compare_result -- you need to run gen_versions_txt.sh"
|
||||
|
@ -39,36 +39,68 @@ LOCAL_BUILD=false
|
||||
OBS_PUSH=false
|
||||
VERBOSE=false
|
||||
|
||||
pkg_2_version() {
|
||||
local pkg="$1"
|
||||
local versionVar="${pkg}_version"
|
||||
local hashVar="${pkg}_hash"
|
||||
local version=$(echo ${!versionVar})
|
||||
local gitHash=
|
||||
|
||||
# Make pkg match the package name on OBS
|
||||
pkg="${pkg#kata_}"
|
||||
pkg="${pkg//_/-}"
|
||||
pkg="${pkg//osbuilder/kata-containers-image}"
|
||||
pkg="${pkg//linux/linux-container}"
|
||||
|
||||
if [ -n "${PROJECT_REPO:-}" ]; then
|
||||
local proj="${PROJECT_REPO%/runtime}"
|
||||
else
|
||||
local proj="home:${OBS_PROJECT}:${OBS_SUBPROJECT}"
|
||||
fi
|
||||
local release="$(get_obs_pkg_release "${proj}/${pkg//_/-}")"
|
||||
|
||||
case "$pkg" in
|
||||
linux-container)
|
||||
version="${version}.$(cat "${SCRIPT_DIR}/../../kernel/kata_config_version")"
|
||||
;;
|
||||
qemu-*)
|
||||
gitHash=$(echo ${!hashVar}})
|
||||
;;
|
||||
esac
|
||||
|
||||
pkg_version "$version" "$release" "$gitHash"
|
||||
}
|
||||
|
||||
|
||||
# Parse arguments
|
||||
cli "$@"
|
||||
|
||||
[ "$VERBOSE" == "true" ] && set -x
|
||||
|
||||
# Package depedencies
|
||||
info "requires:"
|
||||
PROXY_REQUIRED_VERESION=$(pkg_version "${kata_proxy_version}" "" "")
|
||||
info "proxy ${PROXY_REQUIRED_VERESION}"
|
||||
info "Requires:"
|
||||
PROXY_REQUIRED_VERSION=$(pkg_2_version "kata_proxy")
|
||||
info "proxy ${PROXY_REQUIRED_VERSION}"
|
||||
|
||||
SHIM_REQUIRED_VERSION=$(pkg_version "${kata_shim_version}" "" "")
|
||||
SHIM_REQUIRED_VERSION=$(pkg_2_version "kata_shim")
|
||||
info "shim ${SHIM_REQUIRED_VERSION}"
|
||||
|
||||
KERNEL_CONFIG_VERSION=$(cat "${SCRIPT_DIR}/../../kernel/kata_config_version")
|
||||
KERNEL_REQUIRED_VERSION=$(pkg_version "${kernel_version}.${KERNEL_CONFIG_VERSION}" "" "")
|
||||
KERNEL_REQUIRED_VERSION=$(pkg_2_version "kata_linux")
|
||||
info "kata-linux-container ${KERNEL_REQUIRED_VERSION}"
|
||||
|
||||
KSM_THROTTLER_REQUIRED_VERSION=$(pkg_version "${kata_ksm_throttler_version}" "" "")
|
||||
KSM_THROTTLER_REQUIRED_VERSION=$(pkg_2_version "kata_ksm_throttler")
|
||||
info "ksm-throttler ${KSM_THROTTLER_REQUIRED_VERSION}"
|
||||
|
||||
KATA_IMAGE_REQUIRED_VERSION=$(pkg_version "${kata_osbuilder_version}" "" "")
|
||||
KATA_IMAGE_REQUIRED_VERSION=$(pkg_2_version "kata_osbuilder")
|
||||
info "image ${KATA_IMAGE_REQUIRED_VERSION}"
|
||||
|
||||
KATA_QEMU_VANILLA_REQUIRED_VERSION=$(pkg_version "${qemu_vanilla_version}" "" "${qemu_vanilla_hash}")
|
||||
|
||||
KATA_QEMU_VANILLA_REQUIRED_VERSION=$(pkg_2_version "qemu_vanilla")
|
||||
info "qemu-vanilla ${KATA_QEMU_VANILLA_REQUIRED_VERSION}"
|
||||
|
||||
if [ "$arch" == "x86_64" ]; then
|
||||
KATA_QEMU_LITE_REQUIRED_VERSION=$(pkg_version "${qemu_lite_version}" "" "${qemu_lite_hash}")
|
||||
KATA_QEMU_LITE_REQUIRED_VERSION=$(pkg_2_version "qemu_lite")
|
||||
info "qemu-lite ${KATA_QEMU_LITE_REQUIRED_VERSION}"
|
||||
replace_list+=("qemu_lite_version=${KATA_QEMU_LITE_REQUIRED_VERSION}")
|
||||
fi
|
||||
|
||||
PROJECT_REPO=${PROJECT_REPO:-home:${OBS_PROJECT}:${OBS_SUBPROJECT}/runtime}
|
||||
@ -85,7 +117,7 @@ replace_list+=(
|
||||
"RELEASE=$RELEASE"
|
||||
"VERSION=$VERSION"
|
||||
"kata_osbuilder_version=${KATA_IMAGE_REQUIRED_VERSION}"
|
||||
"kata_proxy_version=${PROXY_REQUIRED_VERESION}"
|
||||
"kata_proxy_version=${PROXY_REQUIRED_VERSION}"
|
||||
"kata_shim_version=${SHIM_REQUIRED_VERSION}"
|
||||
"ksm_throttler_version=${KSM_THROTTLER_REQUIRED_VERSION}"
|
||||
"linux_container_version=${KERNEL_REQUIRED_VERSION}"
|
||||
|
@ -4,9 +4,16 @@
|
||||
# SPDX-License-Identifier: Apache-2.0
|
||||
#
|
||||
|
||||
#Note:Lets update qemu and the kernel first, they take longer to build.
|
||||
#Note: runtime is build at the end to get the version from all its dependencies.
|
||||
OBS_PKGS_PROJECTS=(
|
||||
#NOTES:
|
||||
# - update qemu and the kernel first, they take longer to build
|
||||
# - runtime is always built at the end, as it depends on all the other listed
|
||||
# packages, and we need to get the full version of all those.
|
||||
|
||||
typeset -a OBS_PKGS_PROJECTS
|
||||
|
||||
[ "$(uname -m)" = "x86_64" ] && OBS_PKGS_PROJECTS+=(qemu-lite)
|
||||
|
||||
OBS_PKGS_PROJECTS+=(
|
||||
qemu-vanilla
|
||||
linux-container
|
||||
kata-containers-image
|
||||
@ -15,7 +22,3 @@ OBS_PKGS_PROJECTS=(
|
||||
ksm-throttler
|
||||
runtime
|
||||
)
|
||||
|
||||
if [ "$(uname -m)" == "x86_64" ]; then
|
||||
OBS_PKGS_PROJECTS=("qemu-lite" "${OBS_PKGS_PROJECTS[@]}")
|
||||
fi
|
||||
|
Loading…
Reference in New Issue
Block a user