Bug 499913

Summary: Review Request: expatmm - C++ wrapper for the expat XML parser library
Product: [Fedora] Fedora Reporter: Jerry James <loganjerry>
Component: Package ReviewAssignee: Susi Lehtola <susi.lehtola>
Status: CLOSED NEXTRELEASE QA Contact: Fedora Extras Quality Assurance <extras-qa>
Severity: medium Docs Contact:
Priority: medium    
Version: rawhideCC: fedora-package-review, notting, susi.lehtola
Target Milestone: ---Flags: susi.lehtola: fedora-review+
kevin: fedora-cvs+
Target Release: ---   
Hardware: All   
OS: Linux   
Whiteboard:
Fixed In Version: 1.0.1-1.fc11 Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2009-05-15 23:30:48 UTC Type: ---
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:

Description Jerry James 2009-05-08 21:16:17 UTC
Spec URL: http://jjames.fedorapeople.org/expatmm/expatmm.spec
SRPM URL: http://jjames.fedorapeople.org/expatmm/expatmm-1.0.1-1.fc10.src.rpm
Description: ExpatMM is a C++ library that uses the efficient expat XML parser to create a C++ class base for the development of C++ event-driver parser objects.  This library provides the developer with two C++ classes:
  - ExpatXMLParser: a generic parser where the developer must supply
    event methods for parse tokens, as well as supply the event method
    for reading input data into a local buffer.
  - ExpatXMLFileParser: a parser where the event method for reading
    input data is implemented as a file reader, with the filename being
    specified at instance construction.

I see that rpmlint is complaining about an unused direct shlib dependency on libm.  Libtool is generating a link command including -lm.  So I tried relinking in the spec file, like so:

cd src/.libs
g++ -shared ${RPM_OPT_FLAGS} ExpatXMLParser.o ExpatXMLFileParser.o ExpatMM-version.o -Xlinker -soname -Xlinker libexpatmm.so.1 -o libexpatmm.so.%{version} -lexpat

... and rpmlint still complains about the unused direct shlib dependency.  It appears that libstdc++ is linked against libm, which may be the source of the problem.  In any case, I don't know how to satisfy rpmlint.

Comment 2 Susi Lehtola 2009-05-09 13:03:01 UTC
- I don't get your unused-direct-shlib-dependency on x86_64 F10 or F11 in mock:

rpmlint output:
expatmm-devel.x86_64: W: no-documentation
4 packages and 0 specfiles checked; 0 errors, 1 warnings.


MUST: The package does not yet exist in Fedora. The Review Request is not a duplicate. OK
MUST: The spec file for the package is legible and macros are used consistently. OK
MUST: The package must be named according to the Package Naming Guidelines. OK
MUST: The spec file name must match the base package %{name}. OK
MUST: The package must be licensed with a Fedora approved license and meet the  Licensing Guidelines. OK
MUST: The License field in the package spec file must match the actual license. OK
MUST: The sources used to build the package must match the upstream source, as provided in the spec URL. OK
MUST: The package MUST successfully compile and build into binary rpms. OK
MUST: The spec file MUST handle locales properly. N/A
MUST: Optflags are used and time stamps preserved. OK
MUST: Packages containing shared library files must call ldconfig. OK
MUST: A package must own all directories that it creates or require the package that owns the directory. OK
MUST: Files only listed once in %files listings. OK
MUST: Debuginfo package is complete. OK
MUST: Permissions on files must be set properly. OK
MUST: Clean section exists. OK
MUST: Large documentation files must go in a -doc subpackage. OK

MUST: All relevant items are included in %doc. Items in %doc do not affect runtime of application. ~OK
- Funny though, there is both a LICENSE and a COPYING, but they're identical. 

MUST: Header files must be in a -devel package. OK
MUST: Static libraries must be in a -static package. N/A
MUST: Packages containing pkgconfig(.pc) files must 'Requires: pkgconfig'. OK
MUST: If a package contains library files with a suffix then library files ending in .so must go in a -devel package. OK
MUST: In the vast majority of cases, devel packages must require the base package using a fully versioned dependency. OK
MUST: Packages does not contain any .la libtool archives. OK
MUST: Desktop files are installed properly. N/A
MUST: No file conflicts with other packages and no general names. OK
MUST: Buildroot cleaned before install. OK
SHOULD: %{?dist} tag is used in release. OK
SHOULD: If the package does not include license text(s) as separate files from upstream, the packager should query upstream to include it. OK
SHOULD: The package builds in mock. OK


The package has been

APPROVED

Comment 3 Jerry James 2009-05-11 18:42:38 UTC
I'm going to have to look deeper into the source of that unused dependency warning.  In the meantime, thank you very much for the review!


New Package CVS Request
=======================
Package Name: expatmm
Short Description: C++ wrapper for the expat XML parser library
Owners: jjames
Branches: F-11
InitialCC:

Comment 4 Kevin Fenzi 2009-05-13 05:04:07 UTC
cvs done.

Comment 5 Fedora Update System 2009-05-13 17:42:36 UTC
expatmm-1.0.1-1.fc11 has been submitted as an update for Fedora 11.
http://admin.fedoraproject.org/updates/expatmm-1.0.1-1.fc11

Comment 6 Fedora Update System 2009-05-15 23:30:43 UTC
expatmm-1.0.1-1.fc11 has been pushed to the Fedora 11 stable repository.  If problems still persist, please make note of it in this bug report.