Bug 499987 - Review Request: mingw32-curl - MinGW Windows port of curl and libcurl
Review Request: mingw32-curl - MinGW Windows port of curl and libcurl
Status: CLOSED ERRATA
Product: Fedora
Classification: Fedora
Component: Package Review (Show other bugs)
rawhide
All Linux
low Severity medium
: ---
: ---
Assigned To: Kalev Lember
Fedora Extras Quality Assurance
:
Depends On: 499979 499986
Blocks:
  Show dependency treegraph
 
Reported: 2009-05-09 16:49 EDT by Erik van Pienbroek
Modified: 2010-06-09 11:49 EDT (History)
5 users (show)

See Also:
Fixed In Version: mingw32-curl-7.20.1-2.el5
Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of:
Environment:
Last Closed: 2010-05-17 14:54:08 EDT
Type: ---
Regression: ---
Mount Type: ---
Documentation: ---
CRM:
Verified Versions:
Category: ---
oVirt Team: ---
RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: ---
kalevlember: fedora‑review+
dennis: fedora‑cvs+


Attachments (Terms of Use)

  None (edit)
Description Erik van Pienbroek 2009-05-09 16:49:16 EDT
Spec URL: http://www.ftd4linux.nl/contrib/mingw32-curl.spec
SRPM URL: http://www.ftd4linux.nl/contrib/mingw32-curl-7.19.4-1.fc11.src.rpm
Description:
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
resume.

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:
http://fedoraproject.org/wiki/Packaging/MinGW
Comment 1 Kalev Lember 2009-11-18 13:25:48 EST
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 07:56:58 EST
Sorry for the delay but here's an updated build:

* Fri Dec 11 2009 Erik van Pienbroek <epienbro@fedoraproject.org> - 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: http://www.ftd4linux.nl/contrib/mingw32-curl.spec
SRPM URL: http://www.ftd4linux.nl/contrib/mingw32-curl-7.19.7-1.fc12.src.rpm
Scratch build (F-13): http://koji.fedoraproject.org/koji/taskinfo?taskID=1869501
Comment 3 Kalev Lember 2009-12-11 16:22:08 EST
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 Berrange 2009-12-22 11:45:09 EST
> # 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 01:41:54 EDT
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 01:49:46 EDT
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 07:43:50 EDT
Spec URL: http://www.ftd4linux.nl/contrib/mingw32-curl.spec
SRPM URL: http://www.ftd4linux.nl/contrib/mingw32-curl-7.20.1-1.fc13.src.rpm

* Thu May 13 2010 Erik van Pienbroek <epienbro@fedoraproject.org> - 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 08:42:18 EDT
Forgot to mention this: the scratch build is done at http://koji.fedoraproject.org/koji/taskinfo?taskID=2185045
Comment 10 Kalev Lember 2010-05-13 08:45:18 EDT
Looks good.

APPROVED
Comment 11 Erik van Pienbroek 2010-05-13 12:43:35 EDT
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
InitialCC:
Comment 12 Dennis Gilmore 2010-05-13 18:35:47 EDT
CVS Done
Comment 13 Fedora Update System 2010-05-16 10:34:01 EDT
mingw32-curl-7.20.1-2.el5 has been submitted as an update for Fedora EPEL 5.
http://admin.fedoraproject.org/updates/mingw32-curl-7.20.1-2.el5
Comment 14 Fedora Update System 2010-05-16 10:34:43 EDT
mingw32-curl-7.20.1-1.fc12 has been submitted as an update for Fedora 12.
http://admin.fedoraproject.org/updates/mingw32-curl-7.20.1-1.fc12
Comment 15 Fedora Update System 2010-05-16 10:35:18 EDT
mingw32-curl-7.20.1-1.fc13 has been submitted as an update for Fedora 13.
http://admin.fedoraproject.org/updates/mingw32-curl-7.20.1-1.fc13
Comment 16 Fedora Update System 2010-05-17 14:54:03 EDT
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 15:08:46 EDT
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 11:48:56 EDT
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.