diff --git a/_service b/_service
index f0d6155..69540ed 100644
--- a/_service
+++ b/_service
@@ -7,10 +7,11 @@
openmpi
@PARENT_TAG@.@TAG_OFFSET@.%h
v(.*)
- v4.1.4
+ \1
+ ffb0adcdd677a02ab396145c40352f8189132b86
openmpi*.tar
- zst
+ bz2
diff --git a/btl-openib-Add-VF-support-for-ConnectX-4-5-and-6.patch b/btl-openib-Add-VF-support-for-ConnectX-4-5-and-6.patch
new file mode 100644
index 0000000..cc7db16
--- /dev/null
+++ b/btl-openib-Add-VF-support-for-ConnectX-4-5-and-6.patch
@@ -0,0 +1,39 @@
+commit 034e90d7efb94011d7018266586588801c3afdbc
+Author: Nicolas Morey-Chaisemartin
+Date: Tue Sep 13 15:48:03 2022 +0200
+
+ btl: openib: Add VF support for ConnectX 4, 5 and 6
+
+ Signed-off-by: Nicolas Morey-Chaisemartin
+
+diff --git opal/mca/btl/openib/mca-btl-openib-device-params.ini opal/mca/btl/openib/mca-btl-openib-device-params.ini
+index c46c303a35d5..b9949de235b8 100644
+--- opal/mca/btl/openib/mca-btl-openib-device-params.ini
++++ opal/mca/btl/openib/mca-btl-openib-device-params.ini
+@@ -174,7 +174,7 @@ max_inline_data = 256
+
+ [Mellanox ConnectX4]
+ vendor_id = 0x2c9,0x5ad,0x66a,0x8f1,0x1708,0x03ba,0x15b3,0x119f
+-vendor_part_id = 4115,4117
++vendor_part_id = 4115,4116,4117,4118
+ use_eager_rdma = 1
+ mtu = 4096
+ max_inline_data = 256
+@@ -183,7 +183,7 @@ max_inline_data = 256
+
+ [Mellanox ConnectX5]
+ vendor_id = 0x2c9,0x5ad,0x66a,0x8f1,0x1708,0x03ba,0x15b3,0x119f
+-vendor_part_id = 4119,4121
++vendor_part_id = 4119,4120,4121,4122
+ use_eager_rdma = 1
+ mtu = 4096
+ max_inline_data = 256
+@@ -192,7 +192,7 @@ max_inline_data = 256
+
+ [Mellanox ConnectX6]
+ vendor_id = 0x2c9,0x5ad,0x66a,0x8f1,0x1708,0x03ba,0x15b3,0x119f
+-vendor_part_id = 4123
++vendor_part_id = 4123,4124
+ use_eager_rdma = 1
+ mtu = 4096
+ max_inline_data = 256
diff --git a/openmpi-4.1.4.0.ffb0adcdd6.tar.zst b/openmpi-4.1.4.0.ffb0adcdd6.tar.zst
deleted file mode 100644
index 4320194..0000000
--- a/openmpi-4.1.4.0.ffb0adcdd6.tar.zst
+++ /dev/null
@@ -1,3 +0,0 @@
-version https://git-lfs.github.com/spec/v1
-oid sha256:e65d803fcc2831496069b411db47b6d95fd8accfba2ad69768973592cb4efe58
-size 6500275
diff --git a/openmpi-4.1.4.0.ffb0adcdd677.tar.bz2 b/openmpi-4.1.4.0.ffb0adcdd677.tar.bz2
new file mode 100644
index 0000000..df316e7
--- /dev/null
+++ b/openmpi-4.1.4.0.ffb0adcdd677.tar.bz2
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:8520146236aef42a3406e1a7943f1626305465719a65fd10c4ef176019f87f91
+size 6553451
diff --git a/openmpi4-rpmlintrc b/openmpi4-rpmlintrc
index 446289f..e8b2f4c 100644
--- a/openmpi4-rpmlintrc
+++ b/openmpi4-rpmlintrc
@@ -6,3 +6,4 @@ addFilter("openmpi.*-devel.* shared-lib-calls-exit")
addFilter("openmpi.*-libs.* rpath-in-buildconfig")
addFilter("openmpi.*-libs.* shared-lib-calls-exit")
addFilter("openmpi.*-libs.* useless-provides")
+addFilter("libopenmpi.* shlib-policy-name-error")
diff --git a/openmpi4.changes b/openmpi4.changes
index 74f26bf..ae571cc 100644
--- a/openmpi4.changes
+++ b/openmpi4.changes
@@ -1,3 +1,19 @@
+-------------------------------------------------------------------
+Fri Sep 23 10:24:16 UTC 2022 - Nicolas Morey-Chaisemartin
+
+- Replace btl-openib-Add-VF-support-for-ConnectX-5-and-6.patch
+ by btl-openib-Add-VF-support-for-ConnectX-4-5-and-6.patch to add ConnectX4 VF suppor
+
+-------------------------------------------------------------------
+Thu Sep 8 09:32:41 UTC 2022 - Nicolas Morey-Chaisemartin
+
+- Enable libfabric on all arch
+- Switch to external libevent for all flavors
+- Switch to external hwloc and PMIx for HPC builds
+- Update rpmlintrc file to ignore missing libname suffix in libopenmpi packages
+- Add patch btl-openib-Add-VF-support-for-ConnectX-5-and-6.patch to support
+ ConnectX 5 and 6 VF
+
-------------------------------------------------------------------
Wed Aug 3 08:18:34 UTC 2022 - Dirk Müller
diff --git a/openmpi4.spec b/openmpi4.spec
index be0aecc..2d65c94 100644
--- a/openmpi4.spec
+++ b/openmpi4.spec
@@ -117,9 +117,14 @@ ExclusiveArch: do_not_build
%global hpc_openmpi_dep_version %(VER=%m_f_ver; echo -n ${VER})
%global hpc_openmpi_dir openmpi%{hpc_openmpi_dep_version}
%global hpc_openmpi_pack_version %{hpc_openmpi_dep_version}
+%{bcond_without pmix}
+%{bcond_without hwloc}
+%else
+%{bcond_with pmix}
+%{bcond_with hwloc}
%endif
-%define git_ver .0.ffb0adcdd6
+%define git_ver .0.ffb0adcdd677
#############################################################################
#
@@ -134,12 +139,13 @@ Summary: An implementation of MPI/SHMEM (Version %{m_f_ver})
License: BSD-3-Clause
Group: Development/Libraries/Parallel
URL: https://www.open-mpi.org/
-Source0: openmpi-%{version}%{git_ver}.tar.zst
+Source0: openmpi-%{version}%{git_ver}.tar.bz2
Source2: openmpi4-rpmlintrc
Source3: macros.hpc-openmpi
Source4: mpivars.sh
Source5: mpivars.csh
Patch1: orted-mpir-add-version-to-shared-library.patch
+Patch2: btl-openib-Add-VF-support-for-ConnectX-4-5-and-6.patch
Provides: mpi
BuildRoot: %{_tmppath}/%{name}-%{version}-build
BuildRequires: autoconf
@@ -147,10 +153,13 @@ BuildRequires: automake
BuildRequires: fdupes
BuildRequires: flex
BuildRequires: hostname
+BuildRequires: libevent-devel
+BuildRequires: libfabric-devel
BuildRequires: libibumad-devel
BuildRequires: libibverbs-devel
BuildRequires: libtool
-BuildRequires: zstd
+# net-tools is required to run hostname
+BuildRequires: net-tools
%if 0%{?testsuite}
BuildArch: noarch
BuildRequires: %{package_name} = %{version}
@@ -161,6 +170,12 @@ BuildRequires: libucp-devel
BuildRequires: libucs-devel
BuildRequires: libuct-devel
%endif
+%if %{with hwloc}
+BuildRequires: hwloc-devel
+%endif
+%if %{with pmix}
+BuildRequires: pmix-devel
+%endif
%if %{without hpc}
BuildRequires: Modules
BuildRequires: gcc-c++
@@ -181,7 +196,6 @@ Requires: lib%{package_name} = %{version}
%ifarch %{ix86} x86_64
BuildRequires: infinipath-psm-devel
-BuildRequires: libfabric-devel
%endif
%ifarch x86_64
@@ -360,9 +374,11 @@ Summary: Runtime configuration files for openMPI %{?with_hpc:HPC} version
Group: Development/Libraries/Parallel
Provides: openmpi-runtime-config = %{version}
Conflicts: otherproviders(openmpi-runtime-config)
+%if %{without pmix}
# OpenMPI4 is PMIx enabled
Provides: pmix-runtime-config = %{version}
Conflicts: otherproviders(pmix-runtime-config)
+%endif
%description -n %{pname}%{m_f_ver}-config
OpenMPI is an implementation of the Message Passing Interface, a
@@ -399,6 +415,7 @@ echo without HPC
%endif
%setup -q -n openmpi-%{version}%{git_ver}
%patch1
+%patch2
%if %{without hpc}
cat > %{_sourcedir}/baselibs.conf <