Jarod Wilson d968ae6
Name: rdma-core
b78156f
Version: 51.0
b4f3a4c
Release: %autorelease
Jarod Wilson d968ae6
Summary: RDMA core userspace libraries and daemons
Jarod Wilson d968ae6
Jarod Wilson d968ae6
# Almost everything is licensed under the OFA dual GPLv2, 2 Clause BSD license
Jarod Wilson d968ae6
#  providers/ipathverbs/ Dual licensed using a BSD license with an extra patent clause
Jarod Wilson d968ae6
#  providers/rxe/ Incorporates code from ipathverbs and contains the patent clause
Jarod Wilson d968ae6
#  providers/hfi1verbs Uses the 3 Clause BSD license
25ae952
License: GPL-2.0-only OR BSD-2-Clause AND BSD-3-Clause
Jarod Wilson d968ae6
Url: https://github.com/linux-rdma/rdma-core
Jarod Wilson f458a9d
Source: https://github.com/linux-rdma/rdma-core/releases/download/v%{version}/%{name}-%{version}.tar.gz
514221a
Patch9998: 9998-kernel-boot-Do-not-perform-device-rename-on-OPA-devi.patch
514221a
Patch9999: 9999-udev-keep-NAME_KERNEL-as-default-interface-naming-co.patch
b631ce4
# Do not build static libs by default.
b631ce4
%define with_static %{?_with_static: 1} %{?!_with_static: 0}
Jarod Wilson d968ae6
ae01c21
# 32-bit arm is missing required arch-specific memory barriers,
ae01c21
ExcludeArch: %{arm}
ae01c21
Jarod Wilson d968ae6
BuildRequires: binutils
Jarod Wilson d968ae6
BuildRequires: cmake >= 2.8.11
Jarod Wilson d968ae6
BuildRequires: gcc
Jarod Wilson d968ae6
BuildRequires: libudev-devel
Jarod Wilson d968ae6
BuildRequires: pkgconfig
Jarod Wilson d968ae6
BuildRequires: pkgconfig(libnl-3.0)
Jarod Wilson d968ae6
BuildRequires: pkgconfig(libnl-route-3.0)
b631ce4
BuildRequires: /usr/bin/rst2man
Jarod Wilson d968ae6
BuildRequires: valgrind-devel
Jarod Wilson d968ae6
BuildRequires: systemd
c97992e
BuildRequires: systemd-devel
7b6f91c
%if 0%{?fedora} >= 32 || 0%{?rhel} >= 8
f92c617
%define with_pyverbs %{?_with_pyverbs: 1} %{?!_with_pyverbs: %{?!_without_pyverbs: 1} %{?_without_pyverbs: 0}}
01859f5
%else
b631ce4
%define with_pyverbs %{?_with_pyverbs: 1} %{?!_with_pyverbs: 0}
01859f5
%endif
b631ce4
%if %{with_pyverbs}
b631ce4
BuildRequires: python3-devel
7b6f91c
BuildRequires: python3-Cython
b631ce4
%else
f0a64ca
%if 0%{?rhel} >= 8 || 0%{?fedora} >= 30
Jarod Wilson 156687c
BuildRequires: python3
b631ce4
%else
b631ce4
BuildRequires: python
b631ce4
%endif
b631ce4
%endif
01859f5
01859f5
%if 0%{?rhel} >= 8 || 0%{?fedora} >= 30 || %{with_pyverbs}
01859f5
BuildRequires: python3-docutils
01859f5
%else
01859f5
BuildRequires: python-docutils
01859f5
%endif
01859f5
f0a64ca
%if 0%{?fedora} >= 21 || 0%{?rhel} >= 8
Jarod Wilson 156687c
BuildRequires: perl-generators
b631ce4
%endif
Jarod Wilson d968ae6
5817d8b
Requires: pciutils
Jarod Wilson d968ae6
# Red Hat/Fedora previously shipped redhat/ as a stand-alone
Jarod Wilson d968ae6
# package called 'rdma', which we're supplanting here.
Jarod Wilson d968ae6
Provides: rdma = %{version}-%{release}
Jarod Wilson d968ae6
Obsoletes: rdma < %{version}-%{release}
Jarod Wilson d968ae6
Conflicts: infiniband-diags <= 1.6.7
Jarod Wilson d968ae6
Jarod Wilson d968ae6
# Since we recommend developers use Ninja, so should packagers, for consistency.
Jarod Wilson d968ae6
%define CMAKE_FLAGS %{nil}
f0a64ca
%if 0%{?fedora} >= 23 || 0%{?rhel} >= 8
Jarod Wilson d968ae6
# Ninja was introduced in FC23
Jarod Wilson d968ae6
BuildRequires: ninja-build
Jarod Wilson d968ae6
%define CMAKE_FLAGS -GNinja
6495ad1
%if 0%{?fedora} >= 33 || 0%{?rhel} >= 9
486598b
%define make_jobs ninja-build -C %{_vpath_builddir} -v %{?_smp_mflags}
486598b
%define cmake_install DESTDIR=%{buildroot} ninja-build -C %{_vpath_builddir} install
Jarod Wilson d968ae6
%else
80eb5de
%define make_jobs ninja-build -v %{?_smp_mflags}
80eb5de
%define cmake_install DESTDIR=%{buildroot} ninja-build install
80eb5de
%endif
80eb5de
%else
Jarod Wilson d968ae6
# Fallback to make otherwise
Jarod Wilson d968ae6
BuildRequires: make
55352ca
%define make_jobs make VERBOSE=1 %{?_smp_mflags}
Jarod Wilson d968ae6
%define cmake_install DESTDIR=%{buildroot} make install
Jarod Wilson d968ae6
%endif
Jarod Wilson d968ae6
3145cfa
%if 0%{?fedora} >= 25 || 0%{?rhel} == 8
f0a64ca
# pandoc was introduced in FC25, Centos8
b631ce4
BuildRequires: pandoc
b631ce4
%endif
b631ce4
5fa6954
%if 0%{?fedora} >= 34
5fa6954
# self obsoletes to remove i686 multilib package when updating to F34
9d2f592
Obsoletes: rdma-core < %{version}-%{release}
5fa6954
%endif
5fa6954
Jarod Wilson d968ae6
%description
c97992e
RDMA core userspace infrastructure and documentation, including initialization
c97992e
scripts, kernel driver-specific modprobe override configs, IPoIB network
c97992e
scripts, dracut rules, and the rdma-ndd utility.
Jarod Wilson d968ae6
Jarod Wilson d968ae6
%package devel
Jarod Wilson d968ae6
Summary: RDMA core development libraries and headers
a54e535
Requires: libibverbs%{?_isa} = %{version}-%{release}
Jarod Wilson d968ae6
Provides: libibverbs-devel = %{version}-%{release}
Jarod Wilson d968ae6
Obsoletes: libibverbs-devel < %{version}-%{release}
a54e535
Requires: libibumad%{?_isa} = %{version}-%{release}
Jarod Wilson d968ae6
Provides: libibumad-devel = %{version}-%{release}
Jarod Wilson d968ae6
Obsoletes: libibumad-devel < %{version}-%{release}
a54e535
Requires: librdmacm%{?_isa} = %{version}-%{release}
Jarod Wilson d968ae6
Provides: librdmacm-devel = %{version}-%{release}
Jarod Wilson d968ae6
Obsoletes: librdmacm-devel < %{version}-%{release}
Jarod Wilson d968ae6
Provides: ibacm-devel = %{version}-%{release}
Jarod Wilson d968ae6
Obsoletes: ibacm-devel < %{version}-%{release}
a54e535
Requires: infiniband-diags%{?_isa} = %{version}-%{release}
b631ce4
Provides: infiniband-diags-devel = %{version}-%{release}
b631ce4
Obsoletes: infiniband-diags-devel < %{version}-%{release}
b631ce4
Provides: libibmad-devel = %{version}-%{release}
b631ce4
Obsoletes: libibmad-devel < %{version}-%{release}
b631ce4
%if %{with_static}
b631ce4
# Since our pkg-config files include private references to these packages they
b631ce4
# need to have their .pc files installed too, even for dynamic linking, or
b631ce4
# pkg-config breaks.
b631ce4
BuildRequires: pkgconfig(libnl-3.0)
b631ce4
BuildRequires: pkgconfig(libnl-route-3.0)
2c2e63a
%endif
Jarod Wilson d968ae6
Jarod Wilson d968ae6
%description devel
Jarod Wilson d968ae6
RDMA core development libraries and headers.
Jarod Wilson d968ae6
b631ce4
%package -n infiniband-diags
b631ce4
Summary: InfiniBand Diagnostic Tools
a54e535
Requires: libibumad%{?_isa} = %{version}-%{release}
b631ce4
Provides: perl(IBswcountlimits)
b631ce4
Provides: libibmad = %{version}-%{release}
b631ce4
Obsoletes: libibmad < %{version}-%{release}
b631ce4
Obsoletes: openib-diags < 1.3
b631ce4
b631ce4
%description -n infiniband-diags
b631ce4
This package provides IB diagnostic programs and scripts needed to diagnose an
b631ce4
IB subnet.  infiniband-diags now also provides libibmad.  libibmad provides
b631ce4
low layer IB functions for use by the IB diagnostic and management
b631ce4
programs. These include MAD, SA, SMP, and other basic IB functions.
b631ce4
b631ce4
%package -n infiniband-diags-compat
b631ce4
Summary: OpenFabrics Alliance InfiniBand Diagnostic Tools
b631ce4
b631ce4
%description -n infiniband-diags-compat
b631ce4
Deprecated scripts and utilities which provide duplicated functionality, most
b631ce4
often at a reduced performance. These are maintained for the time being for
b631ce4
compatibility reasons.
b631ce4
Jarod Wilson d968ae6
%package -n libibverbs
Jarod Wilson d968ae6
Summary: A library and drivers for direct userspace use of RDMA (InfiniBand/iWARP/RoCE) hardware
Jarod Wilson d968ae6
Provides: libcxgb4 = %{version}-%{release}
Jarod Wilson d968ae6
Obsoletes: libcxgb4 < %{version}-%{release}
b631ce4
Provides: libefa = %{version}-%{release}
b631ce4
Obsoletes: libefa < %{version}-%{release}
Jarod Wilson d968ae6
Provides: libhfi1 = %{version}-%{release}
Jarod Wilson d968ae6
Obsoletes: libhfi1 < %{version}-%{release}
Jarod Wilson d968ae6
Provides: libipathverbs = %{version}-%{release}
Jarod Wilson d968ae6
Obsoletes: libipathverbs < %{version}-%{release}
fb5dc65
Provides: libirdma = %{version}-%{release}
fb5dc65
Obsoletes: libirdma < %{version}-%{release}
Jarod Wilson d968ae6
Provides: libmlx4 = %{version}-%{release}
Jarod Wilson d968ae6
Obsoletes: libmlx4 < %{version}-%{release}
Jarod Wilson d968ae6
Provides: libmlx5 = %{version}-%{release}
Jarod Wilson d968ae6
Obsoletes: libmlx5 < %{version}-%{release}
Jarod Wilson d968ae6
Provides: libmthca = %{version}-%{release}
Jarod Wilson d968ae6
Obsoletes: libmthca < %{version}-%{release}
Jarod Wilson d968ae6
Provides: libocrdma = %{version}-%{release}
Jarod Wilson d968ae6
Obsoletes: libocrdma < %{version}-%{release}
Jarod Wilson d968ae6
Provides: librxe = %{version}-%{release}
Jarod Wilson d968ae6
Obsoletes: librxe < %{version}-%{release}
462a006
%if 0%{?fedora} >= 34
4e8f1a5
Obsoletes: libibverbs-core < %{version}-%{release}
4e8f1a5
%endif
Jarod Wilson d968ae6
Jarod Wilson d968ae6
%description -n libibverbs
Jarod Wilson d968ae6
libibverbs is a library that allows userspace processes to use RDMA
Jarod Wilson d968ae6
"verbs" as described in the InfiniBand Architecture Specification and
Jarod Wilson d968ae6
the RDMA Protocol Verbs Specification.  This includes direct hardware
Jarod Wilson d968ae6
access from userspace to InfiniBand/iWARP adapters (kernel bypass) for
Jarod Wilson d968ae6
fast path operations.
Jarod Wilson d968ae6
Jarod Wilson d968ae6
Device-specific plug-in ibverbs userspace drivers are included:
Jarod Wilson d968ae6
Jarod Wilson d968ae6
- libcxgb4: Chelsio T4 iWARP HCA
b631ce4
- libefa: Amazon Elastic Fabric Adapter
Jarod Wilson d968ae6
- libhfi1: Intel Omni-Path HFI
Jarod Wilson f458a9d
- libhns: HiSilicon Hip06 SoC
Jarod Wilson d968ae6
- libipathverbs: QLogic InfiniPath HCA
fb5dc65
- libirdma: Intel Ethernet Connection RDMA
d24472b
- libmana: Microsoft Azure Network Adapter
b631ce4
- libmlx4: Mellanox ConnectX-3 InfiniBand HCA
b631ce4
- libmlx5: Mellanox Connect-IB/X-4+ InfiniBand HCA
Jarod Wilson d968ae6
- libmthca: Mellanox InfiniBand HCA
Jarod Wilson d968ae6
- libocrdma: Emulex OneConnect RDMA/RoCE Device
Jarod Wilson f458a9d
- libqedr: QLogic QL4xxx RoCE HCA
Jarod Wilson d968ae6
- librxe: A software implementation of the RoCE protocol
b631ce4
- libsiw: A software implementation of the iWarp protocol
Jarod Wilson f458a9d
- libvmw_pvrdma: VMware paravirtual RDMA device
Jarod Wilson d968ae6
Jarod Wilson d968ae6
%package -n libibverbs-utils
Jarod Wilson d968ae6
Summary: Examples for the libibverbs library
Jarod Wilson d968ae6
Requires: libibverbs%{?_isa} = %{version}-%{release}
Jarod Wilson d968ae6
Jarod Wilson d968ae6
%description -n libibverbs-utils
Jarod Wilson d968ae6
Useful libibverbs example programs such as ibv_devinfo, which
Jarod Wilson d968ae6
displays information about RDMA devices.
Jarod Wilson d968ae6
Jarod Wilson d968ae6
%package -n ibacm
Jarod Wilson d968ae6
Summary: InfiniBand Communication Manager Assistant
4dd9584
%{?systemd_requires}
bd22cb6
Requires: libibumad%{?_isa} = %{version}-%{release}
bd22cb6
Requires: libibverbs%{?_isa} = %{version}-%{release}
Jarod Wilson d968ae6
Jarod Wilson d968ae6
%description -n ibacm
Jarod Wilson d968ae6
The ibacm daemon helps reduce the load of managing path record lookups on
Jarod Wilson d968ae6
large InfiniBand fabrics by providing a user space implementation of what
Jarod Wilson d968ae6
is functionally similar to an ARP cache.  The use of ibacm, when properly
Jarod Wilson d968ae6
configured, can reduce the SA packet load of a large IB cluster from O(n^2)
Jarod Wilson d968ae6
to O(n).  The ibacm daemon is started and normally runs in the background,
Jarod Wilson d968ae6
user applications need not know about this daemon as long as their app
Jarod Wilson d968ae6
uses librdmacm to handle connection bring up/tear down.  The librdmacm
Jarod Wilson d968ae6
library knows how to talk directly to the ibacm daemon to retrieve data.
Jarod Wilson d968ae6
Jarod Wilson d968ae6
%package -n iwpmd
Jarod Wilson d968ae6
Summary: iWarp Port Mapper userspace daemon
4dd9584
%{?systemd_requires}
Jarod Wilson d968ae6
Jarod Wilson d968ae6
%description -n iwpmd
Jarod Wilson d968ae6
iwpmd provides a userspace service for iWarp drivers to claim
Jarod Wilson d968ae6
tcp ports through the standard socket interface.
Jarod Wilson d968ae6
Jarod Wilson d968ae6
%package -n libibumad
Jarod Wilson d968ae6
Summary: OpenFabrics Alliance InfiniBand umad (userspace management datagram) library
Jarod Wilson d968ae6
Jarod Wilson d968ae6
%description -n libibumad
Jarod Wilson d968ae6
libibumad provides the userspace management datagram (umad) library
Jarod Wilson d968ae6
functions, which sit on top of the umad modules in the kernel. These
Jarod Wilson d968ae6
are used by the IB diagnostic and management tools, including OpenSM.
Jarod Wilson d968ae6
Jarod Wilson d968ae6
%package -n librdmacm
Jarod Wilson d968ae6
Summary: Userspace RDMA Connection Manager
bd22cb6
Requires: libibverbs%{?_isa} = %{version}-%{release}
Jarod Wilson d968ae6
Jarod Wilson d968ae6
%description -n librdmacm
c97992e
librdmacm provides a userspace RDMA Communication Management API.
Jarod Wilson d968ae6
Jarod Wilson d968ae6
%package -n librdmacm-utils
Jarod Wilson d968ae6
Summary: Examples for the librdmacm library
Jarod Wilson d968ae6
Requires: librdmacm%{?_isa} = %{version}-%{release}
bd22cb6
Requires: libibverbs%{?_isa} = %{version}-%{release}
Jarod Wilson d968ae6
Jarod Wilson d968ae6
%description -n librdmacm-utils
Jarod Wilson d968ae6
Example test programs for the librdmacm library.
Jarod Wilson d968ae6
Jarod Wilson d968ae6
%package -n srp_daemon
Jarod Wilson d968ae6
Summary: Tools for using the InfiniBand SRP protocol devices
Jarod Wilson d968ae6
Obsoletes: srptools <= 1.0.3
Jarod Wilson d968ae6
Provides: srptools = %{version}-%{release}
Jarod Wilson d968ae6
Obsoletes: openib-srptools <= 0.0.6
4dd9584
%{?systemd_requires}
bd22cb6
Requires: libibumad%{?_isa} = %{version}-%{release}
bd22cb6
Requires: libibverbs%{?_isa} = %{version}-%{release}
Jarod Wilson d968ae6
Jarod Wilson d968ae6
%description -n srp_daemon
Jarod Wilson d968ae6
In conjunction with the kernel ib_srp driver, srp_daemon allows you to
Jarod Wilson d968ae6
discover and use SCSI devices via the SCSI RDMA Protocol over InfiniBand.
Jarod Wilson d968ae6
b631ce4
%if %{with_pyverbs}
b631ce4
%package -n python3-pyverbs
b631ce4
Summary: Python3 API over IB verbs
b631ce4
%{?python_provide:%python_provide python3-pyverbs}
bd22cb6
Requires: librdmacm%{?_isa} = %{version}-%{release}
bd22cb6
Requires: libibverbs%{?_isa} = %{version}-%{release}
b631ce4
b631ce4
%description -n python3-pyverbs
b631ce4
Pyverbs is a Cython-based Python API over libibverbs, providing an
b631ce4
easy, object-oriented access to IB verbs.
b631ce4
%endif
b631ce4
Jarod Wilson d968ae6
%prep
bd13c65
%setup -q
514221a
%if 0%{?fedora}
37950d1
%patch 9998 -p1
bd13c65
%endif
bd13c65
%if 0%{?rhel}
37950d1
%patch 9999 -p1
bd13c65
%endif
Jarod Wilson d968ae6
Jarod Wilson d968ae6
%build
Jarod Wilson d968ae6
Jarod Wilson d968ae6
# New RPM defines _rundir, usually as /run
Jarod Wilson d968ae6
%if 0%{?_rundir:1}
Jarod Wilson d968ae6
%else
Jarod Wilson d968ae6
%define _rundir /var/run
Jarod Wilson d968ae6
%endif
Jarod Wilson d968ae6
Jarod Wilson 156687c
%{!?EXTRA_CMAKE_FLAGS: %define EXTRA_CMAKE_FLAGS %{nil}}
Jarod Wilson 156687c
Jarod Wilson d968ae6
# Pass all of the rpm paths directly to GNUInstallDirs and our other defines.
Jarod Wilson d968ae6
%cmake %{CMAKE_FLAGS} \
Jarod Wilson d968ae6
         -DCMAKE_BUILD_TYPE=Release \
Jarod Wilson d968ae6
         -DCMAKE_INSTALL_BINDIR:PATH=%{_bindir} \
Jarod Wilson d968ae6
         -DCMAKE_INSTALL_SBINDIR:PATH=%{_sbindir} \
Jarod Wilson d968ae6
         -DCMAKE_INSTALL_LIBDIR:PATH=%{_libdir} \
Jarod Wilson d968ae6
         -DCMAKE_INSTALL_LIBEXECDIR:PATH=%{_libexecdir} \
Jarod Wilson d968ae6
         -DCMAKE_INSTALL_LOCALSTATEDIR:PATH=%{_localstatedir} \
Jarod Wilson d968ae6
         -DCMAKE_INSTALL_SHAREDSTATEDIR:PATH=%{_sharedstatedir} \
Jarod Wilson d968ae6
         -DCMAKE_INSTALL_INCLUDEDIR:PATH=%{_includedir} \
Jarod Wilson d968ae6
         -DCMAKE_INSTALL_INFODIR:PATH=%{_infodir} \
Jarod Wilson d968ae6
         -DCMAKE_INSTALL_MANDIR:PATH=%{_mandir} \
Jarod Wilson d968ae6
         -DCMAKE_INSTALL_SYSCONFDIR:PATH=%{_sysconfdir} \
Jarod Wilson d968ae6
         -DCMAKE_INSTALL_SYSTEMD_SERVICEDIR:PATH=%{_unitdir} \
Jarod Wilson d968ae6
         -DCMAKE_INSTALL_INITDDIR:PATH=%{_initrddir} \
Jarod Wilson d968ae6
         -DCMAKE_INSTALL_RUNDIR:PATH=%{_rundir} \
ae01c21
         -DCMAKE_INSTALL_DOCDIR:PATH=%{_docdir}/%{name} \
Jarod Wilson 156687c
         -DCMAKE_INSTALL_UDEV_RULESDIR:PATH=%{_udevrulesdir} \
b631ce4
         -DCMAKE_INSTALL_PERLDIR:PATH=%{perl_vendorlib} \
b631ce4
         -DENABLE_IBDIAGS_COMPAT:BOOL=True \
b631ce4
%if %{with_static}
b631ce4
         -DENABLE_STATIC=1 \
b631ce4
%endif
b631ce4
         %{EXTRA_CMAKE_FLAGS} \
b631ce4
%if %{defined __python3}
b631ce4
         -DPYTHON_EXECUTABLE:PATH=%{__python3} \
b631ce4
         -DCMAKE_INSTALL_PYTHON_ARCH_LIB:PATH=%{python3_sitearch} \
b631ce4
%endif
b631ce4
%if %{with_pyverbs}
b631ce4
         -DNO_PYVERBS=0
b631ce4
%else
b631ce4
	 -DNO_PYVERBS=1
b631ce4
%endif
Jarod Wilson d968ae6
%make_jobs
Jarod Wilson d968ae6
Jarod Wilson d968ae6
%install
Jarod Wilson d968ae6
%cmake_install
Jarod Wilson d968ae6
Jarod Wilson d968ae6
mkdir -p %{buildroot}/%{_sysconfdir}/rdma
Jarod Wilson d968ae6
Jarod Wilson d968ae6
# Red Hat specific glue
Jarod Wilson d968ae6
%global dracutlibdir %{_prefix}/lib/dracut
Jarod Wilson d968ae6
%global sysmodprobedir %{_prefix}/lib/modprobe.d
Jarod Wilson d968ae6
mkdir -p %{buildroot}%{_libexecdir}
Jarod Wilson d968ae6
mkdir -p %{buildroot}%{_udevrulesdir}
Jarod Wilson d968ae6
mkdir -p %{buildroot}%{dracutlibdir}/modules.d/05rdma
Jarod Wilson d968ae6
mkdir -p %{buildroot}%{sysmodprobedir}
Jarod Wilson d968ae6
install -D -m0644 redhat/rdma.mlx4.conf %{buildroot}/%{_sysconfdir}/rdma/mlx4.conf
Jarod Wilson d968ae6
install -D -m0755 redhat/rdma.modules-setup.sh %{buildroot}%{dracutlibdir}/modules.d/05rdma/module-setup.sh
b631ce4
install -D -m0644 redhat/rdma.mlx4.sys.modprobe %{buildroot}%{sysmodprobedir}/libmlx4.conf
b631ce4
install -D -m0755 redhat/rdma.mlx4-setup.sh %{buildroot}%{_libexecdir}/mlx4-setup.sh
f92c617
rm -f %{buildroot}%{_sysconfdir}/rdma/modules/rdma.conf
f92c617
install -D -m0644 redhat/rdma.conf %{buildroot}%{_sysconfdir}/rdma/modules/rdma.conf
Jarod Wilson d968ae6
Jarod Wilson d968ae6
# ibacm
80eb5de
(if [ -d %{__cmake_builddir} ]; then cd %{__cmake_builddir}; fi
80eb5de
 ./bin/ib_acme -D . -O &&
80eb5de
 install -D -m0644 ibacm_opts.cfg %{buildroot}%{_sysconfdir}/rdma/)
Jarod Wilson d968ae6
Jarod Wilson d968ae6
# Delete the package's init.d scripts
Jarod Wilson d968ae6
rm -rf %{buildroot}/%{_initrddir}/
c97992e
rm -f %{buildroot}/%{_sbindir}/srp_daemon.sh
Jarod Wilson d968ae6
735c145
%ldconfig_scriptlets -n libibverbs
Jarod Wilson d968ae6
735c145
%ldconfig_scriptlets -n libibumad
Jarod Wilson d968ae6
735c145
%ldconfig_scriptlets -n librdmacm
Jarod Wilson d968ae6
f0a64ca
%post -n rdma-core
c166c35
if [ -x /sbin/udevadm ]; then
f0a64ca
/sbin/udevadm trigger --subsystem-match=infiniband --action=change || true
f0a64ca
/sbin/udevadm trigger --subsystem-match=net --action=change || true
f0a64ca
/sbin/udevadm trigger --subsystem-match=infiniband_mad --action=change || true
c166c35
fi
f0a64ca
Jarod Wilson d968ae6
%post -n ibacm
Jarod Wilson d968ae6
%systemd_post ibacm.service
Jarod Wilson d968ae6
%preun -n ibacm
Jarod Wilson d968ae6
%systemd_preun ibacm.service
Jarod Wilson d968ae6
%postun -n ibacm
Jarod Wilson d968ae6
%systemd_postun_with_restart ibacm.service
Jarod Wilson d968ae6
Jarod Wilson d968ae6
%post -n srp_daemon
Jarod Wilson d968ae6
%systemd_post srp_daemon.service
Jarod Wilson d968ae6
%preun -n srp_daemon
Jarod Wilson d968ae6
%systemd_preun srp_daemon.service
Jarod Wilson d968ae6
%postun -n srp_daemon
Jarod Wilson d968ae6
%systemd_postun_with_restart srp_daemon.service
Jarod Wilson d968ae6
Jarod Wilson d968ae6
%post -n iwpmd
Jarod Wilson d968ae6
%systemd_post iwpmd.service
Jarod Wilson d968ae6
%preun -n iwpmd
Jarod Wilson d968ae6
%systemd_preun iwpmd.service
Jarod Wilson d968ae6
%postun -n iwpmd
Jarod Wilson d968ae6
%systemd_postun_with_restart iwpmd.service
Jarod Wilson d968ae6
Jarod Wilson d968ae6
%files
Jarod Wilson d968ae6
%dir %{_sysconfdir}/rdma
ae01c21
%dir %{_docdir}/%{name}
d24472b
%doc %{_docdir}/%{name}/70-persistent-ipoib.rules
ae01c21
%doc %{_docdir}/%{name}/README.md
ae01c21
%doc %{_docdir}/%{name}/rxe.md
ae01c21
%doc %{_docdir}/%{name}/udev.md
ae01c21
%doc %{_docdir}/%{name}/tag_matching.md
c97992e
%config(noreplace) %{_sysconfdir}/rdma/mlx4.conf
c97992e
%config(noreplace) %{_sysconfdir}/rdma/modules/infiniband.conf
c97992e
%config(noreplace) %{_sysconfdir}/rdma/modules/iwarp.conf
c97992e
%config(noreplace) %{_sysconfdir}/rdma/modules/opa.conf
c97992e
%config(noreplace) %{_sysconfdir}/rdma/modules/rdma.conf
c97992e
%config(noreplace) %{_sysconfdir}/rdma/modules/roce.conf
5817d8b
%dir %{_sysconfdir}/modprobe.d
b631ce4
%config(noreplace) %{_sysconfdir}/modprobe.d/mlx4.conf
Jarod Wilson d968ae6
%config(noreplace) %{_sysconfdir}/modprobe.d/truescale.conf
c97992e
%{_unitdir}/rdma-hw.target
c97992e
%{_unitdir}/rdma-load-modules@.service
5817d8b
%dir %{dracutlibdir}
5817d8b
%dir %{dracutlibdir}/modules.d
Jarod Wilson d968ae6
%dir %{dracutlibdir}/modules.d/05rdma
Jarod Wilson d968ae6
%{dracutlibdir}/modules.d/05rdma/module-setup.sh
daf98ff
%dir %{_udevrulesdir}
b631ce4
%{_udevrulesdir}/../rdma_rename
c97992e
%{_udevrulesdir}/60-rdma-ndd.rules
b631ce4
%{_udevrulesdir}/60-rdma-persistent-naming.rules
c97992e
%{_udevrulesdir}/75-rdma-description.rules
c97992e
%{_udevrulesdir}/90-rdma-hw-modules.rules
c97992e
%{_udevrulesdir}/90-rdma-ulp-modules.rules
c97992e
%{_udevrulesdir}/90-rdma-umad.rules
5817d8b
%dir %{sysmodprobedir}
b631ce4
%{sysmodprobedir}/libmlx4.conf
b631ce4
%{_libexecdir}/mlx4-setup.sh
Jarod Wilson d968ae6
%{_libexecdir}/truescale-serdes.cmds
Jarod Wilson d968ae6
%{_sbindir}/rdma-ndd
Jarod Wilson d968ae6
%{_unitdir}/rdma-ndd.service
c97992e
%{_mandir}/man7/rxe*
Jarod Wilson d968ae6
%{_mandir}/man8/rdma-ndd.*
honli ef8db10
%license COPYING.*
Jarod Wilson d968ae6
Jarod Wilson d968ae6
%files devel
ae01c21
%doc %{_docdir}/%{name}/MAINTAINERS
Jarod Wilson f458a9d
%dir %{_includedir}/infiniband
Jarod Wilson f458a9d
%dir %{_includedir}/rdma
Jarod Wilson f458a9d
%{_includedir}/infiniband/*
Jarod Wilson f458a9d
%{_includedir}/rdma/*
b631ce4
%if %{with_static}
b631ce4
%{_libdir}/lib*.a
b631ce4
%endif
Jarod Wilson d968ae6
%{_libdir}/lib*.so
Jarod Wilson 156687c
%{_libdir}/pkgconfig/*.pc
b631ce4
%{_mandir}/man3/efadv*
b78156f
%{_mandir}/man3/hnsdv*
Jarod Wilson d968ae6
%{_mandir}/man3/ibv_*
Jarod Wilson d968ae6
%{_mandir}/man3/rdma*
Jarod Wilson d968ae6
%{_mandir}/man3/umad*
Jarod Wilson d968ae6
%{_mandir}/man3/*_to_ibv_rate.*
c97992e
%{_mandir}/man7/rdma_cm.*
d24472b
%{_mandir}/man3/manadv*
Jarod Wilson f458a9d
%{_mandir}/man3/mlx5dv*
c97992e
%{_mandir}/man3/mlx4dv*
b631ce4
%{_mandir}/man7/efadv*
b78156f
%{_mandir}/man7/hnsdv*
d24472b
%{_mandir}/man7/manadv*
b631ce4
%{_mandir}/man7/mlx5dv*
c97992e
%{_mandir}/man7/mlx4dv*
b631ce4
%{_mandir}/man3/ibnd_*
b631ce4
b631ce4
%files -n infiniband-diags-compat
b631ce4
%{_sbindir}/ibcheckerrs
b631ce4
%{_mandir}/man8/ibcheckerrs*
b631ce4
%{_sbindir}/ibchecknet
b631ce4
%{_mandir}/man8/ibchecknet*
b631ce4
%{_sbindir}/ibchecknode
b631ce4
%{_mandir}/man8/ibchecknode*
b631ce4
%{_sbindir}/ibcheckport
b631ce4
%{_mandir}/man8/ibcheckport.*
b631ce4
%{_sbindir}/ibcheckportwidth
b631ce4
%{_mandir}/man8/ibcheckportwidth*
b631ce4
%{_sbindir}/ibcheckportstate
b631ce4
%{_mandir}/man8/ibcheckportstate*
b631ce4
%{_sbindir}/ibcheckwidth
b631ce4
%{_mandir}/man8/ibcheckwidth*
b631ce4
%{_sbindir}/ibcheckstate
b631ce4
%{_mandir}/man8/ibcheckstate*
b631ce4
%{_sbindir}/ibcheckerrors
b631ce4
%{_mandir}/man8/ibcheckerrors*
b631ce4
%{_sbindir}/ibdatacounts
b631ce4
%{_mandir}/man8/ibdatacounts*
b631ce4
%{_sbindir}/ibdatacounters
b631ce4
%{_mandir}/man8/ibdatacounters*
b631ce4
%{_sbindir}/ibdiscover.pl
b631ce4
%{_mandir}/man8/ibdiscover*
b631ce4
%{_sbindir}/ibswportwatch.pl
b631ce4
%{_mandir}/man8/ibswportwatch*
b631ce4
%{_sbindir}/ibqueryerrors.pl
b631ce4
%{_sbindir}/iblinkinfo.pl
b631ce4
%{_sbindir}/ibprintca.pl
b631ce4
%{_mandir}/man8/ibprintca*
b631ce4
%{_sbindir}/ibprintswitch.pl
b631ce4
%{_mandir}/man8/ibprintswitch*
b631ce4
%{_sbindir}/ibprintrt.pl
b631ce4
%{_mandir}/man8/ibprintrt*
b631ce4
%{_sbindir}/set_nodedesc.sh
b631ce4
b631ce4
%files -n infiniband-diags
b631ce4
%{_sbindir}/ibaddr
b631ce4
%{_mandir}/man8/ibaddr*
b631ce4
%{_sbindir}/ibnetdiscover
b631ce4
%{_mandir}/man8/ibnetdiscover*
b631ce4
%{_sbindir}/ibping
b631ce4
%{_mandir}/man8/ibping*
b631ce4
%{_sbindir}/ibportstate
b631ce4
%{_mandir}/man8/ibportstate*
b631ce4
%{_sbindir}/ibroute
b631ce4
%{_mandir}/man8/ibroute.*
b631ce4
%{_sbindir}/ibstat
b631ce4
%{_mandir}/man8/ibstat.*
b631ce4
%{_sbindir}/ibsysstat
b631ce4
%{_mandir}/man8/ibsysstat*
b631ce4
%{_sbindir}/ibtracert
b631ce4
%{_mandir}/man8/ibtracert*
b631ce4
%{_sbindir}/perfquery
b631ce4
%{_mandir}/man8/perfquery*
b631ce4
%{_sbindir}/sminfo
b631ce4
%{_mandir}/man8/sminfo*
b631ce4
%{_sbindir}/smpdump
b631ce4
%{_mandir}/man8/smpdump*
b631ce4
%{_sbindir}/smpquery
b631ce4
%{_mandir}/man8/smpquery*
b631ce4
%{_sbindir}/saquery
b631ce4
%{_mandir}/man8/saquery*
b631ce4
%{_sbindir}/vendstat
b631ce4
%{_mandir}/man8/vendstat*
b631ce4
%{_sbindir}/iblinkinfo
b631ce4
%{_mandir}/man8/iblinkinfo*
b631ce4
%{_sbindir}/ibqueryerrors
b631ce4
%{_mandir}/man8/ibqueryerrors*
b631ce4
%{_sbindir}/ibcacheedit
b631ce4
%{_mandir}/man8/ibcacheedit*
b631ce4
%{_sbindir}/ibccquery
b631ce4
%{_mandir}/man8/ibccquery*
b631ce4
%{_sbindir}/ibccconfig
b631ce4
%{_mandir}/man8/ibccconfig*
b631ce4
%{_sbindir}/dump_fts
b631ce4
%{_mandir}/man8/dump_fts*
b631ce4
%{_sbindir}/ibhosts
b631ce4
%{_mandir}/man8/ibhosts*
b631ce4
%{_sbindir}/ibswitches
b631ce4
%{_mandir}/man8/ibswitches*
b631ce4
%{_sbindir}/ibnodes
b631ce4
%{_mandir}/man8/ibnodes*
b631ce4
%{_sbindir}/ibrouters
b631ce4
%{_mandir}/man8/ibrouters*
b631ce4
%{_sbindir}/ibfindnodesusing.pl
b631ce4
%{_mandir}/man8/ibfindnodesusing*
b631ce4
%{_sbindir}/ibidsverify.pl
b631ce4
%{_mandir}/man8/ibidsverify*
b631ce4
%{_sbindir}/check_lft_balance.pl
b631ce4
%{_mandir}/man8/check_lft_balance*
b631ce4
%{_sbindir}/dump_lfts.sh
b631ce4
%{_mandir}/man8/dump_lfts*
b631ce4
%{_sbindir}/dump_mfts.sh
b631ce4
%{_mandir}/man8/dump_mfts*
b631ce4
%{_sbindir}/ibclearerrors
b631ce4
%{_mandir}/man8/ibclearerrors*
b631ce4
%{_sbindir}/ibclearcounters
b631ce4
%{_mandir}/man8/ibclearcounters*
b631ce4
%{_sbindir}/ibstatus
b631ce4
%{_mandir}/man8/ibstatus*
b631ce4
%{_mandir}/man8/infiniband-diags*
b631ce4
%{_libdir}/libibmad*.so.*
b631ce4
%{_libdir}/libibnetdisc*.so.*
b631ce4
%{perl_vendorlib}/IBswcountlimits.pm
b631ce4
%config(noreplace) %{_sysconfdir}/infiniband-diags/error_thresholds
b631ce4
%config(noreplace) %{_sysconfdir}/infiniband-diags/ibdiag.conf
Jarod Wilson d968ae6
Jarod Wilson d968ae6
%files -n libibverbs
Jarod Wilson d968ae6
%dir %{_sysconfdir}/libibverbs.d
Jarod Wilson d968ae6
%dir %{_libdir}/libibverbs
b631ce4
%{_libdir}/libefa.so.*
b78156f
%{_libdir}/libhns.so.*
honli ef8db10
%{_libdir}/libibverbs*.so.*
Jarod Wilson d968ae6
%{_libdir}/libibverbs/*.so
d24472b
%{_libdir}/libmana.so.*
c97992e
%{_libdir}/libmlx5.so.*
c97992e
%{_libdir}/libmlx4.so.*
Jarod Wilson d968ae6
%config(noreplace) %{_sysconfdir}/libibverbs.d/*.driver
ae01c21
%doc %{_docdir}/%{name}/libibverbs.md
Jarod Wilson d968ae6
Jarod Wilson d968ae6
%files -n libibverbs-utils
Jarod Wilson d968ae6
%{_bindir}/ibv_*
Jarod Wilson d968ae6
%{_mandir}/man1/ibv_*
Jarod Wilson d968ae6
Jarod Wilson d968ae6
%files -n ibacm
Jarod Wilson d968ae6
%config(noreplace) %{_sysconfdir}/rdma/ibacm_opts.cfg
Jarod Wilson d968ae6
%{_bindir}/ib_acme
Jarod Wilson d968ae6
%{_sbindir}/ibacm
Jarod Wilson d968ae6
%{_mandir}/man1/ib_acme.*
Jarod Wilson d968ae6
%{_mandir}/man7/ibacm.*
Jarod Wilson d968ae6
%{_mandir}/man7/ibacm_prov.*
6a20625
%{_mandir}/man8/ibacm.*
Jarod Wilson d968ae6
%{_unitdir}/ibacm.service
c97992e
%{_unitdir}/ibacm.socket
Jarod Wilson d968ae6
%dir %{_libdir}/ibacm
Jarod Wilson d968ae6
%{_libdir}/ibacm/*
ae01c21
%doc %{_docdir}/%{name}/ibacm.md
Jarod Wilson d968ae6
Jarod Wilson d968ae6
%files -n iwpmd
c97992e
%{_sbindir}/iwpmd
Jarod Wilson d968ae6
%{_unitdir}/iwpmd.service
c97992e
%config(noreplace) %{_sysconfdir}/rdma/modules/iwpmd.conf
Jarod Wilson d968ae6
%config(noreplace) %{_sysconfdir}/iwpmd.conf
c97992e
%{_udevrulesdir}/90-iwpmd.rules
c97992e
%{_mandir}/man8/iwpmd.*
Jarod Wilson d968ae6
%{_mandir}/man5/iwpmd.*
Jarod Wilson d968ae6
Jarod Wilson d968ae6
%files -n libibumad
Jarod Wilson d968ae6
%{_libdir}/libibumad*.so.*
Jarod Wilson d968ae6
Jarod Wilson d968ae6
%files -n librdmacm
Jarod Wilson d968ae6
%{_libdir}/librdmacm*.so.*
Jarod Wilson d968ae6
%dir %{_libdir}/rsocket
c97992e
%{_libdir}/rsocket/*.so*
ae01c21
%doc %{_docdir}/%{name}/librdmacm.md
Jarod Wilson d968ae6
%{_mandir}/man7/rsocket.*
Jarod Wilson d968ae6
Jarod Wilson d968ae6
%files -n librdmacm-utils
Jarod Wilson d968ae6
%{_bindir}/cmtime
Jarod Wilson d968ae6
%{_bindir}/mckey
Jarod Wilson d968ae6
%{_bindir}/rcopy
Jarod Wilson d968ae6
%{_bindir}/rdma_client
Jarod Wilson d968ae6
%{_bindir}/rdma_server
Jarod Wilson d968ae6
%{_bindir}/rdma_xclient
Jarod Wilson d968ae6
%{_bindir}/rdma_xserver
Jarod Wilson d968ae6
%{_bindir}/riostream
Jarod Wilson d968ae6
%{_bindir}/rping
Jarod Wilson d968ae6
%{_bindir}/rstream
Jarod Wilson d968ae6
%{_bindir}/ucmatose
Jarod Wilson d968ae6
%{_bindir}/udaddy
Jarod Wilson d968ae6
%{_bindir}/udpong
Jarod Wilson f458a9d
%{_mandir}/man1/cmtime.*
Jarod Wilson d968ae6
%{_mandir}/man1/mckey.*
Jarod Wilson d968ae6
%{_mandir}/man1/rcopy.*
Jarod Wilson d968ae6
%{_mandir}/man1/rdma_client.*
Jarod Wilson d968ae6
%{_mandir}/man1/rdma_server.*
Jarod Wilson d968ae6
%{_mandir}/man1/rdma_xclient.*
Jarod Wilson d968ae6
%{_mandir}/man1/rdma_xserver.*
Jarod Wilson d968ae6
%{_mandir}/man1/riostream.*
Jarod Wilson d968ae6
%{_mandir}/man1/rping.*
Jarod Wilson d968ae6
%{_mandir}/man1/rstream.*
Jarod Wilson d968ae6
%{_mandir}/man1/ucmatose.*
Jarod Wilson d968ae6
%{_mandir}/man1/udaddy.*
Jarod Wilson f458a9d
%{_mandir}/man1/udpong.*
Jarod Wilson d968ae6
Jarod Wilson d968ae6
%files -n srp_daemon
Jarod Wilson d968ae6
%config(noreplace) %{_sysconfdir}/srp_daemon.conf
c97992e
%config(noreplace) %{_sysconfdir}/rdma/modules/srp_daemon.conf
Jarod Wilson f458a9d
%{_libexecdir}/srp_daemon/start_on_all_ports
Jarod Wilson d968ae6
%{_unitdir}/srp_daemon.service
Jarod Wilson f458a9d
%{_unitdir}/srp_daemon_port@.service
Jarod Wilson d968ae6
%{_sbindir}/ibsrpdm
Jarod Wilson d968ae6
%{_sbindir}/srp_daemon
Jarod Wilson d968ae6
%{_sbindir}/run_srp_daemon
c97992e
%{_udevrulesdir}/60-srp_daemon.rules
Jarod Wilson f458a9d
%{_mandir}/man5/srp_daemon.service.5*
Jarod Wilson f458a9d
%{_mandir}/man5/srp_daemon_port@.service.5*
6a20625
%{_mandir}/man8/ibsrpdm.8*
55352ca
%{_mandir}/man8/srp_daemon.8*
ae01c21
%doc %{_docdir}/%{name}/ibsrpdm.md
Jarod Wilson d968ae6
b631ce4
%if %{with_pyverbs}
b631ce4
%files -n python3-pyverbs
b631ce4
%{python3_sitearch}/pyverbs
ae01c21
%{_docdir}/%{name}/tests/*.py
b631ce4
%endif
b631ce4
Jarod Wilson d968ae6
%changelog
b4f3a4c
%autochangelog