diff options
author | Michał Górny <mgorny@gentoo.org> | 2022-10-15 11:58:04 +0200 |
---|---|---|
committer | Michał Górny <mgorny@gentoo.org> | 2022-10-19 13:51:51 +0200 |
commit | 31885dcc9d0a8743903846c61d4aeb575693ca0d (patch) | |
tree | 99602d2538481d6cb4ffe822666d89e490721c31 | |
parent | dev-python/traitlets: Fix doc-deps (diff) | |
download | gentoo-31885dcc9d0a8743903846c61d4aeb575693ca0d.tar.gz gentoo-31885dcc9d0a8743903846c61d4aeb575693ca0d.tar.bz2 gentoo-31885dcc9d0a8743903846c61d4aeb575693ca0d.zip |
dist-kernel-utils.eclass: Add a PV → KV conversion function
Signed-off-by: Michał Górny <mgorny@gentoo.org>
-rw-r--r-- | eclass/dist-kernel-utils.eclass | 16 | ||||
-rwxr-xr-x | eclass/tests/dist-kernel-utils.sh | 28 |
2 files changed, 44 insertions, 0 deletions
diff --git a/eclass/dist-kernel-utils.eclass b/eclass/dist-kernel-utils.eclass index 8c1b56f41506..439bdc87695d 100644 --- a/eclass/dist-kernel-utils.eclass +++ b/eclass/dist-kernel-utils.eclass @@ -155,5 +155,21 @@ dist-kernel_reinstall_initramfs() { "${kernel_dir}/System.map" } +# @FUNCTION: dist-kernel_PV_to_KV +# @USAGE: <pv> +# @DESCRIPTION: +# Convert a Gentoo-style ebuild version to kernel "x.y.z[-rcN]" version. +dist-kernel_PV_to_KV() { + debug-print-function ${FUNCNAME} "${@}" + + [[ ${#} -ne 1 ]] && die "${FUNCNAME}: invalid arguments" + local pv=${1} + + local kv=${pv%%_*} + [[ -z $(ver_cut 3- "${kv}") ]] && kv+=".0" + [[ ${pv} == *_* ]] && kv+=-${pv#*_} + echo "${kv}" +} + _DIST_KERNEL_UTILS=1 fi diff --git a/eclass/tests/dist-kernel-utils.sh b/eclass/tests/dist-kernel-utils.sh new file mode 100755 index 000000000000..7f04f55ce302 --- /dev/null +++ b/eclass/tests/dist-kernel-utils.sh @@ -0,0 +1,28 @@ +#!/usr/bin/env bash +# Copyright 2022 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +source tests-common.sh || exit + +inherit dist-kernel-utils +# TODO: hack because tests-common don't implement ver_cut +EAPI=6 inherit eapi7-ver + +test_PV_to_KV() { + local kv=${1} + local exp_PV=${2} + + tbegin "dist-kernel_PV_to_KV ${kv} -> ${exp_PV}" + local val=$(dist-kernel_PV_to_KV "${kv}") + [[ ${val} == ${exp_PV} ]] + tend $? +} + +test_PV_to_KV 6.0_rc1 6.0.0-rc1 +test_PV_to_KV 6.0 6.0.0 +test_PV_to_KV 6.0.1_rc1 6.0.1-rc1 +test_PV_to_KV 6.0.1 6.0.1 + +texit |