Bug 240287 - Review Request: muParser - A fast math parser library
Review Request: muParser - A fast math parser library
Status: CLOSED NEXTRELEASE
Product: Fedora
Classification: Fedora
Component: pachi (Show other bugs)
rawhide
All Linux
medium Severity medium
: ---
: ---
Assigned To: Jason Tibbitts
Fedora Package Reviews List
:
Depends On:
Blocks: 240373
  Show dependency treegraph
 
Reported: 2007-05-16 06:42 EDT by Frank Büttner
Modified: 2014-07-03 07:49 EDT (History)
2 users (show)

See Also:
Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of:
Environment:
Last Closed: 2007-06-10 02:53:15 EDT
Type: ---
Regression: ---
Mount Type: ---
Documentation: ---
CRM:
Verified Versions:
Category: ---
oVirt Team: ---
RHEL 7.3 requirements from Atomic Host:
limburgher: fedora‑cvs+


Attachments (Terms of Use)

  None (edit)
Description Frank Büttner 2007-05-16 06:42:58 EDT
Spec URL: http://downloads.sourceforge.net/qsmartcard/muParser.spec?use_mirror=dfn
SRPM URL: http://downloads.sourceforge.net/qsmartcard/muParser-1.27-1FC5.src.rpm?use_mirror=dfn
Description:
Many applications require the parsing of mathematical expressions.
The main objective of this project is to provide a fast and easy way
of doing this. muParser is an extensible high performance math parser
library. It is based on transforming an expression into a bytecode
and precalculating constant parts of it.
Comment 1 Jason Tibbitts 2007-05-17 00:45:11 EDT
A few issues I found:

The compiler isn't called with the proper flags; I think it should suffice to
call make like:
  make CXXFLAGS="$RPM_OPT_FLAGS" %{?_smp_mflags}

Loads of errors like the following:
  warning: File listed twice: /usr/share/doc/muParser/html
which are due to the same directories being included multipe times in %files:
  %{_docdir}/%{name}
  %{_docdir}/%{name}/html
  %doc %{_docdir}/%{name}/html/*
It looks like you probably want to do the following at the end of %install
instead of copying the files into the buildroot:
  mv docs/html .
And then you can just have 
  %doc html
in %files which gets all of the html documentation under 
/usr/share/doc/muParser-devel-1.27/html.

Lots of rpmlint warnings:
   W: muParser wrong-file-end-of-line-encoding 
   /usr/share/doc/muParser-1.27/License.txt
And many others like it; these should be passed through tr or sed or dos2unix in
to clean them up.
  E: muParser library-without-ldconfig-postin /usr/lib64/libmuparser.so.0.0.0
You need
  %post -p /sbin/ldconfig
Comment 3 Jason Tibbitts 2007-06-03 01:46:17 EDT
Looks much better; rpmlint now shows the following:

E: muParser no-cleaning-of-buildroot %install
   Indeed, the buildroot isn't cleaned; you should have 'rm -rf $RPM_BUILD_ROOT' 
   at the beginning of %install.
W: muParser mixed-use-of-spaces-and-tabs (spaces: line 8, tab: line 1)
   Well, the Group: line is indented with spaces while the others are indented 
   with tabs, but this warning is little more than annoyance.  Fix it if you 
   like.

I note that the documentation indicates that pkgconfig files should be installed
and a .pc file is created during the build, but I don't see it in the final
package.  I think this is because you don't call the install Makefile target,
which contains:
   $(INSTALL_DATA) build/autoconf/muparser.pc $(libdir)/pkgconfig
This needs to be installed as it's part of the expected API of the library.

Review:
* source files match upstream:
   b37a479257e5733f58011709b2640c01d5519645e6385426ce696d5fa1ff58bc  
   muparser_v127.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 (development, x86_64).
* package installs properly
* debuginfo package looks complete.
X rpmlint has a valid complaint.
* final provides and requires are sane:
   libmuparser.so.0()(64bit)
   muParser = 1.27-2.fc7
  =
   /sbin/ldconfig
   libgcc_s.so.1()(64bit)
   libgcc_s.so.1(GCC_3.0)(64bit)
   libmuparser.so.0()(64bit)
   libstdc++.so.6()(64bit)
   libstdc++.so.6(CXXABI_1.3)(64bit)
   libstdc++.so.6(GLIBCXX_3.4)(64bit)

* %check is not present; no test suite upstream.
* shared libraries installed; ldconfig called appropriately.
* 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.
* no scriptlets present.
* code, not content.
* most documentation is in the -devel package.
* %docs are not necessary for the proper functioning of the package.
* headers are in the -devel package.
* unversioned .so files are in the -devel package.
X no pkgconfig files (but there should be)
* no static libraries.
* no libtool .la files.
Comment 4 Frank Büttner 2007-06-06 04:44:30 EDT
At me rpmlint don't show any warnings/error messages.
Do you have take the spec file version 1.27-2?
Comment 5 Jason Tibbitts 2007-06-06 10:57:53 EDT
Yes, I do.  The specfile here:
http://downloads.sourceforge.net/qsmartcard/muParser.spec?use_mirror=osdn
obviously does not clean the buildroot at the beginning of %install.  It's
trivial to see by inspection even without an rpmlint warning.
Comment 6 Frank Büttner 2007-06-06 12:29:15 EDT
So I have create an version with contains:
%install
rm -rf $RPM_BUILD_ROOT
But after build, I don't get any rpmlint warnings. So I can't reproduce it.
Comment 8 Jason Tibbitts 2007-06-07 21:49:09 EDT
OK, that's much better.  The only remaining problem is that since you've added a
pkgconfig file, the -devel subpackage now needs a depencency on pkgconfig.

Anyway, you can fix that when you check in.

APPROVED
Comment 9 Frank Büttner 2007-06-08 02:21:50 EDT
So I have modify the Requires of the devel package to:
Requires: %{name} = %{version}-%{release} pkgconfig
right so?
Comment 10 Jason Tibbitts 2007-06-08 13:37:01 EDT
Yes, just add a dependency on pkgconfig.  You can do that on its own line:
  Requires: pkgconfig
or on the same line as another dependency as you have shown in comment #9.
Comment 12 Jason Tibbitts 2007-06-09 02:59:48 EDT
Yes, that's fine.  I already approved this package, so you can make your CVS
request whenever you're ready.
Comment 13 Frank Büttner 2007-06-09 03:10:39 EDT
New Package CVS Request
=======================
Package Name: muParser
Short Description: A fast math parser library
Owners: frank-buettner@gmx.net
Branches: FC-5 FC-6 F-7
InitialCC: frank-buettner@gmx.net
Comment 14 Jason Tibbitts 2007-06-09 22:29:31 EDT
CVS done.
Comment 15 Frank Büttner 2007-06-10 02:53:15 EDT
So imported and build.
Comment 16 Frank Büttner 2007-06-23 15:04:13 EDT
Package Change Request
======================
Package Name: muParser
New Branches: EL-4 EL-5
Comment 17 Kevin Fenzi 2007-06-25 15:38:33 EDT
cvs branch done.
Comment 18 Eric Smith 2014-07-02 16:44:06 EDT
Package Change Request
======================
Package Name: muParser
New Branches: epel7
Owners: brouhaha
Comment 19 Jon Ciesla 2014-07-03 07:49:51 EDT
Git done (by process-git-requests).

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