summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorUlrich Müller <ulm@gentoo.org>2021-08-26 11:20:04 +0200
committerUlrich Müller <ulm@gentoo.org>2021-08-27 19:21:35 +0200
commit1646e870d312060d7920869eec8416a8753724b6 (patch)
tree6c6a941ae7b74425f42a9126e5bebaed64ae7578 /eclass/kernel-2.eclass
parentdev-util/meson: drop 0.58.1 (diff)
downloadgentoo-1646e870d312060d7920869eec8416a8753724b6.tar.gz
gentoo-1646e870d312060d7920869eec8416a8753724b6.tar.bz2
gentoo-1646e870d312060d7920869eec8416a8753724b6.zip
kernel-2.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@gentoo.org> Signed-off-by: Ulrich Müller <ulm@gentoo.org>
Diffstat (limited to 'eclass/kernel-2.eclass')
-rw-r--r--eclass/kernel-2.eclass9
1 files changed, 5 insertions, 4 deletions
diff --git a/eclass/kernel-2.eclass b/eclass/kernel-2.eclass
index 58e0bae94eee..1913942a679b 100644
--- a/eclass/kernel-2.eclass
+++ b/eclass/kernel-2.eclass
@@ -561,7 +561,7 @@ kernel_is() {
unset v n
# Now we can continue
- local operator test value
+ local operator
case ${1#-} in
lt) operator="-lt"; shift;;
@@ -573,9 +573,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}}"
}
# Capture the sources type and set DEPENDs