From: Ake Sandgren Date: Mon, 3 Oct 2022 06:39:20 +0000 (+0200) Subject: LU-16199 ldiskfs: make ubuntu kernel version detection better X-Git-Tag: 2.15.53~162 X-Git-Url: https://git.whamcloud.com/gitweb?a=commitdiff_plain;h=3f5227b04ed712d5b441a7735a4beacdbb099156;p=fs%2Flustre-release.git LU-16199 ldiskfs: make ubuntu kernel version detection better Ubuntu kernel version detection is not working correctly with official versioning scheme. There are also a couple of errors in the AS_VERSION_COMPARE sequences causing problems for 5.4.0 and later. Signed-off-by: Ake Sandgren Change-Id: Ie6e51de95ae1513b15ee0c2baa8c421f3cb954f5 Reviewed-on: https://review.whamcloud.com/c/fs/lustre-release/+/48717 Tested-by: jenkins Tested-by: Maloo Reviewed-by: Shaun Tancheff Reviewed-by: James Simmons Reviewed-by: Oleg Drokin --- diff --git a/config/lustre-build-ldiskfs.m4 b/config/lustre-build-ldiskfs.m4 index 26b0790..a584657 100644 --- a/config/lustre-build-ldiskfs.m4 +++ b/config/lustre-build-ldiskfs.m4 @@ -69,14 +69,15 @@ AS_IF([test x$RHEL_KERNEL = xyes], [ esac ]) ], [test x$UBUNTU_KERNEL = xyes], [ - AS_VERSION_COMPARE([$LINUXRELEASE],[5.11.0],[ - AS_VERSION_COMPARE([$LINUXRELEASE],[5.8.0],[ - AS_VERSION_COMPARE([$LINUXRELEASE],[5.4.0],[ - AS_VERSION_COMPARE([$LINUXRELEASE],[5.0.0],[ - AS_VERSION_COMPARE([$LINUXRELEASE],[4.15.0],[ - AS_VERSION_COMPARE([$LINUXRELEASE],[4.4.0], [], + BASEVER=$(echo $LINUXRELEASE | cut -d'-' -f1) + AS_VERSION_COMPARE([$BASEVER],[5.11.0],[ + AS_VERSION_COMPARE([$BASEVER],[5.8.0],[ + AS_VERSION_COMPARE([$BASEVER],[5.4.0],[ + AS_VERSION_COMPARE([$BASEVER],[5.0.0],[ + AS_VERSION_COMPARE([$BASEVER],[4.15.0],[ + AS_VERSION_COMPARE([$BASEVER],[4.4.0], [], [ - KPLEV=$(echo $LINUXRELEASE | sed -n 's/.*-\([0-9]\+\).*/\1/p') + KPLEV=$(echo $LINUXRELEASE | cut -d'-' -f2) AS_IF( [test -z "$KPLEV"], [ AC_MSG_WARN([Failed to determine Kernel patch level. Assume latest.]) @@ -90,7 +91,7 @@ AS_IF([test x$RHEL_KERNEL = xyes], [ ], [LDISKFS_SERIES="4.4.0-73-ubuntu14+16.series"])], [ - KPLEV=$(echo $LINUXRELEASE | sed -n 's/.*-\([0-9]\+\).*/\1/p') + KPLEV=$(echo $LINUXRELEASE | cut -d'-' -f2) AS_IF( [test -z "$KPLEV"], [ AC_MSG_WARN([Failed to determine Kernel patch level. Assume latest.]) @@ -103,7 +104,6 @@ AS_IF([test x$RHEL_KERNEL = xyes], [ [LDISKFS_SERIES="4.15.0-24-ubuntu18.series"])], [LDISKFS_SERIES="5.0.0-13-ubuntu19.series"], [LDISKFS_SERIES="5.0.0-13-ubuntu19.series"])], - [LDISKFS_SERIES="5.4.0-42-ubuntu20.series"], [ KPLEV=$(echo $LINUXRELEASE | cut -d'-' -f2) AS_IF( @@ -119,9 +119,18 @@ AS_IF([test x$RHEL_KERNEL = xyes], [ ) ], [LDISKFS_SERIES="5.4.0-ml.series"])], - [LDISKFS_SERIES="5.8.0-53-ubuntu20.series"], - [LDISKFS_SERIES="5.8.0-63-ubuntu20.series"])], - [LDISKFS_SERIES="5.11.0-40-ubuntu20.series"], + [ + KPLEV=$(echo $LINUXRELEASE | cut -d'-' -f2) + AS_IF( + [test -z "$KPLEV"], [ + AC_MSG_WARN([Failed to determine Kernel patch level. Assume latest.]) + LDISKFS_SERIES="5.8.0-63-ubuntu20.series" + ], + [test $KPLEV -ge 63], [LDISKFS_SERIES="5.8.0-63-ubuntu20.series"], + [LDISKFS_SERIES="5.8.0-53-ubuntu20.series"] + ) + ], + [LDISKFS_SERIES="5.8.0-ml.series"])], [LDISKFS_SERIES="5.11.0-40-ubuntu20.series"], [LDISKFS_SERIES="5.11.0-40-ubuntu20.series"]) ])