From 5ee03c25f729ef9617e701abd01081a92e61b058 Mon Sep 17 00:00:00 2001 From: Eric Blake Date: Tue, 26 Oct 2010 10:37:06 -0600 Subject: [PATCH] build: fix shell detection bug A missing shell was noisy, and the use of command to decipher a shell's absolute path requires "" rather than ''. * configure.ac (lv_cv_wrapper_shell): Fix logic errors if candidate shell is not available. * .gitignore: Ignore file created when /bin/sh is old dash. Reported by Matthias Bolte. --- .gitignore | 1 + configure.ac | 6 +++--- 2 files changed, 4 insertions(+), 3 deletions(-) diff --git a/.gitignore b/.gitignore index c62e8858cb..b7eae66a92 100644 --- a/.gitignore +++ b/.gitignore @@ -33,6 +33,7 @@ config.rpath config.status config.sub configure +configure.lineno coverage cscope.files cscope.out diff --git a/configure.ac b/configure.ac index 86a864b596..d942d3c380 100644 --- a/configure.ac +++ b/configure.ac @@ -616,13 +616,13 @@ if test "$with_qemu" = yes; then test $lv_cv_wrapper_shell = none && AC_MSG_ERROR([could not find decent shell]) echo a > conftest.a - $lv_cv_wrapper_shell -c ': 1<>conftest.a' + ($lv_cv_wrapper_shell -c ': 1<>conftest.a') 2>/dev/null && case `cat conftest.a`.$lv_cv_wrapper_shell in a./*) break;; dnl /bin/sh is good enough a.*) dnl bash, ksh, and zsh all understand 'command', use that dnl to determine the absolute path of the shell lv_cv_wrapper_shell=`$lv_cv_wrapper_shell -c \ - 'command -v $lv_cv_wrapper_shell'` + "command -v $lv_cv_wrapper_shell"` case $lv_cv_wrapper_shell in /*) break;; esac @@ -636,7 +636,7 @@ if test "$with_qemu" = yes; then lv_wrapper_shell=$lv_cv_wrapper_shell fi if test "x$lv_wrapper_shell" != x; then - AC_DEFINE_UNQUOTED([VIR_WRAPPER_SHELL], [$lv_wrapper_shell], + AC_DEFINE_UNQUOTED([VIR_WRAPPER_SHELL], ["$lv_wrapper_shell"], [Define to the absolute path of a shell that does not truncate on <> redirection, if /bin/sh does not fit the bill]) fi