diff mbox

[v2] cifs-utils: add autoconf test to make sure that libwbclient is usable

Message ID 1359800269-27502-1-git-send-email-jlayton@samba.org (mailing list archive)
State New, archived
Headers show

Commit Message

Jeff Layton Feb. 2, 2013, 10:17 a.m. UTC
The idmapwb plugin requires a usable wbcSidsToUnixIds() function. Check
to ensure that the wbclient library provides that symbol, and handle
it appropriately if it doesn't.

If someone were so inclined they probably could fix idmapwb to fall
back to the older mapping functions if that symbol doesn't exist,
but for now this patch just makes it refuse to build the plugin.

Reported-by: Shirish Pargaonkar <shirishpargaonkar@gmail.com>
Signed-off-by: Jeff Layton <jlayton@samba.org>
---
 aclocal/idmap.m4 | 20 ++++++++++++++++++++
 1 file changed, 20 insertions(+)
diff mbox

Patch

diff --git a/aclocal/idmap.m4 b/aclocal/idmap.m4
index 939a901..c5727f6 100644
--- a/aclocal/idmap.m4
+++ b/aclocal/idmap.m4
@@ -19,6 +19,26 @@  if test $enable_cifsidmap != "no" -o $enable_cifsacl != "no"; then
 			])
 fi
 
+if test $enable_cifsacl != "no" -o $enable_cifsacl != "no"; then
+	ac_wbc_save_LDFLAGS="$LDFLAGS"
+	LDFLAGS="$LDFLAGS $WBCLIENT_LIBS"
+	AC_CHECK_LIB(wbclient, wbcSidsToUnixIds, , [
+				if test "$enable_cifsidmap" = "yes"; then
+					AC_MSG_ERROR([wbclient library lacks wbcSidsToUnixIds().])
+				else
+					AC_MSG_WARN([wbclient library lacks wbcSidsToUnixIds(). Disabling cifs.idmap.])
+					enable_cifsidmap="no"
+				fi
+				if test "$enable_cifsacl" = "yes"; then
+					AC_MSG_ERROR([wbclient library lacks wbcSidsToUnixIds.])
+				else
+					AC_MSG_WARN([wbclient library lacks wbcSidsToUnixIds(). Disabling cifsacl tools.])
+					enable_cifsacl="no"
+				fi
+			])
+	LDFLAGS=$ac_wbc_save_LDFLAGS
+fi
+
 if test $enable_cifsacl != "no"; then
 	AC_CHECK_HEADERS([sys/xattr.h], , [
 				if test "$enable_cifsacl" = "yes"; then