commit: 4b48b038fa23b5580fa2b916b34c646c155db93a
Author: Ulrich Müller <ulm <AT> gentoo <DOT> org>
AuthorDate: Thu Aug 26 09:21:17 2021 +0000
Commit: Ulrich Müller <ulm <AT> gentoo <DOT> org>
CommitDate: Fri Aug 27 17:21:37 2021 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=4b48b038
linux-info.eclass: Replace bit-shift arithmetic by ver_test
There are kernel versions like 4.9.280, therefore shifting version
components by 8 bits in kernel_is() may fail.
Reviewed-by: Alice Ferrazzi <alicef <AT> gentoo.org>
Signed-off-by: Ulrich Müller <ulm <AT> gentoo.org>
eclass/linux-info.eclass | 9 +++++----
1 file changed, 5 insertions(+), 4 deletions(-)
diff --git a/eclass/linux-info.eclass b/eclass/linux-info.eclass
index 124fb70e78a..5456d6be02e 100644
--- a/eclass/linux-info.eclass
+++ b/eclass/linux-info.eclass
@@ -395,7 +395,7 @@ kernel_is() {
linux-info_get_any_version
# Now we can continue
- local operator test value
+ local operator
case ${1#-} in
lt) operator="-lt"; shift;;
@@ -407,9 +407,10 @@ kernel_is() {
esac
[[ $# -gt 3 ]] && die "Error in kernel-2_kernel_is(): too many
parameters"
- : $(( test = (KV_MAJOR << 16) + (KV_MINOR << 8) + KV_PATCH ))
- : $(( value = (${1:-${KV_MAJOR}} << 16) + (${2:-${KV_MINOR}} << 8) +
${3:-${KV_PATCH}} ))
- [ ${test} ${operator} ${value} ]
+ ver_test \
+ "${KV_MAJOR}.${KV_MINOR}.${KV_PATCH}" \
+ "${operator}" \
+ "${1:-${KV_MAJOR}}.${2:-${KV_MINOR}}.${3:-${KV_PATCH}}"
}
get_localversion() {