Bug 676159

Summary: Review Request: crlibm - Correctly Rounded mathematical library
Product: [Fedora] Fedora Reporter: Tim Niemueller <tim>
Component: Package ReviewAssignee: Dmitrij S. Kryzhevich <kryzhev>
Status: CLOSED ERRATA QA Contact: Fedora Extras Quality Assurance <extras-qa>
Severity: medium Docs Contact:
Priority: medium    
Version: rawhideCC: fedora-package-review, kryzhev, lemenkov, notting
Target Milestone: ---Flags: kryzhev: fedora-review+
j: fedora-cvs+
Target Release: ---   
Hardware: All   
OS: Linux   
Whiteboard:
Fixed In Version: crlibm-1.0-0.4.beta4.fc14 Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2011-03-29 19:50:46 UTC Type: ---
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:
Bug Depends On: 678774    
Bug Blocks: 674008    

Description Tim Niemueller 2011-02-08 23:23:27 UTC
Spec URL: http://fedorapeople.org/~timn/misc/crlibm.spec
SRPM URL: http://fedorapeople.org/~timn/misc/crlibm-1.0-0.1.beta4.fc14.src.rpm
Description:
CRlibm is a free mathematical library (libm) which provides:
* implementations of the double-precision C99 standard elementary functions,
* correctly rounded in the four IEEE-754 rounding modes,
* with a comprehensive proof of both the algorithms used and their
  implementation,
* sufficiently efficient in average time, worst-case time, and memory
  consumption to replace existing libms transparently.

Project URL: http://lipforge.ens-lyon.fr/www/crlibm/

Koji: https://koji.fedoraproject.org/koji/taskinfo?taskID=2796232

rpmlint:
crlibm.src: W: spelling-error %description -l en_US libm -> limb, lib, lib m
crlibm.src: W: spelling-error %description -l en_US libms -> limbs, lib's, lib ms
crlibm.x86_64: W: spelling-error %description -l en_US libm -> limb, lib, lib m
crlibm.x86_64: W: spelling-error %description -l en_US libms -> limbs, lib's, lib ms
- That is a false positive. In mentions libm (math lib) in the description.

crlibm.x86_64: W: incoherent-version-in-changelog 1.0beta4-1 ['1.0-0.1.beta4.fc14', '1.0-0.1.beta4']
- I do not include the dist tag in the changelog entry and consider rpmlint broken in this regard.
3 packages and 1 specfiles checked; 0 errors, 5 warnings.

Comment 1 Pavel Zhukov 2011-02-09 04:39:49 UTC

-- 
Fedora Bugzappers volunteer triage team
https://fedoraproject.org/wiki/BugZappers

Comment 2 Tim Niemueller 2011-02-09 08:44:03 UTC
Pavel, it's ok to add a tracker bug, but why remove the existing dependency!? Re-adding.

Comment 3 Dmitrij S. Kryzhevich 2011-02-10 05:46:41 UTC
Looking at cvs, last modified 10 month ago. Is it still alive?

Comment 4 Tim Niemueller 2011-02-10 09:39:17 UTC
The API is stable, and or a math lib once you have finished the functions, and proven them right (yes, they have mathematical proofs!) what would you do? Besides that it is a requirement for OpenRAVE, another package I have proposed (bug #674008) and which includes this library. For the no-system-libs policy crlibm was split off and is hereby proposed separately.

Comment 5 Dmitrij S. Kryzhevich 2011-02-11 04:44:41 UTC
Ok, will take this.

Comment 6 Dmitrij S. Kryzhevich 2011-02-11 09:10:11 UTC
1. Liscence is LGPLv2+, but not LGPLv2.
2. scs_lib bundled in crlibm. As from http://lipforge.ens-lyon.fr/www/crlibm/, "This library is independent from CRlibm." You need neither to get permision to bundle this lib with crlibm nor create seperate review for scslib package and use system one.
See https://fedoraproject.org/wiki/Packaging:No_Bundled_Libraries, section Exceptions.

Comment 7 Tim Niemueller 2011-02-19 14:33:50 UTC
License updated. Added patch to build against new system-wide libscs, please see review bug #678774 and consider taking this as well. Thanks!

Spec changed in place, new SRPM is at http://fedorapeople.org/~timn/misc/crlibm-1.0-0.2.beta4.fc14.src.rpm.

Comment 8 Tim Niemueller 2011-02-19 23:11:30 UTC
Another update, delete scs_lib in prep stage, modify patch to make sure system header files are used. Adapt for the unavailability of the scs_private.h header file.

Spec changed in place, new SRPM is at
http://fedorapeople.org/~timn/misc/crlibm-1.0-0.3.beta4.fc14.src.rpm.

Comment 9 Dmitrij S. Kryzhevich 2011-02-20 09:47:20 UTC
Hm. Looks like crlibm use scslib not fully correctly with private header. Ok.

1) Makefile.am contain string "SUBDIRS = $(MAYBE_SCS) . tests" which broke building (tried to add scs subdir). Changing it to "SUBDIRS = . tests". But:
2) Tests are compiled, but not used both during prepearation and in final rpm. Removal their compilation leads to at least removal tbx_timing.h header from patch. What is good.

Comment 10 Tim Niemueller 2011-02-20 10:45:29 UTC
(In reply to comment #9)
> Hm. Looks like crlibm use scslib not fully correctly with private header. Ok.

Yeah, one author, similar macros, included lib, that's simply a consequence.

> 1) Makefile.am contain string "SUBDIRS = $(MAYBE_SCS) . tests" which broke
> building (tried to add scs subdir). Changing it to "SUBDIRS = . tests". But:

Looks as if you built without the libscs-devel installed. Did you use the latest one posted, this contains the BR. If libscs-devel is installed MAYBE_SCS is empty. I have added this do have a chance to get this included uptsream, i.e. you can build with and without system-wide syslib. But the non-sys-wide is not fully working yet, but this is irrelevant for the package, where we only need the case w/sys-wide.

> 2) Tests are compiled, but not used both during prepearation and in final rpm.
> Removal their compilation leads to at least removal tbx_timing.h header from
> patch. What is good.

Good point, eliminating tests altogether would be a good thing. I would like to make that a configure flag later on, again, to get this included upstream. But for now the current state should be fine once we find what your compilation error in 1) was. This shouldn't be a blocker on the review.

Comment 11 Dmitrij S. Kryzhevich 2011-02-20 11:36:56 UTC
(In reply to comment #10)
> Looks as if you built without the libscs-devel installed. Did you use the
> latest one posted, this contains the BR.

I built with system libscs. And on the next try it works. Think, I done something wrong previuos time. Ok now. No blockers any more.

======== Review ===========================
+ rpmlint was run on the source rpm and all binary rpms the build produces.
+ The package was named according to the  Package Naming Guidelines.
+ The spec file name matchs the base package %{name}. 
+ The package meets the  Packaging Guidelines.
+ The package is licensed with a Fedora approved license LGPLv2+.
+ The License field in the package spec file must match the actual license.
+ File, containing the text of the license(s) for the package is included in
%doc.
+ The spec file is written in American English.
+ The spec file for the package is legible.
+ The sources used to build the package matchs the upstream source.
+ The package is successfully compiled and build into binary rpms on at least
one primary architecture.
+ All build dependencies are listed in BuildRequires.
+ Binary RPM package calls ldconfig in %post and %postun.
+ Packages do not bundle copies of system libraries.
+ A package owns all directories that it creates.
+ A package do not list a file more than once in the spec file's %files
listings.
+ Permissions on files are set properly.
+ Package consistently uses macros.
+ The package contains code, or permissable content.
* No localization.
* No large documentaion. 
+ Everything included as %doc do not affect the runtime of the application.
+ Header files are in a -devel package.
* No static libraries. 
+ Library files that end in .so (without suffix) are in a -devel package.
+ Devel package requires the base package in proper way.
+ Packages do NOT contain any .la libtool archives.
* Not a GUI application. 
+ Packages do not own files or directories already owned by other packages.
+ All filenames in rpm packages must be valid UTF-8.

All good. I think, I could set review to "+" before getting "git done" for libscs.

Approved.

Comment 12 Tim Niemueller 2011-02-20 13:57:30 UTC
Thanks for the thorough review.

New Package SCM Request
=======================
Package Name: crlibm
Short Description: Correctly Rounded mathematical library
Owners: timn
Branches: f14 f15 el5 el6
InitialCC:

Comment 13 Jason Tibbitts 2011-02-21 20:30:58 UTC
Git done (by process-git-requests).

Comment 14 Peter Lemenkov 2011-03-04 10:03:34 UTC
Ping, Tim. Please build it at least for Rawhide, which allows me to rebuild openrave in Koji.

Comment 15 Fedora Update System 2011-03-21 15:13:45 UTC
crlibm-1.0-0.4.beta4.fc14 has been submitted as an update for Fedora 14.
https://admin.fedoraproject.org/updates/crlibm-1.0-0.4.beta4.fc14

Comment 16 Fedora Update System 2011-03-21 15:16:07 UTC
crlibm-1.0-0.4.beta4.fc15 has been submitted as an update for Fedora 15.
https://admin.fedoraproject.org/updates/crlibm-1.0-0.4.beta4.fc15

Comment 17 Fedora Update System 2011-03-21 15:17:22 UTC
crlibm-1.0-0.4.beta4.el5 has been submitted as an update for Fedora EPEL 5.
https://admin.fedoraproject.org/updates/crlibm-1.0-0.4.beta4.el5

Comment 18 Fedora Update System 2011-03-21 15:18:13 UTC
crlibm-1.0-0.4.beta4.el6 has been submitted as an update for Fedora EPEL 6.
https://admin.fedoraproject.org/updates/crlibm-1.0-0.4.beta4.el6

Comment 19 Fedora Update System 2011-03-21 20:59:33 UTC
crlibm-1.0-0.4.beta4.fc14 has been pushed to the Fedora 14 testing repository.

Comment 20 Fedora Update System 2011-03-26 05:07:45 UTC
crlibm-1.0-0.4.beta4.fc15 has been pushed to the Fedora 15 stable repository.

Comment 21 Fedora Update System 2011-03-29 19:50:40 UTC
crlibm-1.0-0.4.beta4.fc14 has been pushed to the Fedora 14 stable repository.

Comment 22 Fedora Update System 2011-04-05 02:59:30 UTC
crlibm-1.0-0.4.beta4.el6 has been pushed to the Fedora EPEL 6 stable repository.

Comment 23 Fedora Update System 2011-04-05 03:00:08 UTC
crlibm-1.0-0.4.beta4.el5 has been pushed to the Fedora EPEL 5 stable repository.