diff --git a/rdma-core.spec b/rdma-core.spec
index a3003ab..3ca5515 100644
--- a/rdma-core.spec
+++ b/rdma-core.spec
@@ -1,6 +1,6 @@
 Name: rdma-core
 Version: 27.0
-Release: 1%{?dist}
+Release: 2%{?dist}
 Summary: RDMA core userspace libraries and daemons
 
 # Almost everything is licensed under the OFA dual GPLv2, 2 Clause BSD license
@@ -24,7 +24,11 @@ BuildRequires: /usr/bin/rst2man
 BuildRequires: valgrind-devel
 BuildRequires: systemd
 BuildRequires: systemd-devel
+%if 0%{?fedora} >= 32
+%define with_pyverbs %{?_with_pyverbs: 0} %{?!_with_pyverbs: 1}
+%else
 %define with_pyverbs %{?_with_pyverbs: 1} %{?!_with_pyverbs: 0}
+%endif
 %if %{with_pyverbs}
 BuildRequires: python3-devel
 BuildRequires: python3-Cython
@@ -35,6 +39,13 @@ BuildRequires: python3
 BuildRequires: python
 %endif
 %endif
+
+%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
@@ -76,19 +87,19 @@ 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}
-Requires: libibumad = %{version}-%{release}
+Requires: libibumad{?_isa} = %{version}-%{release}
 Provides: libibumad-devel = %{version}-%{release}
 Obsoletes: libibumad-devel < %{version}-%{release}
-Requires: librdmacm = %{version}-%{release}
+Requires: librdmacm{?_isa} = %{version}-%{release}
 Provides: librdmacm-devel = %{version}-%{release}
 Obsoletes: librdmacm-devel < %{version}-%{release}
-Requires: ibacm = %{version}-%{release}
+Requires: ibacm{?_isa} = %{version}-%{release}
 Provides: ibacm-devel = %{version}-%{release}
 Obsoletes: ibacm-devel < %{version}-%{release}
-Requires: infiniband-diags = %{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}
@@ -106,7 +117,7 @@ RDMA core development libraries and headers.
 
 %package -n infiniband-diags
 Summary: InfiniBand Diagnostic Tools
-Requires: libibumad = %{version}-%{release}
+Requires: libibumad{?_isa} = %{version}-%{release}
 Provides: perl(IBswcountlimits)
 Provides: libibmad = %{version}-%{release}
 Obsoletes: libibmad < %{version}-%{release}
@@ -400,12 +411,10 @@ rm -f %{buildroot}/%{_sbindir}/srp_daemon.sh
 %{_libexecdir}/rdma-set-sriov-vf
 %{_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
@@ -554,7 +563,9 @@ rm -f %{buildroot}/%{_sbindir}/srp_daemon.sh
 
 %files -n libibverbs-utils
 %{_bindir}/ibv_*
+%{_bindir}/rxe_cfg
 %{_mandir}/man1/ibv_*
+%{_mandir}/man8/rxe*
 
 %files -n ibacm
 %config(noreplace) %{_sysconfdir}/rdma/ibacm_opts.cfg
@@ -640,6 +651,9 @@ rm -f %{buildroot}/%{_sbindir}/srp_daemon.sh
 %endif
 
 %changelog
+* 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