Bug 470325

Summary: Review Request: qd - Double-Double and Quad-Double Arithmetic
Product: [Fedora] Fedora Reporter: Susi Lehtola <susi.lehtola>
Component: Package ReviewAssignee: Jason Tibbitts <j>
Status: CLOSED NEXTRELEASE QA Contact: Fedora Extras Quality Assurance <extras-qa>
Severity: medium Docs Contact:
Priority: medium    
Version: rawhideCC: cse.cem+redhatbugz, fedora-package-review, notting
Target Milestone: ---Flags: j: fedora-review+
kevin: fedora-cvs+
Target Release: ---   
Hardware: All   
OS: Linux   
Whiteboard:
Fixed In Version: 2.3.7-5.fc10 Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2009-03-11 18:02:22 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:

Description Susi Lehtola 2008-11-06 18:16:13 UTC
Spec URL: http://theory.physics.helsinki.fi/~jzlehtol/rpms/qd.spec
SRPM URL: http://theory.physics.helsinki.fi/~jzlehtol/rpms/qd-2.3.7-1.fc9.src.rpm

Description:
This package provides numeric types of twice the precision of IEEE
double (106 mantissa bits, or approximately 32 decimal digits) and
four times the precision of IEEE double (212 mantissa bits, or
approximately 64 decimal digits).  Due to features such as operator
and function overloading, these facilities can be utilized
with only minor modifications to conventional C++ and Fortran-90
programs.

In addition to the basic arithmetic operations (add, subtract,
multiply, divide, square root), common transcendental functions such
as the exponential, logarithm, trigonometric and hyperbolic functions
are also included.  A detailed description of the algorithms used is
available in the docs subdirectory (see docs/qd.ps).


rpmlint output:
qd.x86_64: W: devel-file-in-non-devel-package /usr/include/qd/inline.h
qd.x86_64: W: devel-file-in-non-devel-package /usr/include/qd/qd_config.h
qd.x86_64: W: devel-file-in-non-devel-package /usr/include/qd/qd_real.h
qd.x86_64: W: devel-file-in-non-devel-package /usr/include/qd/fpu.h
qd.x86_64: W: devel-file-in-non-devel-package /usr/include/qd/c_dd.h
qd.x86_64: W: devel-file-in-non-devel-package /usr/bin/qd-config
qd.x86_64: W: devel-file-in-non-devel-package /usr/lib64/libqd_f_main.a
qd.x86_64: W: devel-file-in-non-devel-package /usr/include/qd/c_qd.h
qd.x86_64: W: devel-file-in-non-devel-package /usr/include/qd/dd_inline.h
qd.x86_64: W: devel-file-in-non-devel-package /usr/lib64/libqd.a
qd.x86_64: W: devel-file-in-non-devel-package /usr/include/qd/dd_real.h
qd.x86_64: W: devel-file-in-non-devel-package /usr/include/qd/qd_inline.h
qd.x86_64: W: devel-file-in-non-devel-package /usr/lib64/libqdmod.a
qd.x86_64: W: devel-file-in-non-devel-package /usr/include/qd/bits.h
qd-debuginfo.x86_64: E: empty-debuginfo-package
2 packages and 1 specfiles checked; 1 errors, 14 warnings.


I can't seem to be able to disable static library builds and enable the shared library build, even though this is supposedly supported by the package...

Comment 1 Jason Tibbitts 2008-11-21 00:52:54 UTC
I would posit that this shouldn't go in until we can either get a shared library out of this or at least get some kind of upstream confirmation that you really can't build it that way.  You can ship the static librar(y|ies), if you like, in a separate -static package.  And the headers should go in a -devel package, as rpmlint dutifully complains.

Comment 2 Susi Lehtola 2008-12-13 09:06:40 UTC
(In reply to comment #1)
> I would posit that this shouldn't go in until we can either get a shared
> library out of this or at least get some kind of upstream confirmation that you
> really can't build it that way.  You can ship the static librar(y|ies), if you
> like, in a separate -static package.  And the headers should go in a -devel
> package, as rpmlint dutifully complains.

I have contacted upstream about this. It seems that the support to build shared libraries was added in version 2.1, but removed in 2.1.213 with libtool.

Comment 3 Conrad Meyer 2008-12-13 09:13:18 UTC
The lack of a shared library isn't the blocker (though it would be nice). The issue is, as tibbs says: "You can ship the static librar(y|ies), if you
like, in a separate -static package.  And the headers should go in a -devel
package, as rpmlint dutifully complains."

Comment 4 Susi Lehtola 2008-12-13 09:28:09 UTC
(In reply to comment #3)
> The lack of a shared library isn't the blocker (though it would be nice). The
> issue is, as tibbs says: "You can ship the static librar(y|ies), if you
> like, in a separate -static package.  And the headers should go in a -devel
> package, as rpmlint dutifully complains."

Very well.

In accordance with the Packaging Guidelines, I packaged everything in qd-devel, which provides qd-static.

rpmlint output:
qd-devel-debuginfo.x86_64: E: empty-debuginfo-package
2 packages and 1 specfiles checked; 1 errors, 0 warnings.


Spec URL: http://theory.physics.helsinki.fi/~jzlehtol/rpms/qd-devel.spec
SRPM URL:
http://theory.physics.helsinki.fi/~jzlehtol/rpms/qd-devel-2.3.7-2.fc10.src.rpm

Comment 5 Conrad Meyer 2008-12-13 09:52:09 UTC
(In reply to comment #4)
> rpmlint output:
> qd-devel-debuginfo.x86_64: E: empty-debuginfo-package
> 2 packages and 1 specfiles checked; 1 errors, 0 warnings.

Add a line to the top of your spec:

  %define debug_package %{nil}

(Since rpmbuild doesn't get useful debuginfo from static libs.)

Comment 7 Conrad Meyer 2008-12-14 08:30:05 UTC
Er, the spec/%{name} should be qd.spec, not qd-devel.spec. You should however omit the %files section for the main package and only have one for the devel subpackage.

Comment 8 Susi Lehtola 2008-12-18 14:21:27 UTC
(In reply to comment #7)
> Er, the spec/%{name} should be qd.spec, not qd-devel.spec. You should however
> omit the %files section for the main package and only have one for the devel
> subpackage.

Right, since we want to be prepared for having a shared library. Otherwise the base name would have been qd-devel (as pstreams-devel and a bunch of other packages).

http://theory.physics.helsinki.fi/~jzlehtol/rpms/qd.spec
http://theory.physics.helsinki.fi/~jzlehtol/rpms/qd-2.3.7-4.fc10.src.rpm

Comment 9 Jason Tibbitts 2009-03-07 23:02:23 UTC
Sorry for not getting back to this sooner.

Any reason why you believe the license is GPLv2+?  The COPYING file included the rather standard BSD license.  (The copyright is even held by UCB.)  The actual source files are missing any license statment but README explicitly refers to the COPYING file which contains the BSD text.  Generally we'd prefer the source files to include license statements but I don't think the licensing situation is ambiguous.  Of course, I could be missing something.

I would also comment why you're disabling the debug package, because it's not immediately obvious from looking at the spec.

* source files match upstream.  sha256sum:
   c886c96ca8081196089fe00eac74765a43e7500ae27e2e107a7c4f10fa95b4f1  
   qd-2.3.7.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.
X license field does not match 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 (rawhide, x86_64).
* package installs properly.
* rpmlint is silent.
* final provides and requires are sane:
   qd-static = qd-2.3.7
   qd-devel = 2.3.7-4.fc11
   qd-devel(x86-64) = 2.3.7-4.fc11
  =
   /bin/sh

* %check is present and all tests pass:
   All 4 tests passed
* no shared libraries are added to the regular linker search paths.
* owns the directories it creates.
* doesn't own any directories it shouldn't.
* no duplicates in %files.
* file permissions are appropriate.
* no generically named files
* code, not content.
* documentation is small, so no -doc subpackage is necessary.
* %docs are not necessary for the proper functioning of the package.
* headers are in the -devel package.
* no pkgconfig files.
* only static libraries are present:
  They are in the -devel package.
  -static is provided.
* no libtool .la files.

Comment 10 Conrad Meyer 2009-03-07 23:10:15 UTC
(In reply to comment #9)
> I would also comment why you're disabling the debug package, because it's not
> immediately obvious from looking at the spec.

In my experience rpmbuild doesn't grab any debugging information from static libraries; is this not the case?

Comment 11 Susi Lehtola 2009-03-08 00:04:34 UTC
(In reply to comment #9)
> Sorry for not getting back to this sooner.
> 
> Any reason why you believe the license is GPLv2+?  The COPYING file included
> the rather standard BSD license.  

Oh my, thanks for noticing. Fixed. Also added a comment about disabling debuginfo due to static library.

http://theory.physics.helsinki.fi/~jzlehtol/rpms/qd.spec
http://theory.physics.helsinki.fi/~jzlehtol/rpms/qd-2.3.7-5.fc10.src.rpm

Comment 12 Jason Tibbitts 2009-03-08 01:38:19 UTC
(In reply to comment #10)
> In my experience rpmbuild doesn't grab any debugging information from static
> libraries; is this not the case?  

That is the case, and is why the debug package is disabled in this spec.  I was merely asking that this be commented.

Anyway, this looks good now; thanks.

APPROVED

Comment 13 Susi Lehtola 2009-03-08 11:02:59 UTC
New Package CVS Request
=======================
Package Name: qd
Short Description: Double-Double and Quad-Double Arithmetic
Owners: jussilehtola
Branches: F-9 F-10 EL-5
InitialCC:

Comment 14 Kevin Fenzi 2009-03-09 16:04:27 UTC
cvs done.

Comment 15 Fedora Update System 2009-03-09 20:43:20 UTC
qd-2.3.7-5.fc9 has been submitted as an update for Fedora 9.
http://admin.fedoraproject.org/updates/qd-2.3.7-5.fc9

Comment 16 Fedora Update System 2009-03-09 20:44:06 UTC
qd-2.3.7-5.fc10 has been submitted as an update for Fedora 10.
http://admin.fedoraproject.org/updates/qd-2.3.7-5.fc10

Comment 17 Fedora Update System 2009-03-11 17:58:01 UTC
qd-2.3.7-5.fc9 has been pushed to the Fedora 9 stable repository.  If problems still persist, please make note of it in this bug report.

Comment 18 Fedora Update System 2009-03-11 18:02:16 UTC
qd-2.3.7-5.fc10 has been pushed to the Fedora 10 stable repository.  If problems still persist, please make note of it in this bug report.