The package rpms/rdma-core.git has added or updated architecture specific content in its
spec file (ExclusiveArch/ExcludeArch or %ifarch/%ifnarch) in commit(s):
https://src.fedoraproject.org/cgit/rpms/rdma-core.git/commit/?id=2c2e63a5....
Change:
+%ifnarch s390x
Thanks.
Full change:
============
commit 2c2e63a506a95f55d86cd6c086230dee2848996c
Author: Doug Ledford <dledford(a)redhat.com>
Date: Sun Feb 4 14:59:03 2018 -0500
redhat/spec: Don't try to package unbuilt files
On architectures without coherent DMA semantics, rdma-core automatically
turns off those providers that have a hard requirement on coherent PCI
DMA. We need to conditionalize our files and such to compensate for the
missing files.
Signed-off-by: Doug Ledford <dledford(a)redhat.com>
diff --git a/rdma-core.spec b/rdma-core.spec
index 3959d4f..de56a48 100644
--- a/rdma-core.spec
+++ b/rdma-core.spec
@@ -3,6 +3,10 @@ Version: 16.2
Release: 1%{?dist}
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
@@ -90,10 +94,12 @@ 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}
+%endif
Provides: libnes-static = %{version}-%{release}
Obsoletes: libnes-static < %{version}-%{release}
Provides: libocrdma-static = %{version}-%{release}
@@ -121,12 +127,14 @@ Provides: libi40iw = %{version}-%{release}
Obsoletes: libi40iw < %{version}-%{release}
Provides: libipathverbs = %{version}-%{release}
Obsoletes: libipathverbs < %{version}-%{release}
+%if 0%{?dma_coherent}
Provides: libmlx4 = %{version}-%{release}
Obsoletes: libmlx4 < %{version}-%{release}
-%ifnarch s390x s390
+%ifnarch s390x
Provides: libmlx5 = %{version}-%{release}
Obsoletes: libmlx5 < %{version}-%{release}
%endif
+%endif
Provides: libmthca = %{version}-%{release}
Obsoletes: libmthca < %{version}-%{release}
Provides: libnes = %{version}-%{release}
@@ -153,8 +161,8 @@ Device-specific plug-in ibverbs userspace drivers are included:
- libhns: HiSilicon Hip06 SoC
- libi40iw: Intel Ethernet Connection X722 RDMA
- libipathverbs: QLogic InfiniPath HCA
-- libmlx4: Mellanox ConnectX-3 InfiniBand HCA
-- libmlx5: Mellanox Connect-IB/X-4+ InfiniBand HCA
+- libmlx4: Mellanox ConnectX-3 InfiniBand HCA (except arm, s390)
+- libmlx5: Mellanox Connect-IB/X-4+ InfiniBand HCA (except arm, s390, s390x)
- libmthca: Mellanox InfiniBand HCA
- libnes: NetEffect RNIC
- libocrdma: Emulex OneConnect RDMA/RoCE Device
@@ -284,14 +292,16 @@ 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 -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 -m0644 redhat/rdma.mlx4.sys.modprobe
%{buildroot}%{sysmodprobedir}/libmlx4.conf
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
-install -D -m0755 redhat/rdma.mlx4-setup.sh %{buildroot}%{_libexecdir}/mlx4-setup.sh
# ibacm
bin/ib_acme -D . -O
@@ -341,7 +351,12 @@ rm -f %{buildroot}/%{_sbindir}/srp_daemon.sh
%doc %{_docdir}/%{name}-%{version}/rxe.md
%doc %{_docdir}/%{name}-%{version}/udev.md
%doc %{_docdir}/%{name}-%{version}/tag_matching.md
+%if 0%{?dma_coherent}
%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
@@ -350,7 +365,6 @@ rm -f %{buildroot}/%{_sbindir}/srp_daemon.sh
%config(noreplace) %{_sysconfdir}/rdma/rdma.conf
%config(noreplace) %{_sysconfdir}/rdma/sriov-vfs
%config(noreplace) %{_sysconfdir}/udev/rules.d/*
-%config(noreplace) %{_sysconfdir}/modprobe.d/mlx4.conf
%config(noreplace) %{_sysconfdir}/modprobe.d/truescale.conf
%{_unitdir}/rdma-hw.target
%{_unitdir}/rdma-load-modules@.service
@@ -363,10 +377,8 @@ rm -f %{buildroot}/%{_sbindir}/srp_daemon.sh
%{_udevrulesdir}/90-rdma-ulp-modules.rules
%{_udevrulesdir}/90-rdma-umad.rules
%{_udevrulesdir}/98-rdma.rules
-%{sysmodprobedir}/libmlx4.conf
%{_libexecdir}/rdma-init-kernel
%{_libexecdir}/rdma-set-sriov-vf
-%{_libexecdir}/mlx4-setup.sh
%{_libexecdir}/truescale-serdes.cmds
%{_bindir}/rxe_cfg
%{_sbindir}/rdma-ndd
@@ -388,22 +400,26 @@ rm -f %{buildroot}/%{_sbindir}/srp_daemon.sh
%{_mandir}/man3/umad*
%{_mandir}/man3/*_to_ibv_rate.*
%{_mandir}/man7/rdma_cm.*
-%ifnarch s390x s390
+%if 0%{?dma_coherent}
+%ifnarch s390x
%{_mandir}/man3/mlx5dv*
%{_mandir}/man7/mlx5dv*
%endif
%{_mandir}/man3/mlx4dv*
%{_mandir}/man7/mlx4dv*
+%endif
%files -n libibverbs
%dir %{_sysconfdir}/libibverbs.d
%dir %{_libdir}/libibverbs
%{_libdir}/libibverbs*.so.*
%{_libdir}/libibverbs/*.so
+%if 0%{?dma_coherent}
%ifnarch s390x s390
%{_libdir}/libmlx5.so.*
%endif
%{_libdir}/libmlx4.so.*
+%endif
%config(noreplace) %{_sysconfdir}/libibverbs.d/*.driver
%doc %{_docdir}/%{name}-%{version}/libibverbs.md
commit 978c40db8f133311b82a87f5ec167d397af3acab
Author: Doug Ledford <dledford(a)redhat.com>
Date: Sun Feb 4 14:38:52 2018 -0500
spec: Drop the old sysv initscript files
We aren't building for the old SysV initscripts package any more, so
drop the ifup-ib/ifdown-ib scripts that only work when the initscripts
package is installed. This keeps us in line with changes going into the
rdma-core-17 package release.
Signed-off-by: Doug Ledford <dledford(a)redhat.com>
diff --git a/rdma-core.spec b/rdma-core.spec
index c05b477..3959d4f 100644
--- a/rdma-core.spec
+++ b/rdma-core.spec
@@ -25,7 +25,7 @@ BuildRequires: systemd
BuildRequires: systemd-devel
BuildRequires: python
-Requires: dracut, kmod, systemd, initscripts
+Requires: dracut, kmod, systemd
# Red Hat/Fedora previously shipped redhat/ as a stand-alone
# package called 'rdma', which we're supplanting here.
Provides: rdma = %{version}-%{release}
@@ -277,7 +277,6 @@ mkdir -p %{buildroot}/%{_sysconfdir}/rdma
# Red Hat specific glue
%global dracutlibdir %{_prefix}/lib/dracut
%global sysmodprobedir %{_prefix}/lib/modprobe.d
-mkdir -p %{buildroot}/%{_sysconfdir}/sysconfig/network-scripts
mkdir -p %{buildroot}%{_sysconfdir}/udev/rules.d
mkdir -p %{buildroot}%{_libexecdir}
mkdir -p %{buildroot}%{_udevrulesdir}
@@ -286,8 +285,6 @@ 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
install -D -m0644 redhat/rdma.mlx4.conf %{buildroot}/%{_sysconfdir}/rdma/mlx4.conf
-install -D -m0755 redhat/rdma.ifup-ib
%{buildroot}/%{_sysconfdir}/sysconfig/network-scripts/ifup-ib
-install -D -m0755 redhat/rdma.ifdown-ib
%{buildroot}/%{_sysconfdir}/sysconfig/network-scripts/ifdown-ib
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
@@ -355,7 +352,6 @@ rm -f %{buildroot}/%{_sbindir}/srp_daemon.sh
%config(noreplace) %{_sysconfdir}/udev/rules.d/*
%config(noreplace) %{_sysconfdir}/modprobe.d/mlx4.conf
%config(noreplace) %{_sysconfdir}/modprobe.d/truescale.conf
-%{_sysconfdir}/sysconfig/network-scripts/*
%{_unitdir}/rdma-hw.target
%{_unitdir}/rdma-load-modules@.service
%{_unitdir}/rdma.service