Bug 682553

Summary: Review Request: python26-pycurl - A Python interface to libcurl
Product: [Fedora] Fedora EPEL Reporter: Steve Traylen <steve.traylen>
Component: Package ReviewAssignee: Mattias Ellert <mattias.ellert>
Status: CLOSED ERRATA QA Contact: Fedora Extras Quality Assurance <extras-qa>
Severity: medium Docs Contact:
Priority: medium    
Version: el5CC: christos.triantafyllidis, fedora-package-review, gholms, notting
Target Milestone: ---Flags: mattias.ellert: fedora-review+
gwync: fedora-cvs+
Target Release: ---   
Hardware: All   
OS: Linux   
Whiteboard:
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2012-08-05 06:35:01 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 Steve Traylen 2011-03-06 16:05:11 UTC
Spec URL: http://cern.ch/straylen/python26-pycurl.spec
SRPM URL: http://cern.ch/straylen/python26-pycurl-7.15.5.1-9.el5.src.rpm
Description:
PycURL is a Python interface to libcurl. PycURL can be used to fetch
objects identified by a URL from a Python program, similar to the
urllib Python module. PycURL is mature, very fast, and supports a lot
of features.

This is an EPEL5 only package.

Steve.

Comment 2 Christos Triantafyllidis 2011-03-08 10:16:59 UTC
Hi Steve,
   i did some review on this:
- rpmlint output looks ok for SPEC, SRPM and scratch builds at Fedora's koji.
- the name is according to guidelines
- the spec file has the correct name
- Regarding license the vendor provides the following string:
"PycURL is dual licensed under the LGPL and an MIT/X derivative license based on the cURL license. You can redistribute and/or modify PycURL according to the terms of either license."
I'm not sure if MIT should also be mentioned as dual license.
- Spec file is legible and seems to be in American English.
- MD5 sum of source matches upstream.
- Scratch build doesn't have any issues on any of requested archs (EPEL5):
http://koji.fedoraproject.org/koji/taskinfo?taskID=2893468
- SPEC doesn't handle locales at all so no issue here.
- There is no shared lib in any default dynamic linker's path.
- There is no bundle of any system library
- There is no Prefix header
- All created folders are owned.
- All files are listed once in %files section
- defattr is included in %files section
- macros are used instead of hardcoded names
- Documentation COULD be in -doc subpackage but this is left to the packager. I guess it is better to be consistent with python-pycurl package for same arch (where there is NO -doc package).
- %doc files includes documentation, examples and tests thus it is not required for the program to run properly
- there are no header files or static libraries to use -devel or -static
- there are no library files with a suffix (e.g. libfoo.so.1.1)
- there are no .la files
- there is no GUI application for this package
- the package doesn't own any file or directory that is owned by other packages.
- the filenames of all files in the package are in valid UTF-8

Finally the package from the scratch build installs without any issue in a RHEL5 clone and loads fine:
$ python2.6 
Python 2.6.5 (r265:79063, Jun  4 2010, 21:42:56) 
[GCC 4.1.2 20080704 (Red Hat 4.1.2-48)] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> import curl
>>> curl
<module 'curl' from '/usr/lib64/python2.6/site-packages/curl/__init__.pyc'>


To sum up i have only the following minor comments:
- Regarding license the vendor provides the following string:
"PycURL is dual licensed under the LGPL and an MIT/X derivative license based on the cURL license. You can redistribute and/or modify PycURL according to the terms of either license."
I'm not sure if MIT should also be mentioned as dual license.
- Documentation COULD be in -doc subpackage but this is left to the packager. I guess it is better to be consistent with python-pycurl package for same arch (where there is NO -doc package).


Also note that i'm not authorized to do an official review so these are just comments to the packager and (helpful?) info for the official reviewer :).

Regards,
Christos

Comment 3 Steve Traylen 2011-03-08 10:21:33 UTC
I was also a bit confused by this "MIT" status as well. I found this one the website but did
you find it in the source code at all I did not.

Steve.

Comment 4 Christos Triantafyllidis 2011-03-08 11:12:15 UTC
Hi again,
   just checked the CVS [1] repository. Dual license is introduced in version 7.18.1. So as long as you are packaging against 7.15.5.1 this should be fine.

Christos

[1] http://pycurl.cvs.sourceforge.net/viewvc/pycurl/pycurl/ChangeLog?revision=1.249&view=markup

Comment 5 Steve Traylen 2011-03-08 11:16:07 UTC
I should have commented, I not doing the newest version of pycurl since that is not suitable
for a RHEL5 curl and this version matches the stock python24 version of pycurl in the RHEL5.

Thanks for the informal review.

Steve.

Comment 6 Mattias Ellert 2012-03-24 23:16:17 UTC
Fedora Review python26-pycurl

rpmlint output:

rpmlint 2248713324973631270127050/result/python26-pycurl/*.rpm
python26-pycurl.src: W: spelling-error Summary(en_US) libcurl -> lib curl, lib-curl, curlicue
python26-pycurl.src: W: spelling-error %description -l en_US libcurl -> lib curl, lib-curl, curlicue
python26-pycurl.src: W: spelling-error %description -l en_US urllib -> gullible
python26-pycurl.src: W: invalid-url Source0: http://pycurl.sourceforge.net/download/pycurl-7.15.5.1.tar.gz HTTP Error 404: Not Found
python26-pycurl.x86_64: W: spelling-error Summary(en_US) libcurl -> lib curl, lib-curl, curlicue
python26-pycurl.x86_64: W: spelling-error %description -l en_US libcurl -> lib curl, lib-curl, curlicue
python26-pycurl.x86_64: W: spelling-error %description -l en_US urllib -> gullible
python26-pycurl.x86_64: E: incorrect-fsf-address /usr/share/doc/python26-pycurl-7.15.5.1/COPYING
3 packages and 0 specfiles checked; 1 errors, 7 warnings.

The source tarball has moved:
http://pycurl.sourceforge.net/download/00-OLD-VERSIONS/pycurl-7.15.5.1.tar.gz


+ Package name is appropriate for a python 2.6 package
+ Specfile is named after the package
+ Package is licensed under a Fedoara approved license
+ Package license matches the license statements in the sources
+ License file (COPYING) is included in the package
+ Specfile is written in legible English
+ Source in the package matches the upstream source:

md5sum pycurl-7.15.5.1.tar.gz srpm/pycurl-7.15.5.1.tar.gz 
464cfbeba150d99d92a407c7c8b751de  pycurl-7.15.5.1.tar.gz
464cfbeba150d99d92a407c7c8b751de  srpm/pycurl-7.15.5.1.tar.gz

+ Package builds in mock
+ Build requirements are sane
+ No locales
+ No shared libraries in default library path
+ No bundled libraries
+ Package owns directories it created
+ No duplicates in %files
+ File permissions are sane
+ The specfile uses macros consistently
+ Package contains code
+ %doc not runtime essential
+ No static libraries
+ No development files
+ No subpackages
+ No libtool archives
+ Package does not own other's directories
+ Installed filenames are UTF-8


Apart from that the source has moved to a new location on the upstream server, the package is good. Approved.

Comment 7 Garrett Holmstrom 2012-07-05 16:24:22 UTC
Steve, do you plan to submit a SCM request for this anytime soon?  Anything I can do to help?

Comment 8 Steve Traylen 2012-07-05 20:19:49 UTC
Hi

I missed this had been approved. I can do the submission next week.

Steve.

Comment 9 Steve Traylen 2012-07-13 07:00:22 UTC
New Package SCM Request
=======================
Package Name: python26-curl
Short Description: A Python interface to libcurl
Owners: stevetraylen
Branches: el5

Comment 10 Jason Tibbitts 2012-07-13 22:57:12 UTC
Did you want python26-curl or python26-pycurl?  The SCM request says one, the
ticket summary and the contents of the review aseem to say the other.

Comment 11 Steve Traylen 2012-07-16 14:17:53 UTC
New Package SCM Request
=======================
Package Name: python26-pycurl
Short Description: A Python interface to libcurl
Owners: stevetraylen
Branches: el5


Indeed , thanks for checking. It should be python26-pycurl to match
the existing 'pycurl' package name.

Many Thanks.

Comment 12 Gwyn Ciesla 2012-07-16 15:02:35 UTC
Git done (by process-git-requests).

Comment 13 Fedora Update System 2012-07-16 17:32:50 UTC
python26-pycurl-7.15.5.1-9.el5 has been submitted as an update for Fedora EPEL 5.
https://admin.fedoraproject.org/updates/python26-pycurl-7.15.5.1-9.el5

Comment 14 Fedora Update System 2012-07-19 22:35:57 UTC
python26-pycurl-7.15.5.1-9.el5 has been pushed to the Fedora EPEL 5 testing repository.

Comment 15 Fedora Update System 2012-08-05 06:35:01 UTC
python26-pycurl-7.15.5.1-9.el5 has been pushed to the Fedora EPEL 5 stable repository.