From 70c34f8fe7a6851e3ffde6ba98b7af8b1f65cddf Mon Sep 17 00:00:00 2001 From: Kern Sibbald Date: Mon, 25 May 2009 14:59:50 +0000 Subject: [PATCH] Apply Marco's patch: mvw Allow acl and xattr to be explicitly enabled and fail the configure if we are asked to enable acl or xattr support and the OS doesn't support acls or xattrs. git-svn-id: https://bacula.svn.sourceforge.net/svnroot/bacula/trunk@8861 91ce42f0-d328-0410-95d8-f526ca767f89 --- bacula/autoconf/configure.in | 64 +++++++++++++++++----------- bacula/configure | 81 ++++++++++++++++++++++++++---------- bacula/src/version.h | 4 +- bacula/technotes | 4 ++ 4 files changed, 104 insertions(+), 49 deletions(-) diff --git a/bacula/autoconf/configure.in b/bacula/autoconf/configure.in index cbd121f1a4..b7dbe2a58d 100644 --- a/bacula/autoconf/configure.in +++ b/bacula/autoconf/configure.in @@ -566,8 +566,8 @@ AC_ARG_ENABLE(static-tools, [ if test x$enableval = xyes; then if test x$use_libtool = xyes; then - echo "Libtool is enabled, not compatible with static tools, please rerun configure with --disable-libtool" - exit 1 + AC_MSG_ERROR([Libtool is enabled, not compatible with static tools, + please rerun configure with --disable-libtool]) fi support_static_tools=yes fi @@ -588,8 +588,8 @@ AC_ARG_ENABLE(static-fd, [ if test x$enableval = xyes; then if test x$use_libtool = xyes; then - echo "Libtool is enabled, not compatible with static tools, please rerun configure with --disable-libtool" - exit 1 + AC_MSG_ERROR([Libtool is enabled, not compatible with static tools, + please rerun configure with --disable-libtool]) fi support_static_fd=yes fi @@ -610,8 +610,8 @@ AC_ARG_ENABLE(static-sd, [ if test x$enableval = xyes; then if test x$use_libtool = xyes; then - echo "Libtool is enabled, not compatible with static tools, please rerun configure with --disable-libtool" - exit 1 + AC_MSG_ERROR([Libtool is enabled, not compatible with static tools, + please rerun configure with --disable-libtool]) fi support_static_sd=yes fi @@ -632,8 +632,8 @@ AC_ARG_ENABLE(static-dir, [ if test x$enableval = xyes; then if test x$use_libtool = xyes; then - echo "Libtool is enabled, not compatible with static tools, please rerun configure with --disable-libtool" - exit 1 + AC_MSG_ERROR([Libtool is enabled, not compatible with static tools, + please rerun configure with --disable-libtool]) fi support_static_dir=yes fi @@ -654,8 +654,8 @@ AC_ARG_ENABLE(static-cons, [ if test x$enableval = xyes; then if test x$use_libtool = xyes; then - echo "Libtool is enabled, not compatible with static tools, please rerun configure with --disable-libtool" - exit 1 + AC_MSG_ERROR([Libtool is enabled, not compatible with static tools, + please rerun configure with --disable-libtool]) fi support_static_cons=yes fi @@ -2317,11 +2317,13 @@ fi dnl dnl Check for ACL support and libraries dnl -support_acl=yes +support_acl=auto AC_ARG_ENABLE(acl, AC_HELP_STRING([--disable-acl], [disable acl support @<:@default=auto@:>@]), [ - if test x$enableval = xno; then + if test x$enableval = xyes; then + support_acl=yes + elif test x$enableval = xno; then support_acl=no fi ] @@ -2329,7 +2331,7 @@ AC_ARG_ENABLE(acl, have_acl=no have_extended_acl=no -if test x$support_acl = xyes; then +if test x$support_acl = xyes -o x$support_acl = xauto; then AC_CHECK_HEADER(sys/acl.h, [ AC_DEFINE(HAVE_SYS_ACL_H,1,[Defines if your system have the sys/acl.h header file])] , ) AC_CHECK_FUNC(acl_get_file, [ @@ -2363,30 +2365,38 @@ if test x$support_acl = xyes; then ) ] ) - if test $have_acl = yes; then - AC_DEFINE([HAVE_ACL], [], [Normal attribute support]) - fi - if test $have_extended_acl = yes; then - AC_DEFINE([HAVE_EXTENDED_ACL], [], [Extended attribute support]) + if test x$support_acl = xyes -a $have_acl != yes; then + AC_MSG_ERROR([acl support explicitly enabled but no supported acl implementation found, + please either load the acl libraries or rerun configure without --enable-acl]) + else + if test $have_acl = yes; then + AC_DEFINE([HAVE_ACL], [], [Normal attribute support]) + fi + + if test $have_extended_acl = yes; then + AC_DEFINE([HAVE_EXTENDED_ACL], [], [Extended attribute support]) + fi fi fi dnl dnl Check for XATTR support dnl -support_xattr=yes +support_xattr=auto AC_ARG_ENABLE(xattr, AC_HELP_STRING([--disable-xattr], [disable xattr support @<:@default=auto@:>@]), [ - if test x$enableval = xno; then + if test x$enableval = xyes; then + support_xattr=yes + elif test x$enableval = xno; then support_xattr=no fi ] ) have_xattr=no -if test x$support_xattr = xyes; then +if test x$support_xattr = xyes -o x$support_xattr = xauto; then AC_CHECK_HEADER(sys/xattr.h, [ AC_DEFINE(HAVE_SYS_XATTR_H,1,[Defines if your system have the sys/xattr.h header file])] , ) AC_CHECK_FUNCS(llistxattr lgetxattr lsetxattr, [ @@ -2439,8 +2449,13 @@ if test x$support_xattr = xyes; then fi fi - if test $have_xattr = yes; then - AC_DEFINE([HAVE_XATTR], [], [XATTR support]) + if test x$support_xattr = xyes -a $have_xattr != yes; then + AC_MSG_ERROR([xattr support explicitly enabled but no supported xattr implementation found, + please either load the xattr libraries or rerun configure without --enable-xatt]) + else + if test $have_xattr = yes; then + AC_DEFINE([HAVE_XATTR], [], [XATTR support]) + fi fi fi @@ -2954,8 +2969,7 @@ AC_OUTPUT([autoconf/Make.common \ if test "${support_bat}" = "yes" ; then if test "x$QMAKE" = "xnone" && test "x$QMAKEQT4" = "xnone"; then - echo "Could not find qmake or qmake-qt4 in $PATH. Check your Qt installation" - exit 1 + AC_MSG_ERROR([Could not find qmake or qmake-qt4 in $PATH. Check your Qt installation]) fi QMAKEBIN="qmake" diff --git a/bacula/configure b/bacula/configure index a519cc0ebe..50dc22d014 100755 --- a/bacula/configure +++ b/bacula/configure @@ -24274,8 +24274,11 @@ if test "${enable_static_tools+set}" = set; then enableval=$enable_static_tools; if test x$enableval = xyes; then if test x$use_libtool = xyes; then - echo "Libtool is enabled, not compatible with static tools, please rerun configure with --disable-libtool" - exit 1 + { { echo "$as_me:$LINENO: error: Libtool is enabled, not compatible with static tools, + please rerun configure with --disable-libtool" >&5 +echo "$as_me: error: Libtool is enabled, not compatible with static tools, + please rerun configure with --disable-libtool" >&2;} + { (exit 1); exit 1; }; } fi support_static_tools=yes fi @@ -24295,8 +24298,11 @@ if test "${enable_static_fd+set}" = set; then enableval=$enable_static_fd; if test x$enableval = xyes; then if test x$use_libtool = xyes; then - echo "Libtool is enabled, not compatible with static tools, please rerun configure with --disable-libtool" - exit 1 + { { echo "$as_me:$LINENO: error: Libtool is enabled, not compatible with static tools, + please rerun configure with --disable-libtool" >&5 +echo "$as_me: error: Libtool is enabled, not compatible with static tools, + please rerun configure with --disable-libtool" >&2;} + { (exit 1); exit 1; }; } fi support_static_fd=yes fi @@ -24316,8 +24322,11 @@ if test "${enable_static_sd+set}" = set; then enableval=$enable_static_sd; if test x$enableval = xyes; then if test x$use_libtool = xyes; then - echo "Libtool is enabled, not compatible with static tools, please rerun configure with --disable-libtool" - exit 1 + { { echo "$as_me:$LINENO: error: Libtool is enabled, not compatible with static tools, + please rerun configure with --disable-libtool" >&5 +echo "$as_me: error: Libtool is enabled, not compatible with static tools, + please rerun configure with --disable-libtool" >&2;} + { (exit 1); exit 1; }; } fi support_static_sd=yes fi @@ -24337,8 +24346,11 @@ if test "${enable_static_dir+set}" = set; then enableval=$enable_static_dir; if test x$enableval = xyes; then if test x$use_libtool = xyes; then - echo "Libtool is enabled, not compatible with static tools, please rerun configure with --disable-libtool" - exit 1 + { { echo "$as_me:$LINENO: error: Libtool is enabled, not compatible with static tools, + please rerun configure with --disable-libtool" >&5 +echo "$as_me: error: Libtool is enabled, not compatible with static tools, + please rerun configure with --disable-libtool" >&2;} + { (exit 1); exit 1; }; } fi support_static_dir=yes fi @@ -24358,8 +24370,11 @@ if test "${enable_static_cons+set}" = set; then enableval=$enable_static_cons; if test x$enableval = xyes; then if test x$use_libtool = xyes; then - echo "Libtool is enabled, not compatible with static tools, please rerun configure with --disable-libtool" - exit 1 + { { echo "$as_me:$LINENO: error: Libtool is enabled, not compatible with static tools, + please rerun configure with --disable-libtool" >&5 +echo "$as_me: error: Libtool is enabled, not compatible with static tools, + please rerun configure with --disable-libtool" >&2;} + { (exit 1); exit 1; }; } fi support_static_cons=yes fi @@ -40623,11 +40638,13 @@ _ACEOF have_zlib=yes fi -support_acl=yes +support_acl=auto # Check whether --enable-acl was given. if test "${enable_acl+set}" = set; then enableval=$enable_acl; - if test x$enableval = xno; then + if test x$enableval = xyes; then + support_acl=yes + elif test x$enableval = xno; then support_acl=no fi @@ -40637,7 +40654,7 @@ fi have_acl=no have_extended_acl=no -if test x$support_acl = xyes; then +if test x$support_acl = xyes -o x$support_acl = xauto; then if test "${ac_cv_header_sys_acl_h+set}" = set; then { echo "$as_me:$LINENO: checking for sys/acl.h" >&5 echo $ECHO_N "checking for sys/acl.h... $ECHO_C" >&6; } @@ -41145,28 +41162,39 @@ fi fi - if test $have_acl = yes; then + + if test x$support_acl = xyes -a $have_acl != yes; then + { { echo "$as_me:$LINENO: error: acl support explicitly enabled but no supported acl implementation found, + please either load the acl libraries or rerun configure without --enable-acl" >&5 +echo "$as_me: error: acl support explicitly enabled but no supported acl implementation found, + please either load the acl libraries or rerun configure without --enable-acl" >&2;} + { (exit 1); exit 1; }; } + else + if test $have_acl = yes; then cat >>confdefs.h <<\_ACEOF #define HAVE_ACL _ACEOF - fi + fi - if test $have_extended_acl = yes; then + if test $have_extended_acl = yes; then cat >>confdefs.h <<\_ACEOF #define HAVE_EXTENDED_ACL _ACEOF + fi fi fi -support_xattr=yes +support_xattr=auto # Check whether --enable-xattr was given. if test "${enable_xattr+set}" = set; then enableval=$enable_xattr; - if test x$enableval = xno; then + if test x$enableval = xyes; then + support_xattr=yes + elif test x$enableval = xno; then support_xattr=no fi @@ -41175,7 +41203,7 @@ fi have_xattr=no -if test x$support_xattr = xyes; then +if test x$support_xattr = xyes -o x$support_xattr = xauto; then if test "${ac_cv_header_sys_xattr_h+set}" = set; then { echo "$as_me:$LINENO: checking for sys/xattr.h" >&5 echo $ECHO_N "checking for sys/xattr.h... $ECHO_C" >&6; } @@ -42151,12 +42179,20 @@ fi fi fi - if test $have_xattr = yes; then + if test x$support_xattr = xyes -a $have_xattr != yes; then + { { echo "$as_me:$LINENO: error: xattr support explicitly enabled but no supported xattr implementation found, + please either load the xattr libraries or rerun configure without --enable-xatt" >&5 +echo "$as_me: error: xattr support explicitly enabled but no supported xattr implementation found, + please either load the xattr libraries or rerun configure without --enable-xatt" >&2;} + { (exit 1); exit 1; }; } + else + if test $have_xattr = yes; then cat >>confdefs.h <<\_ACEOF #define HAVE_XATTR _ACEOF + fi fi fi @@ -45658,8 +45694,9 @@ fi if test "${support_bat}" = "yes" ; then if test "x$QMAKE" = "xnone" && test "x$QMAKEQT4" = "xnone"; then - echo "Could not find qmake or qmake-qt4 in $PATH. Check your Qt installation" - exit 1 + { { echo "$as_me:$LINENO: error: Could not find qmake or qmake-qt4 in $PATH. Check your Qt installation" >&5 +echo "$as_me: error: Could not find qmake or qmake-qt4 in $PATH. Check your Qt installation" >&2;} + { (exit 1); exit 1; }; } fi QMAKEBIN="qmake" diff --git a/bacula/src/version.h b/bacula/src/version.h index 847bc6812c..978ca59454 100644 --- a/bacula/src/version.h +++ b/bacula/src/version.h @@ -4,8 +4,8 @@ #undef VERSION #define VERSION "3.0.2" -#define BDATE "23 May 2009" -#define LSMDATE "23May09" +#define BDATE "25 May 2009" +#define LSMDATE "25May09" #define PROG_COPYRIGHT "Copyright (C) %d-2009 Free Software Foundation Europe e.V.\n" #define BYEAR "2009" /* year for copyright messages in progs */ diff --git a/bacula/technotes b/bacula/technotes index 3a70e7b2f5..6d7fc3c466 100644 --- a/bacula/technotes +++ b/bacula/technotes @@ -2,6 +2,10 @@ General: +25May09 +mvw Allow acl and xattr to be explicitly enabled and fail the configure + if we are asked to enable acl or xattr support and the OS doesn't support + acls or xattrs. 23May09 kes Create Client record in database at startup -- makes bat work better. kes Turn off useless End of file message during restore. -- 2.39.5