Bug 245499

Summary: Review Request: python-elixir - A declarative mapper for SQLAlchemy
Product: [Fedora] Fedora Reporter: James Bowes <jbowes>
Component: Package ReviewAssignee: Jason Tibbitts <tibbs>
Status: CLOSED NEXTRELEASE QA Contact: Fedora Extras Quality Assurance <extras-qa>
Severity: medium Docs Contact:
Priority: medium    
Version: rawhideCC: bkearney, fedora-package-review, notting
Target Milestone: ---Flags: tibbs: 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: 2007-06-30 16:10:37 UTC Type: ---
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: ---

Description James Bowes 2007-06-24 14:31:22 UTC
Spec URL: http://jbowes.dangerouslyinc.com/tmp/python-elixir.spec
SRPM URL: http://jbowes.dangerouslyinc.com/tmp/python-elixir-0.3.0-1.fc7.src.rpm
Description:
Elixir is a declarative layer on top of SQLAlchemy. It is a fairly thin
wrapper, which provides the ability to define model objects following the
Active Record design pattern, and using a DSL syntax similar to that of the
Ruby on Rails ActiveRecord system.

Elixir does not intend to replace SQLAlchemy's core features, but instead
focuses on providing a simpler syntax for defining model objects when you do
not need the full expressiveness of SQLAlchemy's manual mapper definitions.

Comment 1 James Bowes 2007-06-24 14:32:39 UTC
rpmlint output:
$ rpmlint ~/rpmbuild/SRPMS/python-elixir-0.3.0-1.fc7.src.rpm 
$ rpmlint ~/rpmbuild/RPMS/noarch/python-elixir-0.3.0-1.fc7.noarch.rpm 
$

Comment 2 Steve Milner 2007-06-28 02:35:16 UTC
I built from the src rpm provided by James and was able to run the example
application with no modification.

[steve@psycho tmp]$ rpm -qa | grep elixir
python-elixir-0.3.0-1.fc7
[steve@psycho tmp]$ svn export http://elixir.ematia.de/svn/elixir/trunk/examples/
A    examples
A    examples/videostore
A    examples/videostore/videostore
A    examples/videostore/videostore/json.py
A    examples/videostore/videostore/tests
A    examples/videostore/videostore/tests/__init__.py
A    examples/videostore/videostore/tests/test_model.py
A    examples/videostore/videostore/tests/test_controllers.py
A    examples/videostore/videostore/config
A    examples/videostore/videostore/config/log.cfg
A    examples/videostore/videostore/config/__init__.py
A    examples/videostore/videostore/config/app.cfg
A    examples/videostore/videostore/__init__.py
A    examples/videostore/videostore/controllers
A    examples/videostore/videostore/controllers/__init__.py
A    examples/videostore/videostore/controllers/root.py
A    examples/videostore/videostore/model.py
A    examples/videostore/videostore/release.py
A    examples/videostore/videostore/static
A    examples/videostore/videostore/static/images
A    examples/videostore/videostore/static/images/ok.png
A    examples/videostore/videostore/static/images/favicon.ico
A    examples/videostore/videostore/static/images/info.png
A    examples/videostore/videostore/static/javascript
A    examples/videostore/videostore/static/css
A    examples/videostore/videostore/static/css/login.css
A    examples/videostore/videostore/static/css/style.css
A    examples/videostore/videostore/templates
A    examples/videostore/videostore/templates/director.kid
A    examples/videostore/videostore/templates/master.kid
A    examples/videostore/videostore/templates/movie.kid
A    examples/videostore/videostore/templates/__init__.py
A    examples/videostore/videostore/templates/index.kid
A    examples/videostore/videostore/templates/actor.kid
A    examples/videostore/videostore/templates/login.kid
A    examples/videostore/start-videostore.py
A    examples/videostore/setup.py
A    examples/videostore/devdata.sqlite
A    examples/videostore/dev.cfg
A    examples/videostore/videostore.egg-info
A    examples/videostore/videostore.egg-info/SOURCES.txt
A    examples/videostore/videostore.egg-info/sqlobject.txt
A    examples/videostore/videostore.egg-info/top_level.txt
A    examples/videostore/videostore.egg-info/PKG-INFO
A    examples/videostore/videostore.egg-info/dependency_links.txt
A    examples/videostore/videostore.egg-info/not-zip-safe
A    examples/videostore/videostore.egg-info/paster_plugins.txt
A    examples/videostore/videostore.egg-info/requires.txt
A    examples/__init__.py
Exported revision 136.
[steve@psycho tmp]$ cd examples/videostore
[steve@psycho videostore]$ python start-videostore.py
2007-06-27 22:20:50,668 cherrypy.msg INFO CONFIG: Server parameters:
2007-06-27 22:20:50,669 cherrypy.msg INFO CONFIG:   server.environment: development
2007-06-27 22:20:50,669 cherrypy.msg INFO CONFIG:   server.log_to_screen: True
2007-06-27 22:20:50,669 cherrypy.msg INFO CONFIG:   server.log_file:
2007-06-27 22:20:50,669 cherrypy.msg INFO CONFIG:   server.log_tracebacks: True
2007-06-27 22:20:50,670 cherrypy.msg INFO CONFIG:   server.log_request_headers: True
2007-06-27 22:20:50,670 cherrypy.msg INFO CONFIG:   server.protocol_version:
HTTP/1.0
2007-06-27 22:20:50,670 cherrypy.msg INFO CONFIG:   server.socket_host:
2007-06-27 22:20:50,670 cherrypy.msg INFO CONFIG:   server.socket_port: 8080
2007-06-27 22:20:50,671 cherrypy.msg INFO CONFIG:   server.socket_file: 
2007-06-27 22:20:50,671 cherrypy.msg INFO CONFIG:   server.reverse_dns: False
2007-06-27 22:20:50,671 cherrypy.msg INFO CONFIG:   server.socket_queue_size: 5
2007-06-27 22:20:50,671 cherrypy.msg INFO CONFIG:   server.thread_pool: 10
2007-06-27 22:20:50,686 turbogears.visit INFO Visit Tracking starting
2007-06-27 22:20:50,688 turbogears.visit INFO Visit filter initialised
2007-06-27 22:20:50,691 turbogears.identity INFO Identity starting
2007-06-27 22:20:50,693 turbogears.identity.saprovider INFO Loading:
videostore.model.VisitIdentity
2007-06-27 22:20:50,749 turbogears.identity INFO Identity visit plugin initialised
2007-06-27 22:20:50,755 turbogears.identity.saprovider INFO Loading:
videostore.model.VisitIdentity
2007-06-27 22:20:50,957 cherrypy.msg INFO HTTP: Serving HTTP on
http://localhost:8080/
127.0.0.1 - - "GET / HTTP/1.1" 403 982 "" "Mozilla/5.0 (X11; U; Linux i686;
en-US; rv:1.8.1.4) Gecko/20070603 Fedora/2.0.0.4-2.fc7 Firefox/2.0.0.4"
127.0.0.1 - - "GET /static/css/login.css HTTP/1.1" 200 872
"http://localhost:8080/" "Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.8.1.4)
Gecko/20070603 Fedora/2.0.0.4-2.fc7 Firefox/2.0.0.4"
127.0.0.1 - - "GET /favicon.ico HTTP/1.1" 200 1081 "" "Mozilla/5.0 (X11; U;
Linux i686; en-US; rv:1.8.1.4) Gecko/20070603 Fedora/2.0.0.4-2.fc7 Firefox/2.0.0.4"
2007-06-27 22:21:18,835 cherrypy.msg INFO ENGINE: <Ctrl-C> hit: shutting down
autoreloader
2007-06-27 22:21:18,836 cherrypy.msg INFO ENGINE: <Ctrl-C> hit: shutting down
autoreloader
2007-06-27 22:21:18,837 cherrypy.msg INFO HTTP: HTTP Server shut down
2007-06-27 22:21:18,841 turbogears.identity INFO Identity shutting down
2007-06-27 22:21:18,843 cherrypy.msg INFO ENGINE: CherryPy shut down
2007-06-27 22:21:18,885 cherrypy.msg INFO HTTP: HTTP Server shut down
2007-06-27 22:21:18,886 turbogears.visit INFO Visit Tracking shutting down
[steve@psycho videostore]$ 2007-06-27 22:21:18,912 turbogears.identity INFO
Identity shutting down
2007-06-27 22:21:18,914 cherrypy.msg INFO ENGINE: CherryPy shut down
[steve@psycho videostore]$

Comment 3 Jason Tibbitts 2007-06-29 01:05:58 UTC
Thanks to Steve for the test output; I'd have no idea how to test this myself.

The only issues I can see are a few documentation files which should probably be
included: CHANGES and TODO.

If you agree, just go ahead and add them when you check in.

Review:
* source files match upstream:
   ee5feb9ecd7a0991528fbb3d2d781be4e5f0389f11a62bce11641d70bdbc444b  
   Elixir-0.3.0.tar.gz
* package meets naming and versioning guidelines.
* specfile is properly named, is cleanly written and uses macros consistently.
* summary is OK.
* description is OK.
* dist tag is present.
* build root is OK.
* license field matches the actual license.
* license is open source-compatible.
* license text included in package.
* latest version is being packaged.
* BuildRequires are proper.
* %clean is present.
* package builds in mock (development, x86_64).
* package installs properly
* rpmlint is silent.
* final provides and requires are sane:
   python-elixir = 0.3.0-1.fc8
  =
   python(abi) = 2.5
   python-sqlalchemy
* %check is not present (no test suite upstream) but see above for manual 
   testing.
* owns the directories it creates.
* doesn't own any directories it shouldn't.
* no duplicates in %files.
* file permissions are appropriate.
* no scriptlets present.
* code, not content.
* documentation is small, so no -docs subpackage is necessary.
* %docs are not necessary for the proper functioning of the package.

APPROVED

Comment 4 James Bowes 2007-06-29 02:19:14 UTC
New Package CVS Request
=======================
Package Name: python-elixir
Short Description: A declarative mapper for SQLAlchemy
Owners: jbowes@redhat.com
Branches: F-7
InitialCC: 

Comment 5 Kevin Fenzi 2007-06-29 20:39:55 UTC
cvs done.

Comment 6 James Bowes 2007-11-02 19:06:28 UTC
Package Change Request
======================
Package Name: python-elixir
Updated Fedora Owners: jbowes, smilner

Comment 7 Kevin Fenzi 2007-11-03 17:22:27 UTC
cvs done.

Comment 8 Steve Milner 2007-11-16 03:27:18 UTC
Package Change Request
======================
Package Name: python-elixir
New Branches: EL-5

Comment 9 Kevin Fenzi 2008-01-30 17:14:58 UTC
cvs done.