From 47c32ff03824ba775483f914e693beb3e7412b31 Mon Sep 17 00:00:00 2001 From: basebuilder_pel7ppc64lebuilder0 Date: Thu, 30 Apr 2020 10:24:18 +0200 Subject: [PATCH] libibverbs package update Signed-off-by: basebuilder_pel7ppc64lebuilder0 --- ...iles-if-no-platform-specific-memory-.patch | 50 +++ SPECS/libibverbs.spec | 294 ++++++++++++++++++ 2 files changed, 344 insertions(+) create mode 100644 SOURCES/0001-Revert-Fail-compiles-if-no-platform-specific-memory-.patch create mode 100644 SPECS/libibverbs.spec diff --git a/SOURCES/0001-Revert-Fail-compiles-if-no-platform-specific-memory-.patch b/SOURCES/0001-Revert-Fail-compiles-if-no-platform-specific-memory-.patch new file mode 100644 index 00000000..f0366ce6 --- /dev/null +++ b/SOURCES/0001-Revert-Fail-compiles-if-no-platform-specific-memory-.patch @@ -0,0 +1,50 @@ +From ed5fa92bfb82b9f3c66b8248825109dd91419156 Mon Sep 17 00:00:00 2001 +From: Jarod Wilson +Date: Tue, 19 Jul 2016 18:39:46 -0400 +Subject: [PATCH] Revert "Fail compiles if no platform specific memory barriers + exist" + +This reverts commit 20e2daec4578c1df10d8b599bf3b525a9b3fc6c3. + +commit 20e2daec4578c1df10d8b599bf3b525a9b3fc6c3 +Author: Steve Wise +Date: Tue Jun 7 07:42:47 2016 -0700 + + Fail compiles if no platform specific memory barriers exist + + Currently there is a "generic" implementation for the memory barrier + macros in arch.h. These turned out to be insuffient for ARM64 causing + memory corruption problems when doing RDMA operations. So going forward, + fail a compile on a platform w/o platform-specific memory barrier macros. + + Signed-off-by: Steve Wise + Signed-off-by: Doug Ledford + +Compiles where things worked just fine before (at least s390) now fail. + +Signed-off-by: Jarod Wilson +--- + include/infiniband/arch.h | 7 ++++++- + 1 file changed, 6 insertions(+), 1 deletion(-) + +diff --git a/include/infiniband/arch.h b/include/infiniband/arch.h +index e35ecf0..c31dd0a 100644 +--- a/include/infiniband/arch.h ++++ b/include/infiniband/arch.h +@@ -132,7 +132,12 @@ static inline uint64_t ntohll(uint64_t x) { return x; } + + #else + +-#error No architecture specific memory barrier defines found! ++#warning No architecture specific defines found. Using generic implementation. ++ ++#define mb() asm volatile("" ::: "memory") ++#define rmb() mb() ++#define wmb() mb() ++#define wc_wmb() wmb() + + #endif + +-- +1.8.3.1 + diff --git a/SPECS/libibverbs.spec b/SPECS/libibverbs.spec new file mode 100644 index 00000000..134327b5 --- /dev/null +++ b/SPECS/libibverbs.spec @@ -0,0 +1,294 @@ +Name: libibverbs +Version: 1.2.1 +Release: 1%{?dist} +Summary: A library for direct userspace use of RDMA (InfiniBand/iWARP) hardware +Group: System Environment/Libraries +License: GPLv2 or BSD +Url: https://www.openfabrics.org/ +Source: https://www.openfabrics.org/downloads/verbs/libibverbs-%{version}.tar.gz +Patch1: 0001-Revert-Fail-compiles-if-no-platform-specific-memory-.patch +BuildRoot: %(mktemp -ud %{_tmppath}/%{name}-%{version}-%{release}-XXXXXX) +%ifnarch ia64 %{sparc} s390 s390x +BuildRequires: valgrind-devel +%endif +BuildRequires: automake, autoconf, libnl3-devel, libtool +Requires(post): /sbin/ldconfig +Requires(postun): /sbin/ldconfig +Requires: rdma + +%description +libibverbs is a library that allows userspace processes to use RDMA +"verbs" as described in the InfiniBand Architecture Specification and +the RDMA Protocol Verbs Specification. This includes direct hardware +access from userspace to InfiniBand/iWARP adapters (kernel bypass) for +fast path operations. + +For this library to be useful, a device-specific plug-in module should +also be installed. + +%package devel +Summary: Development files for the libibverbs library +Group: System Environment/Libraries +Requires: %{name} = %{version}-%{release} + +%description devel +Header files for the libibverbs library. + +%package devel-static +Summary: Static development files for the libibverbs library +Group: System Environment/Libraries +Requires: %{name}-devel = %{version}-%{release} + +%description devel-static +Static libraries for the libibverbs library. + +%package utils +Summary: Examples for the libibverbs library +Group: System Environment/Libraries +Requires: %{name} = %{version}-%{release} +Requires: libibverbs-driver.%{_arch} + +%description utils +Useful libibverbs example programs such as ibv_devinfo, which +displays information about RDMA devices. + +%prep +%setup -q +%patch1 -p1 + +%build +%ifnarch ia64 %{sparc} s390 s390x +%configure --with-valgrind +%else +%configure +%endif +sed -i 's|^hardcode_libdir_flag_spec=.*|hardcode_libdir_flag_spec=""|g' libtool +sed -i 's|^runpath_var=LD_RUN_PATH|runpath_var=DIE_RPATH_DIE|g' libtool +make %{?_smp_mflags} CFLAGS="$CFLAGS -fno-strict-aliasing" + +%install +rm -rf %{buildroot} +make DESTDIR=%{buildroot} install +mkdir -p -m755 %{buildroot}%{_sysconfdir}/libibverbs.d +# remove unpackaged files from the buildroot +rm -f %{buildroot}%{_libdir}/*.la + +%clean +rm -rf %{buildroot} + +%post -p /sbin/ldconfig +%postun -p /sbin/ldconfig + +%files +%defattr(-,root,root,-) +%dir %{_sysconfdir}/libibverbs.d +%{_libdir}/libibverbs*.so.* +%license COPYING +%doc AUTHORS ChangeLog README + +%files devel +%defattr(-,root,root,-) +%{_libdir}/lib*.so +%{_includedir}/* +%{_mandir}/man3/* + +%files devel-static +%defattr(-,root,root,-) +%{_libdir}/*.a + +%files utils +%defattr(-,root,root,-) +%{_bindir}/* +%{_mandir}/man1/* + +%changelog +* Tue Jul 19 2016 Jarod Wilson - 1.2.1-1 +- Update to upstream v1.2.1 release +- Resovles: bz1258684 + +* Tue May 24 2016 Jarod Wilson - 1.2.0-2 +- Add manpage for ibv_xsrq_pingpong (rhbz#1074936) + +* Wed Apr 13 2016 Jarod Wilson - 1.2.0-1 +- Update to upstream v1.2.0 release +- Resolves: bz1298704 + +* Wed Sep 30 2015 Doug Ledford - 1.1.8-8 +- Rebuild against libnl3 against now that UD RoCE bug is fixed +- Related: bz1261028 + +* Wed Sep 23 2015 Doug Ledford - 1.1.8-7 +- Add checksum offload support +- Update the various patches to the ones from the official upstream git repo +- Related: bz1195888 + +* Fri Jun 05 2015 Doug Ledford - 1.1.8-6 +- Add build on s390 +- Drop back to building against libnl instead of libnl3 +- Resolves: bz1182178, bz1177115 + +* Tue Dec 23 2014 Doug Ledford - 1.1.8-5 +- Add a specific requires on the rdma package +- Related: bz1164618 + +* Fri Oct 17 2014 Doug Ledford - 1.1.8-4 +- Fix one of the coverity bugs in a different way (the original fix + caused a problem in libmlx4) +- Related: bz1137044 + +* Thu Oct 09 2014 Doug Ledford - 1.1.8-3 +- Additional coverity fix +- Related: bz1137044 + +* Thu Oct 09 2014 Doug Ledford - 1.1.8-2 +- Update RoCE IP addressing patches to latest version under review +- Build against valgrind on ppc64le +- Fix a coverity found issue +- Resolves: bz1137044 + +* Tue Jul 22 2014 Doug Ledford - 1.1.8-1 +- Grab official upstream release. This includes all of the pre-release + items we had in the last release except for the IP based RoCE GID + addressing changes. So we are still carrying patches for those two + items +- Upstream fixed the copy-n-paste error that broke flow steering +- Related: bz1094988 +- Resolves: bz947308 + +* Fri Feb 28 2014 Doug Ledford - 1.1.7-6 +- Add in support for flow steering and IP addressing of UD RoCE QPs +- Resolves: bz1058537, bz1062281 + +* Thu Jan 23 2014 Doug Ledford - 1.1.7-5 +- Bring in XRC support from Roland's git repo +- Related: bz1046820 + +* Fri Dec 27 2013 Daniel Mach - 1.1.7-4 +- Mass rebuild 2013-12-27 + +* Wed Jul 31 2013 Doug Ledford - 1.1.7-3 +- Misc fixes to arg processing + +* Wed Jul 17 2013 Doug Ledford - 1.1.7-2 +- Add -fno-strict-aliasing to CFLAGS +- Fix date mismatch on old changelog entry + +* Wed Jul 17 2013 Doug Ledford - 1.1.7-1 +- Update to latest upstream, drop unneeded patches + +* Thu Jun 6 2013 Jon Stanley - 1.1.6-7 +- Fix build on aarch64 (bz969687) + +* Thu Feb 14 2013 Fedora Release Engineering - 1.1.6-6 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_19_Mass_Rebuild + +* Mon Nov 26 2012 Doug Ledford - 1.1.6-5 +- Correct the Url and Source tags now that the openfabrics server no longer + responds if you don't include the www in the link + +* Mon Nov 26 2012 Doug Ledford - 1.1.6-4 +- Minor fixes not yet taken upstream + +* Thu Jul 19 2012 Fedora Release Engineering - 1.1.6-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_18_Mass_Rebuild + +* Fri Jan 13 2012 Fedora Release Engineering - 1.1.6-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_17_Mass_Rebuild + +* Tue Jan 03 2012 Doug Ledford - 1.1.6-1 +- Update to latest upstream release (adds IBoE and FDR/EDR support) + +* Mon Aug 15 2011 Kalev Lember - 1.1.5-5 +- Rebuilt for rpm bug #728707 + +* Wed Jul 20 2011 Doug Ledford - 1.1.5-4 +- Improve selection of when/where to use valgrind based upon where it is + available + +* Wed Jul 20 2011 Doug Ledford - 1.1.5-3 +- Change which package actually requires the driver psuedoprovide + so that a driver library is not needed in order to build the + base libibverbs package in the build system + +* Wed Jul 20 2011 Doug Ledford - 1.1.5-2 +- Fix rpath in binaries +- Add valgrind support + +* Tue Jul 19 2011 Doug Ledford - 1.1.5-1 +- Update to latest upstream release + +* Tue Feb 08 2011 Fedora Release Engineering - 1.1.3-5 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_15_Mass_Rebuild + +* Mon Jan 11 2010 Doug Ledford - 1.1.3-4 +- Don't try to build on s390(x) as the hardware doesn't exist there + +* Sat Dec 05 2009 Doug Ledford - 1.1.3-3 +- Own the /etc/libibverbs.d directory + +* Fri Nov 06 2009 Doug Ledford - 1.1.3-2 +- Add Requires of -devel package to -devel-static package +- Add Requires of libibverbs-driver (this pulls in the various driver packages + automatically when the libibverbs package is installed) + +* Thu Oct 29 2009 Roland Dreier - 1.1.3-1 +- New upstream release + +* Fri Jul 24 2009 Fedora Release Engineering - 1.1.2-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_12_Mass_Rebuild + +* Wed Feb 25 2009 Fedora Release Engineering - 1.1.2-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_11_Mass_Rebuild + +* Wed Apr 16 2008 Roland Dreier - 1.1.2-1 +- New upstream release +- Update description to mention RDMA and iWARP, not just InfiniBand +- Add "Requires" tag for libibverbs base package to -devel + +* Mon Feb 18 2008 Fedora Release Engineering - 1.1.1-3 +- Autorebuild for GCC 4.3 + +* Tue Aug 28 2007 Fedora Release Engineering - 1.1.1-2 +- Rebuild for selinux ppc32 issue. + +* Fri Jun 15 2007 Roland Dreier - 1.1.1-1 +- New upstream release + +* Wed Apr 11 2007 Roland Dreier - 1.1-1 +- New upstream release + +* Mon May 22 2006 Roland Dreier - 1.1-0.1.rc2 +- New upstream release +- Remove dependency on libsysfs, since it is no longer used +- Put section 3 manpages in devel package. +- Spec file cleanups: remove unused ver macro, improve BuildRoot, add + Requires for /sbin/ldconfig, split static libraries into + devel-static package, and don't use makeinstall any more (all + suggested by Doug Ledford ). + +* Thu May 4 2006 Roland Dreier - 1.0.4-1 +- New upstream release + +* Tue Mar 14 2006 Roland Dreier - 1.0.3-1 +- New upstream release + +* Mon Mar 13 2006 Roland Dreier - 1.0.1-1 +- New upstream release + +* Thu Feb 16 2006 Roland Dreier - 1.0-1 +- New upstream release + +* Wed Feb 15 2006 Roland Dreier - 1.0-0.5.rc7 +- New upstream release + +* Sun Jan 22 2006 Roland Dreier - 1.0-0.4.rc6 +- New upstream release + +* Tue Oct 25 2005 Roland Dreier - 1.0-0.3.rc5 +- New upstream release + +* Wed Oct 5 2005 Roland Dreier - 1.0-0.2.rc4 +- Update to upstream 1.0-rc4 release + +* Mon Sep 26 2005 Roland Dreier - 1.0-0.1.rc3 +- Initial attempt at Fedora Extras-compliant spec file