Note: This is a public test instance of Red Hat Bugzilla. The data contained within is a snapshot of the live data so any changes you make will not be reflected in the production Bugzilla. Email is disabled so feel free to test any aspect of the site that you want. File any problems you find or give feedback at
Bug 499987 - Review Request: mingw32-curl - MinGW Windows port of curl and libcurl
Summary: Review Request: mingw32-curl - MinGW Windows port of curl and libcurl
Alias: None
Product: Fedora
Classification: Fedora
Component: Package Review
Version: rawhide
Hardware: All
OS: Linux
Target Milestone: ---
Assignee: Kalev Lember
QA Contact: Fedora Extras Quality Assurance
Depends On: 499979 499986
TreeView+ depends on / blocked
Reported: 2009-05-09 20:49 UTC by Erik van Pienbroek
Modified: 2010-06-09 15:49 UTC (History)
5 users (show)

Fixed In Version: mingw32-curl-7.20.1-2.el5
Doc Type: Bug Fix
Doc Text:
Clone Of:
Last Closed: 2010-05-17 18:54:08 UTC
Type: ---
kalevlember: fedora-review+
dennis: fedora-cvs+

Attachments (Terms of Use)

Description Erik van Pienbroek 2009-05-09 20:49:16 UTC
Spec URL:
cURL is a tool for getting files from HTTP, FTP, FILE, LDAP, LDAPS,
DICT, TELNET and TFTP servers, using any of the supported protocols.
cURL is designed to work without user interaction or any kind of
interactivity. cURL offers many useful capabilities, like proxy
support, user authentication, FTP upload, HTTP post, and file transfer

This is the MinGW cross-compiled Windows library.

Koji scratch build: none for now because mingw32-libidn and mingw32-libssh2 aren't in Fedora yet

Approved MinGW packaging guidelines are here:

Comment 1 Kalev Lember 2009-11-18 18:25:48 UTC
Taking for review.

Eric, can you update it to the version of native Fedora curl package before I go on?

Comment 2 Erik van Pienbroek 2009-12-11 12:56:58 UTC
Sorry for the delay but here's an updated build:

* Fri Dec 11 2009 Erik van Pienbroek <epienbro> - 7.19.7-1
- Update to 7.19.8
- Merged the patches of the native .spec file (7.19.7-8)
- Use %global instead of %define
- Automatically generate debuginfo subpackage

Spec URL:
Scratch build (F-13):

Comment 3 Kalev Lember 2009-12-11 21:22:08 UTC
Fedora review mingw32-curl-7.19.7-1.fc12.src.rpm 2009-12-11

+ OK
! needs attention

rpmlint says:
mingw32-curl.noarch: W: spelling-error-in-summary en_US libcurl
mingw32-curl.src: W: spelling-error-in-summary en_US libcurl
mingw32-curl-debuginfo.noarch: W: spelling-error-in-summary en_US mingw
mingw32-curl-debuginfo.noarch: W: spelling-error-in-description en_US mingw
mingw32-curl-debuginfo.noarch: E: debuginfo-without-sources
mingw32-curl-static.noarch: E: arch-independent-package-contains-binary-or-object /usr/i686-pc-mingw32/sys-root/mingw/lib/libcurl.a
mingw32-curl-static.noarch: W: no-documentation
4 packages and 0 specfiles checked; 2 errors, 5 warnings.

+ rpmlint errors / warnings above are harmless and can be ignored.
+ Package is named according to the Fedora MinGW naming guidelines
+ Package follows the Fedora MinGW packaging guideliens
+ The stated license (MIT) is a Fedora approved license
+ The stated license is the same as the one for the corresponding
  native Fedora package
+ The package contains the license file (COPYING)
+ Spec file is written in American English
+ Spec file is legible
+ Upstream sources match sources in the srpm. md5sum:
  26124caef7359de6338172abafa98dc0  curl-7.19.7.tar.lzma
  26124caef7359de6338172abafa98dc0  Download/curl-7.19.7.tar.lzma
+ Package builds in koji
n/a ExcludeArch bugs filed
! BuildRequires look sane, except that BR pkgconfig is probably not needed.
n/a The spec file MUST handle locales properly
+ Packages does not bundle copies of system libraries
+ Does not use Prefix: /usr
+ Package owns all directories it creates
+ No duplicate files in %files
+ Permissions are properly set and %files has %defattr
+ %clean contains rm -rf $RPM_BUILD_ROOT
+ Consistent use of macros
+ Package contains code or permissible content
n/a Large documentation files should go in -doc subpackage
+ Files marked %doc should not affect package
n/a Header files should be in -devel
    Fedora MinGW guidelines allow headers in main package
+ Static libraries are in mingw32-curl-static
+ Packages containing pkgconfig (.pc) files need 'Requires: pkgconfig'
n/a Library files that end in .so must go in a -devel package
n/a -devel must require the fully versioned base
n/a Packages should not contain libtool .la files
    Fedora MinGW guidelines allow .la files
n/a Packages containing GUI apps must include %{name}.desktop file
+ Packages must not own files or directories owned by other packages
+ %install begins with rm -rf $RPM_BUILD_ROOT
+ Filenames must be valid UTF-8

! This package includes curl.exe, which I believe is out of scope for Fedora MinGW, as only development libraries are allowed. Curl.exe is a full-blown command-line standalone cross-compiled application that is not allowed under the Fedora MinGW rules.

Comment 4 Daniel Berrangé 2009-12-22 16:45:09 UTC
> # See nss/README for the status of this package.
> #BuildRequires:  mingw32-nss
> # Temporarily we can use OpenSSL instead of NSS:
> BuildRequires:  mingw32-openssl

IIUC this will cause license compatibility problems for some apps using libcurl. OpenSSL is not GPL compatible unless the app has declared an exception for OpenSSL, so if libcurl uses OpenSSL instead of NSS, AFAICT, GPL apps won't be able to use it. This would prevent mingw32-libvirt using it for example. In addition this is causing mingw32-curl to deviate from native curl which is something we want to avoid with Mingw32. IMHO this package needs to be made to use mingw32-nss before approval

Comment 5 Kalev Lember 2010-03-29 05:41:54 UTC
Erik, any update on this? I'd be happy to approve the package if you remove curl.exe. I don't really believe in packages improving out of tree; libcurl can always be switched to use NSS at a later date. IMHO it's better to have an openssl-linked libcurl in official Fedora repos than no libcurl at all.

Comment 6 Kalev Lember 2010-03-29 05:49:46 UTC
Oh, and regarding concerns about libvirt: according to Fedora spec file, libvirt is LGPLv2+. Unlike GPL, as far as I know LGPL-licensed code does not need the openssl linking exception to legally link against openssl.

Comment 8 Erik van Pienbroek 2010-05-13 11:43:50 UTC
Spec URL:

* Thu May 13 2010 Erik van Pienbroek <epienbro> - 7.20.1-1
- Update to 7.20.1
- Merged the patches of the native .spec file (7.20.1-5)
- Dropped the curl.exe
- Use the Win32 threads API instead of mingw32-pthreads
- Dropped BR: pkgconfig

Comment 9 Erik van Pienbroek 2010-05-13 12:42:18 UTC
Forgot to mention this: the scratch build is done at

Comment 10 Kalev Lember 2010-05-13 12:45:18 UTC
Looks good.


Comment 11 Erik van Pienbroek 2010-05-13 16:43:35 UTC
Thanks for the review!

New Package CVS Request
Package Name: mingw32-curl
Short Description: MinGW Windows port of libcurl
Owners: epienbro
Branches: F-12 F-13 EL-5

Comment 12 Dennis Gilmore 2010-05-13 22:35:47 UTC
CVS Done

Comment 13 Fedora Update System 2010-05-16 14:34:01 UTC
mingw32-curl-7.20.1-2.el5 has been submitted as an update for Fedora EPEL 5.

Comment 14 Fedora Update System 2010-05-16 14:34:43 UTC
mingw32-curl-7.20.1-1.fc12 has been submitted as an update for Fedora 12.

Comment 15 Fedora Update System 2010-05-16 14:35:18 UTC
mingw32-curl-7.20.1-1.fc13 has been submitted as an update for Fedora 13.

Comment 16 Fedora Update System 2010-05-17 18:54:03 UTC
mingw32-curl-7.20.1-1.fc12 has been pushed to the Fedora 12 stable repository.  If problems still persist, please make note of it in this bug report.

Comment 17 Fedora Update System 2010-05-17 19:08:46 UTC
mingw32-curl-7.20.1-1.fc13 has been pushed to the Fedora 13 stable repository.  If problems still persist, please make note of it in this bug report.

Comment 18 Fedora Update System 2010-06-09 15:48:56 UTC
mingw32-curl-7.20.1-2.el5 has been pushed to the Fedora EPEL 5 stable repository.  If problems still persist, please make note of it in this bug report.

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