Bug 433418 - Review Request: librdmacm - Userspace RDMA Connection Manager
Review Request: librdmacm - Userspace RDMA Connection Manager
Status: CLOSED NEXTRELEASE
Product: Fedora
Classification: Fedora
Component: Package Review (Show other bugs)
rawhide
All Linux
medium Severity medium
: ---
: ---
Assigned To: Jason Tibbitts
Fedora Extras Quality Assurance
:
Depends On:
Blocks:
  Show dependency treegraph
 
Reported: 2008-02-19 00:55 EST by Roland Dreier
Modified: 2008-02-24 12:27 EST (History)
2 users (show)

See Also:
Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of:
Environment:
Last Closed: 2008-02-24 12:27:29 EST
Type: ---
Regression: ---
Mount Type: ---
Documentation: ---
CRM:
Verified Versions:
Category: ---
oVirt Team: ---
RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: ---
tibbs: fedora‑review+
kevin: fedora‑cvs+


Attachments (Terms of Use)

  None (edit)
Description Roland Dreier 2008-02-19 00:55:14 EST
Spec URL: http://digitalvampire.org/fedora/librdmacm.spec
SRPM URL: http://digitalvampire.org/fedora/librdmacm-1.0.6-1.fc8.src.rpm
Description: 
librdmacm is a library that allows applications to set up reliable
connected and unreliable datagram transfers when using RDMA adapters.
It provides a transport-neutral interface in the sense that the same
code can be used for both InfiniBand and iWARP adapters.  The
interface is based on sockets, but adapted for queue pair (QP) based
semantics: communication must use a specific RDMA device, and data
transfers are message-based.

librdmacm only provides communication management (connection setup
and tear-down) and works in conjunction with the verbs interface
provided by libibverbs, which provides the interface used to actually
transfer data.
Comment 1 Jason Tibbitts 2008-02-19 13:58:46 EST
This fails to build for me:

checking for ibv_get_device_list in -libverbs... no
configure: error: ibv_get_device_list() not found.  librdmacm requires libibverbs.
error: Bad exit status from /var/tmp/rpm-tmp.55809 (%build)

I added a build dependency on libibverbs-devel and it built OK with no
complaints from rpmlint.  Full review forthcoming...
Comment 2 Roland Dreier 2008-02-19 23:28:30 EST
oops, sorry about that... I've only tested on my development systems, which all
have libibverbs-devel.

I've added

BuildRequires: libibverbs-devel >= 1.1-1

to my spec file, thanks.
Comment 3 Jason Tibbitts 2008-02-20 23:55:35 EST
Unfortunately rawhide ended up breaking so when I got back to this I couldn't
build it.  I'll get back to it as soon as rawhide unbreaks.
Comment 4 Jason Tibbitts 2008-02-21 15:56:39 EST
OK, rawhide unbroke and I finally managed to get my local mirror updated.  So
it's clear, I'm reviewing the package with the libiverbs-devel dependency
included.

This package includes a static libarary.  That's OK (it's discouraged but
still left to the maintainer's discretion) but we have a few guidelines to
follow.  Specifically, the static library needs to be in a separate -static
package.  See the "Packaging Static Libraries" section of
http://fedoraproject.org/wiki/Packaging/Guidelines for more info.

* source files match upstream:
   6ce541b0de7752d87782901ffe45a2035eb499a548f80a278e8ce5102d032148
   librdmacm-1.0.6.tar.gz
* package meets naming and versioning guidelines.
* specfile is properly named, is cleanly written and uses macros consistently.
* summary is OK.
* description is OK.
* dist tag is present.
* build root is OK.
* license field matches the actual license.
* license is open source-compatible.
* license text included in package.
* latest version is being packaged.
* BuildRequires are proper.
* compiler flags are appropriate.
* %clean is present.
* package builds in mock (rawhide, x86_64).
* package installs properly
* debuginfo package looks complete.
* rpmlint is silent.
* final provides and requires are sane:
  librdmacm-1.0.6-1.fc9.x86_64.rpm
   librdmacm.so.1()(64bit)
   librdmacm.so.1(RDMACM_1.0)(64bit)
   librdmacm = 1.0.6-1.fc9
  =
   /sbin/ldconfig
   libibverbs.so.1()(64bit)
   libibverbs.so.1(IBVERBS_1.0)(64bit)
   libibverbs.so.1(IBVERBS_1.1)(64bit)
   librdmacm.so.1()(64bit)

  librdmacm-devel-1.0.6-1.fc9.x86_64.rpm
   librdmacm-devel = 1.0.6-1.fc9
  =
   /usr/include/infiniband/verbs.h
   librdmacm = 1.0.6-1.fc9
   librdmacm.so.1()(64bit)

  librdmacm-utils-1.0.6-1.fc9.x86_64.rpm
   librdmacm-utils = 1.0.6-1.fc9
  =
   libibverbs.so.1()(64bit)
   libibverbs.so.1(IBVERBS_1.0)(64bit)
   libibverbs.so.1(IBVERBS_1.1)(64bit)
   librdmacm = 1.0.6-1.fc9
   librdmacm.so.1()(64bit)
   librdmacm.so.1(RDMACM_1.0)(64bit)

* %check is not present because there's no updates.  I have no idea how to
  actually test this, although I did run the installed binaries and verified
  that they either printed help messages or complained about lack of
  infiniband hardware.
* shared libraries installed; ldconfig called properly.
* unversioned so files are in the -devel package.
* owns the directories it creates.
* doesn't own any directories it shouldn't.
* no duplicates in %files.
* file permissions are appropriate.
* scriptlets are OK (ldconfig).
* code, not content.
* documentation is small, so no -doc subpackage is necessary.
* %docs are not necessary for the proper functioning of the package.
* headers are in the -devel package.
* no pkgconfig files.
X static libraries are present but not in a -static package.
* no libtool .la files.
Comment 5 Roland Dreier 2008-02-22 23:31:19 EST
Thanks for the review -- sorry for the glitches.  I just uploaded new packages:

Spec URL: http://digitalvampire.org/fedora/librdmacm.spec
SRPM URL: http://digitalvampire.org/fedora/librdmacm-1.0.6-2.fc8.src.rpm

which should fix both the issues you found:

* Fri Feb 22 2008 Roland Dreier <rdreier@cisco.com> - 1.0.6-2
- Spec file cleanups from Fedora review: add BuildRequires for
  libibverbs, and move the static library to -devel-static.

The only rpmlint complaint now is:

librdmacm-devel-static.x86_64: W: no-documentation

which I think is OK, because all the documentation just happens to be in other
packages.
Comment 6 Jason Tibbitts 2008-02-22 23:40:45 EST
Looks good except the name of the static lib package should be just
librdmacm-static.  But just three trivial changes to the spec which you can
easily make when you check in, so:

APPROVED
Comment 7 Roland Dreier 2008-02-23 12:30:09 EST
New Package CVS Request
=======================
Package Name: librdmacm
Short Description: Userspace RDMA Connection Manager
Owners: rolandd@cisco.com
Branches: F-7 F-8
InitialCC: 
Cvsextras Commits: yes
Comment 8 Kevin Fenzi 2008-02-23 23:22:57 EST
cvs done.
Comment 9 Roland Dreier 2008-02-24 12:27:29 EST
Successfully built.

Note You need to log in before you can comment on or make changes to this bug.