Bug 466717 - Review Request: python-cvxopt - A Python Package for Convex Optimization
Summary: Review Request: python-cvxopt - A Python Package for Convex Optimization
Keywords:
Status: CLOSED RAWHIDE
Alias: None
Product: Fedora
Classification: Fedora
Component: Package Review
Version: rawhide
Hardware: All
OS: Linux
medium
medium
Target Milestone: ---
Assignee: Orcan Ogetbil
QA Contact: Fedora Extras Quality Assurance
URL:
Whiteboard:
Depends On: 475411
Blocks:
TreeView+ depends on / blocked
 
Reported: 2008-10-13 07:48 UTC by Conrad Meyer
Modified: 2009-01-04 04:04 UTC (History)
3 users (show)

Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Clone Of:
Environment:
Last Closed: 2009-01-04 04:04:15 UTC
Type: ---
Embargoed:
oget.fedora: fedora-review+
kevin: fedora-cvs+


Attachments (Terms of Use)

Description Conrad Meyer 2008-10-13 07:48:34 UTC
Spec URL: http://konradm.fedorapeople.org/fedora/SPECS/python-cvxopt.spec
SRPM URL: http://konradm.fedorapeople.org/fedora/SRPMS/python-cvxopt-1.0-1.fc9.src.rpm
Description:
CVXOPT is a free software package for convex optimization based on
the Python programming language. Its main purpose is to make the
development of software for convex optimization applications
straightforward by building on Python's extensive standard library and
on the strengths of Python as a high-level programming language.

Comment 1 Conrad Meyer 2008-10-13 07:59:04 UTC
http://koji.fedoraproject.org/koji/taskinfo?taskID=876733 <-- Builds in koji.

Comment 2 Orcan Ogetbil 2008-12-08 20:12:05 UTC
I'll review this package. But first, can you update to the latest version?

Comment 3 Conrad Meyer 2008-12-08 20:16:09 UTC
Sure.

Comment 5 Orcan Ogetbil 2008-12-08 21:26:33 UTC
It seems like you forgot to upload the SRPM.

Comment 6 Conrad Meyer 2008-12-08 21:30:43 UTC
Hrm, my uploader script is slightly broken -- should be up now.

Comment 7 Orcan Ogetbil 2008-12-09 02:24:28 UTC
OK, there are a few things that need attention. Otherwise everything seems good.

* There is a bunch of compiled C code in the package (under src/C/SuiteSparse). Some are released under GPLv2+, others under LGPLv2+. So I think the correct license tag should be "GPLv3+ and LGPLv2+". Also there are lots of doc files inside subdirectories of this directory. They need to be packaged.

* There is also a doc directory right on the root of the tarball that contains a Makefile. I think that these docs should be built and included in the package. You'll probably need to BR some latex package(s) for this.

* rpmlint gives a huge amount of warnings and errors. There are basically two types of these:
    W: doc-file-dependency
    W: spurious-executable-perm
There are two ways to fix these. Either, change the permissions of these files to 644, OR (the way I'd prefer) put the examples directory inside %{_datadir}/%{name}.

! This package softly depends on pymosek which is proprietary software. But since it is not a direct requirement, this can't be a blocker.

* Python eggs are handled a little differently for non-setuptools packages. In order to create the python egg the proper way, please follow the example in this guideline:
   http://fedoraproject.org/wiki/Packaging/Python/Eggs#Providing_Eggs_for_non-setuptools_packages

Comment 8 Conrad Meyer 2008-12-09 03:40:36 UTC
(In reply to comment #7)
> * Also there are lots of doc files
> inside subdirectories of this directory. They need to be packaged.

Hm, which subdirectories?

> * There is also a doc directory right on the root of the tarball that contains
> a Makefile. I think that these docs should be built and included in the
> package. You'll probably need to BR some latex package(s) for this.

OK.

> * rpmlint gives a huge amount of warnings and errors. There are basically two
> types of these:
>     W: doc-file-dependency
>     W: spurious-executable-perm
> There are two ways to fix these. Either, change the permissions of these files
> to 644, OR (the way I'd prefer) put the examples directory inside
> %{_datadir}/%{name}.

OK.

> * Python eggs are handled a little differently for non-setuptools packages. In
> order to create the python egg the proper way, please follow the example in
> this guideline:
>   
> http://fedoraproject.org/wiki/Packaging/Python/Eggs#Providing_Eggs_for_non-setuptools_packages

Oh, oops. I've done this correctly before, it just slipped my mind. Thanks for pointing this out.

New URLs to address the criticisms mentioned in the previous comment (I'm still unsure what you mean by commented quoted first above):

http://konradm.fedorapeople.org/fedora/SPECS/python-cvxopt.spec
http://konradm.fedorapeople.org/fedora/SRPMS/python-cvxopt-1.1-2.fc9.src.rpm

Comment 9 Conrad Meyer 2008-12-09 05:50:49 UTC
I've hacked out the included copy of the system library suitesparse. New URLs:

http://konradm.fedorapeople.org/fedora/SPECS/python-cvxopt.spec
http://konradm.fedorapeople.org/fedora/SRPMS/python-cvxopt-1.1-3.fc9.src.rpm

Comment 10 Orcan Ogetbil 2008-12-09 07:33:58 UTC
Thanks. But since there's a binary incompatibility between the versions of suitesparse, we need to block the suitesparse update request bug.

* The directory /usr/share/doc/python-cvxopt-1.1/html is empty. Those latex files are not built properly.

* You need to put an explicit Requires on python-matplotlib since some of the examples will need this library.

Comment 11 Conrad Meyer 2008-12-09 07:56:31 UTC
(In reply to comment #10)
> Thanks. But since there's a binary incompatibility between the versions of
> suitesparse, we need to block the suitesparse update request bug.

Right. Thanks for filing that bug on suitesparse and adding it as blocking this bug.

> * The directory /usr/share/doc/python-cvxopt-1.1/html is empty. Those latex
> files are not built properly.

I'm fixing this now by forcing the rebuild (make -B).

> * You need to put an explicit Requires on python-matplotlib since some of the
> examples will need this library.

I created an examples subpackage and had the -examples package require python-matplotlib.

New URLs:
http://konradm.fedorapeople.org/fedora/SPECS/python-cvxopt.spec
http://konradm.fedorapeople.org/fedora/SRPMS/python-cvxopt-1.1-4.fc9.src.rpm

Comment 12 Orcan Ogetbil 2008-12-09 16:54:34 UTC
Everything seems good. Now we'll have to wait for suitesparse.

Comment 13 Conrad Meyer 2008-12-17 23:43:20 UTC
Still have to wait :).

Comment 14 Orcan Ogetbil 2008-12-22 06:04:25 UTC
python-cvxopt works after the latest atlas & suitesparse builds in rawhide. There is one little missing thing I noticed:

* You should BR: python-setuptools-devel
otherwise the package will not build on mock. Please do this before you commit.

Until the correctly linked versions of atlas and suitesparse are pushed to the F-9/F-10 branches, you will need to reside python-cvxopt in rawhide only.

------------------------------------------------
This package (python-cvxopt) is APPROVED by oget
------------------------------------------------

Comment 15 Conrad Meyer 2008-12-25 09:35:30 UTC
New Package CVS Request
=======================
Package Name: python-cvxopt
Short Description: A Python Package for Convex Optimization
Owners: konradm
Branches: F-10 F-9
InitialCC:

Comment 16 Kevin Fenzi 2008-12-28 19:06:33 UTC
cvs done.

Comment 17 Conrad Meyer 2009-01-04 04:04:15 UTC
Built in rawhide, closing.


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