On Tue, Jan 21, 2014 at 3:00 PM, Lukas Slebodnik <lsleb...@redhat.com>wrote:
> On (16/01/14 11:02), Noam Meltzer wrote: > >--- > > Makefile.am | 21 +++++++++++++++++++++ > > configure.ac | 10 ++++++++++ > > src/conf_macros.m4 | 30 ++++++++++++++++++++++++++++++ > > src/external/libnfsidmap.m4 | 17 +++++++++++++++++ > > 4 files changed, 78 insertions(+) > > create mode 100644 src/external/libnfsidmap.m4 > > > >diff --git a/Makefile.am b/Makefile.am > >index 9c155d6..62ad89e 100644 > >--- a/Makefile.am > >+++ b/Makefile.am > >@@ -43,6 +43,7 @@ localedir = @localedir@ > > nsslibdir = @nsslibdir@ > > pamlibdir = @pammoddir@ > > autofslibdir = @appmodpath@ > >+nfslibdir = @nfsidmaplibdir@ > > > > dbpath = @dbpath@ > > pluginpath = @pluginpath@ > >@@ -509,6 +510,9 @@ dist_noinst_HEADERS = \ > > src/tests/cmocka/common_mock_resp.h \ > > src/sss_client/ssh/sss_ssh_client.h \ > > src/sss_client/sudo/sss_sudo.h \ > >+ src/sss_client/nfs/nfsidmap_internal.h \ > >+ src/sss_client/nfs/cfg.h \ > >+ src/sss_client/nfs/queue.h \ > > src/lib/idmap/sss_idmap_private.h > > > > > >@@ -1543,6 +1547,23 @@ libnss_sss_la_LDFLAGS = \ > > -version-info 2:0:0 \ > > -Wl,--version-script,$(srcdir)/src/sss_client/sss_nss.exports > > > >+ > >+if BUILD_NFS > >+nfslib_LTLIBRARIES = sss_nfs.la > >+sss_nfs_la_SOURCES = \ > >+ src/sss_client/common.c \ > >+ src/sss_client/nss_mc_common.c \ > >+ src/util/io.c \ > >+ src/util/murmurhash3.c \ > >+ src/sss_client/nss_mc_passwd.c \ > >+ src/sss_client/nss_mc_group.c \ > >+ src/sss_client/nfs/sss_nfs_client.c \ > >+ $(NULL) > >+sss_nfs_la_CFLAGS = $(AM_CFLAGS) > >+sss_nfs_la_LIBADD = $(CLIENT_LIBS) $(NFSIDMAP_LIBS) > >+sss_nfs_la_LDFLAGS = -module -avoid-version > >+endif > >+ > > pamlib_LTLIBRARIES = pam_sss.la > > pam_sss_la_SOURCES = \ > > src/sss_client/pam_sss.c \ > >diff --git a/configure.ac b/configure.ac > >index 9303820..6e41f5b 100644 > >--- a/configure.ac > >+++ b/configure.ac > >@@ -91,6 +91,13 @@ AC_ARG_ENABLE([pammoddir], > [AS_HELP_STRING([--enable-pammoddir], > > [pammoddir=$libdir/security]) > > AC_SUBST(pammoddir) > > > >+#Set the NFSv4 idmapd library install path > >+AC_ARG_ENABLE([nfsidmaplibdir], > [AS_HELP_STRING([--enable-nfsidmaplibdir], > >+ [Where to install libnfsidmap > libraries ($libdir/libnfsidmap)])], > >+ [nfsidmaplibdir=$enableval], > >+ [nfsidmaplibdir=$libdir/libnfsidmap]) > >+AC_SUBST(nfsidmaplibdir) > >+ > > #Include here cause WITH_INIT_DIR requires $osname set in platform.m4 > > m4_include([src/external/platform.m4]) > > > >@@ -127,6 +134,8 @@ WITH_AUTOFS > > WITH_SSH > > WITH_CRYPTO > > WITH_SYSLOG > >+WITH_NFS > >+WITH_NFS_LIB_PATH > > > > m4_include([src/external/pkg.m4]) > > m4_include([src/external/libpopt.m4]) > >@@ -159,6 +168,7 @@ m4_include([src/external/signal.m4]) > > m4_include([src/external/inotify.m4]) > > m4_include([src/external/libndr_nbt.m4]) > > m4_include([src/external/sasl.m4]) > >+m4_include([src/external/libnfsidmap.m4]) > Even if I call configure with argument --without-nfs, ./configure will fail > with message: > checking for NFSIDMAP... no > checking nfsidmap.h usability... no > checking nfsidmap.h presence... no > checking for nfsidmap.h... no > configure: error: libnfsidmap header files are not installed > > I will write reason in the comment to the file libnfsidmap.m4 > > > > > WITH_UNICODE_LIB > > if test x$unicode_lib = xlibunistring; then > >diff --git a/src/conf_macros.m4 b/src/conf_macros.m4 > >index 4be819d..bb6a2f2 100644 > >--- a/src/conf_macros.m4 > >+++ b/src/conf_macros.m4 > >@@ -626,3 +626,33 @@ AC_DEFUN([WITH_SSH], > > fi > > AM_CONDITIONAL([BUILD_SSH], [test x"$with_ssh" = xyes]) > > ]) > >+ > >+ AC_DEFUN([WITH_NFS], > >+ [ AC_ARG_WITH([nfs], > >+ [AC_HELP_STRING([--with-nfs], > >+ [Whether to build with NFSv4 IDMAP > support [yes]] > >+ ) > >+ ], > >+ [with_nfs=$withval], > >+ with_nfs=yes > >+ ) > >+ > >+ if test x"$with_nfs" = xyes; then > >+ AC_DEFINE(BUILD_NFS, 1, [whether to build with NFSv4 IDMAP > support]) > >+ fi > >+ AM_CONDITIONAL([BUILD_NFS], [test x"$with_nfs" = xyes]) > >+ ]) > >+ > >+AC_DEFUN([WITH_NFS_LIB_PATH], > >+ [ AC_ARG_WITH([nfs-lib-path], > >+ [AC_HELP_STRING([--with-nfs-lib-path=<path>], > >+ [Path to the nfs library [${libdir}]] > >+ ) > >+ ] > >+ ) > >+ nfslibpath="${libdir}" > >+ if test x"$with_nfs_lib_path" != x; then > >+ nfslibpath=$with_nfs_lib_path > >+ fi > >+ AC_SUBST(nfslibpath) > >+ ]) > >\ No newline at end of file > >diff --git a/src/external/libnfsidmap.m4 b/src/external/libnfsidmap.m4 > >new file mode 100644 > >index 0000000..88ba8e6 > >--- /dev/null > >+++ b/src/external/libnfsidmap.m4 > >@@ -0,0 +1,17 @@ > >+AC_SUBST(NFSIDMAP_OBJ) > >+AC_SUBST(NFSIDMAP_CFLAGS) > >+AC_SUBST(NFSIDMAP_LIBS) > >+ > >+PKG_CHECK_MODULES([NFSIDMAP], [libnfsidmap], [found_nfsidmap=yes], > >+ [found_nfsidmap=no]) > >+ > >+SSS_AC_EXPAND_LIB_DIR() > >+AS_IF([test x"$found_nfsidmap" != xyes], > We should skip detection, if configure script was called with argument > --without-nfs. > For example: > -AS_IF([test x"$found_nfsidmap" != xyes], > +AS_IF([test x"$with_nfs" = xyes -a x"$found_nfsidmap" != xyes], > > > >+ [AC_CHECK_HEADER([nfsidmap.h], > >+ [AC_CHECK_LIB([nfsidmap], > >+ [nfs4_init_name_mapping], > >+ [NFSIDMAP_LIBS="-L$sss_extra_libdir -lnfsidmap"], > >+ [AC_MSG_ERROR([libnfsidmap missing > nfs4_init_name_mapping])], > >+ [-L$sss_extra_libdir])], > >+ [AC_MSG_ERROR([libnfsidmap header files are not installed])])] > > If header file could not be found, it is possible that user do not > need(want) > to build plugin for nfs. nfsidmap plugin is enabled by default. We should > be > more verbose and propose to run configure with argument "--without-nfs". > The similar message message is in the file src/external/cifsidmap.m4 > ok. will fix accordingly. > > I don't know how to test patches, so I let this for others (simo :-) > > https://lists.fedorahosted.org/pipermail/sssd-devel/2014-January/018080.html > > Thank you very much for patches. > -- Noam Meltzer Linux Software Engineer PRIMARY DATA P.O. Box 12650, Herzliya Pituach 4673300 9 Hamenofim St. Akerstein Towers, Tower A, 5th fl. Herzliya Office: +972-77-8981888 | Fax: +972-3-7617140 | Mobile: +972-54-5873843 Email: n...@primarydata.com
_______________________________________________ sssd-devel mailing list sssd-devel@lists.fedorahosted.org https://lists.fedorahosted.org/mailman/listinfo/sssd-devel