Bug 433418 - Review Request: librdmacm - Userspace RDMA Connection Manager
Summary: Review Request: librdmacm - Userspace RDMA Connection Manager
Keywords:
Status: CLOSED NEXTRELEASE
Alias: None
Product: Fedora
Classification: Fedora
Component: Package Review
Version: rawhide
Hardware: All
OS: Linux
medium
medium
Target Milestone: ---
Assignee: Jason Tibbitts
QA Contact: Fedora Extras Quality Assurance
URL:
Whiteboard:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2008-02-19 05:55 UTC by Roland Dreier
Modified: 2008-02-24 17:27 UTC (History)
2 users (show)

Fixed In Version:
Clone Of:
Environment:
Last Closed: 2008-02-24 17:27:29 UTC
Type: ---
Embargoed:
j: fedora-review+
kevin: fedora-cvs+


Attachments (Terms of Use)

Description Roland Dreier 2008-02-19 05:55:14 UTC
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 18:58:46 UTC
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-20 04:28:30 UTC
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-21 04:55:35 UTC
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 20:56:39 UTC
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-23 04:31:19 UTC
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> - 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-23 04:40:45 UTC
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 17:30:09 UTC
New Package CVS Request
=======================
Package Name: librdmacm
Short Description: Userspace RDMA Connection Manager
Owners: rolandd
Branches: F-7 F-8
InitialCC: 
Cvsextras Commits: yes


Comment 8 Kevin Fenzi 2008-02-24 04:22:57 UTC
cvs done.

Comment 9 Roland Dreier 2008-02-24 17:27:29 UTC
Successfully built.


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