Bug 471527 - Review Request: snmp++ - SNMP C++ library
Summary: Review Request: snmp++ - SNMP C++ library
Keywords:
Status: CLOSED NEXTRELEASE
Alias: None
Product: Fedora
Classification: Fedora
Component: Package Review
Version: rawhide
Hardware: All
OS: Linux
medium
medium
Target Milestone: ---
Assignee: Mamoru TASAKA
QA Contact: Fedora Extras Quality Assurance
URL:
Whiteboard:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2008-11-14 05:38 UTC by Hayden James
Modified: 2008-11-26 06:24 UTC (History)
3 users (show)

Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Clone Of:
Environment:
Last Closed: 2008-11-23 15:50:11 UTC
Type: ---
Embargoed:
mtasaka: fedora-review+
kevin: fedora-cvs+


Attachments (Terms of Use)

Description Hayden James 2008-11-14 05:38:33 UTC
Spec URL: http://hayden.doesntexist.com/~hjames/snmp++.spec
SRPM URL: http://hayden.doesntexist.com/~hjames/snmp++-3.2.23-1.fc9.src.rpm
Description: SNMP++v3.x is based on SNMP++v2.8 from HP* and extends it by support for SNMPv3 and a couple of bug fixes. 
SNMP++v3.x is a C++ API which supports SNMP v1, v2c, and v3.

Comment 1 Mamoru TASAKA 2008-11-14 16:50:54 UTC
Well:

* License
  - License is MIT.

* %{version} tag in SourceURL
  - I recommend to use %{version} tag in SourceURL. With
    this you probably won't have to modify the SourceURL
    when version is upgraded.
    https://fedoraproject.org/wiki/Packaging/SourceURL#Using_.25.7Bversion.7D

* Requires
  - "Requires: openssl" is redundant. This type of library dependency related
    Requires are automatically detected by rpmbuild itself
    (but see below)

* General rpmlint issue
  - Please check your srpm/binary rpms with rpmlint (in rpmlint
    rpm) to detect some general packaging issues.
----------------------------------------------
snmp++.src: W: summary-ended-with-dot ....
snmp++.src: E: summary-too-long ...
snmp++.src: E: description-line-too-long ...
----------------------------------------------
    The meaning of the above errors/warnings can be shown
    by "$ rpmlint -I summary-ended-with-dot", for example.
    - Summary should not end with dot.
    - Summary must not exceed 79 characters
    - One line in %description must not exceed 79 characters

* CFLAGS
  - Fedora specific compilation flags are not correctly honored.
    You can check what flags are used on Fedora by
    "$ rpm --eval %optflags".
    Passing 'USEROPTS="%{optflags}"' to "make" works for
    this package.

* Macors
  - Use macros for standard directories. /usr should be
    %{_prefix}:
    https://fedoraproject.org/wiki/Packaging/RPMMacros

* "shared library" with no soname
  - Well, the rebuilt "shared library" libsnmp++.so has no soname
    (-Wl,-soname is not used).
    In this case, ABI of this library may change in the future
    silently, and then all applications linking against this library
    silently.

    In such case I think we should not provide this "broken"
    "shared library" and only ship static archive.
    Would you follow this and the link below of
    "Static libraries only" case?
    - In this case the main package "snmp++" package becomes
      empty, so only -devel package must be created (and main
      "snmp++" package should not be created).

      -devel subpackage contains static archive, header files
      and some document files in this case. "Requires: %{name} =
      %{version}-%{release}" should be removed and "Provides:
      %{name}-%{version}" should be added.

Comment 3 Mamoru TASAKA 2008-11-15 16:28:43 UTC
Well,

* You set the soname of libsnmp++.so by yourself, however this may become
  confusing even the upstream begins to name the soname of this library
  differently in the future. For example the upstream may set soname
  as libsnmp++.so.0.0.0 at first.
  Also, there is no guarantee that the API of this library won't change
  when the major version of the tarball doesn't change.
  c.f.
  http://fedoraproject.org/wiki/PatriceDumas#On_not_shipping_shared_libraries_when_upstream_doesn.27t

  Usually I think when the upstream does not set the soname of the library
  properly, we should not ship the library. How do you think?

Comment 4 Hayden James 2008-11-15 16:51:26 UTC
I'll communicate with upstream about the soname change I made, but the package did provide a shared library, but the soname might just be an oversight so the above doesn't exactly apply, but I will let them know.  Thanks.

Comment 5 Mamoru TASAKA 2008-11-15 17:55:43 UTC
(removing NEEDSPONSOR)

Comment 6 Hayden James 2008-11-15 21:40:09 UTC
New Package CVS Request
=======================
Package Name: snmp_pp
Short Description: SNMP++ is a C++ development library for SNMP
Owners: hjames
Branches: F-10 F-11
InitialCC: mtasaka

Comment 7 Kevin Fenzi 2008-11-16 20:14:08 UTC
Sorry, this package will need to be approved before cvs can be processed. 
Ie, a reviewer must set the fedora-review flag to +. 

clearing the fedora-cvs flag for now.

Comment 8 Hayden James 2008-11-16 22:51:56 UTC
Yes, my mistake.  I'm in the middle of clearing up the last remaining issue with upstream.  After that I will submit another request.  Thanks.

Comment 9 Fedora Update System 2008-11-16 22:56:55 UTC
quickfix-1.12.4-6.fc10 has been submitted as an update for Fedora 10.
http://admin.fedoraproject.org/updates/quickfix-1.12.4-6.fc10

Comment 10 Hayden James 2008-11-19 02:43:58 UTC
Ok, I spoke with upstream about the soname issue.  They basically said that I should start the versioning at 0.0.0 and they will continue with 1.0.0 on the next release (3.2.24).  I will make that change and upload new rpm and spec file.

Comment 11 Hayden James 2008-11-19 03:51:46 UTC
Ok here are the updated rpms:

http://hayden.doesntexist.com/~hjames/snmp++.spec
http://hayden.doesntexist.com/~hjames/snmp++-3.2.23-3.fc9.src.rpm

I also created a package for log4cxx (sorry for cross listing, but didn't find anyone to review it yet)

https://bugzilla.redhat.com/show_bug.cgi?id=471829

Comment 12 Mamoru TASAKA 2008-11-19 17:50:12 UTC
Rebuild failed.
http://koji.fedoraproject.org/koji/taskinfo?taskID=940272

Comment 13 Hayden James 2008-11-20 01:04:37 UTC
Oops...brown paper bag moment, sorry about that.  Here's the updated files:

http://hayden.doesntexist.com/~hjames/snmp++.spec
http://hayden.doesntexist.com/~hjames/snmp++-3.2.23-4.fc9.src.rpm

Comment 14 Mamoru TASAKA 2008-11-20 16:43:02 UTC
For -4:

* Soname
(In reply to comment #10)
> Ok, I spoke with upstream about the soname issue.  They basically said that I
> should start the versioning at 0.0.0 and they will continue with 1.0.0 on the
> next release (3.2.24).  I will make that change and upload new rpm and spec
> file.
  - In such case the SONAME of this library should be libsnmp++.so.0,
    not libsnmp++.so.0.0.0 (while the _name_ of this library
    can be libsnmp++.so.0.0.0)

* undefined non-weak symbols
  - $ rpmlint snmp++ (you can try rpmlint on installed rpm) reports
    some undefined non-weak symbols on libsnmp++.so.0.0.0.
    (you can also check this by
     $ ldd -r %_libdir/libsnmp++.so.0.0.0 )
    For packages providing -devel subpackages, leaving these symbols
    cannot be allowed because this causes linkage error.

    It seems that making libsnmp++.so.0.0.0 linked against libssl.so
    resolves this issue.

Comment 16 Hayden James 2008-11-21 01:08:07 UTC
Also can you take a look at https://bugzilla.redhat.com/show_bug.cgi?id=471829
I think this package is more important and should be ready to go (famous last words).

Comment 17 Mamoru TASAKA 2008-11-21 16:29:48 UTC
Okay.

---------------------------------------------------------------
    This package (snmp++) is APROVED by mtasaka
---------------------------------------------------------------

Comment 18 Hayden James 2008-11-22 01:08:43 UTC
New Package CVS Request
=======================
Package Name: snmp_pp
Short Description: SNMP++ is a C++ development library for SNMP
Owners: hjames
Branches: F-9 F-10
InitialCC: mtasaka

Comment 19 Mamoru TASAKA 2008-11-22 15:14:21 UTC
The package name of this should be "snmp++" , not "snmp_pp", I guess.

Comment 20 Hayden James 2008-11-22 15:24:59 UTC
New Package CVS Request
=======================
Package Name: snmp++
Short Description: SNMP++ is a C++ development library for SNMP
Owners: hjames
Branches: F-9 F-10
InitialCC: mtasaka

Comment 21 Kevin Fenzi 2008-11-23 04:20:53 UTC
cvs done.

Comment 22 Fedora Update System 2008-11-23 05:41:53 UTC
snmp++-3.2.23-5.fc10 has been submitted as an update for Fedora 10.
http://admin.fedoraproject.org/updates/snmp++-3.2.23-5.fc10

Comment 23 Fedora Update System 2008-11-23 05:46:20 UTC
snmp++-3.2.23-5.fc9 has been submitted as an update for Fedora 9.
http://admin.fedoraproject.org/updates/snmp++-3.2.23-5.fc9

Comment 24 Mamoru TASAKA 2008-11-23 15:50:11 UTC
Okay, now closing.

Comment 25 Fedora Update System 2008-11-26 06:18:18 UTC
snmp++-3.2.23-5.fc10 has been pushed to the Fedora 10 stable repository.  If problems still persist, please make note of it in this bug report.

Comment 26 Fedora Update System 2008-11-26 06:24:51 UTC
snmp++-3.2.23-5.fc9 has been pushed to the Fedora 9 stable repository.  If problems still persist, please make note of it in this bug report.


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