Whamcloud - gitweb
LU-16090 build: Module.symvers lookup by flavor on SUSE 95/48195/2
authorShaun Tancheff <shaun.tancheff@hpe.com>
Thu, 11 Aug 2022 11:48:40 +0000 (18:48 +0700)
committerOleg Drokin <green@whamcloud.com>
Sat, 10 Sep 2022 00:49:25 +0000 (00:49 +0000)
When multiple kernel flavors are found we need to select only
the Module.symvers for the flavor that is being built.

HPE-bug-id: LUS-11149
Test-Parameters: trivial
Fixes: 1f4aaefe1aae ("LU-15962 build: add in-kernel Module.symvers to symbol path")
Signed-off-by: Shaun Tancheff <shaun.tancheff@hpe.com>
Change-Id: I1c9af91108534d3a67f816077756fded4cd0b653
Reviewed-on: https://review.whamcloud.com/48195
Tested-by: jenkins <devops@whamcloud.com>
Tested-by: Maloo <maloo@whamcloud.com>
Reviewed-by: Jian Yu <yujian@whamcloud.com>
Tested-by: Jian Yu <yujian@whamcloud.com>
Reviewed-by: James Simmons <jsimmons@infradead.org>
Reviewed-by: Petros Koutoupis <petros.koutoupis@hpe.com>
Reviewed-by: Oleg Drokin <green@whamcloud.com>
lnet/autoconf/lustre-lnet.m4

index f76bf5a..5e2aee6 100644 (file)
@@ -210,6 +210,18 @@ AS_IF([test $ENABLEO2IB = "no"], [
                        O2IB_SYMVER=$O2IBPATH/Module.symvers
                elif test "x$SUSE_KERNEL" = "xyes"; then
                        O2IB_SYMVER=$(find ${O2IBPATH}* -name Module.symvers)
                        O2IB_SYMVER=$O2IBPATH/Module.symvers
                elif test "x$SUSE_KERNEL" = "xyes"; then
                        O2IB_SYMVER=$(find ${O2IBPATH}* -name Module.symvers)
+                       # Select only the current 'flavor' if there is more than 1
+                       NUM_AVAIL=$(find ${O2IBPATH}* -name Module.symvers | wc -l)
+                       if test ${NUM_AVAIL} -gt 1; then
+                               PREFER=$(basename ${LINUX_OBJ})
+                               for F in $(find ${O2IBPATH}-obj -name Module.symvers)
+                               do
+                                       maybe=$(echo $F | grep "/${PREFER}")
+                                       if test "x$maybe" != "x"; then
+                                               O2IB_SYMVER=$F
+                                       fi
+                               done
+                       fi
                elif test -f $LINUX_OBJ/Module.symvers; then
                        # Debian symvers is in the arch tree
                        O2IB_SYMVER=$LINUX_OBJ/Module.symvers
                elif test -f $LINUX_OBJ/Module.symvers; then
                        # Debian symvers is in the arch tree
                        O2IB_SYMVER=$LINUX_OBJ/Module.symvers