Compare commits

...

49 Commits

Author SHA1 Message Date
Michal Schmidt b4f3a4cecd Convert to rpmautospec 2023-02-02 12:06:52 +01:00
Michal Schmidt 514221a914 Fix a couple of bugs found by covscan
Signed-off-by: Michal Schmidt <mschmidt@redhat.com>
2023-02-02 12:01:53 +01:00
Michal Schmidt d24472bc16 Rebase to upstream v44.0
Signed-off-by: Michal Schmidt <mschmidt@redhat.com>
2023-02-01 09:37:58 +01:00
Fedora Release Engineering c08d24b378 Rebuilt for https://fedoraproject.org/wiki/Fedora_38_Mass_Rebuild
Signed-off-by: Fedora Release Engineering <releng@fedoraproject.org>
2023-01-20 19:32:50 +00:00
Michal Schmidt 8150629e43 Rebase to upstream v41.0
Signed-off-by: Michal Schmidt <mschmidt@redhat.com>
2022-08-02 15:40:27 +02:00
Fedora Release Engineering 4252813d4a Rebuilt for https://fedoraproject.org/wiki/Fedora_37_Mass_Rebuild
Signed-off-by: Fedora Release Engineering <releng@fedoraproject.org>
2022-07-23 00:35:06 +00:00
Python Maint 208af9691a Rebuilt for Python 3.11 2022-06-13 17:27:07 +02:00
Honggang Li e43fb0fac1 Rebase to upstream release v39.0
Signed-off-by: Honggang Li <honli@redhat.com>
2022-02-06 08:11:30 -05:00
Fedora Release Engineering a041f5c378 - Rebuilt for https://fedoraproject.org/wiki/Fedora_36_Mass_Rebuild
Signed-off-by: Fedora Release Engineering <releng@fedoraproject.org>
2022-01-21 17:36:43 +00:00
Honggang Li 9d2f592f20 Update self obsolete tag
Resolves: bz1956631

Signed-off-by: Honggang Li <honli@redhat.com>
2022-01-14 08:11:09 -05:00
Honggang Li 2601470ddb Rebase to upstream release v38.1
Signed-off-by: Honggang Li <honli@redhat.com>
2022-01-06 19:41:43 -05:00
Honggang Li ceaddb2b51 Rebase to upstream release v38.0
Signed-off-by: Honggang Li <honli@redhat.com>
2021-11-23 08:19:27 -05:00
Honggang Li 4dd9584043 Fix Systemd Scriptlets
Signed-off-by: Honggang Li <honli@redhat.com>
2021-09-26 07:43:16 -04:00
Honggang Li fb5dc650a4 Rebase to upstream release v37.0
Signed-off-by: Honggang Li <honli@redhat.com>
2021-09-22 08:30:20 -04:00
Honggang Li f342d778f5 rdma-core-devel should not require ibacm
https://github.com/linux-rdma/rdma-core/pull/1054

%{_libdir}/ibacm/libibacmp.so is a plugin for librdmacm dlopen.
It is not for library linking.

Resolves: bz2000123

Signed-off-by: Honggang Li <honli@redhat.com>
2021-09-06 21:43:37 -04:00
Fedora Release Engineering f4c6894afb - Rebuilt for https://fedoraproject.org/wiki/Fedora_35_Mass_Rebuild
Signed-off-by: Fedora Release Engineering <releng@fedoraproject.org>
2021-07-23 11:15:02 +00:00
Honggang Li 50920cce69 Rebase to upstream release v36.0
Signed-off-by: Honggang Li <honli@redhat.com>
2021-07-14 05:53:21 -04:00
Python Maint 9427e12aeb Rebuilt for Python 3.10 2021-06-04 21:12:58 +02:00
Honggang Li 2ec1976740 Rebase to upstream release v35.0
Signed-off-by: Honggang Li <honli@redhat.com>
2021-05-10 05:25:54 -04:00
Pete Walter 462a006594 Fix libibverbs-core obsoletes when updating to F35
Fixes https://bugzilla.redhat.com/show_bug.cgi?id=1943375
2021-03-31 22:13:34 +01:00
Pete Walter 5fa6954dc2 Add self obsoletes to remove i686 multilib package when updating to F34
The i686 multilib package is gone in F34 so we need to obsolete it to
get clean upgrades.
2021-03-30 17:01:11 +01:00
Honggang Li 3145cfa39a RHEL9 will use prebuild doc
pandoc will be removed from RHEL9. That means we will have to use
prebuild doc.

Signed-off-by: Honggang Li <honli@redhat.com>
2021-03-08 20:37:18 -05:00
Honggang Li 8b300f2ddf Rebase to upstream release v34.0
Signed-off-by: Honggang Li <honli@redhat.com>
2021-03-03 00:37:19 -05:00
Zbigniew Jędrzejewski-Szmek 7dfde225ce Rebuilt for updated systemd-rpm-macros
See https://pagure.io/fesco/issue/2583.
2021-03-02 16:12:52 +01:00
Honggang Li bd13c655b5 Disable HCA rename for ELN build
Signed-off-by: Honggang Li <honli@redhat.com>
2021-02-01 11:35:53 -05:00
Fedora Release Engineering 24e2a0fe66 - Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild
Signed-off-by: Fedora Release Engineering <releng@fedoraproject.org>
2021-01-27 15:07:45 +00:00
Honggang Li 6495ad1e5e Fix ELN build issue
The 'fedora' macro had been removed from RHEL9 ELN build.
We will have to use the 'rhel' macro for RHEL9 ELN build.

Signed-off-by: Honggang Li <honli@redhat.com>
2021-01-25 03:29:29 -05:00
Honggang Li 4e8f1a588f libibverbs obsoletes libibverbs-core for fedora-34
Signed-off-by: Honggang Li <honli@redhat.com>
2021-01-21 07:17:50 -05:00
Honggang Li 80eb5deac7 Rebase to upstream release v33.0
Signed-off-by: Honggang Li <honli@redhat.com>
2021-01-18 23:28:35 -05:00
honli ef8db100db Remove base package dependency from all sub-package
Revert "Split out libibverbs to a core sub package for libpcap IB support to minimise deps for users that don't require IB support"

This reverts commit 59a8e2e0d0.

Resolves: bz1901086

Signed-off-by: Honggang Li <honli@redhat.com>
2021-01-18 20:51:28 -05:00
Honggang Li f92c6170e7 Rebase to upstream release v32.0
Signed-off-by: Honggang Li <honli@redhat.com>
2020-11-02 04:34:23 -05:00
Peter Robinson 59a8e2e0d0 Split out libibverbs to a core sub package for libpcap IB support to minimise deps for users that don't require IB support 2020-09-15 00:26:18 +01:00
Honggang Li 486598b91c Rebase to upstream release v31.0
Signed-off-by: Honggang Li <honli@redhat.com>
2020-08-19 09:21:45 -04:00
Honggang Li bb56407237 Update cmake options
Fedora 33 System-Wide Change proposal: CMake to do out-of-source builds

FC33 rpmbuild failed because of this system-wide change. Update cmake
options to fix this issue.

Signed-off-by: Honggang Li <honli@redhat.com>
2020-07-30 23:16:24 -04:00
Fedora Release Engineering 6ed3481498 - Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild
Signed-off-by: Fedora Release Engineering <releng@fedoraproject.org>
2020-07-29 05:34:43 +00:00
Stephen Gallagher c166c357f6
Don't throw script errors when ordered before udev
Due to the way libdnf/libsolv resolves RPM installation order, it is
possible that this package will be installed before systemd-udev is
installed. If that happens, /sbin/udevadm is unavailable and an error
is thrown. However, it's safe to skip the call to /sbin/udevadm if
systemd-udev is not available yet. When that package is installed,
it runs the necessary actions itself.

Signed-off-by: Stephen Gallagher <sgallagh@redhat.com>
2020-07-02 09:04:38 -04:00
Jeff Law abad9da95a Disable LTO 2020-07-01 12:20:35 -06:00
Zbigniew Jędrzejewski-Szmek 5817d8b7bc Drop installation-time dependencies on dracut and kmod
rdma-core provides a plugin for dracut, but does not "use" dracut.

It seems that the dependencies on dracut and kmod were added because
of directory ownership
(https://bugzilla.redhat.com/show_bug.cgi?id=1404043#c8). Let's co-own
the directories instead. Pulling in such a big package as dracut along
with dependencies just for the directory is not very nice.

Dracut by itself is 1MB, and pulls in bash, coreutils, grep (which
means also libpcre), procps-ng, systemd, and a bunch of libraries.
2020-06-26 17:22:15 +02:00
Zbigniew Jędrzejewski-Szmek daf98ffe95 Drop installation-time dependency on systemd
For rdma-core binary package, the dependency is really on systemd-udev
which provides udevadm. Since systemd can be installed without udev,
the dependency was not effective. But actually the dependency is not
needed at all, because the system will behave the same with and
without it. (If systemd-udev is installed later in the transaction,
the call to udevadm trigger is not necessary. If systemd-udev is
installed earlier in the transaction, the call to udevadm trigger will
succeed. And if if systemd-udev is not installed at all, it means that
there's no hardware support and udevadm doesn't need to be executed at
all.)

Similarly, %{systemd_requires} is not necessary for the systemd unit
scriptlets. See https://pagure.io/packaging-committee/c/46010f8b6ab077bf.
That commit also has a long explanation.

Also co-own the directory to avoid unowned directory warning.
2020-06-26 17:15:49 +02:00
Honggang Li ae01c21307 Rebase to upstream release v30.0
Signed-off-by: Honggang Li <honli@redhat.com>
2020-06-15 21:33:49 -04:00
Miro Hrončok 80ff43b09b Rebuilt for Python 3.9 2020-05-26 03:48:47 +02:00
Honggang Li 6a20625ce6 Rebase to upstream release v29.0
Signed-off-by: Honggang Li <honli@redhat.com>
2020-04-13 09:18:33 -04:00
Honggang Li 55352ca3c5 Rebase to upstream release v28.0
Signed-off-by: Honggang Li <honli@redhat.com>
2020-02-12 23:54:42 -05:00
Fedora Release Engineering f34aa2d5d7 - Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild
Signed-off-by: Fedora Release Engineering <releng@fedoraproject.org>
2020-01-30 17:25:22 +00:00
Orion Poplawski a54e53587c Fix typo in requires 2020-01-19 17:57:55 -07:00
Honggang Li 01859f5a93 Backport some spec improvement from upstream
Signed-off-by: Honggang Li <honli@redhat.com>
2020-01-19 07:33:54 -05:00
Honggang Li f0a64cacc2 Rebase to upstream release v27.0
Signed-off-by: Honggang Li <honli@redhat.com>
2019-12-12 20:48:45 -05:00
Honggang Li b631ce4665 Rebase to upstream release v26.1
Signed-off-by: Honggang Li <honli@redhat.com>
2019-11-28 08:23:54 -05:00
Fedora Release Engineering 3a4bfd17e7 - Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild
Signed-off-by: Fedora Release Engineering <releng@fedoraproject.org>
2019-07-26 18:19:34 +00:00
9 changed files with 806 additions and 171 deletions

16
.gitignore vendored
View File

@ -4,3 +4,19 @@
/rdma-core-14.tar.gz
/rdma-core-16.2.tar.gz
/rdma-core-20.1.tar.gz
/rdma-core-26.1.tar.gz
/rdma-core-27.0.tar.gz
/rdma-core-28.0.tar.gz
/rdma-core-29.0.tar.gz
/rdma-core-30.0.tar.gz
/rdma-core-31.0.tar.gz
/rdma-core-33.0.tar.gz
/rdma-core-34.0.tar.gz
/rdma-core-35.0.tar.gz
/rdma-core-36.0.tar.gz
/rdma-core-37.0.tar.gz
/rdma-core-38.0.tar.gz
/rdma-core-38.1.tar.gz
/rdma-core-39.0.tar.gz
/rdma-core-41.0.tar.gz
/rdma-core-44.0.tar.gz

View File

@ -0,0 +1,85 @@
From 5075b961a29ff9c418e1fefe78432e95dd0a5fcc Mon Sep 17 00:00:00 2001
From: Michal Schmidt <mschmidt@redhat.com>
Date: Wed, 1 Feb 2023 22:41:06 +0100
Subject: [PATCH 1/3] util: fix overflow in remap_node_name()
The function remap_node_name() assumes the parameter 'nodedesc' is at
least IB_SMP_DATA_SIZE + 1 (i.e. 65) bytes long, because it passes it to
clean_nodedesc() that writes a nul-terminator to it at offset
IB_SMP_DATA_SIZE. Callers in infiniband-diags/saquery.c pass
a (struct ib_node_desc_t).description as the argument, which is only
IB_NODE_DESCRIPTION_SIZE (i.e. 64) bytes long. This is an overflow.
An odd thing about remap_node_name() is that it may (but does not
always) rewrite the nodedesc in-place. Callers do not appear to
appreciate this behavior. Most of them are various print_* and dump_*
functions where rewriting the input makes no sense. Some callers make a
local copy of the nodedesc first, possibly to protect the original.
One caller (infiniband-diags/saquery.c:print_node_records()) checks if
either the original description or the remapped one matches a given
requested_name - so it looks like it prefers the original to be
not rewritten.
Let's make remap_node_name() a bit safer and more convenient to use.
Allocate a fixed-sized copy first. Then use strncpy to copy from
'nodedesc', never reading more than IB_SMP_DATA_SIZE (64) bytes.
Apply clean_nodedesc() on the correctly-sized copy. This solves the
overflow bug. Also, the in-place rewrite of 'nodedesc' is gone and it
can become a (const char*).
The overflow was found by a static checker (covscan).
Fixes: d974c4e398d2 ("Fix max length of node description (ibnetdiscover and smpquery)")
Signed-off-by: Michal Schmidt <mschmidt@redhat.com>
---
util/node_name_map.c | 12 +++++++++---
util/node_name_map.h | 3 +--
2 files changed, 10 insertions(+), 5 deletions(-)
diff --git a/util/node_name_map.c b/util/node_name_map.c
index 30b73eb1448e..511cb92ef19c 100644
--- a/util/node_name_map.c
+++ b/util/node_name_map.c
@@ -95,7 +95,7 @@ void close_node_name_map(nn_map_t * map)
free(map);
}
-char *remap_node_name(nn_map_t * map, uint64_t target_guid, char *nodedesc)
+char *remap_node_name(nn_map_t * map, uint64_t target_guid, const char *nodedesc)
{
char *rc = NULL;
name_map_item_t *item = NULL;
@@ -108,8 +108,14 @@ char *remap_node_name(nn_map_t * map, uint64_t target_guid, char *nodedesc)
rc = strdup(item->name);
done:
- if (rc == NULL)
- rc = strdup(clean_nodedesc(nodedesc));
+ if (rc == NULL) {
+ rc = malloc(IB_SMP_DATA_SIZE + 1);
+ if (rc) {
+ strncpy(rc, nodedesc, IB_SMP_DATA_SIZE);
+ rc[IB_SMP_DATA_SIZE] = '\0';
+ clean_nodedesc(rc);
+ }
+ }
return (rc);
}
diff --git a/util/node_name_map.h b/util/node_name_map.h
index e78d274b116e..d83d672782c4 100644
--- a/util/node_name_map.h
+++ b/util/node_name_map.h
@@ -12,8 +12,7 @@ typedef struct nn_map nn_map_t;
nn_map_t *open_node_name_map(const char *node_name_map);
void close_node_name_map(nn_map_t *map);
-/* NOTE: parameter "nodedesc" may be modified here. */
-char *remap_node_name(nn_map_t *map, uint64_t target_guid, char *nodedesc);
+char *remap_node_name(nn_map_t *map, uint64_t target_guid, const char *nodedesc);
char *clean_nodedesc(char *nodedesc);
#endif
--
2.39.1

View File

@ -0,0 +1,95 @@
From d5723a0f69577fd3022024ca17c27e273a29695b Mon Sep 17 00:00:00 2001
From: Michal Schmidt <mschmidt@redhat.com>
Date: Wed, 1 Feb 2023 22:41:16 +0100
Subject: [PATCH 2/3] infiniband-diags: drop unnecessary nodedesc local copies
Now that remap_node_name() never rewrites nodedesc in-place, some
copying can be avoided.
Signed-off-by: Michal Schmidt <mschmidt@redhat.com>
---
infiniband-diags/dump_fts.c | 14 +++-----------
1 file changed, 3 insertions(+), 11 deletions(-)
diff --git a/infiniband-diags/dump_fts.c b/infiniband-diags/dump_fts.c
index ce6bfb9ecc33..acef9efe692d 100644
--- a/infiniband-diags/dump_fts.c
+++ b/infiniband-diags/dump_fts.c
@@ -109,7 +109,6 @@ static void dump_multicast_tables(ibnd_node_t *node, unsigned startl,
unsigned endl, struct ibmad_port *mad_port)
{
ib_portid_t *portid = &node->path_portid;
- char nd[IB_SMP_DATA_SIZE + 1] = { 0 };
char str[512];
char *s;
uint64_t nodeguid;
@@ -119,7 +118,6 @@ static void dump_multicast_tables(ibnd_node_t *node, unsigned startl,
char *mapnd = NULL;
int n = 0;
- memcpy(nd, node->nodedesc, strlen(node->nodedesc));
nports = node->numports;
nodeguid = node->guid;
@@ -149,7 +147,7 @@ static void dump_multicast_tables(ibnd_node_t *node, unsigned startl,
endl = IB_MAX_MCAST_LID;
}
- mapnd = remap_node_name(node_name_map, nodeguid, nd);
+ mapnd = remap_node_name(node_name_map, nodeguid, node->nodedesc);
printf("Multicast mlids [0x%x-0x%x] of switch %s guid 0x%016" PRIx64
" (%s):\n", startl, endl, portid2str(portid), nodeguid,
@@ -224,8 +222,6 @@ static int dump_lid(char *str, int str_len, int lid, int valid,
ibnd_fabric_t *fabric, int *last_port_lid,
int *base_port_lid, uint64_t *portguid)
{
- char nd[IB_SMP_DATA_SIZE + 1] = { 0 };
-
ibnd_port_t *port = NULL;
char ntype[50], sguid[30];
@@ -276,14 +272,12 @@ static int dump_lid(char *str, int str_len, int lid, int valid,
baselid = port->base_lid;
lmc = port->lmc;
- memcpy(nd, port->node->nodedesc, strlen(port->node->nodedesc));
-
if (lmc > 0) {
*base_port_lid = baselid;
*last_port_lid = baselid + (1 << lmc) - 1;
}
- mapnd = remap_node_name(node_name_map, nodeguid, nd);
+ mapnd = remap_node_name(node_name_map, nodeguid, port->node->nodedesc);
rc = snprintf(str, str_len, ": (%s portguid %s: '%s')",
mad_dump_val(IB_NODE_TYPE_F, ntype, sizeof ntype,
@@ -302,7 +296,6 @@ static void dump_unicast_tables(ibnd_node_t *node, int startl, int endl,
{
ib_portid_t * portid = &node->path_portid;
char lft[IB_SMP_DATA_SIZE] = { 0 };
- char nd[IB_SMP_DATA_SIZE + 1] = { 0 };
char str[200];
uint64_t nodeguid;
int block, i, e, top;
@@ -315,7 +308,6 @@ static void dump_unicast_tables(ibnd_node_t *node, int startl, int endl,
mad_decode_field(node->switchinfo, IB_SW_LINEAR_FDB_TOP_F, &top);
nodeguid = node->guid;
nports = node->numports;
- memcpy(nd, node->nodedesc, strlen(node->nodedesc));
if (!endl || endl > top)
endl = top;
@@ -326,7 +318,7 @@ static void dump_unicast_tables(ibnd_node_t *node, int startl, int endl,
endl = IB_MAX_UCAST_LID;
}
- mapnd = remap_node_name(node_name_map, nodeguid, nd);
+ mapnd = remap_node_name(node_name_map, nodeguid, node->nodedesc);
printf("Unicast lids [0x%x-0x%x] of switch %s guid 0x%016" PRIx64
" (%s):\n", startl, endl, portid2str(portid), nodeguid,
--
2.39.1

View File

@ -0,0 +1,38 @@
From 45fcc7ad41216a93bafb452f7d7a4507d52722cd Mon Sep 17 00:00:00 2001
From: Michal Schmidt <mschmidt@redhat.com>
Date: Wed, 1 Feb 2023 23:30:52 +0100
Subject: [PATCH 3/3] libibnetdisc: fix printing a possibly non-NUL-terminated
string
Found by a static check (covscan).
Fixes: d974c4e398d2 ("Fix max length of node description (ibnetdiscover and smpquery)")
Signed-off-by: Michal Schmidt <mschmidt@redhat.com>
---
libibnetdisc/chassis.c | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/libibnetdisc/chassis.c b/libibnetdisc/chassis.c
index a3ec1d82807c..bc1a8aff8acb 100644
--- a/libibnetdisc/chassis.c
+++ b/libibnetdisc/chassis.c
@@ -597,7 +597,7 @@ static int fill_mellanox_chassis_record(ibnd_node_t * node)
int p = 0;
ibnd_port_t *port;
- char node_desc[IB_SMP_DATA_SIZE];
+ char node_desc[IB_SMP_DATA_SIZE + 1];
char *system_name;
char *system_type;
char *system_slot_name;
@@ -617,6 +617,7 @@ static int fill_mellanox_chassis_record(ibnd_node_t * node)
*/
memcpy(node_desc, node->nodedesc, IB_SMP_DATA_SIZE);
+ node_desc[IB_SMP_DATA_SIZE] = '\0';
IBND_DEBUG("fill_mellanox_chassis_record: node_desc:%s \n",node_desc);
--
2.39.1

View File

@ -0,0 +1,42 @@
From 1c63f25b55ca4f5317e1c85b548469bbc747e147 Mon Sep 17 00:00:00 2001
From: "Goldman, Adam" <adam.goldman@intel.com>
Date: Tue, 4 Feb 2020 08:55:20 -0500
Subject: [PATCH] kernel-boot: Do not perform device rename on OPA devices
PSM2 will not run with recent rdma-core releases. Several tools and
libraries like PSM2, require the hfi1 name to be present.
Recent rdma-core releases added a new feature to rename kernel devices,
but the default configuration will not work with hfi1 fabrics.
Related opa-psm2 github issue:
https://github.com/intel/opa-psm2/issues/43
Fixes: 5b4099d47be3 ("kernel-boot: Perform device rename to make stable names")
Reviewed-by: Mike Marciniszyn <mike.marciniszyn@intel.com>
Signed-off-by: Goldman, Adam <adam.goldman@intel.com>
---
kernel-boot/rdma-persistent-naming.rules | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/kernel-boot/rdma-persistent-naming.rules b/kernel-boot/rdma-persistent-naming.rules
index 6f9c53a5..3ce34ea9 100644
--- a/kernel-boot/rdma-persistent-naming.rules
+++ b/kernel-boot/rdma-persistent-naming.rules
@@ -26,10 +26,10 @@
# Device type = RoCE
# mlx5_0 -> rocex525400c0fe123455
#
-ACTION=="add", SUBSYSTEM=="infiniband", PROGRAM="rdma_rename %k NAME_FALLBACK"
+ACTION=="add", SUBSYSTEM=="infiniband", KERNEL!="hfi1*", PROGRAM="rdma_rename %k NAME_FALLBACK"
# Example:
# * NAME_FIXED
# fixed name for specific board_id
#
-#ACTION=="add", ATTR{board_id}=="MSF0010110035", SUBSYSTEM=="infiniband", PROGRAM="rdma_rename %k NAME_FIXED myib"
\ No newline at end of file
+#ACTION=="add", ATTR{board_id}=="MSF0010110035", SUBSYSTEM=="infiniband", PROGRAM="rdma_rename %k NAME_FIXED myib"
--
2.30.1

View File

@ -0,0 +1,31 @@
From 538cd05b34bf15076ce40273926d7580d421a670 Mon Sep 17 00:00:00 2001
From: Jarod Wilson <jarod@redhat.com>
Date: Wed, 21 Aug 2019 17:09:13 -0400
Subject: [PATCH] udev: keep NAME_KERNEL as default interface naming convention
Signed-off-by: Jarod Wilson <jarod@redhat.com>
---
kernel-boot/rdma-persistent-naming.rules | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/kernel-boot/rdma-persistent-naming.rules b/kernel-boot/rdma-persistent-naming.rules
index 6f9c53a5..b5413edb 100644
--- a/kernel-boot/rdma-persistent-naming.rules
+++ b/kernel-boot/rdma-persistent-naming.rules
@@ -26,10 +26,10 @@
# 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_KERNEL"
# Example:
# * NAME_FIXED
# fixed name for specific board_id
#
-#ACTION=="add", ATTR{board_id}=="MSF0010110035", SUBSYSTEM=="infiniband", PROGRAM="rdma_rename %k NAME_FIXED myib"
\ No newline at end of file
+#ACTION=="add", ATTR{board_id}=="MSF0010110035", SUBSYSTEM=="infiniband", PROGRAM="rdma_rename %k NAME_FIXED myib"
--
2.30.1

193
changelog Normal file
View File

@ -0,0 +1,193 @@
* Thu Feb 02 2023 Michal Schmidt <mschmidt@redhat.com> - 44.0-2
- Fix a couple of bugs found by covscan.
* Tue Jan 31 2023 Michal Schmidt <mschmidt@redhat.com> - 44.0-1
- Rebase to upstream v44.0.
* Fri Jan 20 2023 Fedora Release Engineering <releng@fedoraproject.org> - 41.0-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_38_Mass_Rebuild
* Tue Aug 02 2022 Michal Schmidt <mschmidt@redhat.com> - 41.0-1
- Rebase to upstream release v41.0
* Sat Jul 23 2022 Fedora Release Engineering <releng@fedoraproject.org> - 39.0-3
- Rebuilt for https://fedoraproject.org/wiki/Fedora_37_Mass_Rebuild
* Mon Jun 13 2022 Python Maint <python-maint@redhat.com> - 39.0-2
- Rebuilt for Python 3.11
* Sat Feb 05 2022 Honggang Li <honli@redhat.com> - 39.0-1
- Rebase to upstream release v39.0
* Fri Jan 21 2022 Fedora Release Engineering <releng@fedoraproject.org> - 38.1-3
- Rebuilt for https://fedoraproject.org/wiki/Fedora_36_Mass_Rebuild
* Mon Jan 10 2022 Honggang Li <honli@redhat.com> - 38.1-2
- Update self obsolete tag
- Resolves: bz1956631
* Thu Jan 06 2022 Honggang Li <honli@redhat.com> - 38.1-1
- Rebase to upstream release v38.1
* Tue Nov 23 2021 Honggang Li <honli@redhat.com> - 38.0-1
- Rebase to upstream release v38.0
* Sun Sep 26 2021 Honggang Li <honli@redhat.com> - 37.0-2
- Use systemd scriptlets
* Wed Sep 22 2021 Honggang Li <honli@redhat.com> - 37.0-1
- Rebase to upstream release v37.0
* Mon Sep 06 2021 Honggang Li <honli@redhat.com> - 36.0-3
- rdma-core-devel should not require ibacm
- Resolves: bz2000123
* Fri Jul 23 2021 Fedora Release Engineering <releng@fedoraproject.org> - 36.0-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_35_Mass_Rebuild
* Wed Jul 14 2021 Honggang Li <honli@redhat.com> - 36.0-1
- Rebase to upstream release v36.0
* Fri Jun 04 2021 Python Maint <python-maint@redhat.com> - 35.0-2
- Rebuilt for Python 3.10
* Mon May 10 2021 Honggang Li <honli@redhat.com> - 35.0-1
- Rebase to upstream release v35.0
* Wed Mar 31 2021 Pete Walter <pwalter@fedoraproject.org> - 34.0-4
- Fix libibverbs-core obsoletes when updating to F35 (#1943375)
* Tue Mar 30 2021 Pete Walter <pwalter@fedoraproject.org> - 34.0-3
- Add self obsoletes to remove i686 multilib package when updating to F34
* Mon Mar 08 2021 Honggang Li <honli@redhat.com> - 34.0-2
- RHEL9 will use prebuild doc
* Wed Mar 03 2021 Honggang Li <honli@redhat.com> - 34.0-1
- Rebase to upstream release v34.0
* Tue Mar 02 2021 Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl> - 33.0-6
- Rebuilt for updated systemd-rpm-macros
See https://pagure.io/fesco/issue/2583.
* Mon Feb 01 2021 Honggang Li <honli@redhat.com> - 33.0-5
- Disable HCA rename for ELN
* Wed Jan 27 2021 Fedora Release Engineering <releng@fedoraproject.org> - 33.0-4
- Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild
* Mon Jan 25 2021 Honggang Li <honli@redhat.com> - 33.0-3
- Fix ELN build issue
* Thu Jan 21 2021 Honggang Li <honli@redhat.com> - 33.0-2
- libibverbs obsoletes libibverbs-core for fedora-34
* Mon Jan 18 2021 Honggang Li <honli@redhat.com> - 33.0-1
- Rebase to upstream release v33.0
* Mon Jan 18 2021 Honggang Li <honli@redhat.com> - 32.0-2
- Remove base package dependency from all sub-packages
- Resolves: bz1901086
* Thu Oct 29 2020 Honggang Li <honli@redhat.com> - 32.0-1
- Rebase to upstream release v32.0
* Mon Sep 14 2020 Peter Robinson <pbrobinson@fedoraproject.org> - 31.0-2
- Split out libibverbs to sub package for libpcap
* Wed Aug 19 2020 Honggang Li <honli@redhat.com> - 31.0-1
- Rebase to upstream release v31.0
* Thu Jul 30 2020 Honggang Li <honli@redhat.com> - 30.0-6
- Update cmake options
* Wed Jul 29 2020 Fedora Release Engineering <releng@fedoraproject.org> - 30.0-5
- Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild
* Thu Jul 02 2020 Stephen Gallagher <sgallagh@redhat.com> - 30.0-4
- Don't throw script errors if udev is not installed
* Wed Jul 1 2020 Jeff Law <law@redhat.com> - 30.0-3
- Disable LTO
* Thu Jun 25 2020 Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl> - 30.0-2
- Drop dependencies on systemd (#1837812)
* Mon Jun 15 2020 Honggang Li <honli@redhat.com> - 30.0-1
- Rebase to upstream release v30.0
* Tue May 26 2020 Miro Hrončok <mhroncok@redhat.com> - 29.0-2
- Rebuilt for Python 3.9
* Mon Apr 13 2020 Honggang Li <honli@redhat.com> - 29.0-1
- Rebase to upstream release v29.0
* Wed Feb 12 2020 Honggang Li <honli@redhat.com> - 28.0-1
- Rebase to upstream release v28.0
* Thu Jan 30 2020 Fedora Release Engineering <releng@fedoraproject.org> - 27.0-4
- Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild
* Sun Jan 19 2020 Orion Poplawski <orion@nwra.com> - 27.0-3
- Fix typo in requires
* Sun Jan 19 2020 Honggang Li <honli@redhat.com> - 27.0-2
- Backport some spec improvement from upstream
* Thu Dec 12 2019 Honggang Li <honli@redhat.com> - 27.0-1
- Rebase to upstream release v27.0
* Thu Nov 28 2019 Honggang Li <honli@redhat.com> - 26.1-1
- Rebase to upstream release v26.1
* Fri Jul 26 2019 Fedora Release Engineering <releng@fedoraproject.org> - 20.1-4
- Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild
* Sat Feb 02 2019 Fedora Release Engineering <releng@fedoraproject.org> - 20.1-3
- Rebuilt for https://fedoraproject.org/wiki/Fedora_30_Mass_Rebuild
* Wed Jan 23 2019 Björn Esser <besser82@fedoraproject.org> - 20.1-2
- Append curdir to CMake invokation. (#1668512)
* Fri Oct 19 2018 Jarod Wilson <jarod@redhat.com> - 20.1-1
- Long overdue update to upstream v20.1 stable release
* Sat Jul 14 2018 Fedora Release Engineering <releng@fedoraproject.org> - 16.2-5
- Rebuilt for https://fedoraproject.org/wiki/Fedora_29_Mass_Rebuild
* Sun Mar 18 2018 Iryna Shcherbina <ishcherb@redhat.com> - 16.2-4
- Update Python 2 dependency declarations to new packaging standards
(See https://fedoraproject.org/wiki/FinalizingFedoraSwitchtoPython3)
* Tue Feb 06 2018 Orion Poplawski <orion@nwra.com> - 16.2-3
- Build for s390/x
* Tue Feb 06 2018 Patrick Uiterwijk <patrick@puiterwijk.org> - 16.2-2
- Fix escaped macro
* Sun Feb 04 2018 Doug Ledford <dledford@redhat.com> - 16.2-1
- Update to rdma-core-16.2
- Drop the old sysv initscript files
* Wed Aug 09 2017 Jarod Wilson <jarod@redhat.com> - 14-4
- Make use of systemd_requires, own srp_daemon dir
* Tue Aug 01 2017 Jarod Wilson <jarod@redhat.com> - 14-3
- Revert work-around for ppc64le library issues
- Add Obsoletes/Provides for libusnic_verbs
* Thu Jul 27 2017 Fedora Release Engineering <releng@fedoraproject.org> - 14-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Mass_Rebuild
* Tue Jul 25 2017 Jarod Wilson <jarod@redhat.com> - 14-1
- Update to upstream v14 release
- Sync packaging updates from RHEL and upstream
* Sat Feb 11 2017 Fedora Release Engineering <releng@fedoraproject.org> - 12-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_26_Mass_Rebuild
* Fri Jan 27 2017 Jarod Wilson <jarod@redhat.com> - 12-1
- Update to upstream final v12 release
* Wed Jan 25 2017 Jarod Wilson <jarod@redhat.com> - 12-0.1.rc3.1
- Initial import to Fedora package database via post-v12-rc3 git snapshot

View File

@ -1,12 +1,8 @@
Name: rdma-core
Version: 20.1
Release: 3%{?dist}
Version: 44.0
Release: %autorelease
Summary: RDMA core userspace libraries and daemons
%ifnarch s390 %{arm}
%define dma_coherent 1
%endif
# 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
@ -14,6 +10,17 @@ Summary: RDMA core userspace libraries and daemons
License: GPLv2 or BSD
Url: https://github.com/linux-rdma/rdma-core
Source: https://github.com/linux-rdma/rdma-core/releases/download/v%{version}/%{name}-%{version}.tar.gz
# 0001-0003: https://github.com/linux-rdma/rdma-core/pull/1308
Patch1: 0001-util-fix-overflow-in-remap_node_name.patch
Patch2: 0002-infiniband-diags-drop-unnecessary-nodedesc-local-cop.patch
Patch3: 0003-libibnetdisc-fix-printing-a-possibly-non-NUL-termina.patch
Patch9998: 9998-kernel-boot-Do-not-perform-device-rename-on-OPA-devi.patch
Patch9999: 9999-udev-keep-NAME_KERNEL-as-default-interface-naming-co.patch
# Do not build static libs by default.
%define with_static %{?_with_static: 1} %{?!_with_static: 0}
# 32-bit arm is missing required arch-specific memory barriers,
ExcludeArch: %{arm}
BuildRequires: binutils
BuildRequires: cmake >= 2.8.11
@ -22,41 +29,73 @@ BuildRequires: libudev-devel
BuildRequires: pkgconfig
BuildRequires: pkgconfig(libnl-3.0)
BuildRequires: pkgconfig(libnl-route-3.0)
%ifnarch s390
BuildRequires: /usr/bin/rst2man
BuildRequires: valgrind-devel
%endif
BuildRequires: systemd
BuildRequires: systemd-devel
%if 0%{?fedora} >= 32 || 0%{?rhel} >= 8
%define with_pyverbs %{?_with_pyverbs: 1} %{?!_with_pyverbs: %{?!_without_pyverbs: 1} %{?_without_pyverbs: 0}}
%else
%define with_pyverbs %{?_with_pyverbs: 1} %{?!_with_pyverbs: 0}
%endif
%if %{with_pyverbs}
BuildRequires: python3-devel
BuildRequires: python3-Cython
%else
%if 0%{?rhel} >= 8 || 0%{?fedora} >= 30
BuildRequires: python3
BuildRequires: perl-generators
BuildRequires: pandoc
%else
BuildRequires: python
%endif
%endif
Requires: dracut, kmod, systemd
%if 0%{?rhel} >= 8 || 0%{?fedora} >= 30 || %{with_pyverbs}
BuildRequires: python3-docutils
%else
BuildRequires: python-docutils
%endif
%if 0%{?fedora} >= 21 || 0%{?rhel} >= 8
BuildRequires: perl-generators
%endif
Requires: pciutils
# Red Hat/Fedora previously shipped redhat/ as a stand-alone
# package called 'rdma', which we're supplanting here.
Provides: rdma = %{version}-%{release}
Obsoletes: rdma < %{version}-%{release}
Provides: rdma-ndd = %{version}-%{release}
Obsoletes: rdma-ndd < %{version}-%{release}
Obsoletes: libehca < 1.2.2-7
# the ndd utility moved from infiniband-diags to rdma-core
Conflicts: infiniband-diags <= 1.6.7
# Since we recommend developers use Ninja, so should packagers, for consistency.
%define CMAKE_FLAGS %{nil}
%if 0%{?fedora} >= 23
%if 0%{?fedora} >= 23 || 0%{?rhel} >= 8
# Ninja was introduced in FC23
BuildRequires: ninja-build
%define CMAKE_FLAGS -GNinja
%if 0%{?fedora} >= 33 || 0%{?rhel} >= 9
%define make_jobs ninja-build -C %{_vpath_builddir} -v %{?_smp_mflags}
%define cmake_install DESTDIR=%{buildroot} ninja-build -C %{_vpath_builddir} install
%else
%define make_jobs ninja-build -v %{?_smp_mflags}
%define cmake_install DESTDIR=%{buildroot} ninja-build install
%endif
%else
# Fallback to make otherwise
BuildRequires: make
%define make_jobs make -v %{?_smp_mflags}
%define make_jobs make VERBOSE=1 %{?_smp_mflags}
%define cmake_install DESTDIR=%{buildroot} make install
%endif
%if 0%{?fedora} >= 25 || 0%{?rhel} == 8
# pandoc was introduced in FC25, Centos8
BuildRequires: pandoc
%endif
%if 0%{?fedora} >= 34
# self obsoletes to remove i686 multilib package when updating to F34
Obsoletes: rdma-core < %{version}-%{release}
%endif
%description
RDMA core userspace infrastructure and documentation, including initialization
scripts, kernel driver-specific modprobe override configs, IPoIB network
@ -64,84 +103,80 @@ scripts, dracut rules, and the rdma-ndd utility.
%package devel
Summary: RDMA core development libraries and headers
Requires: %{name}%{?_isa} = %{version}-%{release}
Requires: libibverbs = %{version}-%{release}
Requires: libibverbs%{?_isa} = %{version}-%{release}
Provides: libibverbs-devel = %{version}-%{release}
Obsoletes: libibverbs-devel < %{version}-%{release}
Provides: libibverbs-devel-static = %{version}-%{release}
Obsoletes: libibverbs-devel-static < %{version}-%{release}
Obsoletes: libibcm-devel < %{version}-%{release}
Obsoletes: libibcm-static < %{version}-%{release}
Requires: libibumad = %{version}-%{release}
Requires: libibumad%{?_isa} = %{version}-%{release}
Provides: libibumad-devel = %{version}-%{release}
Obsoletes: libibumad-devel < %{version}-%{release}
Provides: libibumad-static = %{version}-%{release}
Obsoletes: libibumad-static < %{version}-%{release}
Requires: librdmacm = %{version}-%{release}
Requires: librdmacm%{?_isa} = %{version}-%{release}
Provides: librdmacm-devel = %{version}-%{release}
Obsoletes: librdmacm-devel < %{version}-%{release}
Provides: librdmacm-static = %{version}-%{release}
Obsoletes: librdmacm-static < %{version}-%{release}
Requires: ibacm = %{version}-%{release}
Provides: ibacm-devel = %{version}-%{release}
Obsoletes: ibacm-devel < %{version}-%{release}
Provides: libcxgb3-static = %{version}-%{release}
Obsoletes: libcxgb3-static < %{version}-%{release}
Provides: libcxgb4-static = %{version}-%{release}
Obsoletes: libcxgb4-static < %{version}-%{release}
Provides: libhfi1-static = %{version}-%{release}
Obsoletes: libhfi1-static < %{version}-%{release}
Provides: libipathverbs-static = %{version}-%{release}
Obsoletes: libipathverbs-static < %{version}-%{release}
%if 0%{?dma_coherent}
Provides: libmlx4-static = %{version}-%{release}
Obsoletes: libmlx4-static < %{version}-%{release}
Provides: libmlx5-static = %{version}-%{release}
Obsoletes: libmlx5-static < %{version}-%{release}
Requires: infiniband-diags%{?_isa} = %{version}-%{release}
Provides: infiniband-diags-devel = %{version}-%{release}
Obsoletes: infiniband-diags-devel < %{version}-%{release}
Provides: libibmad-devel = %{version}-%{release}
Obsoletes: libibmad-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
Provides: libnes-static = %{version}-%{release}
Obsoletes: libnes-static < %{version}-%{release}
Provides: libocrdma-static = %{version}-%{release}
Obsoletes: libocrdma-static < %{version}-%{release}
Provides: libi40iw-devel-static = %{version}-%{release}
Obsoletes: libi40iw-devel-static < %{version}-%{release}
Provides: libmthca-static = %{version}-%{release}
Obsoletes: libmthca-static < %{version}-%{release}
%description devel
RDMA core development libraries and headers.
%package -n infiniband-diags
Summary: InfiniBand Diagnostic Tools
Requires: libibumad%{?_isa} = %{version}-%{release}
Provides: perl(IBswcountlimits)
Provides: libibmad = %{version}-%{release}
Obsoletes: libibmad < %{version}-%{release}
Obsoletes: openib-diags < 1.3
%description -n infiniband-diags
This package provides IB diagnostic programs and scripts needed to diagnose an
IB subnet. infiniband-diags now also provides libibmad. 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.
%package -n infiniband-diags-compat
Summary: OpenFabrics Alliance InfiniBand Diagnostic Tools
%description -n infiniband-diags-compat
Deprecated scripts and utilities which provide duplicated functionality, most
often at a reduced performance. These are maintained for the time being for
compatibility reasons.
%package -n libibverbs
Summary: A library and drivers for direct userspace use of RDMA (InfiniBand/iWARP/RoCE) hardware
Requires: %{name}%{?_isa} = %{version}-%{release}
Provides: libcxgb3 = %{version}-%{release}
Obsoletes: libcxgb3 < %{version}-%{release}
Provides: libcxgb4 = %{version}-%{release}
Obsoletes: libcxgb4 < %{version}-%{release}
Provides: libefa = %{version}-%{release}
Obsoletes: libefa < %{version}-%{release}
Provides: libhfi1 = %{version}-%{release}
Obsoletes: libhfi1 < %{version}-%{release}
Provides: libi40iw = %{version}-%{release}
Obsoletes: libi40iw < %{version}-%{release}
Provides: libipathverbs = %{version}-%{release}
Obsoletes: libipathverbs < %{version}-%{release}
%if 0%{?dma_coherent}
Provides: libirdma = %{version}-%{release}
Obsoletes: libirdma < %{version}-%{release}
Provides: libmlx4 = %{version}-%{release}
Obsoletes: libmlx4 < %{version}-%{release}
%ifnarch s390x
Provides: libmlx5 = %{version}-%{release}
Obsoletes: libmlx5 < %{version}-%{release}
%endif
%endif
Provides: libmthca = %{version}-%{release}
Obsoletes: libmthca < %{version}-%{release}
Provides: libnes = %{version}-%{release}
Obsoletes: libnes < %{version}-%{release}
Provides: libocrdma = %{version}-%{release}
Obsoletes: libocrdma < %{version}-%{release}
Provides: librxe = %{version}-%{release}
Obsoletes: librxe < %{version}-%{release}
Provides: libusnic_verbs = %{version}-%{release}
Obsoletes: libusnic_verbs < %{version}-%{release}
%if 0%{?fedora} >= 34
Obsoletes: libibverbs-core < %{version}-%{release}
%endif
%description -n libibverbs
libibverbs is a library that allows userspace processes to use RDMA
@ -152,19 +187,20 @@ fast path operations.
Device-specific plug-in ibverbs userspace drivers are included:
- libcxgb3: Chelsio T3 iWARP HCA
- libcxgb4: Chelsio T4 iWARP HCA
- libefa: Amazon Elastic Fabric Adapter
- libhfi1: Intel Omni-Path HFI
- libhns: HiSilicon Hip06 SoC
- libi40iw: Intel Ethernet Connection X722 RDMA
- libipathverbs: QLogic InfiniPath HCA
- libmlx4: Mellanox ConnectX-3 InfiniBand HCA (except arm, s390)
- libmlx5: Mellanox Connect-IB/X-4+ InfiniBand HCA (except arm, s390, s390x)
- 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
- libnes: NetEffect RNIC
- 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 libibverbs-utils
@ -178,7 +214,6 @@ displays information about RDMA devices.
%package -n ibacm
Summary: InfiniBand Communication Manager Assistant
%{?systemd_requires}
Requires: %{name}%{?_isa} = %{version}-%{release}
%description -n ibacm
The ibacm daemon helps reduce the load of managing path record lookups on
@ -193,7 +228,6 @@ library knows how to talk directly to the ibacm daemon to retrieve data.
%package -n iwpmd
Summary: iWarp Port Mapper userspace daemon
%{?systemd_requires}
Requires: %{name}%{?_isa} = %{version}-%{release}
%description -n iwpmd
iwpmd provides a userspace service for iWarp drivers to claim
@ -201,7 +235,6 @@ tcp ports through the standard socket interface.
%package -n libibumad
Summary: OpenFabrics Alliance InfiniBand umad (userspace management datagram) library
Requires: %{name}%{?_isa} = %{version}-%{release}
%description -n libibumad
libibumad provides the userspace management datagram (umad) library
@ -210,7 +243,6 @@ are used by the IB diagnostic and management tools, including OpenSM.
%package -n librdmacm
Summary: Userspace RDMA Connection Manager
Requires: %{name}%{?_isa} = %{version}-%{release}
%description -n librdmacm
librdmacm provides a userspace RDMA Communication Management API.
@ -228,14 +260,32 @@ Obsoletes: srptools <= 1.0.3
Provides: srptools = %{version}-%{release}
Obsoletes: openib-srptools <= 0.0.6
%{?systemd_requires}
Requires: %{name}%{?_isa} = %{version}-%{release}
%description -n srp_daemon
In conjunction with the kernel ib_srp driver, srp_daemon allows you to
discover and use SCSI devices via the SCSI RDMA Protocol over InfiniBand.
%if %{with_pyverbs}
%package -n python3-pyverbs
Summary: Python3 API over IB verbs
%{?python_provide:%python_provide python3-pyverbs}
%description -n python3-pyverbs
Pyverbs is a Cython-based Python API over libibverbs, providing an
easy, object-oriented access to IB verbs.
%endif
%prep
%setup
%setup -q
%patch1 -p1
%patch2 -p1
%patch3 -p1
%if 0%{?fedora}
%patch9998 -p1
%endif
%if 0%{?rhel}
%patch9999 -p1
%endif
%build
@ -263,10 +313,23 @@ discover and use SCSI devices via the SCSI RDMA Protocol over InfiniBand.
-DCMAKE_INSTALL_SYSTEMD_SERVICEDIR:PATH=%{_unitdir} \
-DCMAKE_INSTALL_INITDDIR:PATH=%{_initrddir} \
-DCMAKE_INSTALL_RUNDIR:PATH=%{_rundir} \
-DCMAKE_INSTALL_DOCDIR:PATH=%{_docdir}/%{name}-%{version} \
-DCMAKE_INSTALL_DOCDIR:PATH=%{_docdir}/%{name} \
-DCMAKE_INSTALL_UDEV_RULESDIR:PATH=%{_udevrulesdir} \
%{EXTRA_CMAKE_FLAGS} \
.
-DCMAKE_INSTALL_PERLDIR:PATH=%{perl_vendorlib} \
-DENABLE_IBDIAGS_COMPAT:BOOL=True \
%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
@ -277,27 +340,21 @@ mkdir -p %{buildroot}/%{_sysconfdir}/rdma
# Red Hat specific glue
%global dracutlibdir %{_prefix}/lib/dracut
%global sysmodprobedir %{_prefix}/lib/modprobe.d
mkdir -p %{buildroot}%{_sysconfdir}/udev/rules.d
mkdir -p %{buildroot}%{_libexecdir}
mkdir -p %{buildroot}%{_udevrulesdir}
mkdir -p %{buildroot}%{dracutlibdir}/modules.d/05rdma
mkdir -p %{buildroot}%{sysmodprobedir}
install -D -m0644 redhat/rdma.conf %{buildroot}/%{_sysconfdir}/rdma/rdma.conf
install -D -m0644 redhat/rdma.sriov-vfs %{buildroot}/%{_sysconfdir}/rdma/sriov-vfs
%if 0%{?dma_coherent}
install -D -m0644 redhat/rdma.mlx4.conf %{buildroot}/%{_sysconfdir}/rdma/mlx4.conf
install -D -m0755 redhat/rdma.modules-setup.sh %{buildroot}%{dracutlibdir}/modules.d/05rdma/module-setup.sh
install -D -m0644 redhat/rdma.mlx4.sys.modprobe %{buildroot}%{sysmodprobedir}/libmlx4.conf
install -D -m0755 redhat/rdma.mlx4-setup.sh %{buildroot}%{_libexecdir}/mlx4-setup.sh
%endif
install -D -m0644 redhat/rdma.service %{buildroot}%{_unitdir}/rdma.service
install -D -m0755 redhat/rdma.modules-setup.sh %{buildroot}%{dracutlibdir}/modules.d/05rdma/module-setup.sh
install -D -m0644 redhat/rdma.udev-rules %{buildroot}%{_udevrulesdir}/98-rdma.rules
install -D -m0755 redhat/rdma.kernel-init %{buildroot}%{_libexecdir}/rdma-init-kernel
install -D -m0755 redhat/rdma.sriov-init %{buildroot}%{_libexecdir}/rdma-set-sriov-vf
rm -f %{buildroot}%{_sysconfdir}/rdma/modules/rdma.conf
install -D -m0644 redhat/rdma.conf %{buildroot}%{_sysconfdir}/rdma/modules/rdma.conf
# ibacm
bin/ib_acme -D . -O
install -D -m0644 ibacm_opts.cfg %{buildroot}%{_sysconfdir}/rdma/
(if [ -d %{__cmake_builddir} ]; then cd %{__cmake_builddir}; fi
./bin/ib_acme -D . -O &&
install -D -m0644 ibacm_opts.cfg %{buildroot}%{_sysconfdir}/rdma/)
# Delete the package's init.d scripts
rm -rf %{buildroot}/%{_initrddir}/
@ -309,6 +366,13 @@ rm -f %{buildroot}/%{_sbindir}/srp_daemon.sh
%ldconfig_scriptlets -n librdmacm
%post -n rdma-core
if [ -x /sbin/udevadm ]; then
/sbin/udevadm trigger --subsystem-match=infiniband --action=change || true
/sbin/udevadm trigger --subsystem-match=net --action=change || true
/sbin/udevadm trigger --subsystem-match=infiniband_mad --action=change || true
fi
%post -n ibacm
%systemd_post ibacm.service
%preun -n ibacm
@ -332,79 +396,191 @@ rm -f %{buildroot}/%{_sbindir}/srp_daemon.sh
%files
%dir %{_sysconfdir}/rdma
%dir %{_docdir}/%{name}-%{version}
%doc %{_docdir}/%{name}-%{version}/README.md
%doc %{_docdir}/%{name}-%{version}/rxe.md
%doc %{_docdir}/%{name}-%{version}/udev.md
%doc %{_docdir}/%{name}-%{version}/tag_matching.md
%if 0%{?dma_coherent}
%dir %{_docdir}/%{name}
%doc %{_docdir}/%{name}/70-persistent-ipoib.rules
%doc %{_docdir}/%{name}/README.md
%doc %{_docdir}/%{name}/rxe.md
%doc %{_docdir}/%{name}/udev.md
%doc %{_docdir}/%{name}/tag_matching.md
%config(noreplace) %{_sysconfdir}/rdma/mlx4.conf
%config(noreplace) %{_sysconfdir}/modprobe.d/mlx4.conf
%{sysmodprobedir}/libmlx4.conf
%{_libexecdir}/mlx4-setup.sh
%endif
%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
%config(noreplace) %{_sysconfdir}/rdma/rdma.conf
%config(noreplace) %{_sysconfdir}/rdma/sriov-vfs
%config(noreplace) %{_sysconfdir}/udev/rules.d/*
%dir %{_sysconfdir}/modprobe.d
%config(noreplace) %{_sysconfdir}/modprobe.d/mlx4.conf
%config(noreplace) %{_sysconfdir}/modprobe.d/truescale.conf
%{_unitdir}/rdma-hw.target
%{_unitdir}/rdma-load-modules@.service
%{_unitdir}/rdma.service
%dir %{dracutlibdir}
%dir %{dracutlibdir}/modules.d
%dir %{dracutlibdir}/modules.d/05rdma
%{dracutlibdir}/modules.d/05rdma/module-setup.sh
%dir %{_udevrulesdir}
%{_udevrulesdir}/../rdma_rename
%{_udevrulesdir}/60-rdma-ndd.rules
%{_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
%{_udevrulesdir}/98-rdma.rules
%{_libexecdir}/rdma-init-kernel
%{_libexecdir}/rdma-set-sriov-vf
%dir %{sysmodprobedir}
%{sysmodprobedir}/libmlx4.conf
%{_libexecdir}/mlx4-setup.sh
%{_libexecdir}/truescale-serdes.cmds
%{_bindir}/rxe_cfg
%{_sbindir}/rdma-ndd
%{_unitdir}/rdma-ndd.service
%{_mandir}/man7/rxe*
%{_mandir}/man8/rdma-ndd.*
%{_mandir}/man8/rxe*
%license COPYING.*
%files devel
%doc %{_docdir}/%{name}-%{version}/MAINTAINERS
%doc %{_docdir}/%{name}/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/efadv*
%{_mandir}/man3/ibv_*
%{_mandir}/man3/rdma*
%{_mandir}/man3/umad*
%{_mandir}/man3/*_to_ibv_rate.*
%{_mandir}/man7/rdma_cm.*
%if 0%{?dma_coherent}
%{_mandir}/man3/manadv*
%{_mandir}/man3/mlx5dv*
%{_mandir}/man7/mlx5dv*
%{_mandir}/man3/mlx4dv*
%{_mandir}/man7/efadv*
%{_mandir}/man7/manadv*
%{_mandir}/man7/mlx5dv*
%{_mandir}/man7/mlx4dv*
%endif
%{_mandir}/man3/ibnd_*
%files -n infiniband-diags-compat
%{_sbindir}/ibcheckerrs
%{_mandir}/man8/ibcheckerrs*
%{_sbindir}/ibchecknet
%{_mandir}/man8/ibchecknet*
%{_sbindir}/ibchecknode
%{_mandir}/man8/ibchecknode*
%{_sbindir}/ibcheckport
%{_mandir}/man8/ibcheckport.*
%{_sbindir}/ibcheckportwidth
%{_mandir}/man8/ibcheckportwidth*
%{_sbindir}/ibcheckportstate
%{_mandir}/man8/ibcheckportstate*
%{_sbindir}/ibcheckwidth
%{_mandir}/man8/ibcheckwidth*
%{_sbindir}/ibcheckstate
%{_mandir}/man8/ibcheckstate*
%{_sbindir}/ibcheckerrors
%{_mandir}/man8/ibcheckerrors*
%{_sbindir}/ibdatacounts
%{_mandir}/man8/ibdatacounts*
%{_sbindir}/ibdatacounters
%{_mandir}/man8/ibdatacounters*
%{_sbindir}/ibdiscover.pl
%{_mandir}/man8/ibdiscover*
%{_sbindir}/ibswportwatch.pl
%{_mandir}/man8/ibswportwatch*
%{_sbindir}/ibqueryerrors.pl
%{_sbindir}/iblinkinfo.pl
%{_sbindir}/ibprintca.pl
%{_mandir}/man8/ibprintca*
%{_sbindir}/ibprintswitch.pl
%{_mandir}/man8/ibprintswitch*
%{_sbindir}/ibprintrt.pl
%{_mandir}/man8/ibprintrt*
%{_sbindir}/set_nodedesc.sh
%files -n 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}/ibclearerrors
%{_mandir}/man8/ibclearerrors*
%{_sbindir}/ibclearcounters
%{_mandir}/man8/ibclearcounters*
%{_sbindir}/ibstatus
%{_mandir}/man8/ibstatus*
%{_mandir}/man8/infiniband-diags*
%{_libdir}/libibmad*.so.*
%{_libdir}/libibnetdisc*.so.*
%{perl_vendorlib}/IBswcountlimits.pm
%config(noreplace) %{_sysconfdir}/infiniband-diags/error_thresholds
%config(noreplace) %{_sysconfdir}/infiniband-diags/ibdiag.conf
%files -n libibverbs
%dir %{_sysconfdir}/libibverbs.d
%dir %{_libdir}/libibverbs
%{_libdir}/libefa.so.*
%{_libdir}/libibverbs*.so.*
%{_libdir}/libibverbs/*.so
%if 0%{?dma_coherent}
%{_libdir}/libmana.so.*
%{_libdir}/libmlx5.so.*
%{_libdir}/libmlx4.so.*
%endif
%config(noreplace) %{_sysconfdir}/libibverbs.d/*.driver
%doc %{_docdir}/%{name}-%{version}/libibverbs.md
%doc %{_docdir}/%{name}/libibverbs.md
%files -n libibverbs-utils
%{_bindir}/ibv_*
@ -414,15 +590,15 @@ rm -f %{buildroot}/%{_sbindir}/srp_daemon.sh
%config(noreplace) %{_sysconfdir}/rdma/ibacm_opts.cfg
%{_bindir}/ib_acme
%{_sbindir}/ibacm
%{_mandir}/man1/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/*
%doc %{_docdir}/%{name}-%{version}/ibacm.md
%doc %{_docdir}/%{name}/ibacm.md
%files -n iwpmd
%{_sbindir}/iwpmd
@ -440,7 +616,7 @@ rm -f %{buildroot}/%{_sbindir}/srp_daemon.sh
%{_libdir}/librdmacm*.so.*
%dir %{_libdir}/rsocket
%{_libdir}/rsocket/*.so*
%doc %{_docdir}/%{name}-%{version}/librdmacm.md
%doc %{_docdir}/%{name}/librdmacm.md
%{_mandir}/man7/rsocket.*
%files -n librdmacm-utils
@ -481,58 +657,17 @@ rm -f %{buildroot}/%{_sbindir}/srp_daemon.sh
%{_sbindir}/srp_daemon
%{_sbindir}/run_srp_daemon
%{_udevrulesdir}/60-srp_daemon.rules
%{_mandir}/man1/ibsrpdm.1*
%{_mandir}/man1/srp_daemon.1*
%{_mandir}/man5/srp_daemon.service.5*
%{_mandir}/man5/srp_daemon_port@.service.5*
%doc %{_docdir}/%{name}-%{version}/ibsrpdm.md
%{_mandir}/man8/ibsrpdm.8*
%{_mandir}/man8/srp_daemon.8*
%doc %{_docdir}/%{name}/ibsrpdm.md
%if %{with_pyverbs}
%files -n python3-pyverbs
%{python3_sitearch}/pyverbs
%{_docdir}/%{name}/tests/*.py
%endif
%changelog
* Sat Feb 02 2019 Fedora Release Engineering <releng@fedoraproject.org> - 20.1-3
- Rebuilt for https://fedoraproject.org/wiki/Fedora_30_Mass_Rebuild
* Wed Jan 23 2019 Björn Esser <besser82@fedoraproject.org> - 20.1-2
- Append curdir to CMake invokation. (#1668512)
* Fri Oct 19 2018 Jarod Wilson <jarod@redhat.com> - 20.1-1
- Long overdue update to upstream v20.1 stable release
* Sat Jul 14 2018 Fedora Release Engineering <releng@fedoraproject.org> - 16.2-5
- Rebuilt for https://fedoraproject.org/wiki/Fedora_29_Mass_Rebuild
* Sun Mar 18 2018 Iryna Shcherbina <ishcherb@redhat.com> - 16.2-4
- Update Python 2 dependency declarations to new packaging standards
(See https://fedoraproject.org/wiki/FinalizingFedoraSwitchtoPython3)
* Tue Feb 06 2018 Orion Poplawski <orion@nwra.com> - 16.2-3
- Build for s390/x
* Tue Feb 06 2018 Patrick Uiterwijk <patrick@puiterwijk.org> - 16.2-2
- Fix escaped macro
* Sun Feb 04 2018 Doug Ledford <dledford@redhat.com> - 16.2-1
- Update to rdma-core-16.2
- Drop the old sysv initscript files
* Wed Aug 09 2017 Jarod Wilson <jarod@redhat.com> - 14-4
- Make use of systemd_requires, own srp_daemon dir
* Tue Aug 01 2017 Jarod Wilson <jarod@redhat.com> - 14-3
- Revert work-around for ppc64le library issues
- Add Obsoletes/Provides for libusnic_verbs
* Thu Jul 27 2017 Fedora Release Engineering <releng@fedoraproject.org> - 14-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Mass_Rebuild
* Tue Jul 25 2017 Jarod Wilson <jarod@redhat.com> - 14-1
- Update to upstream v14 release
- Sync packaging updates from RHEL and upstream
* Sat Feb 11 2017 Fedora Release Engineering <releng@fedoraproject.org> - 12-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_26_Mass_Rebuild
* Fri Jan 27 2017 Jarod Wilson <jarod@redhat.com> - 12-1
- Update to upstream final v12 release
* Wed Jan 25 2017 Jarod Wilson <jarod@redhat.com> - 12-0.1.rc3.1
- Initial import to Fedora package database via post-v12-rc3 git snapshot
%autochangelog

View File

@ -1 +1 @@
SHA512 (rdma-core-20.1.tar.gz) = 0c0939e2efa18a917235f591cc47e34a9036d52b842691291c296660b2d903c5b5bc2bd5c8117b1cb7dbd5037fe79b9f2900d2a5dc27a4895578c4338dafc168
SHA512 (rdma-core-44.0.tar.gz) = f31c63aee415fb4aa721fdec2e4d9fb2bef964b1bea93f0170d30fb03b1e798cb11d46bb123db4b2a5002dec17ec16dc6e6aeaebe9f84517bf538dd114726ae1