Bug 833622 - Review Request: mingw-gmp - Cross-compiled GNU arbitrary precision library
Summary: Review Request: mingw-gmp - Cross-compiled GNU arbitrary precision library
Keywords:
Status: CLOSED ERRATA
Alias: None
Product: Fedora
Classification: Fedora
Component: Package Review
Version: rawhide
Hardware: All
OS: Linux
medium
medium
Target Milestone: ---
Assignee: Ralf Corsepius
QA Contact: Fedora Extras Quality Assurance
URL:
Whiteboard:
: 851803 (view as bug list)
Depends On:
Blocks: 833623 mingw-mpfr
TreeView+ depends on / blocked
 
Reported: 2012-06-19 22:04 UTC by Michael Cronenworth
Modified: 2012-09-17 22:13 UTC (History)
7 users (show)

Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Clone Of:
Environment:
Last Closed: 2012-09-17 17:54:54 UTC
rc040203: fedora-review+
gwync: fedora-cvs+


Attachments (Terms of Use)

Description Michael Cronenworth 2012-06-19 22:04:50 UTC
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 16:50:50 UTC
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 16:55:12 UTC
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 22:23:03 UTC
(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 22:27:34 UTC
(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 22:30:48 UTC
Again, it is not a packaging requirement. Thanks.

Comment 6 nucleo 2012-07-22 22:34:47 UTC
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 19:46:20 UTC
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-26 03:05:03 UTC
*** Bug 851803 has been marked as a duplicate of this bug. ***

Comment 9 Thomas Sailer 2012-08-26 08:42:27 UTC
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 17:07:50 UTC
(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 15:23:30 UTC
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-30 00:32:27 UTC
(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-30 02:12:36 UTC
(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-30 03:10:20 UTC
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 06:04:24 UTC
Taking.

Comment 16 Ralf Corsepius 2012-09-03 06:14:34 UTC
* 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 08:59:06 UTC
mpfr is here: https://bugzilla.redhat.com/show_bug.cgi?id=851810

Comment 18 Michael Cronenworth 2012-09-03 17:38:19 UTC
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-04 01:24:40 UTC
Git done (by process-git-requests).

Comment 20 Fedora Update System 2012-09-04 03:12:22 UTC
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-04 03:18:31 UTC
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 16:54:30 UTC
mingw-gmp-5.0.5-1.fc18 has been pushed to the Fedora 18 testing repository.

Comment 23 Fedora Update System 2012-09-17 17:54:54 UTC
mingw-gmp-5.0.2-4.fc17 has been pushed to the Fedora 17 stable repository.

Comment 24 Fedora Update System 2012-09-17 22:13:47 UTC
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.