diff --git a/xrootd-link.patch b/xrootd-link.patch new file mode 100644 index 0000000..e403d25 --- /dev/null +++ b/xrootd-link.patch @@ -0,0 +1,11 @@ +diff -ur xrootd-4.2.3.orig/src/XrdCeph.cmake xrootd-4.2.3/src/XrdCeph.cmake +--- xrootd-4.2.3.orig/src/XrdCeph.cmake 2015-09-02 11:48:29.000000000 +0200 ++++ xrootd-4.2.3/src/XrdCeph.cmake 2015-12-21 08:25:11.334476387 +0100 +@@ -22,6 +22,7 @@ + + target_link_libraries( + XrdCephPosix ++ XrdUtils + ${RADOS_LIBS} ) + + set_target_properties( diff --git a/xrootd-pth-cancel.patch b/xrootd-pth-cancel.patch new file mode 100644 index 0000000..fcb8757 --- /dev/null +++ b/xrootd-pth-cancel.patch @@ -0,0 +1,19 @@ +diff -ur xrootd-4.2.3.orig/src/XrdSys/XrdSysLinuxSemaphore.hh xrootd-4.2.3/src/XrdSys/XrdSysLinuxSemaphore.hh +--- xrootd-4.2.3.orig/src/XrdSys/XrdSysLinuxSemaphore.hh 2015-09-02 11:48:29.000000000 +0200 ++++ xrootd-4.2.3/src/XrdSys/XrdSysLinuxSemaphore.hh 2015-12-23 16:08:43.652883522 +0100 +@@ -155,13 +155,13 @@ + { + int r = 0; + +- pthread_cleanup_push( Cleanup, pValue ); + pthread_setcanceltype( PTHREAD_CANCEL_ASYNCHRONOUS, 0 ); ++ pthread_cleanup_push( Cleanup, pValue ); + + r = syscall( SYS_futex, pValue, FUTEX_WAIT, newVal, 0, 0, 0 ); + +- pthread_setcanceltype( PTHREAD_CANCEL_DEFERRED, 0 ); + pthread_cleanup_pop( 0 ); ++ pthread_setcanceltype( PTHREAD_CANCEL_DEFERRED, 0 ); + + if( r == 0 ) // we've been woken up + break; diff --git a/xrootd.spec b/xrootd.spec index 31f5514..1a1c426 100644 --- a/xrootd.spec +++ b/xrootd.spec @@ -10,7 +10,7 @@ Name: xrootd Epoch: 1 Version: 4.2.3 -Release: 1%{?dist} +Release: 2%{?dist} Summary: Extended ROOT file server Group: System Environment/Daemons @@ -19,6 +19,10 @@ URL: http://xrootd.org/ Source0: http://xrootd.org/download/v%{version}/%{name}-%{version}.tar.gz # https://github.com/xrootd/xrootd/pull/272 (rhbz 1249137) Patch0: %{name}-selinux.patch +# https://github.com/xrootd/xrootd/pull/321 (rhbz 1278968) +Patch1: %{name}-pth-cancel.patch +# https://github.com/xrootd/xrootd/pull/322 +Patch2: %{name}-link.patch BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n) BuildRequires: cmake @@ -239,6 +243,8 @@ This package contains the API documentation of the xrootd libraries. %prep %setup -q %patch0 -p1 +%patch1 -p1 +%patch2 -p1 %if %{?fedora}%{!?fedora:0} <= 9 && %{?rhel}%{!?rhel:0} <= 5 # Older versions of SELinux do not have policy for open @@ -606,6 +612,9 @@ fi %doc %{_pkgdocdir} %changelog +* Wed Dec 23 2015 Mattias Ellert - 1:4.2.3-2 +- Fix sigfault due to pthread clean-up functions + * Tue Sep 08 2015 Mattias Ellert - 1:4.2.3-1 - Update to version 4.2.3