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.
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.
Ok I fixed all of the above: http://hayden.doesntexist.com/~hjames/snmp++.spec http://hayden.doesntexist.com/~hjames/snmp++-3.2.23-2.fc9.src.rpm
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?
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.
(removing NEEDSPONSOR)
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
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.
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.
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
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.
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
Rebuild failed. http://koji.fedoraproject.org/koji/taskinfo?taskID=940272
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
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.
Updated fixing the last two problems: http://hayden.doesntexist.com/~hjames/snmp++.spec http://hayden.doesntexist.com/~hjames/snmp++-3.2.23-5.fc9.src.rpm
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).
Okay. --------------------------------------------------------------- This package (snmp++) is APROVED by mtasaka ---------------------------------------------------------------
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
The package name of this should be "snmp++" , not "snmp_pp", I guess.
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
cvs done.
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
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
Okay, now closing.
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.
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.