From 534c4e38cb2e070e8502798e3eecf297ff82f480 Mon Sep 17 00:00:00 2001 From: "Brian J. Murrell" Date: Mon, 8 Mar 2010 14:19:30 -0800 Subject: [PATCH] When no kernel source has been pointed to, first attempt to use /lib/modules/$(uname -r)/source. This will likely fail when building under a mock (http://fedoraproject.org/wiki/Projects/Mock) chroot environment since `uname -r` will report the running kernel which likely is not the kernel in your chroot. To cleanly handle this we fallback to using the first kernel in your chroot. The kernel-devel package which contains all the kernel headers and a few build products such as Module.symver{s} is all the is required. Full source is not needed. --- config/spl-build.m4 | 10 ++++++++-- configure | 20 ++++++++++++++++---- 2 files changed, 24 insertions(+), 6 deletions(-) diff --git a/config/spl-build.m4 b/config/spl-build.m4 index e2e2112e7..9d0361028 100644 --- a/config/spl-build.m4 +++ b/config/spl-build.m4 @@ -104,8 +104,14 @@ AC_DEFUN([SPL_AC_KERNEL], [ AC_MSG_CHECKING([kernel source directory]) if test -z "$kernelsrc"; then - sourcelink=`ls -1d /usr/src/kernels/* /usr/src/linux-* \ - 2>/dev/null | grep -v obj | tail -1` + headersdir="/lib/modules/$(uname -r)/build" + if test -e "$headersdir"; then + sourcelink=$(readlink -f "$headersdir") + else + sourcelink=$(ls -1d /usr/src/kernels/* \ + /usr/src/linux-* \ + 2>/dev/null | grep -v obj | tail -1) + fi if test -e ${sourcelink}; then kernelsrc=`readlink -f ${sourcelink}` diff --git a/configure b/configure index 99c064d43..98b92a9d0 100755 --- a/configure +++ b/configure @@ -18971,8 +18971,14 @@ fi; echo "$as_me:$LINENO: checking kernel source directory" >&5 echo $ECHO_N "checking kernel source directory... $ECHO_C" >&6 if test -z "$kernelsrc"; then - sourcelink=`ls -1d /usr/src/kernels/* /usr/src/linux-* \ - 2>/dev/null | grep -v obj | tail -1` + headersdir="/lib/modules/$(uname -r)/build" + if test -e "$headersdir"; then + sourcelink=$(readlink -f "$headersdir") + else + sourcelink=$(ls -1d /usr/src/kernels/* \ + /usr/src/linux-* \ + 2>/dev/null | grep -v obj | tail -1) + fi if test -e ${sourcelink}; then kernelsrc=`readlink -f ${sourcelink}` @@ -22317,8 +22323,14 @@ fi; echo "$as_me:$LINENO: checking kernel source directory" >&5 echo $ECHO_N "checking kernel source directory... $ECHO_C" >&6 if test -z "$kernelsrc"; then - sourcelink=`ls -1d /usr/src/kernels/* /usr/src/linux-* \ - 2>/dev/null | grep -v obj | tail -1` + headersdir="/lib/modules/$(uname -r)/build" + if test -e "$headersdir"; then + sourcelink=$(readlink -f "$headersdir") + else + sourcelink=$(ls -1d /usr/src/kernels/* \ + /usr/src/linux-* \ + 2>/dev/null | grep -v obj | tail -1) + fi if test -e ${sourcelink}; then kernelsrc=`readlink -f ${sourcelink}` -- 2.40.0