diff options
author | Shirish Pargaonkar <shirishpargaonkar@gmail.com> | 2011-08-25 14:16:23 -0400 |
---|---|---|
committer | Jeff Layton <jlayton@samba.org> | 2011-08-25 14:16:23 -0400 |
commit | 06678a909ee842193b95b140fb198f85e3addfef (patch) | |
tree | fed4cb2982f502a4e82acc11357162963e7419e9 | |
parent | 5ee1ac229d3738520d308e4ddcd170b9b5026ceb (diff) | |
download | cifs-utils-06678a909ee842193b95b140fb198f85e3addfef.tar.gz cifs-utils-06678a909ee842193b95b140fb198f85e3addfef.tar.bz2 cifs-utils-06678a909ee842193b95b140fb198f85e3addfef.zip |
cifsacl: Add configure and make directives for cifsacl (try #2)
Add configure directives for option cifsacl. The default action is
to enable cifsacl option.
cifsacl option is enabled or disabled in a similar way to cifs.idmap
in the same function. In addition, for cifsacl, check for sys/xattr.h
is done in the smae .m4 file.
Add directives to build getcifsacl in Makefile.
Signed-off-by: Shirish Pargaonkar <shirishpargaonkar@gmail.com>
-rw-r--r-- | Makefile.am | 17 | ||||
-rw-r--r-- | aclocal/idmap.m4 | 23 | ||||
-rw-r--r-- | configure.ac | 17 |
3 files changed, 53 insertions, 4 deletions
diff --git a/Makefile.am b/Makefile.am index 4938447..3ec6b7e 100644 --- a/Makefile.am +++ b/Makefile.am @@ -9,7 +9,7 @@ mount_cifs_LDADD = $(LIBCAP) $(CAPNG_LDADD) man_MANS = mount.cifs.8 sbin_PROGRAMS = -clean-local: clean-local-upcall clean-local-idmap +clean-local: clean-local-upcall clean-local-idmap clean-local-aclprogs if CONFIG_CIFSUPCALL sbin_PROGRAMS += cifs.upcall @@ -50,3 +50,18 @@ clean-local-idmap: if CONFIG_CIFSIDMAP rm -f cifs.idmap.8 cifs.idmap.8-t endif + +if CONFIG_CIFSACL +sbin_PROGRAMS += getcifsacl +getcifsacl_SOURCES = getcifsacl.c +getcifsacl_LDADD = -lkeyutils $(WINB_LDADD) +man_MANS += getcifsacl.8 + +getcifsacl.8: getcifsacl.8.in + $(SED) 's,[@]sbindir@,$(sbindir),' $(srcdir)/$@.in > $@-t && mv $@-t $@ +endif + +clean-local-aclprogs: +if CONFIG_CIFSACL + rm -f getcifsacl.8 getcifsacl.8-t +endif diff --git a/aclocal/idmap.m4 b/aclocal/idmap.m4 index 211d372..ada73f0 100644 --- a/aclocal/idmap.m4 +++ b/aclocal/idmap.m4 @@ -23,10 +23,10 @@ AC_DEFUN([AC_WBCH_COMPL],[ #endif ]]) -dnl Check for wbclient.h header and libwbclietn.so +dnl Check for wbclient.h header and libwbclient.so dnl AC_DEFUN([AC_TEST_WBCHL],[ -if test $enable_cifsidmap != "no"; then +if test $enable_cifsidmap != "no" -o $enable_cifsacl != "no"; then AC_CHECK_HEADERS([wbclient.h], , [ if test "$enable_cifsidmap" = "yes"; then AC_MSG_ERROR([wbclient.h not found, consider installing libwbclient-devel.]) @@ -34,10 +34,27 @@ if test $enable_cifsidmap != "no"; then AC_MSG_WARN([wbclient.h not found, consider installing libwbclient-devel. Disabling cifs.idmap.]) enable_cifsidmap="no" fi + if test "$enable_cifsacl" = "yes"; then + AC_MSG_ERROR([wbclient.h not found, consider installing libwbclient-devel.]) + else + AC_MSG_WARN([wbclient.h not found, consider installing libwbclient-devel. Disabling cifsacl.]) + enable_cifsacl="no" + fi ], [ AC_WBCH_COMPL ]) fi -if test $enable_cifsidmap != "no"; then +if test $enable_cifsacl != "no"; then + AC_CHECK_HEADERS([sys/xattr.h], , [ + if test "$enable_cifsacl" = "yes"; then + AC_MSG_ERROR([/usr/include/sys/xattr.h not found]) + else + AC_MSG_WARN([/usr/include/sys/xattr.h not found. Disabling cifsacl.]) + enable_cifsacl="no" + fi + ], [ ]) +fi + +if test $enable_cifsidmap != "no" -o $enable_cifsacl != "no"; then AC_CHECK_LIB([wbclient], [wbcStringToSid], [ WINB_LDADD='-lwbclient' ] [ AC_DEFINE(HAVE_LIBWBCLIENT, 1, ["Define var have_libwbclient"]) ], [AC_MSG_ERROR([No functioning wbclient library found!])]) AC_SUBST(WINB_LDADD) diff --git a/configure.ac b/configure.ac index 6a9ad75..2541f39 100644 --- a/configure.ac +++ b/configure.ac @@ -28,6 +28,12 @@ AC_ARG_ENABLE(cifsidmap, enable_cifsidmap=$enableval, enable_cifsidmap="maybe") +AC_ARG_ENABLE(cifsacl, + [AC_HELP_STRING([--enable-cifsacl], + [Create get/set cifsacl binary @<:@default=yes@:>@])], + enable_cifsacl=$enableval, + enable_cifsacl="maybe") + # Checks for programs. AC_PROG_CC AC_PROG_SED @@ -94,6 +100,16 @@ if test $enable_cifsupcall != "no" -o $enable_cifsidmap != "no"; then fi ]) fi +if test $enable_cifsacl != "no"; then + AC_CHECK_HEADERS([wbclient.h], , [ + if test "$enable_cifsacl" = "yes"; then + AC_MSG_ERROR([wbclient.h not found, consider installing libwbclient-devel.]) + else + AC_MSG_WARN([wbclient.h not found, consider installing libwbclient-devel. Disabling getcifsacl.]) + enable_cifsacl="no" + fi + ]) +fi if test $enable_cifsupcall != "no"; then AC_CHECK_LIB([krb5], [krb5_init_context], [ KRB5_LDADD='-lkrb5' ], @@ -156,6 +172,7 @@ LIBS=$cu_saved_libs AM_CONDITIONAL(CONFIG_CIFSUPCALL, [test "$enable_cifsupcall" != "no"]) AM_CONDITIONAL(CONFIG_CIFSCREDS, [test "$enable_cifscreds" = "yes"]) AM_CONDITIONAL(CONFIG_CIFSIDMAP, [test "$enable_cifsidmap" != "no"]) +AM_CONDITIONAL(CONFIG_CIFSACL, [test "$enable_cifsacl" != "no"]) LIBCAP_NG_PATH |