From b1ca5cb85d9ef3ab951d2002ece35748b50420d63860db930698c227ea943b56 Mon Sep 17 00:00:00 2001 From: Nirmoy Das Date: Wed, 19 Oct 2016 14:34:09 +0000 Subject: [PATCH] Accepting request 436355 from SUSE:SLE-12-SP2:GA OBS-URL: https://build.opensuse.org/request/show/436355 OBS-URL: https://build.opensuse.org/package/show/science:HPC/libfabric?expand=0&rev=1 --- .gitattributes | 23 ++++ .gitignore | 1 + baselibs.conf | 4 + libfabric-1.3.0.tar.bz2 | 3 + libfabric-libtool.patch | 21 ++++ libfabric.changes | 78 +++++++++++++ libfabric.spec | 250 ++++++++++++++++++++++++++++++++++++++++ 7 files changed, 380 insertions(+) create mode 100644 .gitattributes create mode 100644 .gitignore create mode 100644 baselibs.conf create mode 100644 libfabric-1.3.0.tar.bz2 create mode 100644 libfabric-libtool.patch create mode 100644 libfabric.changes create mode 100644 libfabric.spec diff --git a/.gitattributes b/.gitattributes new file mode 100644 index 0000000..9b03811 --- /dev/null +++ b/.gitattributes @@ -0,0 +1,23 @@ +## Default LFS +*.7z filter=lfs diff=lfs merge=lfs -text +*.bsp filter=lfs diff=lfs merge=lfs -text +*.bz2 filter=lfs diff=lfs merge=lfs -text +*.gem filter=lfs diff=lfs merge=lfs -text +*.gz filter=lfs diff=lfs merge=lfs -text +*.jar filter=lfs diff=lfs merge=lfs -text +*.lz filter=lfs diff=lfs merge=lfs -text +*.lzma filter=lfs diff=lfs merge=lfs -text +*.obscpio filter=lfs diff=lfs merge=lfs -text +*.oxt filter=lfs diff=lfs merge=lfs -text +*.pdf filter=lfs diff=lfs merge=lfs -text +*.png filter=lfs diff=lfs merge=lfs -text +*.rpm filter=lfs diff=lfs merge=lfs -text +*.tbz filter=lfs diff=lfs merge=lfs -text +*.tbz2 filter=lfs diff=lfs merge=lfs -text +*.tgz filter=lfs diff=lfs merge=lfs -text +*.ttf filter=lfs diff=lfs merge=lfs -text +*.txz filter=lfs diff=lfs merge=lfs -text +*.whl filter=lfs diff=lfs merge=lfs -text +*.xz filter=lfs diff=lfs merge=lfs -text +*.zip filter=lfs diff=lfs merge=lfs -text +*.zst filter=lfs diff=lfs merge=lfs -text diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..57affb6 --- /dev/null +++ b/.gitignore @@ -0,0 +1 @@ +.osc diff --git a/baselibs.conf b/baselibs.conf new file mode 100644 index 0000000..3060419 --- /dev/null +++ b/baselibs.conf @@ -0,0 +1,4 @@ +libfabric +libfabric-devel + requires -libibmad- + requires "libfabric- = " diff --git a/libfabric-1.3.0.tar.bz2 b/libfabric-1.3.0.tar.bz2 new file mode 100644 index 0000000..745aa7f --- /dev/null +++ b/libfabric-1.3.0.tar.bz2 @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:0a0d4f1a0d178d80ec336763a0fd371ade97199d6f1e884ef8f0e6bc99f258c9 +size 847987 diff --git a/libfabric-libtool.patch b/libfabric-libtool.patch new file mode 100644 index 0000000..ab70419 --- /dev/null +++ b/libfabric-libtool.patch @@ -0,0 +1,21 @@ +diff --git a/configure.ac b/configure.ac +index e17d27f..fcb1c00 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -10,7 +10,6 @@ AC_CONFIG_AUX_DIR(config) + AC_CONFIG_MACRO_DIR(config) + AC_CONFIG_HEADERS(config.h) + AM_INIT_AUTOMAKE([1.11 dist-bzip2 foreign -Wall -Werror subdir-objects parallel-tests tar-ustar]) +-m4_ifdef([AM_SILENT_RULES], [AM_SILENT_RULES([yes])]) + + AC_CANONICAL_HOST + +@@ -87,7 +86,7 @@ AC_HEADER_STDC + dnl Check for compiler features + AC_C_TYPEOF + +-LT_INIT ++LT_INIT([disable-static]) + + dnl dlopen support is optional + AC_ARG_WITH([dlopen], diff --git a/libfabric.changes b/libfabric.changes new file mode 100644 index 0000000..8b5836a --- /dev/null +++ b/libfabric.changes @@ -0,0 +1,78 @@ +------------------------------------------------------------------- +Fri May 6 12:51:41 CEST 2016 - nads@suse.de + +- Updated to version 1.3.0 for better PSM2 support as suggested by + fate#319253, comment #9. + + [*libfabric-libtool.patch] + + Summary of changes as follow: + *PSM provider notes + - Remove PSM2 related code. + *PSM2 provider notes + - Add support for multi-iov send, tagged send, and RMA write. + - Use utility provider for EQ, wait object, and poll set. + *GNI provider notes + - General bug fixes, plugged memory leaks, etc. + - Added support for the following APIs: + - fi_endpoint: fi_getopt, fi_setopt, fi_rx_size_left, fi_tx_size_left, fi_stx_context + - fi_cq: fi_sread, fi_sreadfrom + - fi_msg: FI_MULTI_RECV (flag) + - fi_domain: FI_PROGRESS_AUTO (flag) + - fi_direct: FI_DIRECT + - Added support for FI_EP_DGRAM (datagram endpoint): + - Memory registration improvements: + - Initial support for Cray Cluster Compatibility Mode (CCM) + *MXM provider notes + - Initial release + *Sockets provider notes + - Enable FABRIC_DIRECT + - Enable sockets-provider to run on FreeBSD + - Add support for fi_trywait + - Add support for map_addr in shared-av creation + - Add shared-av support on OSX + - General bug fixes + *UDP provider notes + - Initial release + *usNIC provider notes + - Implement fi_recvv and fi_recvmsg for FI_EP_RDM. [PR #1594] + - Add support for FI_INJECT flag in the FI_EP_RDM implementation of fi_sendv. + [PR #1594] + - Handle FI_PEEK flag in fi_eq_sread. [PR #1758] + - Implement waitsets [PR #1893] + - Implement fi_trywait [PR #1893] + - Fix progress thread deadlock [PR #1893] + - Implement FD based CQ sread [PR #1893] + *Verbs provider notes + - Add support for fi_trywait + - verbs/RDM + - Add support for RMA operations. + - Add support for fi_cq_sread and fi_cq_sreadfrom + - Rework connection management to make it work with fabtests and also allow + connection to self. + - Other bug fixes and performance improvements. + +------------------------------------------------------------------- +Wed Apr 6 16:20:41 CEST 2016 - ndas@suse.de + +- Moved man pages to main package. +- Fixed invalid library group. + +------------------------------------------------------------------- +Wed Apr 6 15:40:25 CEST 2016 - ndas@suse.de + +- Packaging version 1.2.0 for fate#319253 + +------------------------------------------------------------------- +Fri Feb 12 10:18:49 CET 2016 - pth@suse.de + +- Use explicit file list instead of wildcards +- Package fi_info. +- Remove libtool.m4 from the package so that autoreconf installs + a current version. + +------------------------------------------------------------------- +Thu Feb 11 10:18:41 CET 2016 - pth@suse.de + +- Initial package, based on the OFED specfile for libfabric +- Add libfabric-libtool.patch to disable static builds by default. diff --git a/libfabric.spec b/libfabric.spec new file mode 100644 index 0000000..fd7320d --- /dev/null +++ b/libfabric.spec @@ -0,0 +1,250 @@ +# +# spec file for package libfabric (Version 1.2.0) +# +# Copyright (c) 2016 SUSE LINUX GmbH, Nuernberg, Germany. +# +# All modifications and additions to the file contributed by third parties +# remain the property of their copyright owners, unless otherwise agreed +# upon. The license for this file, and modifications and additions to the +# file, is the same license as for the pristine package itself (unless the +# license for the pristine package is not an Open Source License, in which +# case the license is the MIT License). An "Open Source License" is a +# license that conforms to the Open Source Definition (Version 1.9) +# published by the Open Source Initiative. + +# Please submit bugfixes or comments via http://bugs.opensuse.org/ +# +Name: libfabric +Summary: User-space RDMA Fabric Interfaces +Version: 1.3.0 +Release: 1 +License: GPL-2.0 or BSD-2-Clause +Group: System Environment/Libraries +Source: http://www.openfabrics.org/downloads/fabrics/%{name}-%{version}.tar.bz2 +Source1: baselibs.conf +Patch0: libfabric-libtool.patch +Url: http://www.github.com/ofiwg/libfabric +Prefix: ${_prefix} +BuildRequires: libnl3-devel +BuildRequires: librdmacm-devel +BuildRequires: libibverbs-devel +BuildRequires: infinipath-psm-devel +BuildRequires: libpsm2-devel +BuildRequires: automake autoconf libtool +BuildRequires: pkg-config +#Currently *only* builds on x86_64 as it is dependent on libpsm2 +ExclusiveArch: x86_64 +%define lib_major 1 + +%description +libfabric provides a user-space API to access high-performance fabric +services, such as RDMA. This package only contains the fi_info binary. + +%package -n libfabric%{lib_major} +Summary: Libfabric runtime libary +Group: System/Libraries + + +%description -n libfabric%{lib_major} +libfabric provides a user-space API to access high-performance fabric +services, such as RDMA. This package contains the runtime library. + + +%package devel +Summary: Development files for the libfabric library +Group: Development/Libraries/C and C++ +Requires: libfabric = %{version} + +%description devel +Development files for the libfabric library. + +%prep +%setup -q +%patch0 -p1 + +%build +rm config/libtool.m4 +autoreconf -fi +# defaults: with-dlopen and without-valgrind can be over-rode: +%configure %{?_without_dlopen} %{?_with_valgrind} \ + --enable-sockets --enable-verbs --enable-usnic --enable-psm \ + --disable-static --enable-psm2 +make %{?_smp_mflags} + +%install +make DESTDIR=%{buildroot} install + +# remove unpackaged files from the buildroot +rm -f %{buildroot}%{_libdir}/*.la + +%post -n libfabric%{lib_major} -p /sbin/ldconfig +%postun -n libfabric%{lib_major} -p /sbin/ldconfig + +%files +%defattr(-,root,root,-) +%{_bindir}/fi_info + +%{_mandir}/man3/fi_av.3.gz +%{_mandir}/man3/fi_cm.3.gz +%{_mandir}/man3/fi_cntr.3.gz +%{_mandir}/man3/fi_control.3.gz +%{_mandir}/man3/fi_cq.3.gz +%{_mandir}/man3/fi_domain.3.gz +%{_mandir}/man3/fi_endpoint.3.gz +%{_mandir}/man3/fi_errno.3.gz +%{_mandir}/man3/fi_eq.3.gz +%{_mandir}/man3/fi_fabric.3.gz +%{_mandir}/man3/fi_getinfo.3.gz +%{_mandir}/man3/fi_mr.3.gz +%{_mandir}/man3/fi_msg.3.gz +%{_mandir}/man3/fi_poll.3.gz +%{_mandir}/man3/fi_rma.3.gz +%{_mandir}/man3/fi_tagged.3.gz +%{_mandir}/man3/fi_trigger.3.gz +%{_mandir}/man3/fi_version.3.gz +%{_mandir}/man3/fi_accept.3.gz +%{_mandir}/man3/fi_alias.3.gz +%{_mandir}/man3/fi_atomic.3.gz +%{_mandir}/man3/fi_atomic_valid.3.gz +%{_mandir}/man3/fi_atomicmsg.3.gz +%{_mandir}/man3/fi_atomicv.3.gz +%{_mandir}/man3/fi_av_bind.3.gz +%{_mandir}/man3/fi_av_insert.3.gz +%{_mandir}/man3/fi_av_insertsvc.3.gz +%{_mandir}/man3/fi_av_lookup.3.gz +%{_mandir}/man3/fi_av_open.3.gz +%{_mandir}/man3/fi_av_remove.3.gz +%{_mandir}/man3/fi_av_straddr.3.gz +%{_mandir}/man3/fi_cancel.3.gz +%{_mandir}/man3/fi_close.3.gz +%{_mandir}/man3/fi_cntr_add.3.gz +%{_mandir}/man3/fi_cntr_open.3.gz +%{_mandir}/man3/fi_cntr_read.3.gz +%{_mandir}/man3/fi_cntr_set.3.gz +%{_mandir}/man3/fi_cntr_wait.3.gz +%{_mandir}/man3/fi_compare_atomic.3.gz +%{_mandir}/man3/fi_compare_atomic_valid.3.gz +%{_mandir}/man3/fi_compare_atomicmsg.3.gz +%{_mandir}/man3/fi_compare_atomicv.3.gz +%{_mandir}/man3/fi_connect.3.gz +%{_mandir}/man3/fi_cq_open.3.gz +%{_mandir}/man3/fi_cq_read.3.gz +%{_mandir}/man3/fi_cq_readerr.3.gz +%{_mandir}/man3/fi_cq_readfrom.3.gz +%{_mandir}/man3/fi_cq_sread.3.gz +%{_mandir}/man3/fi_cq_sreadfrom.3.gz +%{_mandir}/man3/fi_cq_strerror.3.gz +%{_mandir}/man3/fi_cq_signal.3.gz +%{_mandir}/man3/fi_domain_bind.3.gz +%{_mandir}/man3/fi_domain_query.3.gz +%{_mandir}/man3/fi_dupinfo.3.gz +%{_mandir}/man3/fi_enable.3.gz +%{_mandir}/man3/fi_ep_bind.3.gz +%{_mandir}/man3/fi_eq_open.3.gz +%{_mandir}/man3/fi_eq_read.3.gz +%{_mandir}/man3/fi_eq_readerr.3.gz +%{_mandir}/man3/fi_eq_sread.3.gz +%{_mandir}/man3/fi_eq_strerror.3.gz +%{_mandir}/man3/fi_eq_write.3.gz +%{_mandir}/man3/fi_fetch_atomic.3.gz +%{_mandir}/man3/fi_fetch_atomic_valid.3.gz +%{_mandir}/man3/fi_fetch_atomicmsg.3.gz +%{_mandir}/man3/fi_fetch_atomicv.3.gz +%{_mandir}/man3/fi_freeinfo.3.gz +%{_mandir}/man3/fi_getname.3.gz +%{_mandir}/man3/fi_getopt.3.gz +%{_mandir}/man3/fi_getpeer.3.gz +%{_mandir}/man3/fi_inject.3.gz +%{_mandir}/man3/fi_injectdata.3.gz +%{_mandir}/man3/fi_inject_atomic.3.gz +%{_mandir}/man3/fi_inject_write.3.gz +%{_mandir}/man3/fi_inject_writedata.3.gz +%{_mandir}/man3/fi_join.3.gz +%{_mandir}/man3/fi_leave.3.gz +%{_mandir}/man3/fi_listen.3.gz +%{_mandir}/man3/fi_mr_bind.3.gz +%{_mandir}/man3/fi_mr_desc.3.gz +%{_mandir}/man3/fi_mr_key.3.gz +%{_mandir}/man3/fi_mr_reg.3.gz +%{_mandir}/man3/fi_mr_regattr.3.gz +%{_mandir}/man3/fi_mr_regv.3.gz +%{_mandir}/man3/fi_open.3.gz +%{_mandir}/man3/fi_open_ops.3.gz +%{_mandir}/man3/fi_passive_ep.3.gz +%{_mandir}/man3/fi_pep_bind.3.gz +%{_mandir}/man3/fi_poll_add.3.gz +%{_mandir}/man3/fi_poll_del.3.gz +%{_mandir}/man3/fi_poll_open.3.gz +%{_mandir}/man3/fi_read.3.gz +%{_mandir}/man3/fi_readmsg.3.gz +%{_mandir}/man3/fi_readv.3.gz +%{_mandir}/man3/fi_recv.3.gz +%{_mandir}/man3/fi_recvmsg.3.gz +%{_mandir}/man3/fi_recvv.3.gz +%{_mandir}/man3/fi_reject.3.gz +%{_mandir}/man3/fi_rx_addr.3.gz +%{_mandir}/man3/fi_rx_size_left.3.gz +%{_mandir}/man3/fi_scalable_ep_bind.3.gz +%{_mandir}/man3/fi_send.3.gz +%{_mandir}/man3/fi_senddata.3.gz +%{_mandir}/man3/fi_sendmsg.3.gz +%{_mandir}/man3/fi_sendv.3.gz +%{_mandir}/man3/fi_setname.3.gz +%{_mandir}/man3/fi_setopt.3.gz +%{_mandir}/man3/fi_shutdown.3.gz +%{_mandir}/man3/fi_strerror.3.gz +%{_mandir}/man3/fi_tinject.3.gz +%{_mandir}/man3/fi_tinjectdata.3.gz +%{_mandir}/man3/fi_tostr.3.gz +%{_mandir}/man3/fi_trecv.3.gz +%{_mandir}/man3/fi_trecvmsg.3.gz +%{_mandir}/man3/fi_trecvv.3.gz +%{_mandir}/man3/fi_tsend.3.gz +%{_mandir}/man3/fi_tsenddata.3.gz +%{_mandir}/man3/fi_tsendmsg.3.gz +%{_mandir}/man3/fi_tsendv.3.gz +%{_mandir}/man3/fi_tx_size_left.3.gz +%{_mandir}/man3/fi_wait.3.gz +%{_mandir}/man3/fi_wait_open.3.gz +%{_mandir}/man3/fi_write.3.gz +%{_mandir}/man3/fi_writedata.3.gz +%{_mandir}/man3/fi_writemsg.3.gz +%{_mandir}/man3/fi_writev.3.gz +%{_mandir}/man3/fi_ep.3.gz +%{_mandir}/man7/fabric.7.gz +%{_mandir}/man7/fi_provider.7.gz +%{_mandir}/man7/fi_direct.7.gz +%{_mandir}/man7/fi_sockets.7.gz +%{_mandir}/man7/fi_verbs.7.gz +%{_mandir}/man7/fi_usnic.7.gz +%{_mandir}/man7/fi_psm.7.gz +%{_mandir}/man7/fi_psm2.7.gz +%{_mandir}/man3/fi_trywait.3.gz +%{_mandir}/man7/fi_udp.7.gz + +%files -n libfabric%{lib_major} +%defattr(-,root,root,-) +%{_libdir}/%{name}.so.%{lib_major}* +%doc AUTHORS COPYING README + +%files devel +%defattr(-,root,root) +%{_libdir}/%{name}.so +%dir %{_includedir}/rdma +%{_includedir}/rdma/fabric.h +%{_includedir}/rdma/fi_atomic.h +%{_includedir}/rdma/fi_cm.h +%{_includedir}/rdma/fi_domain.h +%{_includedir}/rdma/fi_eq.h +%{_includedir}/rdma/fi_log.h +%{_includedir}/rdma/fi_prov.h +%{_includedir}/rdma/fi_rma.h +%{_includedir}/rdma/fi_endpoint.h +%{_includedir}/rdma/fi_errno.h +%{_includedir}/rdma/fi_tagged.h +%{_includedir}/rdma/fi_trigger.h +%{_includedir}/rdma/fi_ext_usnic.h + + +%{_libdir}/pkgconfig/%{name}.pc +%changelog