Bug 240287 - Review Request: muParser - A fast math parser library
Summary: Review Request: muParser - A fast math parser library
Keywords:
Status: CLOSED NEXTRELEASE
Alias: None
Product: Fedora
Classification: Fedora
Component: pachi
Version: rawhide
Hardware: All
OS: Linux
medium
medium
Target Milestone: ---
Assignee: Jason Tibbitts
QA Contact: Fedora Package Reviews List
URL:
Whiteboard:
Depends On:
Blocks: 240373
TreeView+ depends on / blocked
 
Reported: 2007-05-16 10:42 UTC by Frank Büttner
Modified: 2014-07-03 11:49 UTC (History)
2 users (show)

Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Clone Of:
Environment:
Last Closed: 2007-06-10 06:53:15 UTC
Type: ---
Embargoed:
gwync: fedora-cvs+


Attachments (Terms of Use)

Description Frank Büttner 2007-05-16 10:42:58 UTC
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 04:45:11 UTC
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 05:46:17 UTC
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 08:44:30 UTC
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 14:57:53 UTC
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 16:29:15 UTC
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-08 01:49:09 UTC
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 06:21:50 UTC
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 17:37:01 UTC
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 06:59:48 UTC
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 07:10:39 UTC
New Package CVS Request
=======================
Package Name: muParser
Short Description: A fast math parser library
Owners: frank-buettner
Branches: FC-5 FC-6 F-7
InitialCC: frank-buettner

Comment 14 Jason Tibbitts 2007-06-10 02:29:31 UTC
CVS done.

Comment 15 Frank Büttner 2007-06-10 06:53:15 UTC
So imported and build.

Comment 16 Frank Büttner 2007-06-23 19:04:13 UTC
Package Change Request
======================
Package Name: muParser
New Branches: EL-4 EL-5

Comment 17 Kevin Fenzi 2007-06-25 19:38:33 UTC
cvs branch done.

Comment 18 Eric Smith 2014-07-02 20:44:06 UTC
Package Change Request
======================
Package Name: muParser
New Branches: epel7
Owners: brouhaha

Comment 19 Gwyn Ciesla 2014-07-03 11:49:51 UTC
Git done (by process-git-requests).


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