This service will be undergoing maintenance at 00:00 UTC, 2017-10-23 It is expected to last about 30 minutes

Bug 466717

Summary: Review Request: python-cvxopt - A Python Package for Convex Optimization
Product: [Fedora] Fedora Reporter: Conrad Meyer <konrad>
Component: Package ReviewAssignee: Orcan Ogetbil <oget.fedora>
Status: CLOSED RAWHIDE QA Contact: Fedora Extras Quality Assurance <extras-qa>
Severity: medium Docs Contact:
Priority: medium    
Version: rawhideCC: fedora-package-review, notting, oget.fedora
Target Milestone: ---Flags: oget.fedora: fedora‑review+
kevin: 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: 2009-01-03 23:04:15 EST Type: ---
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: ---
Bug Depends On: 475411    
Bug Blocks:    

Description Conrad Meyer 2008-10-13 03:48:34 EDT
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 03:59:04 EDT
http://koji.fedoraproject.org/koji/taskinfo?taskID=876733 <-- Builds in koji.
Comment 2 Orcan Ogetbil 2008-12-08 15:12:05 EST
I'll review this package. But first, can you update to the latest version?
Comment 3 Conrad Meyer 2008-12-08 15:16:09 EST
Sure.
Comment 5 Orcan Ogetbil 2008-12-08 16:26:33 EST
It seems like you forgot to upload the SRPM.
Comment 6 Conrad Meyer 2008-12-08 16:30:43 EST
Hrm, my uploader script is slightly broken -- should be up now.
Comment 7 Orcan Ogetbil 2008-12-08 21:24:28 EST
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-08 22:40:36 EST
(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 00:50:49 EST
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 02:33:58 EST
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 02:56:31 EST
(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 11:54:34 EST
Everything seems good. Now we'll have to wait for suitesparse.
Comment 13 Conrad Meyer 2008-12-17 18:43:20 EST
Still have to wait :).
Comment 14 Orcan Ogetbil 2008-12-22 01:04:25 EST
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 04:35:30 EST
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 14:06:33 EST
cvs done.
Comment 17 Conrad Meyer 2009-01-03 23:04:15 EST
Built in rawhide, closing.