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

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

 



On Wed, Nov 14, 2018 at 10:07:44AM -0800, Jarod Wilson wrote:
> 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.

Am I need to add similar to fedora checks ("%if 0%{?fedora} >= 25") to
ensure that?

Thanks

> 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