void-packages/srcpkgs/autofs/patches/autofs-5.0.6-fix-libtirpc-name-clash.patch

37 lines
1.2 KiB
Diff

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"