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=("$@")
|
local projectsList=("$@")
|
||||||
[ "${#projectsList[@]}" = "0" ] && projectsList=("${OBS_PKGS_PROJECTS[@]}")
|
[ "${#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
|
pushd "${script_dir}" >>/dev/null
|
||||||
local compare_result="$(./gen_versions_txt.sh --compare ${branch})"
|
local compare_result="$(./gen_versions_txt.sh --compare ${branch})"
|
||||||
[[ "$compare_result" =~ different ]] && die "$compare_result -- you need to run gen_versions_txt.sh"
|
[[ "$compare_result" =~ different ]] && die "$compare_result -- you need to run gen_versions_txt.sh"
|
||||||
|
@ -39,36 +39,68 @@ LOCAL_BUILD=false
|
|||||||
OBS_PUSH=false
|
OBS_PUSH=false
|
||||||
VERBOSE=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
|
# Parse arguments
|
||||||
cli "$@"
|
cli "$@"
|
||||||
|
|
||||||
[ "$VERBOSE" == "true" ] && set -x
|
[ "$VERBOSE" == "true" ] && set -x
|
||||||
|
|
||||||
# Package depedencies
|
# Package depedencies
|
||||||
info "requires:"
|
info "Requires:"
|
||||||
PROXY_REQUIRED_VERESION=$(pkg_version "${kata_proxy_version}" "" "")
|
PROXY_REQUIRED_VERSION=$(pkg_2_version "kata_proxy")
|
||||||
info "proxy ${PROXY_REQUIRED_VERESION}"
|
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}"
|
info "shim ${SHIM_REQUIRED_VERSION}"
|
||||||
|
|
||||||
KERNEL_CONFIG_VERSION=$(cat "${SCRIPT_DIR}/../../kernel/kata_config_version")
|
KERNEL_REQUIRED_VERSION=$(pkg_2_version "kata_linux")
|
||||||
KERNEL_REQUIRED_VERSION=$(pkg_version "${kernel_version}.${KERNEL_CONFIG_VERSION}" "" "")
|
|
||||||
info "kata-linux-container ${KERNEL_REQUIRED_VERSION}"
|
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}"
|
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}"
|
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}"
|
info "qemu-vanilla ${KATA_QEMU_VANILLA_REQUIRED_VERSION}"
|
||||||
|
|
||||||
if [ "$arch" == "x86_64" ]; then
|
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}"
|
info "qemu-lite ${KATA_QEMU_LITE_REQUIRED_VERSION}"
|
||||||
replace_list+=("qemu_lite_version=${KATA_QEMU_LITE_REQUIRED_VERSION}")
|
|
||||||
fi
|
fi
|
||||||
|
|
||||||
PROJECT_REPO=${PROJECT_REPO:-home:${OBS_PROJECT}:${OBS_SUBPROJECT}/runtime}
|
PROJECT_REPO=${PROJECT_REPO:-home:${OBS_PROJECT}:${OBS_SUBPROJECT}/runtime}
|
||||||
@ -85,7 +117,7 @@ replace_list+=(
|
|||||||
"RELEASE=$RELEASE"
|
"RELEASE=$RELEASE"
|
||||||
"VERSION=$VERSION"
|
"VERSION=$VERSION"
|
||||||
"kata_osbuilder_version=${KATA_IMAGE_REQUIRED_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}"
|
"kata_shim_version=${SHIM_REQUIRED_VERSION}"
|
||||||
"ksm_throttler_version=${KSM_THROTTLER_REQUIRED_VERSION}"
|
"ksm_throttler_version=${KSM_THROTTLER_REQUIRED_VERSION}"
|
||||||
"linux_container_version=${KERNEL_REQUIRED_VERSION}"
|
"linux_container_version=${KERNEL_REQUIRED_VERSION}"
|
||||||
|
@ -4,9 +4,16 @@
|
|||||||
# SPDX-License-Identifier: Apache-2.0
|
# SPDX-License-Identifier: Apache-2.0
|
||||||
#
|
#
|
||||||
|
|
||||||
#Note:Lets update qemu and the kernel first, they take longer to build.
|
#NOTES:
|
||||||
#Note: runtime is build at the end to get the version from all its dependencies.
|
# - update qemu and the kernel first, they take longer to build
|
||||||
OBS_PKGS_PROJECTS=(
|
# - 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
|
qemu-vanilla
|
||||||
linux-container
|
linux-container
|
||||||
kata-containers-image
|
kata-containers-image
|
||||||
@ -15,7 +22,3 @@ OBS_PKGS_PROJECTS=(
|
|||||||
ksm-throttler
|
ksm-throttler
|
||||||
runtime
|
runtime
|
||||||
)
|
)
|
||||||
|
|
||||||
if [ "$(uname -m)" == "x86_64" ]; then
|
|
||||||
OBS_PKGS_PROJECTS=("qemu-lite" "${OBS_PKGS_PROJECTS[@]}")
|
|
||||||
fi
|
|
||||||
|
@ -55,15 +55,15 @@ export GO_ARCH
|
|||||||
function display_help() {
|
function display_help() {
|
||||||
cat <<-EOL
|
cat <<-EOL
|
||||||
$SCRIPT_NAME
|
$SCRIPT_NAME
|
||||||
|
|
||||||
This script is intended to create Kata Containers packages for the OBS
|
This script is intended to create Kata Containers packages for the OBS
|
||||||
(Open Build Service) platform.
|
(Open Build Service) platform.
|
||||||
|
|
||||||
Usage:
|
Usage:
|
||||||
$SCRIPT_NAME [options]
|
$SCRIPT_NAME [options]
|
||||||
|
|
||||||
Options:
|
Options:
|
||||||
|
|
||||||
-l --local-build Build the runtime locally
|
-l --local-build Build the runtime locally
|
||||||
-b --branch Build with a given branch name
|
-b --branch Build with a given branch name
|
||||||
-p --push Push changes to OBS
|
-p --push Push changes to OBS
|
||||||
@ -74,14 +74,14 @@ function display_help() {
|
|||||||
-C --clean Clean the repository
|
-C --clean Clean the repository
|
||||||
-V --verify Verify the environment
|
-V --verify Verify the environment
|
||||||
-h --help Display this help message
|
-h --help Display this help message
|
||||||
|
|
||||||
Usage examples:
|
Usage examples:
|
||||||
|
|
||||||
$SCRIPT_NAME --local-build --branch staging
|
$SCRIPT_NAME --local-build --branch staging
|
||||||
$SCRIPT_NAME --push --api-url http://127.0.0.1
|
$SCRIPT_NAME --push --api-url http://127.0.0.1
|
||||||
$SCRIPT_NAME --push --obs-repository home:userx/repository
|
$SCRIPT_NAME --push --obs-repository home:userx/repository
|
||||||
$SCRIPT_NAME --push
|
$SCRIPT_NAME --push
|
||||||
|
|
||||||
EOL
|
EOL
|
||||||
exit 1
|
exit 1
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user