Merge pull request #570 from marcov/rpm-dep-fix

runtime: omit the release number in RPM Requires:
This commit is contained in:
Jose Carlos Venegas Munoz 2019-06-11 23:48:19 -05:00 committed by GitHub
commit 3b9b70259a
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
3 changed files with 78 additions and 37 deletions

View File

@ -9,13 +9,13 @@ Build-Depends: dh-make, git, ca-certificates, execstack, devscripts, debhelper,
Package: kata-runtime Package: kata-runtime
Architecture: @deb_arch@ Architecture: @deb_arch@
Depends: kata-containers-image (= @kata_osbuilder_version@), Depends: kata-containers-image (= @kata_osbuilder_version_release@),
kata-linux-container (= @linux_container_version@), kata-linux-container (= @linux_container_version_release@),
kata-proxy (= @kata_proxy_version@), kata-proxy (= @kata_proxy_version_release@),
kata-shim (= @kata_shim_version@), kata-shim (= @kata_shim_version_release@),
kata-ksm-throttler(= @ksm_throttler_version@), kata-ksm-throttler(= @ksm_throttler_version_release@),
qemu-lite(= @qemu_lite_version@) [amd64], qemu-lite(= @qemu_lite_version_release@) [amd64],
qemu-vanilla(= @qemu_vanilla_version@) qemu-vanilla(= @qemu_vanilla_version_release@)
Description: Description:
An Open Containers Initiative (OCI) "runtime" that launches an Intel VT-x An Open Containers Initiative (OCI) "runtime" that launches an Intel VT-x
secured Kata Containers hypervisor, rather than a standard Linux container. secured Kata Containers hypervisor, rather than a standard Linux container.

View File

@ -14,13 +14,13 @@ Debtransform-Tar: kata-runtime-@VERSION@.tar.gz
Package: kata-runtime Package: kata-runtime
Architecture: @deb_arch@ Architecture: @deb_arch@
Depends: kata-containers-image (= @kata_osbuilder_version@), Depends: kata-containers-image (= @kata_osbuilder_version_release@),
kata-linux-container (= @linux_container_version@), kata-linux-container (= @linux_container_version_release@),
kata-proxy (= @kata_proxy_version@), kata-proxy (= @kata_proxy_version_release@),
kata-shim (= @kata_shim_version@), kata-shim (= @kata_shim_version_release@),
kata-ksm-throttler(= @ksm_throttler_version@), kata-ksm-throttler(= @ksm_throttler_version_release@),
qemu-lite(= @qemu_lite_version@) [amd64], qemu-lite(= @qemu_lite_version_release@) [amd64],
qemu-vanilla(= @qemu_vanilla_version@) qemu-vanilla(= @qemu_vanilla_version_release@)
Description: Description:
An Open Containers Initiative (OCI) "runtime" that launches an Intel VT-x An Open Containers Initiative (OCI) "runtime" that launches an Intel VT-x
secured Kata Containers hypervisor, rather than a standard Linux container. secured Kata Containers hypervisor, rather than a standard Linux container.

View File

@ -39,7 +39,14 @@ LOCAL_BUILD=false
OBS_PUSH=false OBS_PUSH=false
VERBOSE=false VERBOSE=false
pkg_2_version() { #
# Given the name of a package returns the full package version to be used for
# DEB and RPM dependency constraints as follows, composed of:
# - a version,
# - an optional hash (only for select packages),
# - a release number (only for "deb" packages)
#
pkg_required_ver() {
local pkg="$1" local pkg="$1"
local versionVar="${pkg}_version" local versionVar="${pkg}_version"
local hashVar="${pkg}_hash" local hashVar="${pkg}_hash"
@ -68,7 +75,10 @@ pkg_2_version() {
;; ;;
esac esac
pkg_version "$version" "$release" "$gitHash" local debVer=$(pkg_version "$version" "$release" "$gitHash")
local rpmVer=$(pkg_version "$version" "" "$gitHash")
echo "${debVer}" "${rpmVer}"
} }
@ -77,31 +87,56 @@ cli "$@"
[ "$VERBOSE" == "true" ] && set -x [ "$VERBOSE" == "true" ] && set -x
declare -a pkgVersions
# Package depedencies # Package depedencies
info "Requires:" info "Requires:"
PROXY_REQUIRED_VERSION=$(pkg_2_version "kata_proxy") pkgVersions=($(pkg_required_ver "kata_proxy"))
info "proxy ${PROXY_REQUIRED_VERSION}" declare -A PROXY_REQUIRED_VERSION
PROXY_REQUIRED_VERSION["deb"]=${pkgVersions[0]}
PROXY_REQUIRED_VERSION["rpm"]=${pkgVersions[1]}
info "proxy ${PROXY_REQUIRED_VERSION[@]}"
SHIM_REQUIRED_VERSION=$(pkg_2_version "kata_shim") declare -A SHIM_REQUIRED_VERSION
info "shim ${SHIM_REQUIRED_VERSION}" pkgVersions=($(pkg_required_ver "kata_shim"))
SHIM_REQUIRED_VERSION["deb"]=${pkgVersions[0]}
SHIM_REQUIRED_VERSION["rpm"]=${pkgVersions[1]}
info "shim ${SHIM_REQUIRED_VERSION[@]}"
KERNEL_REQUIRED_VERSION=$(pkg_2_version "kernel") declare -A KERNEL_REQUIRED_VERSION
info "kata-linux-container ${KERNEL_REQUIRED_VERSION}" pkgVersions=($(pkg_required_ver "kernel"))
KERNEL_REQUIRED_VERSION["deb"]=${pkgVersions[0]}
KERNEL_REQUIRED_VERSION["rpm"]=${pkgVersions[1]}
info "kata-linux-container ${KERNEL_REQUIRED_VERSION[@]}"
KSM_THROTTLER_REQUIRED_VERSION=$(pkg_2_version "kata_ksm_throttler") declare -A KSM_THROTTLER_REQUIRED_VERSION
info "ksm-throttler ${KSM_THROTTLER_REQUIRED_VERSION}" pkgVersions=($(pkg_required_ver "kata_ksm_throttler"))
KSM_THROTTLER_REQUIRED_VERSION["deb"]=${pkgVersions[0]}
KSM_THROTTLER_REQUIRED_VERSION["rpm"]=${pkgVersions[1]}
info "ksm-throttler ${KSM_THROTTLER_REQUIRED_VERSION[@]}"
KATA_IMAGE_REQUIRED_VERSION=$(pkg_2_version "kata_osbuilder") declare -A KATA_IMAGE_REQUIRED_VERSION
info "image ${KATA_IMAGE_REQUIRED_VERSION}" pkgVersions=($(pkg_required_ver "kata_osbuilder"))
KATA_IMAGE_REQUIRED_VERSION["deb"]=${pkgVersions[0]}
KATA_IMAGE_REQUIRED_VERSION["rpm"]=${pkgVersions[1]}
info "image ${KATA_IMAGE_REQUIRED_VERSION[@]}"
KATA_QEMU_VANILLA_REQUIRED_VERSION=$(pkg_2_version "qemu_vanilla") declare -A KATA_QEMU_VANILLA_REQUIRED_VERSION
info "qemu-vanilla ${KATA_QEMU_VANILLA_REQUIRED_VERSION}" pkgVersions=($(pkg_required_ver "qemu_vanilla"))
KATA_QEMU_VANILLA_REQUIRED_VERSION["deb"]=${pkgVersions[0]}
KATA_QEMU_VANILLA_REQUIRED_VERSION["rpm"]=${pkgVersions[1]}
info "qemu-vanilla ${KATA_QEMU_VANILLA_REQUIRED_VERSION[@]}"
if [ "$arch" == "x86_64" ]; then if [ "$arch" == "x86_64" ]; then
KATA_QEMU_LITE_REQUIRED_VERSION=$(pkg_2_version "qemu_lite") declare -A KATA_QEMU_LITE_REQUIRED_VERSION
info "qemu-lite ${KATA_QEMU_LITE_REQUIRED_VERSION}" pkgVersions=($(pkg_required_ver "qemu_lite"))
replace_list+=("qemu_lite_version=${KATA_QEMU_LITE_REQUIRED_VERSION}") KATA_QEMU_LITE_REQUIRED_VERSION["deb"]=${pkgVersions[0]}
KATA_QEMU_LITE_REQUIRED_VERSION["rpm"]=${pkgVersions[1]}
info "qemu-lite ${KATA_QEMU_LITE_REQUIRED_VERSION[@]}"
replace_list+=( \
"qemu_lite_version=${KATA_QEMU_LITE_REQUIRED_VERSION["rpm"]}" \
"qemu_lite_version_release=${KATA_QEMU_LITE_REQUIRED_VERSION["deb"]}" \
)
fi fi
PROJECT_REPO=${PROJECT_REPO:-home:${OBS_PROJECT}:${OBS_SUBPROJECT}/runtime} PROJECT_REPO=${PROJECT_REPO:-home:${OBS_PROJECT}:${OBS_SUBPROJECT}/runtime}
@ -117,12 +152,18 @@ replace_list+=(
"HASH=$short_hashtag" "HASH=$short_hashtag"
"RELEASE=$RELEASE" "RELEASE=$RELEASE"
"VERSION=$VERSION" "VERSION=$VERSION"
"kata_osbuilder_version=${KATA_IMAGE_REQUIRED_VERSION}" "kata_osbuilder_version=${KATA_IMAGE_REQUIRED_VERSION["rpm"]}"
"kata_proxy_version=${PROXY_REQUIRED_VERSION}" "kata_osbuilder_version_release=${KATA_IMAGE_REQUIRED_VERSION["deb"]}"
"kata_shim_version=${SHIM_REQUIRED_VERSION}" "kata_proxy_version=${PROXY_REQUIRED_VERSION["rpm"]}"
"ksm_throttler_version=${KSM_THROTTLER_REQUIRED_VERSION}" "kata_proxy_version_release=${PROXY_REQUIRED_VERSION["deb"]}"
"linux_container_version=${KERNEL_REQUIRED_VERSION}" "kata_shim_version=${SHIM_REQUIRED_VERSION["rpm"]}"
"qemu_vanilla_version=${KATA_QEMU_VANILLA_REQUIRED_VERSION}" "kata_shim_version_release=${SHIM_REQUIRED_VERSION["deb"]}"
"ksm_throttler_version=${KSM_THROTTLER_REQUIRED_VERSION["rpm"]}"
"ksm_throttler_version_release=${KSM_THROTTLER_REQUIRED_VERSION["deb"]}"
"linux_container_version=${KERNEL_REQUIRED_VERSION["rpm"]}"
"linux_container_version_release=${KERNEL_REQUIRED_VERSION["deb"]}"
"qemu_vanilla_version=${KATA_QEMU_VANILLA_REQUIRED_VERSION["rpm"]}"
"qemu_vanilla_version_release=${KATA_QEMU_VANILLA_REQUIRED_VERSION["deb"]}"
) )
verify verify