Bug 784910

Summary: Review Request: python-keystoneclient - library for accessing Openstack Keystones API
Product: [Fedora] Fedora Reporter: Cole Robinson <crobinso>
Component: Package ReviewAssignee: Alan Pevec <apevec>
Status: CLOSED CURRENTRELEASE QA Contact: Fedora Extras Quality Assurance <extras-qa>
Severity: medium Docs Contact:
Priority: medium    
Version: rawhideCC: apevec, apevec, notting, package-review
Target Milestone: ---Flags: apevec: 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-02-06 15:23:02 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 Cole Robinson 2012-01-26 15:59:20 UTC
Spec URL: http://fedorapeople.org/~crobinso/reviews/python-keystoneclient.spec

SRPM URL: http://fedorapeople.org/~crobinso/reviews/python-keystoneclient-2012.1-0.1.20120126git8db366c.fc16.src.rpm

Description: python-keystoneclient is a library for accessing Openstack Keystone's API. Also contains a command line utility /usr/bin/keystone for command line API access. This package is needed for soon-to-be-packaged Horizon, the web UI for Openstack.

One caveat here is that currently /usr/bin/keystone conflicts with the actual keystone daemon path. apevec is planning on patching the keystone package to rename this though, and it sounds like upstream is planning on doing the same.

Comment 1 Cole Robinson 2012-01-26 16:27:06 UTC
Round 2:

Spec URL: http://fedorapeople.org/~crobinso/reviews/python-keystoneclient.spec
SRPM URL: http://fedorapeople.org/~crobinso/reviews/python-keystoneclient-2012.1-0.1.e3.fc16.src.rpm

This adds some spec file wizardry to handle openstack prereleases (taken from the keystone package), and pulls the tar.gz from launchpad rather than building by hand from git.

Comment 2 Alan Pevec 2012-01-26 18:22:37 UTC
(In reply to comment #0)
> One caveat here is that currently /usr/bin/keystone conflicts with the actual
> keystone daemon path. apevec is planning on patching the keystone package to
> rename this though, and it sounds like upstream is planning on doing the same.

Fixed in openstack-keystone-2012.1-0.2.e3.fc17

Comment 3 Alan Pevec 2012-01-26 18:30:25 UTC
Here is the review:
 +:ok, =:needs attention, -:needs fixing

MUST Items:
[+] MUST: rpmlint must be run on every package.
python-keystoneclient.noarch: E: explicit-lib-dependency python-httplib2
 => false positive
python-keystoneclient.noarch: W: no-manual-page-for-binary keystone
 => should be solved upstream

[+] MUST: The package must be named according to the Package Naming Guidelines.
[+] MUST: The spec file name must match the base package %{name}
[+] MUST: The package must meet the Packaging Guidelines.
[+] MUST: The package must be licensed with a Fedora approved license and meet
the Licensing Guidelines.
[+] MUST: The License field in the package spec file must match the actual
license.
[=] MUST: If (and only if) the source package includes the text of the
license(s) in its own file, then that file, containing the text of the
license(s) for the package must be included in %doc.
 => LICENSE missing in upstream tarball

[+] MUST: The spec file must be written in American English.
[+] MUST: The spec file for the package MUST be legible.
[+] MUST: The sources used to build the package must match the upstream source,
as provided in the spec URL.
06bf1b5d1ff38e37c0303316a67877d4  python-keystoneclient-2012.1~e3.tar.gz

[+] MUST: The package must successfully compile and build into binary rpms on
at least one supported architecture.
[n/a] MUST: If the package does not successfully compile, build or work on an
architecture, then those architectures should be listed in the spec in
ExcludeArch.
[+] MUST: All build dependencies must be listed in BuildRequires
[n/a] MUST: The spec file MUST handle locales properly. This is done by using
the %find_lang macro.
[n/a] MUST: Every binary RPM package which stores shared library files (not
just symlinks) in any of the dynamic linker's default paths, must call ldconfig
in %post and %postun.
[n/a] MUST: If the package is designed to be relocatable, the packager must
state this fact in the request for review
[+] MUST: A package must own all directories that it creates. If it does not
create a directory that it uses, then it should require a package which does
create that directory.
[+] MUST: A package must not contain any duplicate files in the %files listing.
[+] MUST: Permissions on files must be set properly. Executables should be set
pith executable permissions, for example.
[+] MUST: Each package must consistently use macros, as described in the macros
section of Packaging Guidelines.
[+] MUST: The package must contain code, or permissible content. This is
described in detail in the code vs. content section of Packaging Guidelines.
[+] MUST: Large documentation files should go in a doc subpackage.
[+] MUST: If a package includes something as %doc, it must not affect the
runtime of the application.
[n/a] MUST: Header files must be in a -devel package.
[n/a] MUST: Static libraries must be in a -static package.
[n/a] MUST: Packages containing pkgconfig(.pc) files must 'Requires: pkgconfig'
(for directory ownership and usability).
[n/a] MUST: If a package contains library files with a suffix (e.g.
libfoo.so.1.1), then library files that end in .so (without suffix) must go in
a -devel package.
[n/a] MUST: In the vast majority of cases, devel packages must require the base
package using a fully versioned dependency: Requires: %{name} =
%{version}-%{release}
[n/a] MUST: Packages must NOT contain any .la libtool archives, these should be
removed in the spec.
[n/a] MUST: Packages containing GUI applications must include a %{name}.desktop
file, and that file must be properly installed with desktop-file-install in the
%install section.
[=] MUST: Packages must not own files or directories already owned by other
packages.
 => 'keystone' binary conflicts fixed in openstack-keystone < 2012.1-0.2.e3
[+] MUST: All filenames in rpm packages must be valid UTF-8.

Comment 4 Alan Pevec 2012-01-26 18:31:22 UTC
> => 'keystone' binary conflicts fixed in openstack-keystone < 2012.1-0.2.e3
                                                             >=

Comment 5 Alan Pevec (Fedora) 2012-01-26 18:32:31 UTC
approved

Comment 6 Cole Robinson 2012-01-30 13:34:12 UTC
New Package SCM Request
=======================
Package Name: python-keystoneclient
Short Description: Python API and CLI for OpenStack Keystone
Owners: crobinso apevec
Branches:
InitialCC:

Comment 7 Gwyn Ciesla 2012-01-30 13:37:09 UTC
Git done (by process-git-requests).

Comment 8 Cole Robinson 2012-02-06 15:23:02 UTC
Built now

Comment 9 Alan Pevec (Fedora) 2012-02-29 17:25:16 UTC
Package Change Request
======================
Package Name: python-keystoneclient
New Branches: el6
Owners: crobinso apevec

Comment 10 Gwyn Ciesla 2012-02-29 17:31:11 UTC
Git done (by process-git-requests).