Gentoo Archives: gentoo-dev

From: "Ulrich Müller" <ulm@g.o>
To: gentoo-dev@l.g.o
Cc: "Ulrich Müller" <ulm@g.o>
Subject: [gentoo-dev] [PATCH 3/3] linux-info.eclass: Replace bit-shift arithmetic by ver_test
Date: Thu, 26 Aug 2021 09:41:53
Message-Id: 20210826094053.26998-3-ulm@gentoo.org
In Reply to: [gentoo-dev] [PATCH 1/3] kernel-2.eclass: Replace bit-shift arithmetic by ver_test by "Ulrich Müller"
1 There are kernel versions like 4.9.280, therefore shifting version
2 components by 8 bits in kernel_is() may fail.
3
4 Signed-off-by: Ulrich Müller <ulm@g.o>
5 ---
6 eclass/linux-info.eclass | 9 +++++----
7 1 file changed, 5 insertions(+), 4 deletions(-)
8
9 diff --git a/eclass/linux-info.eclass b/eclass/linux-info.eclass
10 index 6da13cc0b2f5..9a112199f4b5 100644
11 --- a/eclass/linux-info.eclass
12 +++ b/eclass/linux-info.eclass
13 @@ -395,7 +395,7 @@ kernel_is() {
14 linux-info_get_any_version
15
16 # Now we can continue
17 - local operator test value
18 + local operator
19
20 case ${1#-} in
21 lt) operator="-lt"; shift;;
22 @@ -407,9 +407,10 @@ kernel_is() {
23 esac
24 [[ $# -gt 3 ]] && die "Error in kernel-2_kernel_is(): too many parameters"
25
26 - : $(( test = (KV_MAJOR << 16) + (KV_MINOR << 8) + KV_PATCH ))
27 - : $(( value = (${1:-${KV_MAJOR}} << 16) + (${2:-${KV_MINOR}} << 8) + ${3:-${KV_PATCH}} ))
28 - [ ${test} ${operator} ${value} ]
29 + ver_test \
30 + "${KV_MAJOR}.${KV_MINOR}.${KV_PATCH}" \
31 + "${operator}" \
32 + "${1:-${KV_MAJOR}}.${2:-${KV_MINOR}}.${3:-${KV_PATCH}}"
33 }
34
35 get_localversion() {
36 --
37 2.33.0

Replies