autofs-5.0.5 - fix libxml2 workaround configure From: Ian Kent The configure logic related to work around the libxml2 library reload issues is not quite right. The xml code is needed if ldap is used so it is sufficient to require inclusion of the workaround code if autofs is being built with LDAP support. --- diff --git a/daemon/Makefile b/daemon/Makefile index 371ec72..9e9d635 100644 --- a/daemon/Makefile +++ b/daemon/Makefile @@ -23,10 +23,8 @@ LDFLAGS += -rdynamic LIBS = -ldl ifeq ($(LDAP), 1) - ifeq ($(SASL), 1) CFLAGS += $(XML_FLAGS) LIBS += $(XML_LIBS) - endif endif all: automount diff --git a/daemon/automount.c b/daemon/automount.c index 979ecd6..7c44d4b 100644 --- a/daemon/automount.c +++ b/daemon/automount.c @@ -38,10 +38,12 @@ #include #include "automount.h" -#ifdef LIBXML2_WORKAROUND +#if defined(LIBXML2_WORKAROUND) || defined(TIRPC_WORKAROUND) #include +#ifdef WITH_LDAP #include #endif +#endif const char *program; /* Initialized with argv[0] */ const char *version = VERSION_STRING; /* Program version */ @@ -2110,7 +2112,7 @@ int main(int argc, char *argv[]) exit(1); } -#ifdef LIBXML2_WORKAROUND +#if defined(WITH_LDAP) && defined(LIBXML2_WORKAROUND) void *dh_xml2 = dlopen("libxml2.so", RTLD_NOW); if (!dh_xml2) dh_xml2 = dlopen("libxml2.so.2", RTLD_NOW); @@ -2158,7 +2160,7 @@ int main(int argc, char *argv[]) if (dh_tirpc) dlclose(dh_tirpc); #endif -#ifdef LIBXML2_WORKAROUND +#if defined(WITH_LDAP) && defined( LIBXML2_WORKAROUND) if (dh_xml2) { xmlCleanupParser(); dlclose(dh_xml2);