Re: [PATCH rdma-core 07/10] redhat: Add pyverbs to RedHat specification

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hm... So CentOS 7 and it's progenitor are both still python2-based,
and I'm not seeing where a python3-Cython package would be coming
from, so I'm not so sure you want to default to python3 for el7. I'd
default to python2 there, and it's possible that package won't be
built in el7's native/shipping rdma-core packages, due to missing
build dependencies in the distro itself. You should be fine defaulting
to python3 for anything newer, but again, need to make sure new
dependencies actually exist in the target distribution.
On Mon, Nov 12, 2018 at 7:32 PM Leon Romanovsky <leon@xxxxxxxxxx> wrote:
>
> From: Noa Osherovich <noaos@xxxxxxxxxxxx>
>
> Update spec file and cbuild dependencies to allow pyverbs to be
> included in RedHat-based distributions.
>
> Signed-off-by: Noa Osherovich <noaos@xxxxxxxxxxxx>
> Signed-off-by: Alaa Hleihel <alaa@xxxxxxxxxxxx>
> Signed-off-by: Leon Romanovsky <leonro@xxxxxxxxxxxx>
> ---
>  buildlib/cbuild       |  4 ++--
>  redhat/rdma-core.spec | 23 +++++++++++++++++++++++
>  2 files changed, 25 insertions(+), 2 deletions(-)
>
> diff --git a/buildlib/cbuild b/buildlib/cbuild
> index 1cc54f31..098bea23 100755
> --- a/buildlib/cbuild
> +++ b/buildlib/cbuild
> @@ -119,7 +119,7 @@ class centos7(YumEnvironment):
>      specfile = "redhat/rdma-core.spec";
>
>  class centos7_epel(centos7):
> -    pkgs = (centos7.pkgs - {"cmake","make"}) | {"ninja-build","cmake3","pandoc"};
> +    pkgs = (centos7.pkgs - {"cmake","make"}) | {"ninja-build","cmake3","pandoc", 'python3-Cython', 'python3-devel'};
>      name = "centos7_epel";
>      use_make = False;
>      pandoc = True;
> @@ -135,7 +135,7 @@ class centos7_epel(centos7):
>
>  class fc28(Environment):
>      docker_parent = "fedora:28";
> -    pkgs = (centos7.pkgs - {"make"}) | {"ninja-build","pandoc","perl-generators"};
> +    pkgs = (centos7.pkgs - {"make"}) | {"ninja-build","pandoc","perl-generators","python3-Cython","python3-devel"};
>      name = "fc28";
>      specfile = "redhat/rdma-core.spec";
>      ninja_cmd = "ninja-build";
> diff --git a/redhat/rdma-core.spec b/redhat/rdma-core.spec
> index 644c3ffd..422ac010 100644
> --- a/redhat/rdma-core.spec
> +++ b/redhat/rdma-core.spec
> @@ -23,7 +23,13 @@ BuildRequires: pkgconfig(libnl-route-3.0)
>  BuildRequires: valgrind-devel
>  BuildRequires: systemd
>  BuildRequires: systemd-devel
> +%define with_pyverbs %{?_with_pyverbs: 1} %{?!_with_pyverbs: 0}
> +%if %{with_pyverbs}
> +BuildRequires: python3-devel
> +BuildRequires: python3-Cython
> +%else
>  BuildRequires: python
> +%endif
>  %if 0%{?fedora} >= 21
>  BuildRequires: perl-generators
>  %endif
> @@ -211,6 +217,14 @@ Requires: %{name}%{?_isa} = %{version}-%{release}
>  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 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.
> +
>  %prep
>  %setup
>
> @@ -244,6 +258,10 @@ discover and use SCSI devices via the SCSI RDMA Protocol over InfiniBand.
>           -DCMAKE_INSTALL_UDEV_RULESDIR:PATH=%{_udevrulesdir} \
>  %if %{with_static}
>           -DENABLE_STATIC=1 \
> +%endif
> +%if %{with_pyverbs}
> +         -DPYTHON_EXECUTABLE:PATH=%{__python3} \
> +         -DCMAKE_INSTALL_PYTHON_ARCH_LIB:PATH=%{python3_sitearch} \
>  %endif
>           %{EXTRA_CMAKE_FLAGS}
>  %make_jobs
> @@ -469,3 +487,8 @@ rm -rf %{buildroot}/%{_sbindir}/srp_daemon.sh
>  %{_mandir}/man5/srp_daemon.service.5*
>  %{_mandir}/man5/srp_daemon_port@.service.5*
>  %doc %{_docdir}/%{name}-%{version}/ibsrpdm.md
> +
> +%if %{with_pyverbs}
> +%files -n python3-pyverbs
> +%{python3_sitearch}/pyverbs
> +%endif
> --
> 2.19.1
>



[Index of Archives]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Photo]     [Yosemite News]     [Yosemite Photos]     [Linux Kernel]     [Linux SCSI]     [XFree86]

  Powered by Linux