Bug 814458

Summary: Review Request: fparser - Function parser library for C++
Product: [Fedora] Fedora Reporter: Tim Niemueller <tim>
Component: Package ReviewAssignee: Rich Mattes <richmattes>
Status: CLOSED DUPLICATE QA Contact: Fedora Extras Quality Assurance <extras-qa>
Severity: medium Docs Contact:
Priority: medium    
Version: rawhideCC: lemenkov, package-review, richmattes, roeplay, rosen.diankov, thofmann, tim
Target Milestone: ---   
Target Release: ---   
Hardware: All   
OS: Linux   
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2014-02-24 11:50:18 EST Type: ---
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: ---
Bug Depends On:    
Bug Blocks: 201449, 674008    
Description Flags
fparser 4.5 with updated cmake files (old)
fparser 4.5 with updated cmake files (2nd attempt)
fparser 4.5 with updated cmake files (3rd attempt)
SPEC file for fparser 4.5.1
fparser 4.5.1 with updated cmake files
fparser 4.5.1 with updated cmake files (2nd) none

Description Tim Niemueller 2012-04-19 18:17:18 EDT
Spec URL: http://fedorapeople.org/~timn/misc/fparser.spec
SRPM URL: http://fedorapeople.org/~timn/misc/fparser-4.4.3-1.fc15.src.rpm
This C++ library offers a class which can be used to parse and evaluate a
mathematical function from a string (which might be for example requested
from the user). The syntax of the function string is similar to
mathematical expressions written in C/C++.
Comment 1 Rich Mattes 2012-04-22 17:45:52 EDT
This package looks pretty simple, I'll go ahead and review it.

+ = PASS, - = FAIL, N = Not Applicable.

[+] rpmlint must be run on the source rpm and all binary rpms the build produces. The output should be posted in the review
$ rpmlint ../SRPMS/fparser-4.4.3-1.fc15.src.rpm ../RPMS/x86_64/fparser*
4 packages and 0 specfiles checked; 0 errors, 0 warnings.

[+] The package must be named according to the Package Naming Guidelines .
[+] The spec file name must match the base package %{name}, in the format %{name}.spec unless your package has an exemption. 
[+] The package must meet the Packaging Guidelines.

The MUST items are covered, but the guidelines indicate that patches SHOULD include a comment with each patch file.  The patch included includes a full CMake-based build system.  Have you been in contact with upstream about it?

[+] The package must be licensed with a Fedora approved license and meet the Licensing Guidelines.
[+] The License field in the package spec file must match the actual license.
[N] If (and only if) the source package includes the text of the license(s) in its own file, then that file, containing the text of the license(s) for the package must be included in %doc.
[+] The spec file must be written in American English. 
[+] The spec file for the package MUST be legible.
[+] The sources used to build the package must match the upstream source, as provided in the spec URL.
$ md5sum fparser4.4.3.zip ../SOURCES/fparser4.4.3.zip 
035ee59ed53d4ec723186625293fbb8b  fparser4.4.3.zip
035ee59ed53d4ec723186625293fbb8b  ../SOURCES/fparser4.4.3.zip

[+] The package MUST successfully compile and build into binary rpms on at least one primary architecture.
[N] If the package does not successfully compile, build or work on an architecture, then those architectures should be listed in the spec in ExcludeArch.
[+] All build dependencies must be listed in BuildRequires.
[N] The spec file MUST handle locales properly. This is done by using the %find_lang macro. Using %{_datadir}/locale/* is strictly forbidden.
[+] Every binary RPM package (or subpackage) which stores shared library files (not just symlinks) in any of the dynamic linker's default paths, must call ldconfig in %post and %postun.
[+] Packages must NOT bundle copies of system libraries.
[N] If the package is designed to be relocatable, the packager must state this fact in the request for review, along with the rationalization for relocation of that specific package.
[+] A package must own all directories that it creates. If it does not create a directory that it uses, then it should require a package which does create that directory.
[+] A Fedora package must not list a file more than once in the spec file's %files listings. (Notable exception: license texts in specific situations)
[+] Permissions on files must be set properly. Executables should be set with executable permissions, for example.
[+] Each package must consistently use macros.
[+] The package must contain code, or permissable content.
[N] Large documentation files must go in a -doc subpackage
[+] If a package includes something as %doc, it must not affect the runtime of the application.
[+] Static libraries must be in a -static package.
[+] Development files must be in a -devel package.
[-] In the vast majority of cases, devel packages must require the base package using a fully versioned dependency: Requires: %{name}%{?_isa} = %{version}-%{release}

  I think this is a newer requirement, but it is a simple fix.

[+] Packages must NOT contain any .la libtool archives, these must be removed in the spec if they are built.
[N] Packages containing GUI applications must include a %{name}.desktop file.
[+] Packages must not own files or directories already owned by other packages.
[+] All filenames in rpm packages must be valid UTF-8. 

So action items are 
* Include the %{?_isa} macro in the -devel package's Requires field
* Include a comment about the CMake patch.  It would be much easier on us if upstream takes the cmake patch and/or adds their own build scripts to the release tarballs, I'd like to if they're receptive to this idea or if the cmake patch will have to be a fedora-only patch.
Comment 2 Rosen Diankov 2012-04-23 01:27:53 EDT
The upstream maintainer for fparser is Juha Nieminen (juha.nieminen@gmail.com). I've talked to him about including the cmake patches, but doesn't see the reason for cluttering up the source code with platform-dependent configuration files. 

Perhaps you'll have more luck convincing him; more people nagging about the same issue should have more impact.
Comment 3 Rich Mattes 2012-05-25 20:47:03 EDT
Tim, are you getting into contact with upstream?  I can send an email if need be.  If upstream _really_ doesn't want to have a proper buildsystem and you're OK with maintaining one, I think we can make it fedora-specific (though i'd really like to see it upstreamed).
Comment 4 Rosen Diankov 2012-06-02 04:28:46 EDT
fparser 4.5 has much better support for compilers like clang and recent openrave versions support it, so i'm attaching the updated sources + cmake flies with fparser 4.5.
Comment 5 Rosen Diankov 2012-06-02 04:29:36 EDT
Created attachment 588637 [details]
fparser 4.5 with updated cmake files (old)
Comment 6 Rosen Diankov 2012-06-02 05:03:53 EDT
Created attachment 588638 [details]
fparser 4.5 with updated cmake files (2nd attempt)
Comment 7 Rosen Diankov 2012-06-02 15:58:18 EDT
Created attachment 588712 [details]
fparser 4.5 with updated cmake files (3rd attempt)
Comment 8 Andrew Ter-Grigoryan 2013-02-15 15:07:53 EST
I'm considering packaging LibreCAD in F18, and it depends on fparser 4.4.3. or later. I would really appreciate fparser being maintained already.
Comment 9 Andrew Ter-Grigoryan 2013-02-16 01:46:26 EST
Let me be more clear: even if I can hack the very steep learning curve of Fedora package maintenance, I won't be able to proceed until fparser is part of the distribution.
Comment 11 Rich Mattes 2013-02-23 19:22:59 EST
I'm still willing to finish reviewing this package.  Tim, are you still willing to maintain this package, or should someone else take it over?
Comment 12 Till Hofmann 2014-01-27 09:52:53 EST
Created attachment 856097 [details]
SPEC file for fparser 4.5.1
Comment 13 Till Hofmann 2014-01-27 09:58:40 EST
Created attachment 856109 [details]
fparser 4.5.1 with updated cmake files

fparser 4.5.1 with Rosen's cmake additions
Comment 14 Till Hofmann 2014-01-27 11:03:23 EST
Created attachment 856132 [details]
fparser 4.5.1 with updated cmake files (2nd)

Fixed an include error in fptypes.hh
Comment 15 Till Hofmann 2014-02-24 07:22:43 EST
It would be nice if somebody could pick this up and review the package. I've only updated the package to the current fparser version, if there is anything else to do let me know.
Comment 16 Rich Mattes 2014-02-24 08:46:50 EST
I'm still waiting on a response from Tim, the review submitter.  If there is no response within a week of this request, this review should be considered stalled as per the stalled review policy Michael posted in Comment 10.  

Till, if you'd like to take over as the submitter of this review, then please let Tim know you'd like to do so, create a new review request as per the packaging guidelines, and close this review as a duplicate.
Comment 17 Tim Niemueller 2014-02-24 09:11:55 EST
I'm all for it, especially considering Till is sitting right next to me and we can discuss directly should the need arise. But I'd be very happy for him to take over from here.
Comment 18 Till Hofmann 2014-02-24 10:36:30 EST
I've submitted a new review request as bug 1069257.
Comment 19 Rich Mattes 2014-02-24 11:50:18 EST
Thanks, closing this as a duplicate of the new review.

*** This bug has been marked as a duplicate of bug 1069257 ***