diff --git a/.gitignore b/.gitignore index 054d797..25beeff 100644 --- a/.gitignore +++ b/.gitignore @@ -1,2 +1,4 @@ +*.src.rpm /rdma-core-12.tgz /rdma-core-12.tar.gz +/rdma-core-14.tar.gz diff --git a/rdma-core.spec b/rdma-core.spec index ac96011..2401853 100644 --- a/rdma-core.spec +++ b/rdma-core.spec @@ -1,6 +1,6 @@ Name: rdma-core -Version: 12 -Release: 2%{?dist} +Version: 14 +Release: 1%{?dist} Summary: RDMA core userspace libraries and daemons # Almost everything is licensed under the OFA dual GPLv2, 2 Clause BSD license @@ -9,7 +9,7 @@ Summary: RDMA core userspace libraries and daemons # providers/hfi1verbs Uses the 3 Clause BSD license License: GPLv2 or BSD Url: https://github.com/linux-rdma/rdma-core -Source: https://github.com/linux-rdma/rdma-core/archive/%{name}-%{version}.tar.gz +Source: https://github.com/linux-rdma/rdma-core/releases/download/v%{version}/%{name}-%{version}.tar.gz BuildRequires: binutils BuildRequires: cmake >= 2.8.11 @@ -18,8 +18,12 @@ BuildRequires: libudev-devel BuildRequires: pkgconfig BuildRequires: pkgconfig(libnl-3.0) BuildRequires: pkgconfig(libnl-route-3.0) +%ifnarch s390 BuildRequires: valgrind-devel +%endif BuildRequires: systemd +BuildRequires: python +BuildRequires: sed Requires: dracut, kmod, initscripts, systemd %if 0%{?fedora} >= 24 @@ -29,8 +33,13 @@ Requires: systemd-udev # package called 'rdma', which we're supplanting here. Provides: rdma = %{version}-%{release} Obsoletes: rdma < %{version}-%{release} +Provides: rdma-ndd = %{version}-%{release} +Obsoletes: rdma-ndd < %{version}-%{release} # the ndd utility moved from infiniband-diags to rdma-core Conflicts: infiniband-diags <= 1.6.7 +Requires: pciutils +# 32-bit arm is missing required arch-specific memory barriers, +ExcludeArch: %{arm} # Since we recommend developers use Ninja, so should packagers, for consistency. %define CMAKE_FLAGS %{nil} @@ -58,18 +67,46 @@ Requires: %{name}%{?_isa} = %{version}-%{release} Requires: libibverbs = %{version}-%{release} Provides: libibverbs-devel = %{version}-%{release} Obsoletes: libibverbs-devel < %{version}-%{release} +Provides: libibverbs-devel-static = %{version}-%{release} +Obsoletes: libibverbs-devel-static < %{version}-%{release} Requires: libibcm = %{version}-%{release} Provides: libibcm-devel = %{version}-%{release} Obsoletes: libibcm-devel < %{version}-%{release} +Provides: libibcm-static = %{version}-%{release} +Obsoletes: libibcm-static < %{version}-%{release} Requires: libibumad = %{version}-%{release} Provides: libibumad-devel = %{version}-%{release} Obsoletes: libibumad-devel < %{version}-%{release} +Provides: libibumad-static = %{version}-%{release} +Obsoletes: libibumad-static < %{version}-%{release} Requires: librdmacm = %{version}-%{release} Provides: librdmacm-devel = %{version}-%{release} Obsoletes: librdmacm-devel < %{version}-%{release} +Provides: librdmacm-static = %{version}-%{release} +Obsoletes: librdmacm-static < %{version}-%{release} Requires: ibacm = %{version}-%{release} Provides: ibacm-devel = %{version}-%{release} Obsoletes: ibacm-devel < %{version}-%{release} +Provides: libcxgb3-static = %{version}-%{release} +Obsoletes: libcxgb3-static < %{version}-%{release} +Provides: libcxgb4-static = %{version}-%{release} +Obsoletes: libcxgb4-static < %{version}-%{release} +Provides: libhfi1-static = %{version}-%{release} +Obsoletes: libhfi1-static < %{version}-%{release} +Provides: libipathverbs-static = %{version}-%{release} +Obsoletes: libipathverbs-static < %{version}-%{release} +Provides: libmlx4-static = %{version}-%{release} +Obsoletes: libmlx4-static < %{version}-%{release} +Provides: libmlx5-static = %{version}-%{release} +Obsoletes: libmlx5-static < %{version}-%{release} +Provides: libnes-static = %{version}-%{release} +Obsoletes: libnes-static < %{version}-%{release} +Provides: libocrdma-static = %{version}-%{release} +Obsoletes: libocrdma-static < %{version}-%{release} +Provides: libi40iw-devel-static = %{version}-%{release} +Obsoletes: libi40iw-devel-static < %{version}-%{release} +Provides: libmthca-static = %{version}-%{release} +Obsoletes: libmthca-static < %{version}-%{release} %description devel RDMA core development libraries and headers. @@ -91,8 +128,10 @@ Provides: libipathverbs = %{version}-%{release} Obsoletes: libipathverbs < %{version}-%{release} Provides: libmlx4 = %{version}-%{release} Obsoletes: libmlx4 < %{version}-%{release} +%ifnarch s390x s390 Provides: libmlx5 = %{version}-%{release} Obsoletes: libmlx5 < %{version}-%{release} +%endif Provides: libmthca = %{version}-%{release} Obsoletes: libmthca < %{version}-%{release} Provides: libnes = %{version}-%{release} @@ -114,6 +153,7 @@ Device-specific plug-in ibverbs userspace drivers are included: - libcxgb3: Chelsio T3 iWARP HCA - libcxgb4: Chelsio T4 iWARP HCA - libhfi1: Intel Omni-Path HFI +- libhns: HiSilicon Hip06 SoC - libi40iw: Intel Ethernet Connection X722 RDMA - libipathverbs: QLogic InfiniPath HCA - libmlx4: Mellanox ConnectX-3 InfiniBand HCA @@ -121,7 +161,9 @@ Device-specific plug-in ibverbs userspace drivers are included: - libmthca: Mellanox InfiniBand HCA - libnes: NetEffect RNIC - libocrdma: Emulex OneConnect RDMA/RoCE Device +- libqedr: QLogic QL4xxx RoCE HCA - librxe: A software implementation of the RoCE protocol +- libvmw_pvrdma: VMware paravirtual RDMA device %package -n libibverbs-utils Summary: Examples for the libibverbs library @@ -133,10 +175,10 @@ displays information about RDMA devices. %package -n ibacm Summary: InfiniBand Communication Manager Assistant -Requires(post): systemd-units -Requires(preun): systemd-units -Requires(postun): systemd-units +%systemd_requires Requires: %{name}%{?_isa} = %{version}-%{release} +Requires: libibumad%{?_isa} = %{version}-%{release} +Requires: libibverbs%{?_isa} = %{version}-%{release} %description -n ibacm The ibacm daemon helps reduce the load of managing path record lookups on @@ -150,9 +192,7 @@ library knows how to talk directly to the ibacm daemon to retrieve data. %package -n iwpmd Summary: iWarp Port Mapper userspace daemon -Requires(post): systemd-units -Requires(preun): systemd-units -Requires(postun): systemd-units +%systemd_requires Requires: %{name}%{?_isa} = %{version}-%{release} %description -n iwpmd @@ -161,8 +201,8 @@ tcp ports through the standard socket interface. %package -n libibcm Summary: Userspace InfiniBand Connection Manager -ExcludeArch: s390 s390x Requires: %{name}%{?_isa} = %{version}-%{release} +Requires: libibverbs%{?_isa} = %{version}-%{release} %description -n libibcm libibcm provides a userspace library that handles the majority of the low @@ -170,8 +210,6 @@ level work required to open an RDMA connection between two machines. %package -n libibumad Summary: OpenFabrics Alliance InfiniBand umad (userspace management datagram) library -# 32-bit arm is missing required arch-specific memory barriers -ExcludeArch: %{arm} Requires: %{name}%{?_isa} = %{version}-%{release} %description -n libibumad @@ -182,6 +220,7 @@ are used by the IB diagnostic and management tools, including OpenSM. %package -n librdmacm Summary: Userspace RDMA Connection Manager Requires: %{name}%{?_isa} = %{version}-%{release} +Requires: libibverbs%{?_isa} = %{version}-%{release} %description -n librdmacm librdmacm provides a userspace RDMA Communication Managment API. @@ -189,6 +228,7 @@ librdmacm provides a userspace RDMA Communication Managment API. %package -n librdmacm-utils Summary: Examples for the librdmacm library Requires: librdmacm%{?_isa} = %{version}-%{release} +Requires: libibverbs%{?_isa} = %{version}-%{release} %description -n librdmacm-utils Example test programs for the librdmacm library. @@ -198,18 +238,17 @@ Summary: Tools for using the InfiniBand SRP protocol devices Obsoletes: srptools <= 1.0.3 Provides: srptools = %{version}-%{release} Obsoletes: openib-srptools <= 0.0.6 -Requires(post): systemd-units -Requires(preun): systemd-units -Requires(postun): systemd-units +%systemd_requires Requires: %{name}%{?_isa} = %{version}-%{release} +Requires: libibumad%{?_isa} = %{version}-%{release} +Requires: libibverbs%{?_isa} = %{version}-%{release} %description -n srp_daemon In conjunction with the kernel ib_srp driver, srp_daemon allows you to discover and use SCSI devices via the SCSI RDMA Protocol over InfiniBand. %prep -# The release tarball is wonky, unpacks with rdma-core in name twice -%setup -n %{name}-%{name}-%{version} +%setup %build @@ -273,12 +312,12 @@ install -D -m0755 redhat/rdma.mlx4-setup.sh %{buildroot}%{_libexecdir}/mlx4-setu # ibacm bin/ib_acme -D . -O +# multi-lib conflict resolution hacks (bug 1429362) +sed -i -e 's|%{_libdir}|/usr/lib|' %{buildroot}%{_mandir}/man7/ibacm_prov.7 +sed -i -e 's|%{_libdir}|/usr/lib|' ibacm_opts.cfg install -D -m0644 ibacm_opts.cfg %{buildroot}%{_sysconfdir}/rdma/ install -D -m0644 redhat/ibacm.service %{buildroot}%{_unitdir}/ -# srp_daemon -install -D -m0644 redhat/srp_daemon.service %{buildroot}%{_unitdir}/ - # Delete the package's init.d scripts rm -rf %{buildroot}/%{_initrddir}/ @@ -343,12 +382,19 @@ rm -rf %{buildroot}/%{_initrddir}/ %files devel %doc %{_docdir}/%{name}-%{version}/MAINTAINERS -%{_includedir}/* +%dir %{_includedir}/infiniband +%dir %{_includedir}/rdma +%{_includedir}/infiniband/* +%{_includedir}/rdma/* %{_libdir}/lib*.so %{_mandir}/man3/ibv_* %{_mandir}/man3/rdma* %{_mandir}/man3/umad* %{_mandir}/man3/*_to_ibv_rate.* +%ifnarch s390x s390 +%{_mandir}/man3/mlx5dv* +%{_mandir}/man7/mlx5dv* +%endif %{_mandir}/man7/rdma_cm.* %files -n libibverbs @@ -356,11 +402,17 @@ rm -rf %{buildroot}/%{_initrddir}/ %dir %{_libdir}/libibverbs %{_libdir}/libibverbs*.so.* %{_libdir}/libibverbs/*.so +%ifnarch s390x s390 +%{_libdir}/libmlx5.so* +%endif %config(noreplace) %{_sysconfdir}/libibverbs.d/*.driver %doc %{_docdir}/%{name}-%{version}/libibverbs.md %doc %{_docdir}/%{name}-%{version}/rxe.md %{_bindir}/rxe_cfg %{_mandir}/man7/rxe* +%ifnarch s390x s390 +%{_mandir}/man7/mlx5dv* +%endif %{_mandir}/man8/rxe* %files -n libibverbs-utils @@ -415,6 +467,7 @@ rm -rf %{buildroot}/%{_initrddir}/ %{_bindir}/ucmatose %{_bindir}/udaddy %{_bindir}/udpong +%{_mandir}/man1/cmtime.* %{_mandir}/man1/mckey.* %{_mandir}/man1/rcopy.* %{_mandir}/man1/rdma_client.* @@ -426,19 +479,29 @@ rm -rf %{buildroot}/%{_initrddir}/ %{_mandir}/man1/rstream.* %{_mandir}/man1/ucmatose.* %{_mandir}/man1/udaddy.* +%{_mandir}/man1/udpong.* %files -n srp_daemon %config(noreplace) %{_sysconfdir}/srp_daemon.conf +%{_libexecdir}/srp_daemon/start_on_all_ports %{_unitdir}/srp_daemon.service +%{_unitdir}/srp_daemon_port@.service %{_sbindir}/ibsrpdm %{_sbindir}/srp_daemon %{_sbindir}/srp_daemon.sh %{_sbindir}/run_srp_daemon +%{_udevrulesdir}/srp_daemon.rules %{_mandir}/man1/ibsrpdm.1* %{_mandir}/man1/srp_daemon.1* +%{_mandir}/man5/srp_daemon.service.5* +%{_mandir}/man5/srp_daemon_port@.service.5* %doc %{_docdir}/%{name}-%{version}/ibsrpdm.md %changelog +* Tue Jul 25 2017 Jarod Wilson - 14-1 +- Update to upstream v14 release +- Sync packaging updates from RHEL and upstream + * Sat Feb 11 2017 Fedora Release Engineering - 12-2 - Rebuilt for https://fedoraproject.org/wiki/Fedora_26_Mass_Rebuild diff --git a/sources b/sources index 43480fa..b177000 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (rdma-core-12.tar.gz) = f18c45cd9b4988677deab49f46425cd3150d56ee1b733bffe568132caccaaaa277180c249cf5f3268e59cf7b8125db5c43c2b8313c902a4d3b7ed3a75a87f295 +SHA512 (rdma-core-14.tar.gz) = 8fd988f038573ca3669543659f7f49441e625fe4e0ea4630160b6b54bfceb2124274f93616b4fec1b2bfc7bcf538dd68f0405031f4d7e5d6b922b80d4737b518