Bug 207781 - Review Request: libmatheval - parse and evaluate symbolic expressions
Review Request: libmatheval - parse and evaluate symbolic expressions
Status: CLOSED NEXTRELEASE
Product: Fedora
Classification: Fedora
Component: Package Review (Show other bugs)
rawhide
All Linux
medium Severity medium
: ---
: ---
Assigned To: Jason Tibbitts
Fedora Package Reviews List
:
Depends On:
Blocks: FE-ACCEPT
  Show dependency treegraph
 
Reported: 2006-09-22 23:34 EDT by Ed Hill
Modified: 2007-11-30 17:11 EST (History)
0 users

See Also:
Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of:
Environment:
Last Closed: 2006-10-02 23:37:48 EDT
Type: ---
Regression: ---
Mount Type: ---
Documentation: ---
CRM:
Verified Versions:
Category: ---
oVirt Team: ---
RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: ---


Attachments (Terms of Use)
Log from failing test suite. (61.89 KB, text/plain)
2006-09-23 14:20 EDT, Jason Tibbitts
no flags Details

  None (edit)
Description Ed Hill 2006-09-22 23:34:55 EDT
Spec URL: http://mitgcm.org/eh3/fedora_misc/libmatheval.spec
SRPM URL: http://mitgcm.org/eh3/fedora_misc/libmatheval-1.1.3-2.fc6.src.rpm
Description: 
GNU libmatheval is a library (callable from C and Fortran) to parse
and evaluate symbolic expressions input as text.  It supports
expressions in any number of variables of arbitrary names, decimal and
symbolic constants, basic unary and binary operators, and elementary
mathematical functions.  In addition to parsing and evaluation,
libmatheval can also compute symbolic derivatives and output
expressions to strings.
Comment 1 Ralf Corsepius 2006-09-23 00:16:51 EDT
MUST FIX:
* Please explain in detail, why you want to include a static lib 
or disable it (--disable-static). Feel strongly encouraged to do the latter.

CONSIDER:
* The package contains a testsuite. 
Consider activating it by adding 
%check
make check ||:

* The package's configuration supports --disable-dependency-tracking.
Adding it somewhat reduces the time required to build (but this package is
small, so this doesn't really matter).
Comment 2 Ed Hill 2006-09-23 00:35:24 EDT
Hi Ralf, thanks for the quick comments.  I dropped the static lib, added 
the check, and heres a re-spin:

  http://mitgcm.org/eh3/fedora_misc/libmatheval-1.1.3-3.src.rpm

And I'm not going to bother with the dependency thing--it already builds 
very quickly.
Comment 3 Jason Tibbitts 2006-09-23 14:18:11 EDT
This crops up during a mock build:

/builddir/build/BUILD/libmatheval-1.1.3/config/missing: line 52: makeinfo:
command not found
WARNING: `makeinfo' is missing on your system.  You should only need it if
         you modified a `.texi' or `.texinfo' file, or any other file
         indirectly affecting the aspect of the manual.  The spurious
         call might also be the consequence of using a buggy `make' (AIX,
         DU, IRIX).  You might want to install the `Texinfo' package or
         the `GNU make' package.  Grab either from any GNU archive site.

Indeed, you do modify a .texi file so you'll need a BR: texinfo.

Also, one of the tests fails on my platform (x86_64, rawhide):

Checking evaluating functions.

  5: Check functions.                             FAILED (functions.at:423)

Unfortunately you have ||: at the end of the make check line so the build
continues when it really should fail and thus deletes the test log.  I've
rebuilt without that bit and will attach the generated testsuite.log.


Comment 4 Jason Tibbitts 2006-09-23 14:20:36 EDT
Created attachment 137005 [details]
Log from failing test suite.
Comment 5 Ed Hill 2006-09-23 22:24:23 EDT
Hi Jason, thatanks for taking a look.  I spent some time today digging 
into the "make check" errors and it turns out that there are some 
deprecated guile bits which are:

  SCM_STRINGP is deprecated.  Use scm_is_string instead.
  SCM_LENGTH is deprecated.  Use scm_c_string_length instead, 
    for example, or see the manual.
  SCM_STRING_LENGTH is deprecated.  Use scm_c_string_length instead.
  SCM_CHARS is deprecated.  See the manual for alternatives.
  SCM_STRING_CHARS is deprecated.  See the manual for alternatives.

The interesting thing is that these deprecated bits *ONLY* appear
in the the file "libmatheval-1.1.3/tests/matheval.c" and nowhere else 
in the actual libmatheval code.

So it appears that there are some deprecated bits only in the testing 
code that then triggers some warnings that then causes one of the tests 
(test number 5) to "fail" (although the test actually works, it just 
emits a bunch of these warnings so that the test script *thinks* that 
it has failed).

In any case, I'll report the deprecated bits in the testing code to 
the upstream folks.  But I see no reason to do anything else since 
there appear to be no other deprecated (or otherwise broken) bits in 
any of the actual library code.

Here's an update that includes the BR: texinfo

  http://mitgcm.org/eh3/fedora_misc/libmatheval-1.1.3-4.src.rpm
Comment 6 Jason Tibbitts 2006-10-01 20:23:53 EDT
* source files match upstream:
   e88b3429da2758c799e6fbc44ac87416  libmatheval-1.1.3.tar.gz
* package meets naming and packaging guidelines.
* specfile is properly named, is cleanly written and uses macros consistently.
* dist tag is present.
* build root is correct.
* 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.
* rpmlint is silent.
* final provides and requires are sane:
  libmatheval-1.1.3-4.fc6.x86_64.rpm
   libmatheval.so.1()(64bit)
   libmatheval = 1.1.3-4.fc6
  =
   /sbin/ldconfig
   libmatheval.so.1()(64bit)
  libmatheval-devel-1.1.3-4.fc6.x86_64.rpm
   libmatheval-devel = 1.1.3-4.fc6
  =
   /bin/sh
   /sbin/install-info
   libmatheval = 1.1.3-4.fc6
   libmatheval.so.1()(64bit)

* %check is present and all tests pass (except for the one failure explained above):
   ERROR: All 7 tests were run,
   1 failed unexpectedly.
* shared libraries are added and ldconfig is run appropriately.
* owns the directories it creates.
* doesn't own any directories it shouldn't.
* no duplicates in %files.
* file permissions are appropriate.
* scriptlets are OK (ldconfig, install-info)
* code, not content.
* documentation is small, so no -docs subpackage is necessary.
* %docs are not necessary for the proper functioning of the package.
* headers are in the -devel subpackage.
* unversioned .so files are in the -devel subpackage.
* no pkgconfig files.
* no libtool .la droppings.

APPROVED
Comment 7 Ed Hill 2006-10-02 23:37:48 EDT
Hi Jason, the package built successfully for FC6 and an FC5 branch has been 
requested.  Thank you for the review!

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