Bug 547622

Summary: Review Request: python-cloudservers - Python bindings to the Rackspace Cloud Servers API
Product: [Fedora] Fedora Reporter: Andrew Turner <acturneruk>
Component: Package ReviewAssignee: Nobody's working on this, feel free to take it <nobody>
Status: CLOSED DUPLICATE QA Contact: Fedora Extras Quality Assurance <extras-qa>
Severity: medium Docs Contact:
Priority: medium    
Version: rawhideCC: derks, fedora-package-review, kad, msuchy, notting
Target Milestone: ---Keywords: Reopened
Target Release: ---   
Hardware: All   
OS: Linux   
Whiteboard: NotReady
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2011-10-10 10:24:12 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 Andrew Turner 2009-12-15 08:18:03 UTC
Spec URL: http://c0456722.cdn.cloudfiles.rackspacecloud.com/python-cloudservers.spec
SRPM URL: http://c0456722.cdn.cloudfiles.rackspacecloud.com/python-cloudservers-1.0a3-1.fc12.src.rpm
Description: This is a client for Rackspace's Cloud Servers API. There's a Python API (the ``cloudservers`` module), and a command-line script (``cloudservers``). Each implements 100% of the Rackspace API.

Comment 1 Kris Buytaert 2010-01-06 22:17:57 UTC
First quick look reveals 

Package fails on rpmlint 


$ rpmlint  python-cloudservers-1.0a3-1.fc12.src.rpm 
python-cloudservers.src: E: description-line-too-long ``cloudservers`` module), and a command-line script (``cloudservers``). Each implements 100% of the Rackspace API.
1 packages and 0 specfiles checked; 1 errors, 0 warnings.



$ rpmlint  python-cloudservers.spec  
0 packages and 1 specfiles checked; 0 errors, 0 warnings.

Comment 2 BJ Dierkes 2010-04-29 18:36:01 UTC
This package "BuildRequires" python-distribute … if not installed 'python setup.py build' installs it from pypi during the rpm build process due to:

from distribute_setup import use_setuptools; use_setuptools()


This is fine for Fedora 13+ (adding BuildRequires: python-setuptools which is actually distribute) but not for anything older.  Would need to patch it to use setuptools (only for EPEL or Fedora < 13) if you want to maintain for older/existing releases.

-----------------------------------------------------------------------------

Executing(%build): /bin/sh -e /var/tmp/rpm-tmp.g0ymb2
+ umask 022
+ cd /home/wdierkes/packages/fedora_review/python-cloudservers/BUILD
+ cd jacobian-python-cloudservers-0c27daa
+ LANG=C
+ export LANG
+ unset DISPLAY
+ /usr/bin/python setup.py build
Downloading http://pypi.python.org/packages/source/d/distribute/distribute-0.6.8.tar.gz
Extracting in /tmp/tmpNcSdXS
Now working in /tmp/tmpNcSdXS/distribute-0.6.8
Building a Distribute egg in /home/wdierkes/packages/fedora_review/python-cloudservers/BUILD/jacobian-python-cloudservers-0c27daa
/home/wdierkes/packages/fedora_review/python-cloudservers/BUILD/jacobian-python-cloudservers-0c27daa/distribute-0.6.8-py2.6.egg
...

Comment 3 BJ Dierkes 2010-04-29 19:32:25 UTC
There are additional errors from rpmlint on the packages:

$ rpmlint -i RPMS/noarch/python-cloudservers-1.0a3-1.fc12.noarch.rpm 
python-cloudservers.noarch: E: explicit-lib-dependency python-httplib2
You must let rpm find the library dependencies by itself. Do not put unneeded
explicit Requires: tags.

python-cloudservers.src: E: description-line-too-long ``cloudservers`` module),
and a command-line script (``cloudservers``). Each implements 100% of the
Rackspace API.
1 packages and 0 specfiles checked; 1 errors, 0 warnings.

python-cloudservers.noarch: E: version-control-internal-file /usr/share/doc/python-cloudservers-1.0a3/docs/.gitignore
You have included file(s) internally used by a version control system in the
package. Move these files out of the package and rebuild it.

1 packages and 0 specfiles checked; 3 errors, 0 warnings.

Comment 4 BJ Dierkes 2010-04-29 19:43:21 UTC
I don't think this is going to fly:


# The upstream download URL does not end with the tarball name
# You can get this tarball by following a link from:
# http://github.com/jacobian/python-cloudservers/
Source0:        jacobian-python-cloudservers-0c27daa.tar.gz


Being that you are the upstream maintainer it wouldn't be hard to fix.  For one, the only download link I see from the github page is to 'download source', but I don't see where I can download specific versions of the source.  I see a '1.0' tag, but not a download for 1.0a3.  I would recommend making an official release tarbal in a standard form (such as python-cloudservers-1.0a3.tar.gz) and make it available in a location that won't change.

Comment 5 BJ Dierkes 2010-04-29 20:06:11 UTC
Few more things:

Macro missing '%' on {_tmppath}

BuildRoot:      {_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)


----------

Use %{version}, and %{pyver} macros in %files for easier upgrade-ability when changing versions (and building on other distros):

i.e. 

%{python_sitelib}/python_cloudservers-1.0a3-py2.6.egg-info

Should be:

%{python_sitelib}/python_cloudservers-%{version}-py%{pyver}.egg-info


For the %{pyver} macro, add the following at the top of the spec:

%{!?pyver: %global pyver %(%{__python} -c "import sys ; print sys.version[:3]")}


----------

python-prettytable does not exist in Fedora.  Please submit a package review for python-prettytable, and have it 'block' this bug.

Comment 6 Peter Lemenkov 2010-05-07 08:57:44 UTC

*** This bug has been marked as a duplicate of bug 542436 ***

Comment 7 BJ Dierkes 2011-03-04 21:54:26 UTC
Sorry, this is not a duplicate...  bug 542436 is for python-cloudfiles, not cloudservers.

Comment 8 Jason Tibbitts 2011-04-07 14:50:22 UTC
spec and srpm links are not valid.

Comment 9 Jorge Gallegos 2011-08-21 21:27:10 UTC
Hi,

I am not a packager yet, but I'd love to see this package in fedora. I tried downloading the spec/srpm for review but seems like they are gone now. Anyone against the idea of me taking over this one (if the original submitter is not interested anymore, of course)? I'd have to start from scratch if no one has the previous versions, but that's not a problem.

Comment 10 Jorge Gallegos 2011-10-09 22:48:45 UTC
Never mind, this appears to be already in fedora 15:

Name        : python-cloudservers
Arch        : noarch
Version     : 1.2
Release     : 3.fc15
Size        : 36 k
Repo        : updates
Summary     : Client library for Rackspace's Cloud Servers API
URL         : http://packages.python.org/python-cloudservers
License     : BSD
Description : This is a client for Rackspace's Cloud Servers API. There's a Python API (the
            : "cloudservers" module), and a command-line script ("cloudservers"). Each
            : implements 100% of the Rackspace API.


Can someone close this ticket? (I'm not the requestor or assignee)

Comment 11 Miroslav Suchý 2011-10-10 10:24:12 UTC

*** This bug has been marked as a duplicate of bug 717680 ***