
On Tue, Mar 15, 2016 at 06:05:53PM +0100, Michal Privoznik wrote:
The implementation is pretty straightforward. Moreover, because of the nature of things, gethostbyname_r and gethostbyname2_r can be implemented at the same time too.
Signed-off-by: Michal Privoznik <mprivozn@redhat.com> --- config-post.h | 24 ++++ src/Makefile.am | 57 ++++++++ src/util/virfile.c | 3 +- src/util/virfile.h | 10 +- src/util/virlease.c | 1 + tests/Makefile.am | 2 +- tools/Makefile.am | 5 + tools/nss/libvirt_nss.c | 336 ++++++++++++++++++++++++++++++++++++++++++++- tools/nss/libvirt_nss.h | 14 +- tools/nss/libvirt_nss.syms | 4 +- 10 files changed, 447 insertions(+), 9 deletions(-)
diff --git a/src/util/virfile.c b/src/util/virfile.c index 0bba850..f0412c6 100644 --- a/src/util/virfile.c +++ b/src/util/virfile.c @@ -67,7 +67,6 @@ #include "virlog.h" #include "virprocess.h" #include "virstring.h" -#include "virstoragefile.h"
Yep, this is bogus anyway since its already in the header
#include "virutil.h"
#include "c-ctype.h" @@ -554,7 +553,7 @@ int virFileUpdatePerm(const char *path,
#if defined(__linux__) && HAVE_DECL_LO_FLAGS_AUTOCLEAR && \ - !defined(LIBVIRT_SETUID_RPC_CLIENT) + !defined(LIBVIRT_SETUID_RPC_CLIENT) && !defined(LIBVIRT_NSS)
# if HAVE_DECL_LOOP_CTL_GET_FREE
diff --git a/src/util/virfile.h b/src/util/virfile.h index 312f226..50a3995 100644 --- a/src/util/virfile.h +++ b/src/util/virfile.h @@ -30,7 +30,15 @@ # include <dirent.h>
# include "internal.h" -# include "virstoragefile.h" + +/* Okay, this is not nice, but we want resulting nss module as + * small as possible. Including virstoragefile.h would drag in + * libxml2 dependencies which is unfavorable. */ +# ifdef LIBVIRT_NSS +# define virStorageFileFormat int +# else +# include "virstoragefile.h" +# endif
I don't think this is needed. The header file merely uses the enum declaration which is fine. You only get the dep on libxml2 if you actually build the virstoragefile.c
diff --git a/src/util/virlease.c b/src/util/virlease.c index 910c003..920ebaf 100644 --- a/src/util/virlease.c +++ b/src/util/virlease.c @@ -30,6 +30,7 @@ #include "virstring.h" #include "virerror.h" #include "viralloc.h" +#include "virutil.h"
Unrelated change
#define VIR_FROM_THIS VIR_FROM_NETWORK
diff --git a/tests/Makefile.am b/tests/Makefile.am index 90981dc..55e8432 100644 --- a/tests/Makefile.am +++ b/tests/Makefile.am @@ -65,7 +65,7 @@ GNULIB_LIBS = \ ../gnulib/lib/libgnu.la
LDADDS = \ - $(WARN_CFLAGS) \ + $(WARN_CFLAGS) \ $(NO_INDIRECT_LDFLAGS) \ $(PROBES_O) \ $(GNULIB_LIBS) \
Unrelated cleanup. Regards, Daniel -- |: http://berrange.com -o- http://www.flickr.com/photos/dberrange/ :| |: http://libvirt.org -o- http://virt-manager.org :| |: http://autobuild.org -o- http://search.cpan.org/~danberr/ :| |: http://entangle-photo.org -o- http://live.gnome.org/gtk-vnc :|