1
0
mirror of git://sourceware.org/git/lvm2.git synced 2025-01-02 01:18:26 +03:00

Add --with-thin-check configure option

If specified - use given path without test (Path could be empty)
If autodetection is in use - check for command in available PATH.
This commit is contained in:
Zdenek Kabelac 2012-03-14 17:09:00 +00:00
parent 93945bb616
commit f61cacad16
4 changed files with 91 additions and 0 deletions

View File

@ -1,5 +1,6 @@
Version 2.02.96 - Version 2.02.96 -
================================ ================================
Add --with-thin-check configure option for path to thin_check.
Detect lvm binary path in lvmetad udev rules. Detect lvm binary path in lvmetad udev rules.
Fix error message when pvmove LV activation fails with name already in use. Fix error message when pvmove LV activation fails with name already in use.
Better structure layout for device_info in dev_subsystem_name(). Better structure layout for device_info in dev_subsystem_name().

68
configure vendored
View File

@ -714,6 +714,7 @@ PKGCONFIGINIT_CFLAGS
PKG_CONFIG_LIBDIR PKG_CONFIG_LIBDIR
PKG_CONFIG_PATH PKG_CONFIG_PATH
PKG_CONFIG PKG_CONFIG
THIN_CHECK_CMD
POW_LIB POW_LIB
LIBOBJS LIBOBJS
ALLOCA ALLOCA
@ -808,6 +809,7 @@ with_mirrors
with_raid with_raid
with_replicators with_replicators
with_thin with_thin
with_thin_check
enable_readline enable_readline
enable_realtime enable_realtime
enable_ocf enable_ocf
@ -1566,6 +1568,7 @@ Optional Packages:
[[TYPE=none]] [[TYPE=none]]
--with-thin=TYPE thin provisioning support: internal/shared/none --with-thin=TYPE thin provisioning support: internal/shared/none
[[TYPE=none]] [[TYPE=none]]
--with-thin-check=PATH thin_check tool: [[autodetect]]
--with-ocfdir=DIR install OCF files in DIR --with-ocfdir=DIR install OCF files in DIR
[[PREFIX/lib/ocf/resource.d/lvm2]] [[PREFIX/lib/ocf/resource.d/lvm2]]
--with-clvmd=TYPE build cluster LVM Daemon --with-clvmd=TYPE build cluster LVM Daemon
@ -7007,6 +7010,70 @@ $as_echo "#define THIN_INTERNAL 1" >>confdefs.h
*) as_fn_error $? "--with-thin parameter invalid ($THIN)" "$LINENO" 5 ;; *) as_fn_error $? "--with-thin parameter invalid ($THIN)" "$LINENO" 5 ;;
esac esac
case "$THIN" in
internal|shared)
# Check whether --with-thin-check was given.
if test "${with_thin_check+set}" = set; then :
withval=$with_thin_check; THIN_CHECK_CMD=$withval
else
THIN_CHECK_CMD="autodetect"
fi
# Empty means a config way to ignore thin checking
if test "$THIN_CHECK_CMD" = "autodetect"; then
# Extract the first word of "thin_check", so it can be a program name with args.
set dummy thin_check; ac_word=$2
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
$as_echo_n "checking for $ac_word... " >&6; }
if test "${ac_cv_path_THIN_CHECK_CMD+set}" = set; then :
$as_echo_n "(cached) " >&6
else
case $THIN_CHECK_CMD in
[\\/]* | ?:[\\/]*)
ac_cv_path_THIN_CHECK_CMD="$THIN_CHECK_CMD" # Let the user override the test with a path.
;;
*)
as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
for as_dir in $PATH
do
IFS=$as_save_IFS
test -z "$as_dir" && as_dir=.
for ac_exec_ext in '' $ac_executable_extensions; do
if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
ac_cv_path_THIN_CHECK_CMD="$as_dir/$ac_word$ac_exec_ext"
$as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
break 2
fi
done
done
IFS=$as_save_IFS
;;
esac
fi
THIN_CHECK_CMD=$ac_cv_path_THIN_CHECK_CMD
if test -n "$THIN_CHECK_CMD"; then
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $THIN_CHECK_CMD" >&5
$as_echo "$THIN_CHECK_CMD" >&6; }
else
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
$as_echo "no" >&6; }
fi
test -z "$THIN_CHECK_CMD" && as_fn_error $? "thin_check not found in path $PATH" "$LINENO" 5
fi
cat >>confdefs.h <<_ACEOF
#define THIN_CHECK_CMD "$THIN_CHECK_CMD"
_ACEOF
;;
esac
################################################################################ ################################################################################
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to enable readline" >&5 { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to enable readline" >&5
$as_echo_n "checking whether to enable readline... " >&6; } $as_echo_n "checking whether to enable readline... " >&6; }
@ -10420,6 +10487,7 @@ LVM_LIBAPI=`echo "$VER" | $AWK -F '[()]' '{print $2}'`
################################################################################ ################################################################################

View File

@ -411,6 +411,24 @@ case "$THIN" in
*) AC_MSG_ERROR([--with-thin parameter invalid ($THIN)]) ;; *) AC_MSG_ERROR([--with-thin parameter invalid ($THIN)]) ;;
esac esac
case "$THIN" in
internal|shared)
AC_ARG_WITH(thin-check,
AC_HELP_STRING([--with-thin-check=PATH],
[thin_check tool: [[autodetect]]]),
THIN_CHECK_CMD=$withval, THIN_CHECK_CMD="autodetect")
# Empty means a config way to ignore thin checking
if test "$THIN_CHECK_CMD" = "autodetect"; then
AC_PATH_PROG(THIN_CHECK_CMD, thin_check)
test -z "$THIN_CHECK_CMD" && AC_MSG_ERROR(thin_check not found in path $PATH)
fi
AC_DEFINE_UNQUOTED([THIN_CHECK_CMD], ["$THIN_CHECK_CMD"],
[The path to 'thin_check', if available.])
;;
esac
################################################################################ ################################################################################
dnl -- Disable readline dnl -- Disable readline
AC_MSG_CHECKING(whether to enable readline) AC_MSG_CHECKING(whether to enable readline)
@ -1475,6 +1493,7 @@ AC_SUBST(STATICDIR)
AC_SUBST(STATIC_LINK) AC_SUBST(STATIC_LINK)
AC_SUBST(TESTING) AC_SUBST(TESTING)
AC_SUBST(THIN) AC_SUBST(THIN)
AC_SUBST(THIN_CHECK_CMD)
AC_SUBST(UDEV_LIBS) AC_SUBST(UDEV_LIBS)
AC_SUBST(UDEV_PC) AC_SUBST(UDEV_PC)
AC_SUBST(UDEV_RULES) AC_SUBST(UDEV_RULES)

View File

@ -534,6 +534,9 @@
/* Define to 1 if you have the ANSI C header files. */ /* Define to 1 if you have the ANSI C header files. */
#undef STDC_HEADERS #undef STDC_HEADERS
/* The path to 'thin_check', if available. */
#undef THIN_CHECK_CMD
/* Define to 1 to include built-in support for thin provisioning. */ /* Define to 1 to include built-in support for thin provisioning. */
#undef THIN_INTERNAL #undef THIN_INTERNAL