Bug 1098820

Summary: Review Request: idfpml - Intel Decimal Floating-Point Math Library
Product: [Fedora] Fedora Reporter: Eric Smith <spacewar>
Component: Package ReviewAssignee: Nobody's working on this, feel free to take it <nobody>
Status: CLOSED NOTABUG QA Contact: Fedora Extras Quality Assurance <extras-qa>
Severity: medium Docs Contact:
Priority: medium    
Version: rawhideCC: package-review, yselkowi
Target Milestone: ---   
Target Release: ---   
Hardware: All   
OS: Linux   
Whiteboard:
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2019-05-02 21:12:23 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:    
Bug Blocks: 1106294    

Description Eric Smith 2014-05-18 22:45:35 UTC
Spec URL: http://fedorapeople.org/~brouhaha/idfpml/idfpml.spec
SRPM URL: http://fedorapeople.org/~brouhaha/idfpml/idfpml-20U1-1.fc20.src.rpm
Description: 
  Software implementation of the IEEE 754R Decimal Floating-Point
  Arithmetic specification.  Ensures compliance with the upcoming
  revision of the IEEE Standard for Floating-Point Arithmetic.  The
  library implements the functions defined for decimal floating-point
  arithmetic operations in the 'DRAFT Standard for Floating-Point
  Arithmetic P754', which is a revision of the IEEE Standard 754-1985
  for Binary Floating-Point Arithmetic.
Fedora Account System Username: brouhaha

The latest upstream version of Free42 has introduced a dependency on this library.

Comment 1 Michael Schwendt 2014-05-22 10:57:19 UTC
> Version:        20U1

The documentation in the tarball says "Version 2.0 Update 1" from Aug 2011. If Fedora's post-release versioning scheme were used, %version could really become "2.0".

https://fedoraproject.org/wiki/Packaging:NamingGuidelines#Post-Release_packages

If the next release will become "2.1", one can only hope that they will stick to their versioning scheme and call it "21", since "20U1 > 2.1" already.


> %package devel
> Requires:       idfpml = %{version}-%{release}

https://fedoraproject.org/wiki/Packaging:Guidelines#Requiring_Base_Package


> # Create pkgconfig files for all library variants
> mkdir pkgconfig
> cd pkgconfig
> for ubf in 0 1
> …
>        cat <<EOF >idfpml$cbr$gr$gf$ubfc.pc
> …

With all due respect, but this is insane. You are adding to the API here. Typically, developers eventually will start supporting such pkgconfig files under the assumption that those are provided by upstream. As long as the files are specific to Fedora, that results in incompatibilities. Adding basic non-versioned pkgconfig files is okay if those will be merged upstream. Adding lots of idfpml$cbr$gr$gf$ubfc.pc files is too much IMO.

http://fedoraproject.org/wiki/Staying_close_to_upstream_projects


> %post -p /sbin/ldconfig
> 
> %postun -p /sbin/ldconfig

That's a no-op so far, because the shared lib is not installed in runtime linker's search path:

> %files
> …
> %{_libdir}/idfpml/libbid*.so.*

Comment 2 Eric Smith 2014-06-15 21:32:46 UTC
Thanks for the comments.  I'll fix the require for the base package and remove the ldconfig, and change the version numbering.

I either disagree with or don't fully understand the comments regarding the pkg-config files being created in the package.  The library code as provided by Intel is expected to be statically linked into an application, though there is nothing about it that precludes building as a shared library, which is what we need in Fedora. As such, it is exceedingly unlikely that they will either provide or accept pkg-config files.

I don't understand how this is "adding to the API" or "results in incompatibilities".

I am soliciting comments on that issue on the devel mailing list.

Comment 3 Eric Smith 2014-06-16 08:55:49 UTC
Removed the .pc files also.  :-(

Spec URL: http://fedorapeople.org/~brouhaha/idfpml/idfpml.spec
SRPM URL: http://fedorapeople.org/~brouhaha/idfpml/idfpml-2.0-1.U1.fc20.src.rpm

Comment 4 Yaakov Selkowitz 2016-03-30 04:59:10 UTC
The packaging guidelines do allow for static-only library packages:

https://fedoraproject.org/wiki/Packaging:Guidelines#Packaging_Static_Libraries_2

Given that you're renaming the libraries, creating shared libraries from them too may also be considered "adding to the API".