Bug 833622 - Review Request: mingw-gmp - Cross-compiled GNU arbitrary precision library
Review Request: mingw-gmp - Cross-compiled GNU arbitrary precision library
Status: CLOSED ERRATA
Product: Fedora
Classification: Fedora
Component: Package Review (Show other bugs)
rawhide
All Linux
medium Severity medium
: ---
: ---
Assigned To: Ralf Corsepius
Fedora Extras Quality Assurance
:
: 851803 (view as bug list)
Depends On:
Blocks: 833623 mingw-mpfr
  Show dependency treegraph
 
Reported: 2012-06-19 18:04 EDT by Michael Cronenworth
Modified: 2012-09-17 18:13 EDT (History)
7 users (show)

See Also:
Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of:
Environment:
Last Closed: 2012-09-17 13:54:54 EDT
Type: ---
Regression: ---
Mount Type: ---
Documentation: ---
CRM:
Verified Versions:
Category: ---
oVirt Team: ---
RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: ---
rc040203: fedora‑review+
limburgher: fedora‑cvs+


Attachments (Terms of Use)

  None (edit)
Description Michael Cronenworth 2012-06-19 18:04:50 EDT
Spec URL: http://michael.cronenworth.com/RPMS/mingw-gmp.spec
SRPM URL: http://michael.cronenworth.com/RPMS/mingw-gmp-5.0.2-1.fc17.src.rpm
Description: MinGW cross-compiled version of the native "gmp" Fedora package.
Fedora Account System Username: mooninite
Comment 1 nucleo 2012-07-22 12:50:50 EDT
Can it be built without --disable-static and with -static subpackages?
See for example http://pkgs.fedoraproject.org/gitweb/?p=mingw-expat.git;a=blob_plain;f=mingw-expat.spec
Comment 2 nucleo 2012-07-22 12:55:12 EDT
There are different versions used in Version-Release and in changelog:

Version:        5.0.2
Release:        1%{?dist}

Changelog:
2.5-0.1pre
Comment 3 Michael Cronenworth 2012-07-22 18:23:03 EDT
(In reply to comment #1)
> Can it be built without --disable-static and with -static subpackages?
> See for example
> http://pkgs.fedoraproject.org/gitweb/?p=mingw-expat.git;a=blob_plain;f=mingw-
> expat.spec

It's not a packaging requirement to ship a static package and I do not see a reason to.

(In reply to comment #2)
> There are different versions used in Version-Release and in changelog:
> 
> Version:        5.0.2
> Release:        1%{?dist}
> 
> Changelog:
> 2.5-0.1pre

Fixed.
Comment 4 nucleo 2012-07-22 18:27:34 EDT
(In reply to comment #3)
> I do not see a
> reason to.

The reason is 
> create applications which contain no external dependencies on .DLL files

http://fedoraproject.org/wiki/MinGW/Tips#Using_static_libraries
Comment 5 Michael Cronenworth 2012-07-22 18:30:48 EDT
Again, it is not a packaging requirement. Thanks.
Comment 6 nucleo 2012-07-22 18:34:47 EDT
Other mingw- packages have -static subpackages if possible, so why you insist to not have such subpackage for gmp?
Comment 7 Erik van Pienbroek 2012-08-23 15:46:20 EDT
nucleo, There's no hard requirement in the MinGW packaging guidelines that static libraries must be provided by mingw packages. It's up to the package maintainer in question to decide for themselves whether static libraries will be provided for their mingw packages or not. If the packager in question doesn't feel comfortable with providing them then they're free to reject these kind of requests
Comment 8 Michael Cronenworth 2012-08-25 23:05:03 EDT
*** Bug 851803 has been marked as a duplicate of this bug. ***
Comment 9 Thomas Sailer 2012-08-26 04:42:27 EDT
Please set the alias to the package name, as is customary for mingw packages, then I'd have found your review request...

$ rpmlint mingw-gmp.spec 
mingw-gmp.spec:86: W: mixed-use-of-spaces-and-tabs (spaces: line 3, tab: line 86)

BR mingw32/64-gcc-c++ is missing

What exactly are source2 and source3 used for?

Your spec file seems to be derived from the native spec file - it would be nice to acknowledge this eg. in the changelog.

Can you elaborate on why you're unconfortable shipping -static subpackages? It doesn't seem hard to do (see my spec file http://sailer.fedorapeople.org/mingw-gmp.spec), and apparently some users request it...
Comment 10 Michael Cronenworth 2012-08-26 13:07:50 EDT
(In reply to comment #9)
> Please set the alias to the package name, as is customary for mingw
> packages, then I'd have found your review request...

This is news to me and I've been involved with MinGW on Fedora since it started. This alias will cause any future bug searches with quick search to find this bug instead of all bug reports. Using the alias this way is wrong. As soon as this review is over I will remove it.

> $ rpmlint mingw-gmp.spec 
> mingw-gmp.spec:86: W: mixed-use-of-spaces-and-tabs (spaces: line 3, tab:
> line 86)

Fixed.

> 
> BR mingw32/64-gcc-c++ is missing
> 
> What exactly are source2 and source3 used for?

Some apps seem to assume that they are building against the gmp source tree and require the source versions of the gmp.h and gmp-mparam.h files. I wasn't installing those files so I have fixed that.

> Your spec file seems to be derived from the native spec file - it would be
> nice to acknowledge this eg. in the changelog.

Most or all MinGW packages will base on the native spec file due to the simple fact that you are packaging the same software for a different environment. I don't see a need to add this line to every MinGW package.

> 
> Can you elaborate on why you're unconfortable shipping -static subpackages?
> It doesn't seem hard to do (see my spec file
> http://sailer.fedorapeople.org/mingw-gmp.spec), and apparently some users
> request it...

I have no use for static libraries and almost all commercial Windows software ships DLLs instead of statically compiling. If the guy was reviewing my package I might consider adding a static package, but he was just kicking up dust. I don't have time for that. If you'd like to review my package I'd consider it.

I realize there is a newer version of gmp available but for rawhide only. I'll ship 5.0.2 for F17 and the new version for F18+.

New spec: http://michael.cronenworth.com/RPMS/mingw-gmp.spec
New SRPM: http://michael.cronenworth.com/RPMS/mingw-gmp-5.0.2-2.fc17.src.rpm
Scratch build: http://koji.fedoraproject.org/koji/taskinfo?taskID=4423762
Comment 11 Ralf Corsepius 2012-08-29 11:23:30 EDT
2 questions:

* What is reason to run the autotools while building?
  gmp is supposed to build fine for mingw without it (and it actually does).

* What is the reason to ship and use gmp.h and gmp-mparam.h?
Comment 12 Michael Cronenworth 2012-08-29 20:32:27 EDT
(In reply to comment #11)
> * What is reason to run the autotools while building?
>   gmp is supposed to build fine for mingw without it (and it actually does).

I was following the native package spec. I have removed this.

New spec: http://michael.cronenworth.com/RPMS/mingw-gmp.spec
New SRPM: http://michael.cronenworth.com/RPMS/mingw-gmp-5.0.2-3.fc17.src.rpm
Scratch build: http://koji.fedoraproject.org/koji/taskinfo?taskID=4436277

> 
> * What is the reason to ship and use gmp.h and gmp-mparam.h?

See comment 10 or the comment I left in the spec. I followed the native package in shipping these wrappers. I will copy it again here:
# Some apps seem to assume that they are building against the
# gmp source tree and require the source versions of the gmp.h
# and gmp-mparam.h files.
Comment 13 Ralf Corsepius 2012-08-29 22:12:36 EDT
(In reply to comment #12)
> (In reply to comment #11)
> > * What is reason to run the autotools while building?
> >   gmp is supposed to build fine for mingw without it (and it actually does).
> 
> I was following the native package spec. I have removed this.
Thanks.

> > * What is the reason to ship and use gmp.h and gmp-mparam.h?
> 
> See comment 10 or the comment I left in the spec. I followed the native
> package in shipping these wrappers. I will copy it again here:
> # Some apps seem to assume that they are building against the
> # gmp source tree and require the source versions of the gmp.h
> # and gmp-mparam.h files.

Well, 

* the gmp.h-wrapper (gmp.h) is a (RH/Fedora-specific) cludge to work-around the original gmp.h not being multilib-capable. I.e. this wrapper is not required on single-arched/lib'ed systems, such as mingw.

* The gmp-mparam.h-wrapper is a similar cludge/hack aiming at gmp-mparam.h not being multlib-capable, with similar considerations applying to it.

The delicacy behind this: gmp does not export the gmp-mparam.h header.
=> No gmp package should ship it. Packages expecting it should be considered broken (I guess, this is what is meant by "some apps seem to .. gmp source-tree" in the comment above.)

In other words, both wrappers are not necessary for mingw, shipping the gmp.h wrapper makes some (limited) sense, but shipping gmp-mparam.h doesn't.
Comment 14 Michael Cronenworth 2012-08-29 23:10:20 EDT
Very well. I will defer to your judgement. Wrappers removed.

New spec: http://michael.cronenworth.com/RPMS/mingw-gmp.spec
New SRPM: http://michael.cronenworth.com/RPMS/mingw-gmp-5.0.2-4.fc17.src.rpm
Scratch build: http://koji.fedoraproject.org/koji/taskinfo?taskID=4436326
Comment 15 Ralf Corsepius 2012-09-03 02:04:24 EDT
Taking.
Comment 16 Ralf Corsepius 2012-09-03 02:14:34 EDT
* Source tarball matches upstream:
# sha1sum gmp-5.0.2.tar.bz2 
2968220e1988eabb61f921d11e5d2db5431e0a35  gmp-5.0.2.tar.bz2

* Clean package.

APPROVED


Further remarks:
- Current upstream version is gmp-5.0.5. I'd recommend upgrading to it, because gmp-5.0.2 is known to be suffering from known bugs. Checking upstream's changelogs indicates none of these bugs should affect mingw32, however I don't see any reason for sticking with gmp-5.0.2, either.

- Please also add this package to fc17+fc18 (I'd be using them).

- Any plans to add mpfr and mpc? (These packages are the primary users of gmp as part of GCC's infrastructure)
Comment 17 Thomas Sailer 2012-09-03 04:59:06 EDT
mpfr is here: https://bugzilla.redhat.com/show_bug.cgi?id=851810
Comment 18 Michael Cronenworth 2012-09-03 13:38:19 EDT
Thanks, Ralf. I will have F18+ mingw-gmp be based on 5.0.5.

New Package SCM Request
=======================
Package Name: mingw-gmp
Short Description: Cross-compiled GNU arbitrary precision library
Owners: mooninite
Branches: f17 f18
InitialCC:
Comment 19 Gwyn Ciesla 2012-09-03 21:24:40 EDT
Git done (by process-git-requests).
Comment 20 Fedora Update System 2012-09-03 23:12:22 EDT
mingw-gmp-5.0.5-1.fc18 has been submitted as an update for Fedora 18.
https://admin.fedoraproject.org/updates/mingw-gmp-5.0.5-1.fc18
Comment 21 Fedora Update System 2012-09-03 23:18:31 EDT
mingw-gmp-5.0.2-4.fc17 has been submitted as an update for Fedora 17.
https://admin.fedoraproject.org/updates/mingw-gmp-5.0.2-4.fc17
Comment 22 Fedora Update System 2012-09-04 12:54:30 EDT
mingw-gmp-5.0.5-1.fc18 has been pushed to the Fedora 18 testing repository.
Comment 23 Fedora Update System 2012-09-17 13:54:54 EDT
mingw-gmp-5.0.2-4.fc17 has been pushed to the Fedora 17 stable repository.
Comment 24 Fedora Update System 2012-09-17 18:13:47 EDT
mingw-gmp-5.0.5-1.fc18 has been pushed to the Fedora 18 stable repository.

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