autofs: make this work with libtirpc, patch from 5.0.7.

Close #1419
This commit is contained in:
Juan RP 2015-05-28 11:55:14 +02:00
parent 80b2428bff
commit 5b73e6c814
2 changed files with 38 additions and 1 deletions

View File

@ -0,0 +1,37 @@
autofs-5.0.6 - fix libtirpc name clash
From: Ian Kent <ikent@redhat.com>
The tirpc function auth_destroy() is a macro definition in tirpc/rpc/auth.h
which includes an unconditional call to a function log_debug() which clashes
with an autofs function of the same name and has a different call signature.
To fix it redefine auth_destroy() and exclude the debug log call.
---
CHANGELOG | 1 +
lib/rpc_subs.c | 10 ++++++++++
2 files changed, 11 insertions(+), 0 deletions(-)
diff --git a/lib/rpc_subs.c b/lib/rpc_subs.c
index cc08f05..d33a3c4 100644
--- lib/rpc_subs.c
+++ lib/rpc_subs.c
@@ -34,6 +34,16 @@
#include <pthread.h>
#include <poll.h>
+#ifdef WITH_LIBTIRPC
+#undef auth_destroy
+#define auth_destroy(auth) \
+ do { \
+ int refs; \
+ if ((refs = auth_put((auth))) == 0) \
+ ((*((auth)->ah_ops->ah_destroy))(auth));\
+ } while (0)
+#endif
+
#include "mount.h"
#include "rpc_subs.h"
#include "automount.h"

View File

@ -1,7 +1,7 @@
# Template file for 'autofs'
pkgname=autofs
version=5.1.1
revision=1
revision=2
build_style=gnu-configure
conf_files="
/etc/autofs/auto.master