summaryrefslogtreecommitdiffstats
path: root/source/n/autofs/autofs-5.0.5-fix-libxml2-workaround-configure.patch
blob: 197ac6bd3f993906c420c21fbbbfc32057c9d472 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
autofs-5.0.5 - fix libxml2 workaround configure

From: Ian Kent <raven@themaw.net>

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 <sys/utsname.h>
 
 #include "automount.h"
-#ifdef LIBXML2_WORKAROUND
+#if defined(LIBXML2_WORKAROUND) || defined(TIRPC_WORKAROUND)
 #include <dlfcn.h>
+#ifdef WITH_LDAP
 #include <libxml/parser.h>
 #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);