- fix libtirpc name clash (bz821660).

This commit is contained in:
Ian Kent 2012-05-22 17:46:29 +08:00
parent 251f556ce1
commit 0a4a36b3de
2 changed files with 53 additions and 1 deletions

View File

@ -0,0 +1,45 @@
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(+)
--- autofs-5.0.6.orig/CHANGELOG
+++ autofs-5.0.6/CHANGELOG
@@ -41,6 +41,7 @@
- fix dlopen() error handling in sss module.
- fix configure string length tests for sss library.
- fix initialization in rpc create_client().
+- fix libtirpc name clash.
28/06/2011 autofs-5.0.6
-----------------------
--- autofs-5.0.6.orig/lib/rpc_subs.c
+++ autofs-5.0.6/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

@ -8,7 +8,7 @@
Summary: A tool for automatically mounting and unmounting filesystems Summary: A tool for automatically mounting and unmounting filesystems
Name: autofs Name: autofs
Version: 5.0.6 Version: 5.0.6
Release: 18%{?dist} Release: 19%{?dist}
Epoch: 1 Epoch: 1
License: GPLv2+ License: GPLv2+
Group: System Environment/Daemons Group: System Environment/Daemons
@ -58,6 +58,7 @@ Patch42: autofs-5.0.6-fix-sss-wildcard-match.patch
Patch43: autofs-5.0.6-fix-dlopen-error-handling-in-sss-module.patch Patch43: autofs-5.0.6-fix-dlopen-error-handling-in-sss-module.patch
Patch44: autofs-5.0.6-fix-configure-string-length-tests.patch Patch44: autofs-5.0.6-fix-configure-string-length-tests.patch
Patch45: autofs-5.0.6-fix-initialization-in-rpc-create_client.patch Patch45: autofs-5.0.6-fix-initialization-in-rpc-create_client.patch
Patch46: autofs-5.0.6-fix-libtirpc-name-clash.patch
Buildroot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n) Buildroot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
%if %{with_systemd} %if %{with_systemd}
BuildRequires: systemd-units BuildRequires: systemd-units
@ -159,6 +160,7 @@ echo %{version}-%{release} > .version
%patch43 -p1 %patch43 -p1
%patch44 -p1 %patch44 -p1
%patch45 -p1 %patch45 -p1
%patch46 -p1
%build %build
#CFLAGS="$RPM_OPT_FLAGS" ./configure --prefix=/usr --libdir=%{_libdir} #CFLAGS="$RPM_OPT_FLAGS" ./configure --prefix=/usr --libdir=%{_libdir}
@ -261,6 +263,11 @@ fi
%dir /etc/auto.master.d %dir /etc/auto.master.d
%changelog %changelog
* Tue May 22 2012 Ian Kent <ikent@redhat.com> - 1:5.0.6-19
- [abrt] autofs-5.0.6-16.fc17: clnt_dg_control:
Process /usr/sbin/automount was killed by signal 11 (SIGSEGV)
- fix libtirpc name clash (bz821660).
* Tue May 22 2012 Ian Kent <ikent@redhat.com> - 1:5.0.6-18 * Tue May 22 2012 Ian Kent <ikent@redhat.com> - 1:5.0.6-18
- [abrt] autofs-5.0.6-16.fc17: clnt_dg_control: - [abrt] autofs-5.0.6-16.fc17: clnt_dg_control:
Process /usr/sbin/automount was killed by signal 11 (SIGSEGV) Process /usr/sbin/automount was killed by signal 11 (SIGSEGV)