Bug 466688 - Review Request: mpfi - An interval arithmetic library based on MPFR
Summary: Review Request: mpfi - An interval arithmetic library based on MPFR
Alias: None
Product: Fedora
Classification: Fedora
Component: Package Review
Version: rawhide
Hardware: All
OS: Linux
Target Milestone: ---
Assignee: Patrice Dumas
QA Contact: Fedora Extras Quality Assurance
Depends On:
TreeView+ depends on / blocked
Reported: 2008-10-12 20:27 UTC by Conrad Meyer
Modified: 2008-10-23 23:25 UTC (History)
4 users (show)

Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Clone Of:
Last Closed: 2008-10-23 23:25:59 UTC
Type: ---
pertusus: fedora-review+
kevin: fedora-cvs+

Attachments (Terms of Use)
patch to address spec file issues (1.76 KB, patch)
2008-10-14 11:57 UTC, Ralf Corsepius
no flags Details | Diff
patch to address INFO-DIR-ENTRY issue (3.42 KB, patch)
2008-10-14 11:58 UTC, Ralf Corsepius
no flags Details | Diff

Description Conrad Meyer 2008-10-12 20:27:47 UTC
Spec URL: http://konradm.fedorapeople.org/fedora/SPECS/mpfi.spec
SRPM URL: http://konradm.fedorapeople.org/fedora/SRPMS/mpfi-1.3.4RC3-1.fc9.src.rpm
MPFI is intended to be a portable library written in C for arbitrary
precision interval arithmetic with intervals represented using MPFR
reliable floating-point numbers. It is based on the GNU MP library and
on the MPFR library and is part of the latter. The purpose of an
arbitrary precision interval arithmetic is on the one hand to get
"guaranteed" results, thanks to interval computation, and on the other
hand to obtain accurate results, thanks to multiple precision
arithmetic. The MPFI library is built upon MPFR in order to benefit
from the correct roundings provided by MPFR. Further advantages of
using MPFR are its portability and compliance with the IEEE 754
standard for floating-point arithmetic.

Comment 1 Ralf Corsepius 2008-10-13 08:19:29 UTC

- Package's NEVR doesn't comply to 

- Package doesn't install *info's correctly.
Something similar to this is missing:

Requires(post): /sbin/install-info
Requires(pre): /sbin/install-info

/sbin/install-info \
  --info-dir=/usr/share/info /usr/share/info/mpfi.info.gz || :

if [ $1 = 0 ]; then
  /sbin/install-info --delete \
    --info-dir=/usr/share/info /usr/share/info/mpfi.info.gz || :

- Package split: Provided this package doesn't provide any run-time usable library or applications, and contains devel-docs only, the "mpfi base package" doesn't make sense, IMO.

My recommendation: Move the info file to *-devel and don't ship a base package.


I am not sure if shipping this package makes much sense, because browsing their site indicates this project might be pretty much dead (Take into account, you are building from a 2.5 years old "release candidate" tarball).

Comment 2 Conrad Meyer 2008-10-13 15:28:13 UTC
I will fix these things this evening when I get time. As to upstream being dead: this library is a module of the SAGE project, and so it is still helpful to include in Fedora.

Comment 3 Conrad Meyer 2008-10-13 15:28:58 UTC
[0]: https://fedoraproject.org/wiki/SIGs/SciTech/SAGE

Comment 4 Conrad Meyer 2008-10-13 15:58:22 UTC
New spec and SRPM:

I am not sure how to not ship a base package. There are no files in [0] but it's still created.

[0]: http://konradm.fedorapeople.org/fedora/RPMS/x86_64/mpfi-1.3.4-0.1.RC3.fc9.x86_64.rpm

Comment 5 Ralf Corsepius 2008-10-14 01:41:04 UTC
(In reply to comment #4)
> I am not sure how to not ship a base package.
Simply remove the "%files" corresponding to the base package.

(In reply to comment #1)
> Requires(pre): /sbin/install-info
This should have been
Requires(preun): /sbin/install-info

Sorry for that.

Comment 7 Ralf Corsepius 2008-10-14 11:55:46 UTC
Still major issues:

- %preun/%post need to be moved to the *-devel subpackage.

- The rules in %preun/%post should refer to /usr/share/info using %{_infodir} instead of using hard-coded values.

- The *devel package
Requires:       %{name} = %{version}-%{release}
which doesn't exit.

One minor cosmetic issue:
- The START-INFO-DIR-ENTRY in mpfr.texi references mpfi.info.
This causes an ugly reference to mpfi.info in /usr/share/info/dir.

I am going to attach patches to address all of these issues.

Comment 8 Ralf Corsepius 2008-10-14 11:57:43 UTC
Created attachment 320284 [details]
patch to address spec file issues

Comment 9 Ralf Corsepius 2008-10-14 11:58:57 UTC
Created attachment 320285 [details]
patch to address INFO-DIR-ENTRY issue

Comment 11 Patrice Dumas 2008-10-19 12:27:54 UTC
I'd suggest dropping COPYING since it is the GPL and not the LGPL.
Also the README is useless in my opinion.

make install DESTDIR=$RPM_BUILD_ROOT INSTALL='install -p' 
may keep timestamps of include files.

install-info knows automatically how to deal with compression, please
remove the .gz from install-info invocations.

I would also suggest using
to catch different compression or no compression.

Comment 13 Patrice Dumas 2008-10-20 19:53:29 UTC
* rpmlint is silent
* free software, upstream includes wrong license, so license file not shipped
* match upstream
02f3fb7a09ef683f035dd20dca653507  mpfi-1.3.4-RC3.tar.gz
* follow packaging guidelines
* static library rightly packaged
* %files section right

please keep the timestamp of archives (with spectool -g or wget -N for example):
-rw-rw-r-- 1 dumas dumas 150760 oct. 20 21:48 mpfi-1.3.4-RC3.tar.gz
-rw-r--r-- 1 dumas dumas 150760 oct. 12 21:11 ../SOURCES/mpfi-1.3.4-RC3.tar.gz

If source timestamp is kept

You should contact upstream about the license file mismatch.

Also wait something like a day to let Ralf comment if he wants to.

Comment 14 Conrad Meyer 2008-10-20 20:36:32 UTC
wget -N says 'Last-modified header missing -- time-stamps turned off.'

I will contact upstream about this.

Comment 15 Patrice Dumas 2008-10-20 20:47:15 UTC
Indeed, I didn't noticed, but my download was indeed newer than yours!!

So definitely APPROVED.

Comment 16 Conrad Meyer 2008-10-23 05:45:25 UTC
New Package CVS Request
Package Name: mpfi
Short Description: An interval arithmetic library based on MPFR
Owners: konradm
Branches: F-10 F-9

Comment 17 Kevin Fenzi 2008-10-23 20:02:44 UTC
cvs done.

Comment 18 Conrad Meyer 2008-10-23 23:25:59 UTC
Built in rawhide, closing.

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