commit 0478d0596f343475c7c9dd98e4f8372fcfaddf2e4b626a4ece1e7e63ae92083b Author: Adrian Schröter Date: Sat May 4 00:01:12 2024 +0200 Sync from SUSE:SLFO:Main rdma-core revision 9d9ddd2fd062ec0274633c6ecb5d0cc1 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/_service b/_service new file mode 100644 index 0000000..b45a573 --- /dev/null +++ b/_service @@ -0,0 +1,18 @@ + + + git + https://github.com/linux-rdma/rdma-core.git + no + .git + rdma-core + @PARENT_TAG@.@TAG_OFFSET@.%h + v(.*) + \1 + 8847c327b89cdf4fcd9cf411355a6ccd12e8a054 + suse/rdma-core.spec + + + *rdma-core*.tar + gz + + diff --git a/baselibs.conf b/baselibs.conf new file mode 100644 index 0000000..4e307e7 --- /dev/null +++ b/baselibs.conf @@ -0,0 +1,45 @@ +libibverbs + obsoletes "libcxgb4-rdmav2- < " + obsoletes "libefa-rdmav2- < " + obsoletes "libhfi1verbs-rdmav2- < " + obsoletes "libi40iw-rdmav2- < " + obsoletes "libipathverbs-rdmav2- < " + obsoletes "libmlx4-rdmav2- < " + obsoletes "libmlx5-rdmav2- < " + obsoletes "libmthca-rdmav2- < " + obsoletes "libocrdma-rdmav2- < " + obsoletes "librxe-rdmav2- < " + targetarch i586 requires "libefa1- = " + targetarch i586 requires "libmlx4-1- = " + targetarch i586 requires "libmlx5-1- = " +libibverbs1 + requires "libibverbs- = " +libefa1 +libmlx4-1 +libmlx5-1 +libibumad3 +libibmad5 +librdmacm1 + obsoletes "librdmacm- < " + provides "librdmacm- = " +rdma-core-devel + obsoletes "libibverbs-devel- < " + obsoletes "libibumad-devel- < " + obsoletes "librdmacm-devel- < " + obsoletes "ibacm-devel- < " + obsoletes "infiniband-diags-devel- < " + obsoletes "libibmad-devel- < " + provides "libibverbs-devel- = " + provides "libibumad-devel- = " + provides "librdmacm-devel- = " + provides "ibacm-devel- = " + provides "infiniband-diags-devel- = " + provides "libibmad-devel- = " + requires "librdmacm1- = " + requires "libibumad3- = " + requires "libibverbs1- = " + targetarch i586 requires "libefa1- = " + targetarch i586 requires "libmlx4-1- = " + targetarch i586 requires "libmlx5-1- = " + requires "rsocket- = " +rsocket diff --git a/disable-rdma-interface-renaming.patch b/disable-rdma-interface-renaming.patch new file mode 100644 index 0000000..b7aed3f --- /dev/null +++ b/disable-rdma-interface-renaming.patch @@ -0,0 +1,23 @@ +commit 1b8594d94f6573e5f359383362ecd97fcbaddc13 +Author: Nicolas Morey-Chaisemartin +Date: Tue May 18 11:18:54 2021 +0200 + + disable rdma interface renaming + + Causes issues with mvapich2 + + Signed-off-by: Nicolas Morey-Chaisemartin + +diff --git kernel-boot/rdma-persistent-naming.rules kernel-boot/rdma-persistent-naming.rules +index 6f9c53a53bbb..41d86df10a54 100644 +--- kernel-boot/rdma-persistent-naming.rules ++++ kernel-boot/rdma-persistent-naming.rules +@@ -26,7 +26,7 @@ + # Device type = RoCE + # mlx5_0 -> rocex525400c0fe123455 + # +-ACTION=="add", SUBSYSTEM=="infiniband", PROGRAM="rdma_rename %k NAME_FALLBACK" ++#ACTION=="add", SUBSYSTEM=="infiniband", PROGRAM="rdma_rename %k NAME_FALLBACK" + + # Example: + # * NAME_FIXED diff --git a/gen-pandoc.sh b/gen-pandoc.sh new file mode 100644 index 0000000..f69d43d --- /dev/null +++ b/gen-pandoc.sh @@ -0,0 +1,27 @@ +#!/bin/bash -x + +TARBALL=$(rpmspec --parse rdma-core.spec | grep Source: | awk '{ print $NF}') +OUTDIR=$(tar tf $TARBALL | head -n 1) +PATCHES=$(rpmspec --parse rdma-core.spec | egrep '^Patch[0-9]+:' | awk '{ print $NF}') +BUILD_CMDS=$(python3 -c " +import rpm + +spec = rpm.spec(\"rdma-core.spec\") +print('%s' % (getattr(spec, \"build\"),)) +") + +CMAKE_CMD=$(echo "$BUILD_CMDS" | sed -e :a -e '/\\$/N; s/\\\n//; ta' | grep /bin/cmake | sed -e 's/-GNinja//' -e 's/$OLDPWD\/./../') + + +rm -Rf $OUTDIR +tar xf $TARBALL +cd $OUTDIR +for patch in $PATCHES; do + patch -p0 < ../$patch || exit 1 +done +mkdir build +cd build +eval $CMAKE_CMD || exit 1 +make docs -j4 || exit 1 +tar czf ../../prebuilt-pandoc.tgz pandoc-prebuilt +cd ../.. diff --git a/get_build.py b/get_build.py new file mode 100644 index 0000000..5cd98b8 --- /dev/null +++ b/get_build.py @@ -0,0 +1,6 @@ +#!/usr/bin/python + +import rpm + +spec = rpm.spec("rdma-core.spec") +print '%s' % (getattr(spec, "build"),) diff --git a/post_download.sh b/post_download.sh new file mode 100644 index 0000000..2ae322b --- /dev/null +++ b/post_download.sh @@ -0,0 +1,19 @@ +#!/bin/bash +# Script to be run after updating the spec file from a newer release + +# Enable pyverbs by default +sed -i -e 's/^%define with_pyverbs .*$/%if 0%{?sle_version} > 120400\n%define with_pyverbs 1\n%else\n%define with_pyverbs 0\n%endif/' rdma-core.spec +# Disable static +sed -i -e 's/^%define with_static .*$/%define with_static 0/' rdma-core.spec + +# Fixup pandoc +# To remove a build dependency to pandoc in the core rings, prebuild the pandoc +# tarball and patch the spec file +bash gen-pandoc.sh || exit 1 + +EXTRA_SOURCES="Source2: post_download.sh\nSource3: prebuilt-pandoc.tgz\nSource4: rdma-core-rpmlintrc\nSource5: gen-pandoc.sh\nSource6: get_build.py" +PANDOC_SETUP="#Extract prebuilt pandoc file in the buildlib directory\n(cd buildlib && tar -xf %{S:3})" +sed -i -e '/Source1:/a '"$EXTRA_SOURCES" rdma-core.spec +sed -i -e '/^BuildRequires: pandoc/d' rdma-core.spec +sed -i -e '/^BuildRequires: python3-docutils/d' rdma-core.spec +sed -i -e '/^%setup /a '"$PANDOC_SETUP" rdma-core.spec diff --git a/prebuilt-pandoc.tgz b/prebuilt-pandoc.tgz new file mode 100644 index 0000000..05a29ac --- /dev/null +++ b/prebuilt-pandoc.tgz @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:ba48a73e7a5fb315bde46c579c76752ae1a51836ca3e25d6d296b692cfe492ec +size 107153 diff --git a/rdma-core-49.1.0.8847c327b89c.tar.gz b/rdma-core-49.1.0.8847c327b89c.tar.gz new file mode 100644 index 0000000..af412f7 --- /dev/null +++ b/rdma-core-49.1.0.8847c327b89c.tar.gz @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:c7df24477c281a67a67aba87598e753dea41986e6dda4c675815ddf7cd7d18a7 +size 2121601 diff --git a/rdma-core-rpmlintrc b/rdma-core-rpmlintrc new file mode 100644 index 0000000..db103b9 --- /dev/null +++ b/rdma-core-rpmlintrc @@ -0,0 +1,11 @@ +# This line is mandatory to access the configuration functions +from Config import * + +addFilter("libibverbs.* devel-file-in-non-devel-package") +addFilter("libibverbs.* obsolete-not-provided") +addFilter("libibmad.* shared-lib-calls-exit") +addFilter("libibverbs-utils.* shlib-policy-missing-lib") +addFilter("libibverbs.* shlib-policy-missing-lib") +addFilter("librdmacm-utils.* shlib-policy-missing-lib") +addFilter("libibverbs1.* shlib-fixed-dependency") +addFilter("librdmacm1.* shlib-fixed-dependency") diff --git a/rdma-core.changes b/rdma-core.changes new file mode 100644 index 0000000..081ce22 --- /dev/null +++ b/rdma-core.changes @@ -0,0 +1,748 @@ +------------------------------------------------------------------- +Mon Jan 22 18:41:25 UTC 2024 - Nicolas Morey + +- Update to v49.1 (jsc#PED-6891, jsc#PED-6864, jsc#PED-6839, jsc#PED-6836, + jsc#PED-6828, jsc#PED-6824, jsc#PED-6958, jsc#PED-6943, jsc#PED-6933, jsc#PED-6916) + - No release notes available. + +------------------------------------------------------------------- +Sat Nov 25 22:00:45 UTC 2023 - Nicolas Morey + +- Update to v49.0 (jsc#PED-6891, jsc#PED-6864, jsc#PED-6839, jsc#PED-6836, + jsc#PED-6828, jsc#PED-6824, jsc#PED-6958, jsc#PED-6943, jsc#PED-6933, jsc#PED-6916) + - No release notes available. + +------------------------------------------------------------------- +Fri Sep 22 11:46:06 UTC 2023 - Nicolas Morey + +- Update to v48.0 + - No release notes available. +- Drop missing-quoting.patch which was fixed upstream. + +------------------------------------------------------------------- +Wed Aug 23 11:19:49 UTC 2023 - Jan Engelhardt + +- Add missing-quoting.patch +- Use normal GNU tar option syntax +- Remove old RPM spec logic (%defattr) + +------------------------------------------------------------------- +Thu Aug 3 15:03:33 UTC 2023 - Nicolas Morey + +- Drop patches adding support for cxgb3 (EOL, removed from kernel 5.5) + - cxgb3-fix-declaration-of-free_context.patch + - cxgb3-fix-support-for-new-uquery-API.patch + - Revert-libcxgb3-Remove-libcxgb3-from-rdma-core.patch + - Revert-Update-kernel-headers.patch +- Update baselibs=.conf accordingly + +------------------------------------------------------------------- +Mon Jul 24 07:54:40 UTC 2023 - Nicolas Morey + +- Update to v47.0 + - Fixes for all providers + +------------------------------------------------------------------- +Wed Apr 19 08:23:59 UTC 2023 - Nicolas Morey + +- Update to v45.0 + - Fixes for all providers + - Support for Microsoft Azure Network Adapter +- Drop rdma-ndd-disable-systemd-ProtectHostName-feature.patch + as it was fixed upstream. +- Refresh against latest sources: + - Revert-libcxgb3-Remove-libcxgb3-from-rdma-core.patch + - Revert-Update-kernel-headers.patch + +------------------------------------------------------------------- +Thu Oct 13 07:51:25 UTC 2022 - Nicolas Morey-Chaisemartin + +- Add rdma-ndd-disable-systemd-ProtectHostName-feature.patch to fix issue + where rdma-ndd would not be aware of dynamic hostnames retrived through DHCP + +------------------------------------------------------------------- +Tue Sep 13 17:47:24 UTC 2022 - Nicolas Morey-Chaisemartin + +- Update to v42.0 + - Fixes for all providers +- Dropped patches merged upstream: + - util-Add-barriers-support-for-RISC-V.patch + - cmake-Make-modprobe.d-path-configurable.patch +- Update gen-pandoc.sh to support python3 + +------------------------------------------------------------------- +Mon Aug 8 16:07:05 UTC 2022 - Dirk Müller + +- skip valgrind on riscv64 + +------------------------------------------------------------------- +Tue Mar 29 07:32:26 UTC 2022 - Nicolas Morey-Chaisemartin + +- Update to v39.1 + - Major fixes for hns provider + - Bug fixes for all providers + - systemd hardening + - NDR rate support +- Dropped srp_daemon-Detect-proper-path-to-systemctl.patch + as it was fixed upstream + +------------------------------------------------------------------- +Thu Mar 17 13:41:47 UTC 2022 - Andreas Schwab + +- util-Add-barriers-support-for-RISC-V.patch: Backport from upstream: Add + barriers support for RISC-V + +------------------------------------------------------------------- +Thu Mar 10 08:24:00 UTC 2022 - Nicolas Morey-Chaisemartin + +- Update spec file from upstream + - install modprobe.conf files to %_modprobedir (bsc#1196275, jsc#SLE-20639) + - fix build support for riscv +- Added cmake-Make-modprobe.d-path-configurable.patch + - Backport from upstream to allow modprobe files to be installed in a + configurable directory + +------------------------------------------------------------------- +Fri Feb 18 07:46:41 UTC 2022 - Nicolas Morey-Chaisemartin + +- Add srp_daemon-Detect-proper-path-to-systemctl.patch to fix path to systemctl (bsc#1195874) + +------------------------------------------------------------------- +Fri Jan 7 12:46:46 UTC 2022 - Nicolas Morey-Chaisemartin + +- Update to v38.1 + - Major fixes for hns provider + +------------------------------------------------------------------- +Thu Dec 2 15:13:22 UTC 2021 - Nicolas Morey-Chaisemartin + +- Update to v38.0 (jsc#SLE-18383) + - Bugfixes on all providers + - New provider for irdma support + +------------------------------------------------------------------- +Thu Dec 2 14:48:56 UTC 2021 - Nicolas Morey-Chaisemartin + +- Add rdma-ndd to recommended depencies of rdma-core + +------------------------------------------------------------------- +Fri Oct 15 08:44:00 UTC 2021 - Nicolas Morey-Chaisemartin + +- Update to rdma-core v37.1 (jsc#SLE-18381, jsc#SLE-19249) + - Bugfixes on all providers +- Fix cmake flags to correct paths for .pc files + +------------------------------------------------------------------- +Fri Aug 6 14:27:03 UTC 2021 - Nicolas Morey-Chaisemartin + +- Update to rdma-core v36.0: + - Bugfixes on all providers + +------------------------------------------------------------------- +Tue May 18 09:21:31 UTC 2021 - Nicolas Morey-Chaisemartin + +- Update to rdma-core v35.0 + - Bugfixes on all providers + - Many improvements on pyverbs + - Fixes dracut path issues on Tumbleweed +- Refresh patches to latest sources: + - Revert-libcxgb3-Remove-libcxgb3-from-rdma-core.patch + - disable-rdma-interface-renaming.patch + +------------------------------------------------------------------- +Fri Feb 19 08:23:46 UTC 2021 - Nicolas Morey-Chaisemartin + +- Update to rdma-core v33.1 + - No release notes available + - Drop support for libnes +- Drop support for libnes by removing patch: + - Revert-libnes-Remove-libnes-from-rdma-core.patch +- Refresh patches against latest sources: + - Revert-libcxgb3-Remove-libcxgb3-from-rdma-core.patch + - cxgb3-nes-fix-declaration-of-free_context.patch has been replaced by + cxgb3-fix-declaration-of-free_context.patch +- Add patches for cxgb3 support against newest API + - cxgb3-fix-support-for-new-uquery-API.patch +- Enable LTO support +- Trigger udevadm in rdma-ndd %post (bsc#1182391) + +------------------------------------------------------------------- +Wed Feb 10 12:58:56 UTC 2021 - Nicolas Morey-Chaisemartin + +- Update to rdma-core v31.3 + - No release notes available +- Fix patch to systemd-modules-load script (bsc#1178539) +- Drop srp_daemon-Fix-systemd-dependency.patch as it was merged upstream + +------------------------------------------------------------------- +Fri Jan 22 13:17:42 UTC 2021 - Nicolas Morey-Chaisemartin + +- Add srp_daemon-Fix-systemd-dependency.patch to make sure srp_daemon + is loaded at boot if enabled (bsc#1180196) + +------------------------------------------------------------------- +Tue Sep 8 09:58:55 UTC 2020 - Nicolas Morey-Chaisemartin + +- Update to v31.0 (jsc#SLE-15657, jsc#SLE-15731, jsc#SLE-15743, jsc#SLE-15810) + - No release notes available + +------------------------------------------------------------------- +Fri Jul 24 08:47:47 UTC 2020 - Nicolas Morey-Chaisemartin + +- Update to v30.0 + - No release notes available +- Add cxgb3-nes-fix-declaration-of-free_context.patch to fix support + of older providers with newer rdma-core internal ABI + +------------------------------------------------------------------- +Tue Apr 14 11:52:18 UTC 2020 - Nicolas Morey-Chaisemartin + +- Update to v27.1 + - Many bugfixes (memory leaks, use after free, etc.) + +------------------------------------------------------------------- +Sat Feb 22 09:55:36 UTC 2020 - Dominique Leuenberger + +- Eliminate the curl-mini trickery for Tumbleweed: curl-mini is + being eliminated in favor of cmake-mini: the original plan to + split the cycle at curl did not work out in the long run. + +------------------------------------------------------------------- +Fri Jan 24 15:02:50 UTC 2020 - Nicolas Morey-Chaisemartin + +- Add disable-rdma-interface-renaming.patch to disable interface renaming which causes + mvapich2 to fail (bsc#1161794) + +------------------------------------------------------------------- +Fri Jan 10 07:40:35 UTC 2020 - Nicolas Morey-Chaisemartin + +- Update to v27.0 (bsc#1160338) + - No release notes available +- Dropped patches merged upstream: + - bnxt_re-lib-Add-remaining-pci-ids-for-gen-P5-devices.patch + - bnxt_re-lib-Recognize-additional-5750x-device-ID-s.patch +- Add patches to support older HW (nes, cxgb3) that was dropped upstream + - Revert-Update-kernel-headers.patch + - Revert-libcxgb3-Remove-libcxgb3-from-rdma-core.patch + - Revert-libnes-Remove-libnes-from-rdma-core.patch + +------------------------------------------------------------------- +Fri Dec 13 14:10:15 UTC 2019 - Dominique Leuenberger + +- Fix post scripts to work with systemd 244: udevadm has been moved + from /sbin to /usr/bin and systemd is dropping the compat links + now. + +------------------------------------------------------------------- +Wed Dec 11 09:32:17 UTC 2019 - Nicolas Morey-Chaisemartin + +- Remove file listed twice +- Disable pyverbs build for older releases that do not have python3-Cython >= 0.25 + +------------------------------------------------------------------- +Thu Nov 28 09:16:33 UTC 2019 - Nicolas Morey-Chaisemartin + +- Add Broadcom fixes (bsc#1157891) + - bnxt_re-lib-Add-remaining-pci-ids-for-gen-P5-devices.patch + - bnxt_re-lib-Recognize-additional-5750x-device-ID-s.patch + +------------------------------------------------------------------- +Mon Nov 25 15:59:01 UTC 2019 - Nicolas Morey-Chaisemartin + +- Update to rdma-core v26.1 (jsc#SLE-8388, jsc#SLE-8394, jsc#SLE-8463, jsc#SLE-8399, + jsc#SLE-8254, jsc#SLE-9840, jsc#SLE-9763, jsc#SLE-9925, jsc#SLE-9846, jsc#SLE-9913, + jsc#SLE-9729, jsc#SLE-8666) + +------------------------------------------------------------------- +Tue Nov 12 07:33:01 UTC 2019 - Nicolas Morey-Chaisemartin + +- Add libefa1 to baselibs.conf +- Fix baselibs.conf + +------------------------------------------------------------------- +Wed Nov 6 23:09:09 UTC 2019 - Stefan Brüns + +- BuildRequire valgrind-client-headers instead of full valgrind-devel + where available. + +------------------------------------------------------------------- +Wed Oct 2 06:37:21 UTC 2019 - Nicolas Morey-Chaisemartin + +- Have rsocket conflicts with older librdmacm-tools (bsc#1137140) +- Have librdmacm-utils obsolete and provide librdmacm-tools (bsc#1137138) + +------------------------------------------------------------------- +Fri Sep 6 07:18:24 UTC 2019 - Nicolas Morey-Chaisemartin + +- Update to rdma-core v25.1 (bsc#996146) + - No release notes available +- Add rdma-core-rpmlintrc to hide non applicable rpmlint warnings + +------------------------------------------------------------------- +Mon May 13 08:20:59 UTC 2019 - Nicolas Morey-Chaisemartin + +- Update to rdma-core v23.1 + - No release notes available +- Replace prebuild-pandoc.sh by post_download.sh to patch the spec + file form upstream for OBS setup + +------------------------------------------------------------------- +Fri Apr 19 06:08:06 UTC 2019 - Nicolas Morey-Chaisemartin + +- Update to rdma-core v23 + - No release notes available +- Enable pyverbs package +- Remove patches that were merged upstream + - Update-kernel-headers.patch + - bnxt_re-lib-Enable-Broadcom-s-57500-RoCE-adapter.patch + + +------------------------------------------------------------------- +Fri Mar 1 07:07:49 UTC 2019 - Nicolas Morey-Chaisemartin + +- Add patches to enable Broadcom's 57500 RoCE adapter (bsc#1125651): + - Update-kernel-headers.patch + - bnxt_re-lib-Enable-Broadcom-s-57500-RoCE-adapter.patch + +------------------------------------------------------------------- +Wed Feb 6 08:37:03 UTC 2019 - nmoreychaisemartin@suse.com + +- Update to rdma-core v22.1 (bsc#1104280) + * No release notes available + +------------------------------------------------------------------- +Fri Nov 30 06:54:33 UTC 2018 - nmoreychaisemartin@suse.com + +- Update to rdma-core v21 (fate#325939, fate#326991) + * No release notes available + +------------------------------------------------------------------- +Mon Oct 15 08:15:29 UTC 2018 - nmoreychaisemartin@suse.com + +- Update to rdma-core v20.1 (fate#325887, fate#325919, fate#326000) + * No release notes available +- Drop patches merged upstream: + * suse-Add-recommends-for-rxe_cfg-requirements.patch + adds recommends for the relevant packages + * rxe-switch-to-iproute2-for-rxe_cfg.patch + switches to iproute2 commands + +------------------------------------------------------------------- +Thu Aug 2 09:25:16 UTC 2018 - nmoreychaisemartin@suse.com + +- Add two patches for rxe_cfg + * suse-Add-recommends-for-rxe_cfg-requirements.patch + adds recommends for the relevant packages + * rxe-switch-to-iproute2-for-rxe_cfg.patch + switches to iproute2 commands + +------------------------------------------------------------------- +Thu Jun 14 08:54:13 UTC 2018 - nmoreychaisemartin@suse.com + +- Remove pandoc BuildRequires + * Add prebuilt-pandoc.sh to pre-generate the man pages + * Add prebuilt-pandoc.tgz containing pre-generated man pages + * Extract man pages in the appropriate directory during build + +------------------------------------------------------------------- +Tue Jun 12 10:40:32 UTC 2018 - nmoreychaisemartin@suse.com + +- Update to rdma-core v18.1 + * Fix compilation issue with recent glibc +- Drop Remove-the-obsolete-libibcm-library.patch and + umad-Do-not-check-for-umad-sysfs-files-in-umad_init.patch as they were + fixed upstream. + +------------------------------------------------------------------- +Tue Jun 12 05:47:18 UTC 2018 - nmoreychaisemartin@suse.com + +- Update to rdma-core v16.5 + * Backport fixes: + * buildilb: Fix -msse breakage on ARM builds + * buildlib: Use -msse if the compiler does not support target(sse) (bsc#1086910) + * suse: do not call %service rules on a template file (bsc#1093170) + * mlx5: Convert ah_attr static rate to mlx5 static rate + * ccan: Add array_size.h file + * iwpmd: Initialize address of sockaddr + * mlx5: Fix need_uuar_lock when there are no medium bfregs + * verbs: Fix wrong clean up flow in ibv_rc_pingpong + * Match kernel ABI to for 4.17 for 32 bit + * librdmacm: Set errno correctly if status is positive + * verbs: Remove bogus cq_fd + * verbs: Fix typo in copying IBV_FLOW_SPEC_UDP/TCP 'val' + +------------------------------------------------------------------- +Thu Apr 26 08:27:29 UTC 2018 - nmoreychaisemartin@suse.com + +- Add umad-Do-not-check-for-umad-sysfs-files-in-umad_init.patch to fix + umad/ibstat support on RoCE hardware (bsc#1088441). + +------------------------------------------------------------------- +Wed Mar 21 09:38:52 UTC 2018 - nmoreychaisemartin@suse.com + +- Add Provide/Obsolete for librdmacm in librdmacm1 (bsc#1086173) + +------------------------------------------------------------------- +Tue Mar 13 15:53:51 UTC 2018 - nmoreychaisemartin@suse.com + +- Update to rdma-core v16.4 (bsc#1084456) + * Backport fixes: + * cxgb4: add new device pci ids. + * mlx5: Fix referencing uninitialized var in create_qp error flow + * Ensure all public headers compile in C++ mode + * providers/i40iw: Skip CQEs for destroyed QP + * ibacm: Support FDR and EDR rates + +------------------------------------------------------------------- +Wed Feb 21 10:16:15 UTC 2018 - nmoreychaisemartin@suse.com + +- Update to rdma-core v16.3: + * Backport fixes: + * vmw_pvrdma: Drop the extraneous align_next_power2 for sges + * vmw_pvrdma: Fix SRQN returned to library + * mlx5: Add missing include file in mlx5dv.h + +------------------------------------------------------------------- +Thu Feb 1 14:32:48 UTC 2018 - nmoreychaisemartin@suse.com + +- Update to rdma-core v16.2 (bsc#1078819): + * Backport fixes: + * iwpmd: fix double mutex unlock + * libbnxt_re: Fix lat test failure in event mode + * libbnxt_re: Update and sort device pci-id table + * cbuild: Support distros that only ship python3 + * libbnxt_re: Display FW version using ibv_devinfo + +------------------------------------------------------------------- +Fri Jan 19 10:05:18 UTC 2018 - nmoreychaisemartin@suse.com + +- Add Remove-the-obsolete-libibcm-library.patch to drop obsolete libibcm. + * Official upstream drop will be in v17 + * Drop now to avoid submitting libibcm to SLE15 + +------------------------------------------------------------------- +Thu Jan 4 11:41:20 UTC 2018 - nmoreychaisemartin@suse.com + +- Update to rdma-core v16.1: + * Backport fixes: + * srp_daemon: Don't create async_ev_thread if only run once + * srp_daemon: handle SM lid change + * srp_daemon: fix CQ handling +- Drop srp_daemon-Don-t-create-async_ev_thread-if-only-run-once.patch, + srp_daemon-fix-CQ-handling.patch, and + srp_daemon-handle-SM-lid-change.patch as they were merged upstream. + + +------------------------------------------------------------------- +Wed Jan 3 09:17:10 UTC 2018 - nmoreychaisemartin@suse.com + +- Add srp_daemon-Don-t-create-async_ev_thread-if-only-run-once.patch + to fix bad exit code of ibsrpdm (bsc#1074390) + +------------------------------------------------------------------- +Fri Dec 15 08:28:17 UTC 2017 - nmoreychaisemartin@suse.com + +- Add srp_daemon-handle-SM-lid-change.patch and + srp_daemon-fix-CQ-handling.patch to fix issue + with SRP daemon not handling SM changes (bsc#1072884, bsc#1049515) + +------------------------------------------------------------------- +Wed Dec 6 08:06:46 UTC 2017 - nmoreychaisemartin@suse.com + +- Update to rdma-core v16 + * No release notes available + +------------------------------------------------------------------- +Mon Dec 4 11:30:13 UTC 2017 - nmoreychaisemartin@suse.com + +- Add bcond to use curl-mini by default for building + +------------------------------------------------------------------- +Tue Nov 28 15:56:40 UTC 2017 - nmoreychaisemartin@suse.com + +- Update to rdma-core v15.1 + * Backport CI checks on centos/SUSE from master + * Stable ABI auto checks + * Backport fixes: + * verbs: Do not block QP attr_masks used by older kernels + * libibumad/umad.c: In get_port, ignore sysfs rate file errors + * bnxt_re/lib: fix the memory barrier call during poll-cq + * bnxt_re/lib: increment psn in case of 0 length packets + * libqedr: fix inline data copy + * verbs: Fix declaration of C++ include file in C-block + * verbs: Fix C++ compilation break + * verbs: fix compilation error with ICC + * hns: Fix create QP structure layout + * ibacm: Incorrect list used for subnet list causes a segfault + * ibacm: Incorrect usage of BE byte order of MLID attach/detach_mcast() +- Remove patches that were merged to v15.1: + * bnxt_re-lib-fix-the-memory-barrier-call-during-poll-cq.patch + * bnxt_re-lib-increment-psn-in-case-of-0-length-packets.patch + * ibacm-Incorrect-list-used-for-subnet-list-causes-a-segfault.patch + * ibacm-Incorrect-usage-of-BE-byte-order-of-MLID-attach-detach_mcast.patch + * libibumad-umad.c-In-get_port-ignore-sysfs-rate-file-errors.patch + * libqedr-fix-inline-data-copy.patch + * verbs-Do-not-block-QP-attr_masks-used-by-older-kernels.patch + +------------------------------------------------------------------- +Thu Nov 9 13:34:40 UTC 2017 - nmoreychaisemartin@suse.com + +- Backport upstream patches + * bnxt_re-lib-fix-the-memory-barrier-call-during-poll-cq.patch + Fix memory ordering issue + * bnxt_re-lib-increment-psn-in-case-of-0-length-packets.patch + Fix PSN getting out of sync when sending 0 length packet + * verbs-Do-not-block-QP-attr_masks-used-by-older-kernels.patch + Fix bits detection to allow RDMA CM to work on older kernsl + +- Refresh older patches to include commit logs: + * ibacm-Incorrect-list-used-for-subnet-list-causes-a-segfault.patch + * ibacm-Incorrect-usage-of-BE-byte-order-of-MLID-attach-detach_mcast.patch + * libibumad-umad.c-In-get_port-ignore-sysfs-rate-file-errors.patch + * libqedr-fix-inline-data-copy.patch + +------------------------------------------------------------------- +Wed Nov 8 14:05:44 UTC 2017 - nmoreychaisemartin@suse.com + +- Add libibumad-umad.c-In-get_port-ignore-sysfs-rate-file-errors.patch + * Fix issue with umad when QSFP is not plugged in (bnc#1058539) + +------------------------------------------------------------------- +Thu Nov 2 08:39:49 UTC 2017 - nmoreychaisemartin@suse.com + +- Backport patch from upstream: + * libqedr-fix-inline-data-copy.patch + Fix data integrity issue while sending inline data (bsc#1050543, fate#322894) + +------------------------------------------------------------------- +Wed Oct 18 09:01:37 UTC 2017 - nmoreychaisemartin@suse.com + +- Backport patches from upstream: + * ibacm-Incorrect-usage-of-BE-byte-order-of-MLID-attach-detach_mcast.patch + Fixes a byte order issue which causes ibacm to fail to join a multicast + group on recent on recent kernels. (bsc#1063639, bsc#1063697) + * ibacm-Incorrect-list-used-for-subnet-list-causes-a-segfault.patch + Fixes a sefgault of ibacm when a provider other than default + is set (bsc#1063642, bsc#1063698) + +------------------------------------------------------------------- +Mon Sep 18 08:04:29 UTC 2017 - nmoreychaisemartin@suse.com + +- Update to rdma-core v15 + * Remove dracut requirement (bsc#1058504) + * Includes Broadcom patches (bsc#1060413) + +------------------------------------------------------------------- +Thu Aug 31 06:52:17 UTC 2017 - nmoreychaisemartin@suse.com + +- Update to v15-rc3-52-gd3ca56f1 + * Fix rdma-sriov.service dependencies and remove install section + * 50-libmlx4.conf is not a config file + +------------------------------------------------------------------- +Wed Aug 30 14:21:25 UTC 2017 - nmoreychaisemartin@suse.com + +- Update to v15-rc3-45-gd366c01a + * Drop obsolete workarounds + * Drop rdma.service + * Add rdma-sriov.service + * Switch to the new udev system +- Prevent uninstall from trying to stop srp_daemon_port@.service + +------------------------------------------------------------------- +Tue Aug 29 12:41:29 UTC 2017 - nmoreychaisemartin@suse.com + +- Update to v15-rc3-26-g2f5779a7 +- Prevent rdma-core services to be stopped or restarted during + uninstall and updates +- Do not use service_* macros on services that do not need them +- Remove provides for old -rdmav2 packages + as they are not compatible anymore due to ABI changes +- Use upstream spec file. + +------------------------------------------------------------------- +Mon Aug 21 13:53:50 UTC 2017 - nmoreychaisemartin@suse.com + +- Update to v15-rc3 + - Add flow steering drop action + - mmio_flush_write fixes + - Fixes for uclibc + - Add common mmio accessor routines and remove per provider mmio + routines + - qedr fixes + - Lots of fixes for debian packaging + - Copyright fixes + - Properly conflict with infiniband-diags + - Add direct verbs support to mlx4 provider + - Improvement to Travis CI checking + - Enforce kernel coding style in rdma-core + - Add initial verbs hotplug support + - Sparse annotations + - Systemd updates for srp_daemon and iwpmd + - Red Hat packaging fixes + - Properly make the entire rdma-core support udev hotplug activation + - Packaging fixes related to the joining of packages and globs that are + no longer valid +- Drop rdma-core-s390x.patch as it was merged upstream +- Remove legacy systemd macros + +------------------------------------------------------------------- +Tue Aug 8 18:44:01 UTC 2017 - jengelh@inai.de + +- Fix RPM groups. + +------------------------------------------------------------------- +Mon Aug 7 07:33:59 UTC 2017 - coolo@suse.com + +- To get the package out of the bootstrap line, we need to prefer + curl-mini as dependency of cmake. Unfortunately we need to special + case packages that are in the inner loop - otherwise every package + would get curl-mini + +------------------------------------------------------------------- +Thu Jul 20 13:44:16 UTC 2017 - nmoreychaisemartin@suse.com + +- ibacm now obsoletes libibacmp1 (bsc#1049854) + +------------------------------------------------------------------- +Thu Jul 13 13:42:09 UTC 2017 - schwab@suse.de + +- No mlx5 on %arm + +------------------------------------------------------------------- +Fri Jul 7 09:50:14 UTC 2017 - dimstar@opensuse.org + +- BuildRequire pkgconfig(libudev) instead of libudev-devel: this + allows OBS to chose libudev-devel-mini and produce a better + rebuild-chain (and break cycles). + +------------------------------------------------------------------- +Wed Jun 7 18:45:12 UTC 2017 - dimstar@opensuse.org + +- BuildRequire pkgconfig(systemd) instead of systemd-devel: this + allows OBS to chose systemd-mini and produce a better + rebuild-chain. + +------------------------------------------------------------------- +Wed Jun 7 13:02:09 UTC 2017 - nmoreychaisemartin@suse.com + +- Add patch rdma-core-s390x.patch to fix s390x build (bsc#1043105). + * Add missing verbs providers for s390x + * Add mlx5 package for s390x +- libibverbs1 requires libibverbs (bsc#1042840). + +------------------------------------------------------------------- +Tue May 30 08:36:52 UTC 2017 - nmoreychaisemartin@suse.com + + - Update to v14 (bsc#321907). + * Introduction of bnxt_re driver + * Rework srp_daemon's systemd integration + * Various fixes in qedr, mlx4, mlx5, bnxrt_re and rxe drivers + * New supported PCI ID were added to mlx5 + * Addition of manual pages for cmtime and udpong programs + * Multiple fixes of spelling types and documentation clarifications + * Sparse fixes + * rping gained ability to bind to source IP address + * Various improvements in cmake and cbuild infrastructures + * Add support for flow tag, CVLAN and VXLAN specifications + * Provide ability to pass private data to create CQ + * Exposure various device capabilities to user applications + + +------------------------------------------------------------------- +Mon May 29 14:11:24 UTC 2017 - nmoreychaisemartin@suse.com + +- Fix all references to /usr/libexec (bsc#1039999) + +------------------------------------------------------------------- +Tue May 23 14:28:23 CEST 2017 - pth@suse.de + +- Fix rdma.service which had /usr/libexec hardcoded (bsc#1039999). + +------------------------------------------------------------------- +Mon May 15 16:28:00 UTC 2017 - nmoreychaisemartin@suse.com + +- Split rdma-ndd into its own package to replace previous package + from infiniband-diags (bsc#1039146). + +------------------------------------------------------------------- +Mon May 15 12:48:42 UTC 2017 - nmoreychaisemartin@suse.com + +- Update to 14-rc1-40-g706fc2af (fate#321907, bsc#1020415). + No releases notes. Contains libbnxtre bug fixes + +------------------------------------------------------------------- +Thu May 11 15:44:46 UTC 2017 - nmoreychaisemartin@suse.com + +- Add baselibs.conf to generate -32bit libraries (bsc#1038742). + +------------------------------------------------------------------- +Tue May 9 15:33:18 UTC 2017 - nmoreychaisemartin@suse.com + +- Update to rdma-core v14-rc1 (bsc#1016427). + +------------------------------------------------------------------- +Fri May 5 14:11:14 UTC 2017 - nmoreychaisemartin@suse.com + +- Remove redundant Requires on ldconfig (-p already does this). +- Add missing systemd requires. +- RPM group assignment fixes. +- Remove pointless comments which cause scriptlets to be not empty + in some cases. + +------------------------------------------------------------------- +Thu May 4 15:36:00 UTC 2017 - nmoreychaisemartin@suse.com + +- Provide ofed for legacy packages + +------------------------------------------------------------------- +Fri Apr 28 14:56:20 CEST 2017 - pth@suse.de + +- Update to git version fd1db488 as it now contains the bnxt drivr. + No log of changes present (fate#321907). + +------------------------------------------------------------------- +Wed Apr 26 09:36:50 UTC 2017 - fcrozat@suse.com + +- specfile cleanup, remove libibverbs-devel subpackage, since it no + longer exists. +- ibacm shouldn't obsolete its older versions. + +------------------------------------------------------------------- +Tue Apr 25 09:42:10 CEST 2017 - pth@suse.de + +- Fix Group for rdma-core. + +------------------------------------------------------------------- +Wed Mar 29 09:50:28 CEST 2017 - pth@suse.de + +- Comment out the -devel requiring ibacm for bootstrapping. + +------------------------------------------------------------------- +Wed Mar 22 11:20:33 CET 2017 - pth@suse.de + +- fix Provides/Obsoletes + +------------------------------------------------------------------- +Tue Mar 21 09:31:31 CET 2017 - pth@suse.de + +- Fix RPM Group entries. + +------------------------------------------------------------------- +Tue Mar 14 14:02:19 CET 2017 - pth@suse.de + +- Initial packaging for SLES and openSUSE, based on latest release + (fate#322112, fate#321250, fate#321566, fate#321657, fate#321684, + fate#321750, fate#321867, fate#321887, fate#322197, fate#322199, + bsc#1019714, bsc#1001685, bsc#1016427, bsc#1022597, bsc#1001685, + bsc#1022598, bsc#1022599, bsc#1024377, bsc#1016427). + +- There is no valgrind in s390 so exclude the build requirement on + this architecture. +- Add appropriate RPM groups + +------------------------------------------------------------------- +Tue Nov 1 17:29:24 UTC 2016 - jthumshirn@suse.com + +- Initital packaging for openSUSE + diff --git a/rdma-core.spec b/rdma-core.spec new file mode 100644 index 0000000..5a45f46 --- /dev/null +++ b/rdma-core.spec @@ -0,0 +1,895 @@ +# +# spec file for package rdma-core +# +# Copyright (c) 2024 SUSE LLC +# +# 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 https://bugs.opensuse.org/ +# + + +%bcond_without systemd +# Do not build static libs by default. +%define with_static 0 +%if 0%{?sle_version} > 120400 +%define with_pyverbs 1 +%else +%define with_pyverbs 0 +%endif + +%if 0%{?suse_version} < 1550 && 0%{?sle_version} <= 150300 +# systemd-rpm-macros is wrong in 15.3 and below +%define _modprobedir /lib/modprobe.d +%endif + +%define git_ver .0.8847c327b89c +Name: rdma-core +Version: 49.1 +Release: 0 +Summary: RDMA core userspace libraries and daemons +License: BSD-2-Clause OR GPL-2.0-only +Group: Productivity/Networking/Other + +%define efa_so_major 1 +%define verbs_so_major 1 +%define rdmacm_so_major 1 +%define umad_so_major 3 +%define mana_so_major 1 +%define mlx4_so_major 1 +%define mlx5_so_major 1 +%define ibnetdisc_major 5 +%define mad_major 5 + +%define efa_lname libefa%{efa_so_major} +%define verbs_lname libibverbs%{verbs_so_major} +%define rdmacm_lname librdmacm%{rdmacm_so_major} +%define umad_lname libibumad%{umad_so_major} +%define mana_lname libmana%{mana_so_major} +%define mlx4_lname libmlx4-%{mlx4_so_major} +%define mlx5_lname libmlx5-%{mlx5_so_major} + +%ifnarch s390 %arm +%define dma_coherent 1 +%endif + +%global modprobe_d_files 50-libmlx4.conf truescale.conf %{?dma_coherent:mlx4.conf} + +# Almost everything is licensed under the OFA dual GPLv2, 2 Clause BSD license +# providers/ipathverbs/ Dual licensed using a BSD license with an extra patent clause +# providers/rxe/ Incorporates code from ipathverbs and contains the patent clause +# providers/hfi1verbs Uses the 3 Clause BSD license +URL: https://github.com/linux-rdma/rdma-core +Source: rdma-core-%{version}%{git_ver}.tar.gz +Source1: baselibs.conf +Source2: post_download.sh +Source3: prebuilt-pandoc.tgz +Source4: rdma-core-rpmlintrc +Source5: gen-pandoc.sh +Source6: get_build.py +Patch0: disable-rdma-interface-renaming.patch +BuildRequires: binutils +BuildRequires: cmake >= 2.8.11 +BuildRequires: gcc +# perl is needed for the proper rpm macros +%if %{?suse_version} > 1550 +BuildRequires: perl +%endif +BuildRequires: pkgconfig +BuildRequires: python3-base +BuildRequires: pkgconfig(libsystemd) +BuildRequires: pkgconfig(libudev) +BuildRequires: pkgconfig(systemd) +BuildRequires: pkgconfig(udev) +%if %{with_pyverbs} +BuildRequires: python3-Cython +BuildRequires: python3-devel +%endif +%ifnarch s390 s390x +%if 0%{?suse_version} >= 1550 +BuildRequires: valgrind-client-headers +%else +BuildRequires: valgrind-devel +%endif +%endif +BuildRequires: systemd-rpm-macros +BuildRequires: pkgconfig(libnl-3.0) +BuildRequires: pkgconfig(libnl-route-3.0) +BuildRequires: pkgconfig(systemd) +Requires: kmod +Requires: systemd +Requires: udev +Recommends: rdma-ndd + +# SUSE previously shipped rdma as a stand-alone +# package which we're supplanting here. + +Provides: rdma = %{version} +Obsoletes: rdma < %{version} +Provides: ofed = %{version} +Obsoletes: ofed < %{version} + +# Trickery to handle both SUSE OpenBuild System and Manual build +# In OBS, rdma-core must use curl-mini instead of curl to avoid +# a build dependency loop: +# rdma-core -> cmake -> curl -> ... -> boost -> rdma-core +# Thus we force a BuildRequires to curl-mini which as no impact +# as it is not used during the build. +# However curl-mini is not a published RPM. This would prevent any build +# outside of OBS. Thus we add a bcond to allow manual build. +# To force build without the use of curl-mini, --without=curlmini +# should be passed to rpmbuild +%bcond_without curlmini +%if 0%{?suse_version} >= 1330 && 0%{?suse_version} < 1550 +%if %{with curlmini} +BuildRequires: curl-mini +%endif +%endif + +# Tumbleweed's cmake RPM macro adds -Wl,--no-undefined to the module flags +# which is totally inappropriate and breaks building 'ENABLE_EXPORTS' style +# module libraries (eg ibacmp). +#%%define CMAKE_FLAGS -DCMAKE_MODULE_LINKER_FLAGS="" + +# Since we recommend developers use Ninja, so should packagers, for consistency. +%define CMAKE_FLAGS %{nil} +%if 0%{?suse_version} >= 1300 +BuildRequires: ninja +%define CMAKE_FLAGS -GNinja +%define make_jobs ninja -v %{?_smp_mflags} +%define cmake_install DESTDIR=%{buildroot} ninja install +%else +# Fallback to make otherwise +BuildRequires: make +%define make_jobs make VERBOSE=1 %{?_smp_mflags} +%define cmake_install DESTDIR=%{buildroot} make install +%endif + +%description +RDMA core userspace infrastructure and documentation, including initialization +scripts, kernel driver-specific modprobe override configs, IPoIB network +scripts, dracut rules, and the rdma-ndd utility. + +%package devel +Summary: RDMA core development libraries and headers +Group: Development/Libraries/C and C++ +Requires: %{name}%{?_isa} = %{version}-%{release} + +Requires: %{rdmacm_lname} = %{version}-%{release} +Requires: %{umad_lname} = %{version}-%{release} +Requires: %{verbs_lname} = %{version}-%{release} +%if 0%{?dma_coherent} +Requires: %{efa_lname} = %{version}-%{release} +Requires: %{mana_lname} = %{version}-%{release} +Requires: %{mlx4_lname} = %{version}-%{release} +Requires: %{mlx5_lname} = %{version}-%{release} +%endif +Requires: rsocket = %{version}-%{release} + +Provides: libibverbs-devel = %{version}-%{release} +Obsoletes: libibverbs-devel < %{version}-%{release} + +Provides: libibumad-devel = %{version}-%{release} +Obsoletes: libibumad-devel < %{version}-%{release} +Provides: librdmacm-devel = %{version}-%{release} + +Obsoletes: librdmacm-devel < %{version}-%{release} +#Requires: ibacm = %%{version}-%%{release} +Provides: ibacm-devel = %{version}-%{release} +Obsoletes: ibacm-devel < %{version}-%{release} +%if %{with_static} +# Since our pkg-config files include private references to these packages they +# need to have their .pc files installed too, even for dynamic linking, or +# pkg-config breaks. +BuildRequires: pkgconfig(libnl-3.0) +BuildRequires: pkgconfig(libnl-route-3.0) +%endif + +Requires: infiniband-diags = %{version}-%{release} +Provides: infiniband-diags-devel = %{version}-%{release} +Obsoletes: infiniband-diags-devel < %{version}-%{release} +Provides: libibmad-devel = %{version}-%{release} +Obsoletes: libibmad-devel < %{version} + +%description devel +RDMA core development libraries and headers. + +%package -n libibverbs +Summary: Library & drivers for direct userspace use of InfiniBand/iWARP/RoCE hardware +Group: System/Libraries +Requires: %{name}%{?_isa} = %{version}-%{release} +Obsoletes: libcxgb4-rdmav2 < %{version}-%{release} +Obsoletes: libefa-rdmav2 < %{version}-%{release} +Obsoletes: libhfi1verbs-rdmav2 < %{version}-%{release} +Obsoletes: libipathverbs-rdmav2 < %{version}-%{release} +Obsoletes: libmana-rdmav2 < %{version}-%{release} +Obsoletes: libmlx4-rdmav2 < %{version}-%{release} +Obsoletes: libmlx5-rdmav2 < %{version}-%{release} +Obsoletes: libmthca-rdmav2 < %{version}-%{release} +Obsoletes: libocrdma-rdmav2 < %{version}-%{release} +Obsoletes: librxe-rdmav2 < %{version}-%{release} +%if 0%{?dma_coherent} +Requires: %{efa_lname} = %{version}-%{release} +Requires: %{mana_lname} = %{version}-%{release} +Requires: %{mlx4_lname} = %{version}-%{release} +Requires: %{mlx5_lname} = %{version}-%{release} +%endif +# Recommended packages for rxe +Recommends: iproute2 + +%description -n libibverbs +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. + +Device-specific plug-in ibverbs userspace drivers are included: + +- libcxgb4: Chelsio T4 iWARP HCA +- libefa: Amazon Elastic Fabric Adapter +- libhfi1: Intel Omni-Path HFI +- libhns: HiSilicon Hip06 SoC +- libipathverbs: QLogic InfiniPath HCA +- libirdma: Intel Ethernet Connection RDMA +- libmana: Microsoft Azure Network Adapter +- libmlx4: Mellanox ConnectX-3 InfiniBand HCA +- libmlx5: Mellanox Connect-IB/X-4+ InfiniBand HCA +- libmthca: Mellanox InfiniBand HCA +- libocrdma: Emulex OneConnect RDMA/RoCE Device +- libqedr: QLogic QL4xxx RoCE HCA +- librxe: A software implementation of the RoCE protocol +- libsiw: A software implementation of the iWarp protocol +- libvmw_pvrdma: VMware paravirtual RDMA device + +%package -n %verbs_lname +Summary: Ibverbs runtime library +Group: System/Libraries +Requires: libibverbs = %{version} + +%description -n %verbs_lname +This package contains the ibverbs runtime library. + +%package -n %efa_lname +Summary: EFA runtime library +Group: System/Libraries + +%description -n %efa_lname +This package contains the efa runtime library. + +%package -n %mana_lname +Summary: MANA runtime library +Group: System/Libraries + +%description -n %mana_lname +This package contains the mana runtime library. + +%package -n %mlx4_lname +Summary: MLX4 runtime library +Group: System/Libraries + +%description -n %mlx4_lname +This package contains the mlx4 runtime library. + +%package -n %mlx5_lname +Summary: MLX5 runtime library +Group: System/Libraries + +%description -n %mlx5_lname +This package contains the mlx5 runtime library. + +%package -n libibnetdisc%{ibnetdisc_major} +Summary: Infiniband Net Discovery runtime library +Group: System/Libraries + +%description -n libibnetdisc%{ibnetdisc_major} +This package contains the Infiniband Net Discovery runtime library needed +mainly by infiniband-diags. + +%package -n libibverbs-utils +Summary: Examples for the libibverbs library +Group: Productivity/Networking/Other +Requires: libibverbs%{?_isa} = %{version} + +%description -n libibverbs-utils +Useful libibverbs example programs such as ibv_devinfo, which +displays information about RDMA devices. + +%package -n ibacm +Summary: InfiniBand Communication Manager Assistant +Group: Productivity/Networking/Other +%{?systemd_requires} +Requires: %{name}%{?_isa} = %{version} +Obsoletes: libibacmp1 < %{version} +Provides: libibacmp1 = %{version} + +%description -n ibacm +The ibacm daemon helps reduce the load of managing path record lookups on +large InfiniBand fabrics by providing a user space implementation of what +is functionally similar to an ARP cache. The use of ibacm, when properly +configured, can reduce the SA packet load of a large IB cluster from O(n^2) +to O(n). The ibacm daemon is started and normally runs in the background, +user applications need not know about this daemon as long as their app +uses librdmacm to handle connection bring up/tear down. The librdmacm +library knows how to talk directly to the ibacm daemon to retrieve data. + +%package -n infiniband-diags +Summary: InfiniBand Diagnostic Tools +Group: Productivity/Networking/Diagnostic +Requires: perl = %{perl_version} + +%description -n infiniband-diags +diags provides IB diagnostic programs and scripts needed to diagnose an +IB subnet. + +%package -n libibmad%{mad_major} +Summary: Libibmad runtime library +Group: System/Libraries + +%description -n libibmad%{mad_major} +Libibmad provides low layer IB functions for use by the IB diagnostic +and management programs. These include MAD, SA, SMP, and other basic IB +functions. This package contains the runtime library. + +%package -n iwpmd +Summary: Userspace iWarp Port Mapper daemon +Group: Development/Libraries/C and C++ +Requires: %{name}%{?_isa} = %{version} +%{?systemd_requires} + +%description -n iwpmd +iwpmd provides a userspace service for iWarp drivers to claim +tcp ports through the standard socket interface. + +%package -n %umad_lname +Summary: OpenFabrics Alliance InfiniBand Userspace Management Datagram library +Group: System/Libraries + +%description -n %umad_lname +libibumad provides the userspace management datagram (umad) library +functions, which sit on top of the umad modules in the kernel. These +are used by the IB diagnostic and management tools, including OpenSM. + +%package -n %rdmacm_lname +Summary: Userspace RDMA Connection Manager +Group: System/Libraries +Requires: %{name} = %{version} +Provides: librdmacm = %{version} +Obsoletes: librdmacm < %{version} + +%description -n %rdmacm_lname +librdmacm provides a userspace RDMA Communication Management API. + +%package -n rsocket +Summary: Preloadable library to turn the socket API RDMA-aware +# Older librdmacm-tools used to provide rsocket +Group: System/Libraries +Conflicts: librdmacm-tools < 2 + +%description -n rsocket +Existing applications can make use of rsockets through the use this +preloadable library. See the documentation in the packaged rsocket(7) +manpage for details. + +%package -n librdmacm-utils +Summary: Examples for the librdmacm library +Group: Productivity/Networking/Other +Obsoletes: librdmacm-tools < %{version} +Provides: librdmacm-tools = %{version} + +%description -n librdmacm-utils +Example test programs for the librdmacm library. + +%package -n srp_daemon +Summary: Tools for using the InfiniBand SRP protocol devices +Group: Development/Libraries/C and C++ +Requires: %{name} = %{version} +Obsoletes: srptools <= 1.0.3 +Provides: srptools = %{version} +%{?systemd_requires} + +%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. + +%package -n rdma-ndd +Summary: Daemon to manage RDMA Node Description +Group: System/Daemons +Requires: %{name} = %{version} +# The udev rules in rdma need to be aware of rdma-ndd: +Conflicts: rdma < 2.1 +%{?systemd_requires} + +%description -n rdma-ndd +rdma-ndd is a system daemon which watches for rdma device changes and/or +hostname changes and updates the Node Description of the rdma devices based +on those changes. + +%package -n python3-pyverbs +Summary: Python3 API over IB verbs +Group: Development/Languages/Python + +%description -n python3-pyverbs +Pyverbs is a Cython-based Python API over libibverbs, providing an +easy, object-oriented access to IB verbs. + +%prep +%setup -q -n %{name}-%{version}%{git_ver} +#Extract prebuilt pandoc file in the buildlib directory +(cd buildlib && tar -xf %{S:3}) +%patch0 + +%build + +# New RPM defines _rundir, usually as /run +%if 0%{?_rundir:1} +%else +%define _rundir /var/run +%endif + +%{!?EXTRA_CMAKE_FLAGS: %define EXTRA_CMAKE_FLAGS %{nil}} + +# Pass all of the rpm paths directly to GNUInstallDirs and our other defines. +%cmake %{CMAKE_FLAGS} \ + -DCMAKE_MODULE_LINKER_FLAGS="-Wl,--as-needed -Wl,-z,now" \ + -DCMAKE_BUILD_TYPE=Release \ + -DCMAKE_INSTALL_BINDIR:PATH=%{_bindir} \ + -DCMAKE_INSTALL_SBINDIR:PATH=%{_sbindir} \ + -DCMAKE_INSTALL_LIBDIR:PATH=%{_lib} \ + -DCMAKE_INSTALL_LIBEXECDIR:PATH=%{_libexecdir} \ + -DCMAKE_INSTALL_LOCALSTATEDIR:PATH=%{_localstatedir} \ + -DCMAKE_INSTALL_SHAREDSTATEDIR:PATH=%{_sharedstatedir} \ + -DCMAKE_INSTALL_INCLUDEDIR:PATH=include \ + -DCMAKE_INSTALL_INFODIR:PATH=%{_infodir} \ + -DCMAKE_INSTALL_MANDIR:PATH=%{_mandir} \ + -DCMAKE_INSTALL_MODPROBEDIR:PATH=%{_modprobedir} \ + -DCMAKE_INSTALL_SYSCONFDIR:PATH=%{_sysconfdir} \ + -DCMAKE_INSTALL_SYSTEMD_SERVICEDIR:PATH=%{_unitdir} \ + -DCMAKE_INSTALL_SYSTEMD_BINDIR:PATH=%{_prefix}/lib/systemd \ + -DCMAKE_INSTALL_INITDDIR:PATH=%{_initddir} \ + -DCMAKE_INSTALL_RUNDIR:PATH=%{_rundir} \ + -DCMAKE_INSTALL_DOCDIR:PATH=%{_docdir}/%{name}-%{version} \ + -DCMAKE_INSTALL_UDEV_RULESDIR:PATH=%{_udevrulesdir} \ + -DCMAKE_INSTALL_PERLDIR:PATH=%{perl_vendorlib} \ +%if %{with_static} + -DENABLE_STATIC=1 \ +%endif + %{EXTRA_CMAKE_FLAGS} \ +%if %{defined __python3} + -DPYTHON_EXECUTABLE:PATH=%{__python3} \ + -DCMAKE_INSTALL_PYTHON_ARCH_LIB:PATH=%{python3_sitearch} \ +%endif +%if %{with_pyverbs} + -DNO_PYVERBS=0 +%else + -DNO_PYVERBS=1 +%endif +%make_jobs + +%install +cd build +%cmake_install +cd .. +mkdir -p %{buildroot}/%{_sysconfdir}/rdma + +%global dracutlibdir %%{_prefix}/lib/dracut/ + +mkdir -p %{buildroot}%{_udevrulesdir} +mkdir -p %{buildroot}%{dracutlibdir}/modules.d/05rdma +mkdir -p %{buildroot}%{_modprobedir} +mkdir -p %{buildroot}%{_unitdir} + +# Port type setup for mlx4 dual port cards +install -D -m0644 redhat/rdma.mlx4.sys.modprobe %{buildroot}%{_modprobedir}/50-libmlx4.conf +install -D -m0644 redhat/rdma.mlx4.conf %{buildroot}/%{_sysconfdir}/rdma/mlx4.conf +%if 0%{?dma_coherent} +chmod 0644 %{buildroot}%{_modprobedir}/mlx4.conf +%endif +install -D -m0755 redhat/rdma.mlx4-setup.sh %{buildroot}%{_libexecdir}/mlx4-setup.sh + +# Dracut file for IB support during boot +install -D -m0644 suse/module-setup.sh %{buildroot}%{dracutlibdir}/modules.d/05rdma/module-setup.sh + +%if "%{_libexecdir}" != "/usr/libexec" +sed 's-/usr/libexec-%{_libexecdir}-g' -i %{buildroot}%{_modprobedir}/50-libmlx4.conf +sed 's-/usr/libexec-%{_libexecdir}-g' -i %{buildroot}%{dracutlibdir}/modules.d/05rdma/module-setup.sh +%endif + +# ibacm +cd build +LD_LIBRARY_PATH=./lib bin/ib_acme -D . -O +install -D -m0644 ibacm_opts.cfg %{buildroot}%{_sysconfdir}/rdma/ + +for service in rdma rdma-ndd ibacm iwpmd srp_daemon; do ln -sf %{_sbindir}/service %{buildroot}%{_sbindir}/rc${service}; done + +# Delete the package's init.d scripts +rm -rf %{buildroot}/%{_initddir}/ +rm -rf %{buildroot}/%{_sbindir}/srp_daemon.sh + +%post -n %verbs_lname -p /sbin/ldconfig +%postun -n %verbs_lname -p /sbin/ldconfig + +%post -n %efa_lname -p /sbin/ldconfig +%postun -n %efa_lname -p /sbin/ldconfig + +%post -n %mana_lname -p /sbin/ldconfig +%postun -n %mana_lname -p /sbin/ldconfig + +%post -n %mlx4_lname -p /sbin/ldconfig +%postun -n %mlx4_lname -p /sbin/ldconfig + +%post -n %mlx5_lname -p /sbin/ldconfig +%postun -n %mlx5_lname -p /sbin/ldconfig + +%post -n %umad_lname -p /sbin/ldconfig +%postun -n %umad_lname -p /sbin/ldconfig + +%post -n %rdmacm_lname -p /sbin/ldconfig +%postun -n %rdmacm_lname -p /sbin/ldconfig + +%post -n libibnetdisc%{ibnetdisc_major} -p /sbin/ldconfig +%postun -n libibnetdisc%{ibnetdisc_major} -p /sbin/ldconfig + +%post -n libibmad%{mad_major} -p /sbin/ldconfig +%postun -n libibmad%{mad_major} -p /sbin/ldconfig + +%pre +# Avoid restoring outdated stuff in posttrans +for _f in %{?modprobe_d_files}; do + [ ! -f "/etc/modprobe.d/${_f}.rpmsave" ] || \ + mv -f "/etc/modprobe.d/${_f}.rpmsave" "/etc/modprobe.d/${_f}.rpmsave.old" || : +done + +%post +# we ship udev rules, so trigger an update. +%{_bindir}/udevadm trigger --subsystem-match=infiniband --action=change || true +%{_bindir}/udevadm trigger --subsystem-match=infiniband_mad --action=change || true + +%posttrans +# Migration of modprobe.conf files to _modprobedir +for _f in %{?modprobe_d_files}; do + [ ! -f "/etc/modprobe.d/${_f}.rpmsave" ] || \ + mv -fv "/etc/modprobe.d/${_f}.rpmsave" "/etc/modprobe.d/${_f}" || : +done + +# +# ibacm +# +%pre -n ibacm +%service_add_pre ibacm.service ibacm.socket + +%post -n ibacm +%service_add_post ibacm.service ibacm.socket + +%preun -n ibacm +%service_del_preun ibacm.service ibacm.socket + +%postun -n ibacm +%service_del_postun ibacm.service ibacm.socket + +# +# srp daemon +# +%pre -n srp_daemon +%service_add_pre srp_daemon.service + +%post -n srp_daemon +%service_add_post srp_daemon.service +# we ship udev rules, so trigger an update. +%{_bindir}/udevadm trigger --subsystem-match=infiniband_mad --action=change + +%preun -n srp_daemon +%service_del_preun srp_daemon.service + +%postun -n srp_daemon +%service_del_postun srp_daemon.service + +# +# iwpmd +# +%pre -n iwpmd +%service_add_pre ibiwpmd.service + +%post -n iwpmd +%service_add_post iwpmd.service + +%preun -n iwpmd +%service_del_preun iwpmd.service + +%postun -n iwpmd +%service_del_postun iwpmd.service + +# +# rdma-ndd +# +%pre -n rdma-ndd +%service_add_pre rdma-ndd.service + +%preun -n rdma-ndd +%service_del_preun rdma-ndd.service + +%post -n rdma-ndd +%service_add_post rdma-ndd.service +# we ship udev rules, so trigger an update. +%{_bindir}/udevadm trigger --subsystem-match=infiniband --action=change || true + +%postun -n rdma-ndd +%service_del_postun rdma-ndd.service + +%files +%dir %{_sysconfdir}/rdma +%dir %{_sysconfdir}/rdma/modules +%dir %{_docdir}/%{name}-%{version} +%dir %{_udevrulesdir} +%dir %{_modprobedir} +%doc %{_docdir}/%{name}-%{version}/70-persistent-ipoib.rules +%doc %{_docdir}/%{name}-%{version}/README.md +%doc %{_docdir}/%{name}-%{version}/udev.md +%config(noreplace) %{_sysconfdir}/rdma/mlx4.conf +%config(noreplace) %{_sysconfdir}/rdma/modules/infiniband.conf +%config(noreplace) %{_sysconfdir}/rdma/modules/iwarp.conf +%config(noreplace) %{_sysconfdir}/rdma/modules/opa.conf +%config(noreplace) %{_sysconfdir}/rdma/modules/rdma.conf +%config(noreplace) %{_sysconfdir}/rdma/modules/roce.conf +%if 0%{?dma_coherent} +%{_modprobedir}/mlx4.conf +%endif +%{_modprobedir}/truescale.conf +%{_unitdir}/rdma-hw.target +%{_unitdir}/rdma-load-modules@.service +%dir %{dracutlibdir} +%dir %{dracutlibdir}/modules.d +%dir %{dracutlibdir}/modules.d/05rdma +%{dracutlibdir}/modules.d/05rdma/module-setup.sh +%{_udevrulesdir}/../rdma_rename +%{_udevrulesdir}/60-rdma-persistent-naming.rules +%{_udevrulesdir}/75-rdma-description.rules +%{_udevrulesdir}/90-rdma-hw-modules.rules +%{_udevrulesdir}/90-rdma-ulp-modules.rules +%{_udevrulesdir}/90-rdma-umad.rules +%{_modprobedir}/50-libmlx4.conf +%{_libexecdir}/mlx4-setup.sh +%{_libexecdir}/truescale-serdes.cmds +%license COPYING.* +%{_sbindir}/rcrdma + +%files devel +%doc %{_docdir}/%{name}-%{version}/MAINTAINERS +%dir %{_includedir}/infiniband +%dir %{_includedir}/rdma +%{_includedir}/infiniband/* +%{_includedir}/rdma/* +%if %{with_static} +%{_libdir}/lib*.a +%endif +%{_libdir}/lib*.so +%{_libdir}/pkgconfig/*.pc +%{_mandir}/man3/ibnd_* +%{_mandir}/man3/ibv_* +%{_mandir}/man3/rdma* +%{_mandir}/man3/umad* +%{_mandir}/man3/*_to_ibv_rate.* +%{_mandir}/man7/rdma_cm.* +%if 0%{?dma_coherent} +%{_mandir}/man3/efadv* +%{_mandir}/man3/manadv* +%{_mandir}/man3/mlx5dv* +%{_mandir}/man3/mlx4dv* +%{_mandir}/man7/efadv* +%{_mandir}/man7/manadv* +%{_mandir}/man7/mlx5dv* +%{_mandir}/man7/mlx4dv* +%endif + +%files -n libibverbs +%dir %{_sysconfdir}/libibverbs.d +%dir %{_libdir}/libibverbs +%{_libdir}/libibverbs/*.so +%config(noreplace) %{_sysconfdir}/libibverbs.d/*.driver +%doc %{_docdir}/%{name}-%{version}/libibverbs.md +%doc %{_docdir}/%{name}-%{version}/rxe.md +%doc %{_docdir}/%{name}-%{version}/tag_matching.md +%{_mandir}/man7/rxe* + +%files -n libibnetdisc%{ibnetdisc_major} +%{_libdir}/libibnetdisc.so.* + +%files -n libibmad%{mad_major} +%{_libdir}/libibmad.so.* + +%files -n %verbs_lname +%{_libdir}/libibverbs*.so.* + +%if 0%{?dma_coherent} +%files -n %efa_lname +%{_libdir}/libefa*.so.* + +%files -n %mana_lname +%{_libdir}/libmana*.so.* + +%files -n %mlx4_lname +%{_libdir}/libmlx4*.so.* + +%files -n %mlx5_lname +%{_libdir}/libmlx5*.so.* +%endif + +%files -n libibverbs-utils +%{_bindir}/ibv_* +%{_mandir}/man1/ibv_* + +%files -n ibacm +%config(noreplace) %{_sysconfdir}/rdma/ibacm_opts.cfg +%{_bindir}/ib_acme +%{_sbindir}/ibacm +%{_mandir}/man1/ib_acme.* +%{_mandir}/man7/ibacm.* +%{_mandir}/man7/ibacm_prov.* +%{_mandir}/man8/ibacm.* +%{_unitdir}/ibacm.service +%{_unitdir}/ibacm.socket +%dir %{_libdir}/ibacm +%{_libdir}/ibacm/* +%{_sbindir}/rcibacm +%doc %{_docdir}/%{name}-%{version}/ibacm.md + +%files -n infiniband-diags +%dir %{_sysconfdir}/infiniband-diags +%config(noreplace) %{_sysconfdir}/infiniband-diags/* +%{_sbindir}/ibaddr +%{_mandir}/man8/ibaddr* +%{_sbindir}/ibnetdiscover +%{_mandir}/man8/ibnetdiscover* +%{_sbindir}/ibping +%{_mandir}/man8/ibping* +%{_sbindir}/ibportstate +%{_mandir}/man8/ibportstate* +%{_sbindir}/ibroute +%{_mandir}/man8/ibroute.* +%{_sbindir}/ibstat +%{_mandir}/man8/ibstat.* +%{_sbindir}/ibsysstat +%{_mandir}/man8/ibsysstat* +%{_sbindir}/ibtracert +%{_mandir}/man8/ibtracert* +%{_sbindir}/perfquery +%{_mandir}/man8/perfquery* +%{_sbindir}/sminfo +%{_mandir}/man8/sminfo* +%{_sbindir}/smpdump +%{_mandir}/man8/smpdump* +%{_sbindir}/smpquery +%{_mandir}/man8/smpquery* +%{_sbindir}/saquery +%{_mandir}/man8/saquery* +%{_sbindir}/vendstat +%{_mandir}/man8/vendstat* +%{_sbindir}/iblinkinfo +%{_mandir}/man8/iblinkinfo* +%{_sbindir}/ibqueryerrors +%{_mandir}/man8/ibqueryerrors* +%{_sbindir}/ibcacheedit +%{_mandir}/man8/ibcacheedit* +%{_sbindir}/ibccquery +%{_mandir}/man8/ibccquery* +%{_sbindir}/ibccconfig +%{_mandir}/man8/ibccconfig* +%{_sbindir}/dump_fts +%{_mandir}/man8/dump_fts* +%{_sbindir}/ibhosts +%{_mandir}/man8/ibhosts* +%{_sbindir}/ibswitches +%{_mandir}/man8/ibswitches* +%{_sbindir}/ibnodes +%{_mandir}/man8/ibnodes* +%{_sbindir}/ibrouters +%{_mandir}/man8/ibrouters* +%{_sbindir}/ibfindnodesusing.pl +%{_mandir}/man8/ibfindnodesusing* +%{_sbindir}/ibidsverify.pl +%{_mandir}/man8/ibidsverify* +%{_sbindir}/check_lft_balance.pl +%{_mandir}/man8/check_lft_balance* +%{_sbindir}/dump_lfts.sh +%{_mandir}/man8/dump_lfts* +%{_sbindir}/dump_mfts.sh +%{_mandir}/man8/dump_mfts* +%{_sbindir}/ibstatus +%{_mandir}/man8/ibstatus* +%{_mandir}/man8/infiniband-diags* +%{perl_vendorlib}/IBswcountlimits.pm + +%files -n iwpmd +%dir %{_sysconfdir}/rdma +%dir %{_sysconfdir}/rdma/modules +%{_sbindir}/iwpmd +%{_sbindir}/rciwpmd +%{_unitdir}/iwpmd.service +%config(noreplace) %{_sysconfdir}/rdma/modules/iwpmd.conf +%config(noreplace) %{_sysconfdir}/iwpmd.conf +%{_udevrulesdir}/90-iwpmd.rules +%{_mandir}/man8/iwpmd.* +%{_mandir}/man5/iwpmd.* + +%files -n %umad_lname +%{_libdir}/libibumad*.so.* + +%files -n %rdmacm_lname +%{_libdir}/librdmacm*.so.* +%doc %{_docdir}/%{name}-%{version}/librdmacm.md + +%files -n rsocket +%dir %{_libdir}/rsocket +%{_libdir}/rsocket/*.so* +%{_mandir}/man7/rsocket.* + +%files -n librdmacm-utils +%{_bindir}/cmtime +%{_bindir}/mckey +%{_bindir}/rcopy +%{_bindir}/rdma_client +%{_bindir}/rdma_server +%{_bindir}/rdma_xclient +%{_bindir}/rdma_xserver +%{_bindir}/riostream +%{_bindir}/rping +%{_bindir}/rstream +%{_bindir}/ucmatose +%{_bindir}/udaddy +%{_bindir}/udpong +%{_mandir}/man1/cmtime.* +%{_mandir}/man1/mckey.* +%{_mandir}/man1/rcopy.* +%{_mandir}/man1/rdma_client.* +%{_mandir}/man1/rdma_server.* +%{_mandir}/man1/rdma_xclient.* +%{_mandir}/man1/rdma_xserver.* +%{_mandir}/man1/riostream.* +%{_mandir}/man1/rping.* +%{_mandir}/man1/rstream.* +%{_mandir}/man1/ucmatose.* +%{_mandir}/man1/udaddy.* +%{_mandir}/man1/udpong.* + +%files -n srp_daemon +%dir %{_libexecdir}/srp_daemon +%dir %{_sysconfdir}/rdma +%dir %{_sysconfdir}/rdma/modules +%config(noreplace) %{_sysconfdir}/srp_daemon.conf +%config(noreplace) %{_sysconfdir}/rdma/modules/srp_daemon.conf +%{_udevrulesdir}/60-srp_daemon.rules +%{_libexecdir}/srp_daemon/start_on_all_ports +%{_unitdir}/srp_daemon.service +%{_unitdir}/srp_daemon_port@.service +%{_sbindir}/ibsrpdm +%{_sbindir}/srp_daemon +%{_sbindir}/run_srp_daemon +%{_sbindir}/rcsrp_daemon +%{_mandir}/man5/srp_daemon.service.5* +%{_mandir}/man5/srp_daemon_port@.service.5* +%{_mandir}/man8/ibsrpdm.8* +%{_mandir}/man8/srp_daemon.8* +%doc %{_docdir}/%{name}-%{version}/ibsrpdm.md + +%files -n rdma-ndd +%{_sbindir}/rdma-ndd +%{_sbindir}/rcrdma-ndd +%{_unitdir}/rdma-ndd.service +%{_mandir}/man8/rdma-ndd.8* +%{_udevrulesdir}/60-rdma-ndd.rules + +%if %{with_pyverbs} +%files -n python3-pyverbs +%{python3_sitearch}/pyverbs +%dir %{_docdir}/%{name}-%{version}/tests/ +%{_docdir}/%{name}-%{version}/tests/*.py +%endif + +%changelog