From 8fd4e3af2e7e4d7c45288f9dad1290b7532d7dc9 Mon Sep 17 00:00:00 2001 From: Brian Behlendorf Date: Thu, 1 Jul 2010 13:25:34 -0700 Subject: [PATCH] Check sourcelink is set before passing to readlink When no source was found in any of the expected paths treat this as fatal and provide the user with a hint as to what they should do. --- config/spl-build.m4 | 7 ++++--- configure | 24 ++++++++++++++---------- 2 files changed, 18 insertions(+), 13 deletions(-) diff --git a/config/spl-build.m4 b/config/spl-build.m4 index 09e4b55e..89b7162c 100644 --- a/config/spl-build.m4 +++ b/config/spl-build.m4 @@ -117,13 +117,14 @@ AC_DEFUN([SPL_AC_KERNEL], [ 2>/dev/null | grep -v obj | tail -1) fi - if test -e ${sourcelink}; then + if test -n "$sourcelink" && test -e ${sourcelink}; then kernelsrc=`readlink -f ${sourcelink}` else AC_MSG_RESULT([Not found]) AC_MSG_ERROR([ - *** Please specify the location of the kernel source - *** with the '--with-linux=PATH' option]) + *** Please make sure the kernel devel package for your distribution + *** is installed then try again. If that fails you can specify the + *** location of the kernel source with the '--with-linux=PATH' option.]) fi else if test "$kernelsrc" = "NONE"; then diff --git a/configure b/configure index 979c3880..9d5d9354 100755 --- a/configure +++ b/configure @@ -11504,17 +11504,19 @@ $as_echo_n "checking kernel source directory... " >&6; } 2>/dev/null | grep -v obj | tail -1) fi - if test -e ${sourcelink}; then + if test -n "$sourcelink" && test -e ${sourcelink}; then kernelsrc=`readlink -f ${sourcelink}` else { $as_echo "$as_me:$LINENO: result: Not found" >&5 $as_echo "Not found" >&6; } { { $as_echo "$as_me:$LINENO: error: - *** Please specify the location of the kernel source - *** with the '--with-linux=PATH' option" >&5 + *** Please make sure the kernel devel package for your distribution + *** is installed then try again. If that fails you can specify the + *** location of the kernel source with the '--with-linux=PATH' option." >&5 $as_echo "$as_me: error: - *** Please specify the location of the kernel source - *** with the '--with-linux=PATH' option" >&2;} + *** Please make sure the kernel devel package for your distribution + *** is installed then try again. If that fails you can specify the + *** location of the kernel source with the '--with-linux=PATH' option." >&2;} { (exit 1); exit 1; }; } fi else @@ -14974,17 +14976,19 @@ $as_echo_n "checking kernel source directory... " >&6; } 2>/dev/null | grep -v obj | tail -1) fi - if test -e ${sourcelink}; then + if test -n "$sourcelink" && test -e ${sourcelink}; then kernelsrc=`readlink -f ${sourcelink}` else { $as_echo "$as_me:$LINENO: result: Not found" >&5 $as_echo "Not found" >&6; } { { $as_echo "$as_me:$LINENO: error: - *** Please specify the location of the kernel source - *** with the '--with-linux=PATH' option" >&5 + *** Please make sure the kernel devel package for your distribution + *** is installed then try again. If that fails you can specify the + *** location of the kernel source with the '--with-linux=PATH' option." >&5 $as_echo "$as_me: error: - *** Please specify the location of the kernel source - *** with the '--with-linux=PATH' option" >&2;} + *** Please make sure the kernel devel package for your distribution + *** is installed then try again. If that fails you can specify the + *** location of the kernel source with the '--with-linux=PATH' option." >&2;} { (exit 1); exit 1; }; } fi else